Tera Termのログファイル名に変数を入れたい

投稿者: Anonymous Tera termの logopen logname 0 1というコマンドを使って, マクロの中でログを取得しています。 現在、ホスト名と日付を入れたログファイルを作成するのに YYYYMMDD_myhost_HHMMSS.log としたいので gettime adddate “%Y%m%d_” gettime addtime “_%H%M%S.log” logname = adddate strconcat logname myhost strconcat logname addtime logopen logname 0 1 としています。myhostの部分が変数であったり、定数であったりするので 文字列としてつなげる方法はstrconcatしかないと思っているのですが もう少し短く綺麗に書く方法はないのでしょうか? よろしくお願いいたします。 解決 以下のように sprintf2 を使うのはどうでしょうか getdate date “%Y%m%d” gettime time “%H%M%S” sprintf2 logname “%s_%s_%s.log” date myhost time logopen logname 0 1 回答者:…(Continue Reading)

コマンドプロンプトとPowershellの違い

投稿者: Anonymous windows10のコマンドプロントで新しいプロジェクトの初期設定を行おうとしています。 ローカルでの環境設定の為teratermで使用していたcdやlsなどのコマンドがスムーズに使えず、調べていたところ以下2点気になったのでお力添え頂けますと幸いです。 コードの一覧 コマンドプロントの操作のコマンド一覧はどこにあるのでしょうか? Teratermでいうls、ls -lなど、に対応するものが調べられず困っています。 PowerShellとの違い 似たようなPowerShellだと比較的Teratermと同じコマンドが使用できている気がします。 PowerShellとコマンドは何が違うのでしょうか?二つある意味がよく分かりません。 参考: 基本コマンドプロンプト25選!逆引きコマンド一覧 解決 まず最初に端末エミュレータという概念を説明します。テレビの受像機をイメージしてください。メーカーは受像機を製造しているだけであり、そこに映し出されるのは放送局からの映像です。Tera Termもあくまで接続先の出力を表示するものであり、Tera Term自身がコマンドを持つわけではありません。 次にシェルという概念を説明します。シェルはユーザーからの入力を受け取り、コマンドを実行します。コマンドは内部コマンドと外部コマンドに分かれます。内部コマンドは各シェルに特有のものであり、外部コマンドは対象マシンにインストールされている実行ファイルとなります。 またコマンドプロンプトはCMD.EXEというシェルを指し、PowerShellはもちろんPowerShell自身を指します。ですので、 Tera Termで接続した先のシェルの持つ内部コマンド、Tera Termで接続した先のマシンにインストールされている実行ファイル CMD.EXEの持つ内部コマンド、Windows 10にインストールされている実行ファイル PowerShellの持つ内部コマンド、Windows 10にインストールされている実行ファイル ということになります。 その上で回答となりますが、 CMD.EXEの持つ内部コマンドについてはコマンドプロンプト上でHELPを実行すると一覧が得られます。Windows Commandsに内部コマンド、外部コマンドが混在して列挙されています。 PowerShellの持つ内部コマンドについてはPowerShell上でGet-Commandを実行すると一覧が得られます。ただし、モジュールを読み込むことでいくらでも追加できます。 なお、PowerShellでlsが使えるとお考えのようですが、単にlsはGet-ChildItemのエイリアスでしかなく、引数はlsとまったく異なります。 回答者: Anonymous

Tera Term の ttmacro でキーファイルで接続パスは相対パス指定できますか?

投稿者: Anonymous 現在TTLmacroは接続先用の鍵を指定しますが、相対パス指定できますか? できるはずと思い色々試していますが、全ケース下記のメッセージ発生し、相対パス指定できる? ————————— TTSSH ————————— SSH2秘密鍵の読み込みに失敗しました No such file or directory ————————— OK ————————— 色々な相対パスのベースディレクトリ試した。 ttmacro はWindowsのshortcutで実行したので、シートカットのWorking Directoryはベースパス試して、NG マクロファイルの位置ディレクトリは相対ベースパスも試して、NG 解決 基本的には無理だと思ってください。 マクロのconnectコマンドのパラメータで鍵ファイル等が指定できますが、このパラメータを実際に評価するのはマクロでは無く、(新しく起動された)Tera Term本体が行います。 そしてTera Termは起動した時にDLL Injection攻撃を防ぐ為にカレントディレクトリをTera Termがインストールされているディレクトリに変更します。 その為、鍵ファイルを相対パスで指定した場合は Tera Term のインストールディレクトリからの相対パスとして処理が行われます。 なので Tera Term のインストールディレクトリからの相対パスで指定すれば使えますが、これは期待した指定の仕方ではないでしょう。なので、相対パスでの指定は無理だと思ってください。 回答者: Anonymous

エディタ(Atom)からTeratermにcloneしたデータを見る方法

投稿者: Anonymous サーバ上にクローンしたファイルを、エディターから開くには何をすればいいのでしょうか? Web上で共有しているファイルを、tera termにcloneしました。 そのファイルの中身をローカルのAtomから、編集できるようにしたいです。 Windows10です。 サーバ エディタ 連携 で検索かけたところ、FTPやSFTPというワードがてきてそれぞれ検索したのですが、まだリテラシーが低いため関係性が理解できませんでした。 ご教授ください。 –追記– FTP接続が有力そう…ですかねFTP –コメント受けての追記– ターミナルにcloneしただけだとviなどでファイルの編集は可能ですが、ローカルにあるatomだと編集できないという認識までは合っているのでしょうか? コマンドやpowershell上に落とせばローカルのファイルからGUIとして見れますよね? ですが、今回はIPアドレスを打ち込んでSSH接続しているTeratermからなので、(cloneしたもの自体がまだサーバー上にありローカルではないから?、)Atomでは開けない 初めて複数人で作業をするためgitを使用するの流れ自体曖昧で失礼します。 既に共有のブランチがブラウザ上にあり、それをIPアドレスでサーバに接続したTera term上にcloneしました。 解決 やりたいこと、質問の環境が ・(gitでクローンした)編集したいファイルがリモートのサーバ上に置いてある ・自身はローカルPC(Windows)上で作業をしている ・ローカルPCのAtomエディタからリモートのファイルを編集したい だろうという前提で。いくつか方法が考えられます。私自身はAtomエディタを使用していないので、詳しい解説はできませんが、考えられる代わりの方法も含めてざっくりと紹介しておきます。 リモートとローカルでファイルの同期を行う 既に調べられた方法がこちらになります。Atomエディタであれば「Remote-FTP」というパッケージをインストールすることで、FTP/SFTP経由で編集対象のファイルをローカル・リモート間で同期してくれるようです。 リモートのファイルをWindowsから直接参照する サーバ側がどんなOSで何が動いているのか分かりませんが、一般的なWindowsやLinuxであれば「ファイル共有」の仕組みを利用してローカルPCから直接参照する方法もあります。ただし事前にサーバ側でSambaなどのファイル共有の設定をしておく必要があります。 ローカルPCにもgitで同期を行う サーバ上にgitで同期しているのであれば、同じファイルをローカルにもgit経由で同期してしまうという手もあります。二度手間にはなるかもしれませんが、他の方法ではやりたい事の本筋から外れる分野の知識も必要になってきます。 gitコマンドが使えているのであれば、とりえあずはこの方法が手っ取り早い気もします。 蛇足ですが、TeraTermはあくまでサーバ上の操作を行うための「画面」に過ぎないので、乱暴に言うとただのブラウザのようなものと思ってください。 回答者: Anonymous

ターミナルエミュレータ(SSH)について教えてください

投稿者: Anonymous サーバー系の勉強を始めた初心者です。 お力を貸して頂きたくこちらに参りました。 宜しくお願い致します。 ターミナルエミュレータ(主にTeraTermを使用)の使用範囲やその用途について 他のOSやソフトとの区別や用途別の使用目的が曖昧で理解できません。 自分で調べて理解できた範囲ですが、 コンソール(出入力装置)を持たないマイコン(CPU)を持った機器に接続し、 機器ごとのUI(操作ソフト)として順応し、外部から出来ない(内部の)処理設定を行える ざっくりとですが以上のようなものとして捉えておりました。 先日VMwareを使用する機会があり、 サーバー内のLinux系OSを使うことになりました。 ターミナルエミュレータを使わずともVMware上の画面からコマンド操作ができるので 作業はその範囲で終わると思っていましたが、 先輩社員がLinuxである程度コマンド操作をした後に、 ターミナルエミュレータを使用してコマンド操作をしていました。 不思議に思い、Linux系OSを立ち上げてターミナルエミュレータで使用していたコマンド(命令)操作を行ってみましたが、処理が出来ずにエラーとなって返ってきました。 その後に色々調べたのですが、 各OSごとにコマンド(命令)操作の文言に差異があることまでは分かりました。 しかしながら、VMware上であればOSごとの操作を求められるのは当然なので わざわざターミナルエミュレータを使用しなくて各OS上でコマンド(命令)操作をすればよいのではないか と思いました。 ここ数日、色々な文献やWEB検索等で調べつくしましたが 明確な回答が得られず、こちらの力を借りることにいたしました。 コンソールやOSを持っていてターミナルエミュレータ使う使用目的、理由はどういうものなのでしょうか? ご教示頂ければ幸いです。どうか宜しくお願い致します。 解決 わざわざターミナルエミュレータを使用しなくて各OS上でコマンド(命令)操作をすればよいのではないか その認識に間違いはありません。OS のターミナル (1 つの場合も複数の場合も、ホストに隣接している場合も離れている場合も、ターミナル自体がない場合さえあります) が使用できるのであれば、それを使用するのが最良の選択です。 ターミナル・エミュレーターは Telnet のようなリモート操作のプロトコル、あるいは SSH や RSH のようなリモート操作と UI を組み合わせたプロトコルを使用するため、ターミナルで行えるすべての操作が可能なわけではありません。また、何らかのアクセス制限が加えられていたり、あるいはリモート操作自体が禁止されていたりもします。 そのような制約があるにもかかわらずターミナル・エミュレーターを使用するのは、ターミナルが使用できない何らかの理由があるためです。 ターミナルがない (必要時にしか接続しない) ターミナル室への入室許可が得られない ターミナルが遠隔地にあり直接操作できない ターミナルの数よりも利用者の数の方が多い その他、ターミナルを直接使用できる環境であっても、ターミナル・エミュレーターを使用するメリットの方が上回るようであれば、ターミナル・エミュレーターを選択します。 複数のホストを同時に管理する必要がある場合 複数のターミナルから同時に接続する必要がある場合 (root と一般ユーザーの両方でログインする場合など) ターミナル・エミュレーターと他のアプリケーションの間でデータのやり取りが発生する場合…(Continue Reading)

TeraTermで複数タブ対応のソフトありますか?

投稿者: Anonymous ブラウザと同じで、TeraTermは複数タブのソフトがありますか? 解決 TeraTermも「ソフト名」なので、タブ対応のターミナルエミュレータを探してるという事でよいですかね。 TeraTermも最近のリリースでは同梱の「Collector」を使えばタブ化できるようですが、あまり評判はよくなさそうです。 名前のせいで知名度は低いですが、「RLogin」辺りを試してみてはいかがでしょうか。 個人的には「Poderosa」のオープンソース版(4.x)を使用しています。 参考: 多機能が魅力のターミナルエミュレーター「RLogin」 – 窓の杜 Poderosa – OSDN 回答者: Anonymous

MySQLからロードした日本語の文字情報をクライアントで表示できない

投稿者: Anonymous 利用端末 TeraTerm 4.103 MySQL 5.6.10 TeraTerm 端末設定 コーディング受信、コーディング送信 = UTF-8 ロケール: american <= あまり影響ないと思います。 設定はUTF8です。 UTF8エンコーディングあるファイルはsourceコマンドで実行時、正常に実行できますが、selectを実行時日本語がある情報は???を示します。 mysql> show variables like ‘%char%’; +————————–+————————————————–+ | Variable_name | Value | +————————–+————————————————–+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | utf8 |…(Continue Reading)

Tera termマクロで複数の踏み台からログアウトしたい

投稿者: Anonymous テラタームマクロで複数の踏み台サーバからログアウトしたいのですが、処理をループにして抜けることは可能でしょうか? (サーバによって踏み台の数が 違うので、書き分けが煩雑になっています) イメージとしては wait ‘#’, ‘$’ do while result=1 sendln ‘logout’ loop というように、テラタームのウィンドウが閉じるまでlogoutを送り続けたいです。 よろしくお願いいたします。 解決 wait 中に接続が終了すると、result が 0 になります。 以下のようにプロンプト等を wait し、result が 0 になるまで繰り返せばいいと思います。 do flushrecv sendln “logout” wait “%” “$” loop while result > 0 回答者: Anonymous