先日、Linuxコマンドをバシバシ叩く案件に参加することとなった。最近は先輩に教えて頂きながら、ターミナルでコマンドをバシバシ叩いている。---そんな人間が気に入ったLinuxコマンドを書いていくぜ。本編touch本来はタイムスタンプを更新するためのコマンド。今のところファイル作るためにしか使っていない。#部下こうすれば、部下のタイムカードを改竄することだって出来る。ito-manager.timecardcatファイルの中身を標準出力で表示するコマンド。中身が多いと標準出力が圧迫されて、お葬式になる。吾輩わがはいは猫である。...head/tailファイルを先頭または末尾から行数や文字数を限定して出力する。頭と尻だけを出すためのコマンド。「頭隠して尻隠さず」のことわざに立ち向かいたいときにおすすめ。次第に楽になってくる。苦しいのだかありがたいのだか見当がつかない。水の中にいるのだか、座敷の上にいるのだか、判然しない。どこにどうしていても差支さしつかえはない。否いな楽そのものすらも感じ得ない。日月じつげつを切り落し、天地を粉韲ふんせいして不可思議の太平に入る。死んでこの太平を得る。太平は死ななければ得られぬ。南無阿弥陀仏なむあみだぶつ南無阿弥陀仏。ありがたいありがたい。おまけclear標準出力をキレイキレイするコマンド。clearまとめ記事のテイストをいつもと変えてみた。Linuxコマンドも地味に楽しい。スクリプト言語には、相性もいい気がする。SSH今度は安全リモート通信のSSHについて書きます。AWSの中で行うので、実際に行うには準備をお願いします。SSH離れた場所にあるサーバの中で作業を行いたい場合に暗号や認証の技術を利用して安全にリモートコンピュータと通信するためのプロトコルのことです。リモート離れた場所にあるサーバのことを「リモートサーバ」や「リモート環境」、省略して「リモート」と呼びます。ローカル自身のコンピュータを「ローカルサーバ」や「ローカル環境」、省略して「ローカル」と言います。SSHのメリット通信を盗聴危険性を回避して、安全操作サーバ上でのファイル操作、設定ファイルの編集ができるバックアップを要する時、サーバ上で圧縮(ZIP)して、ファイルの一括ダウンロードできるので時間短縮ができるSSHでログインリモートサーバにログインする方法は2つあります。公開鍵認証この二つです。OSには標準でインストールされているのでインストールする必要はありません。これでリモートサーバにログインできます。SSHクライアントリモートにインストールさせるSSHサーバローカルにインストールさせる鍵サーバに入れる人を制限する設定サーバに入れる人を制限するためには「秘密鍵」と「公開鍵」という2つのファイルを使います。SSH通信で必要になる、公開鍵と秘密鍵の両方が生成されます。公開鍵は、サーバへのSSHを始めるときに一緒に送ります。そこで暗号が生成されます。鍵穴というイメージといえばわかりやすいです。秘密鍵は、ローカル環境内に保存しておきます。そこで公開鍵の暗号が解読されます。そのまま鍵といえばわかりやすいです。通信を行う際は1,サーバへのSSHを始めるときに一緒に送った公開鍵を元に暗号が生成(鍵穴を作成する)2,ローカル環境ではサーバから送られてきた暗号を秘密鍵を基に解読します。(鍵を作って開ける)このようにして、サーバーとローカル環境間の情報のやりとりが安全に行われます。上記のコマンドを入力後、以下のように表示され秘密鍵の保存場所と秘密鍵に設定するパスワードを入力します。秘密鍵を保存するときの名前は、デフォルト(id_rsa)のままで良いので何もせずにenterキーを押します。ここで.sshディレクトリに秘密鍵が置かれます。#パスワードを設定してください。#もう一度同じパスワードをうってください。ローカル環境の公開鍵と秘密鍵の保存場所はデフォルトで決まっています。~/.ssh/id_rsa.pub秘密鍵は~/.ssh/id_rsaに保存されています。以下のコマンドを入力して、出力結果に以下の2つが含まれていれば作成成功です。[鍵の名前]_key_rsa.pubcatコマンドcatコマンドは、catと入力した後に記述するファイルの中身を確認するコマンドです。公開鍵と秘密鍵を作成できたか、catコマンドを使って公開鍵の中身を確認します。[秘密鍵]_key_rsaコマンドを実行すると、複雑な文字列がターミナル上に表示されます。これが、先ほど作成した公開鍵と秘密鍵の中身になります。公開鍵をサーバ側に設置するため2つの処理を行います。リモートサーバにローカル環境の公開鍵のファイル(id_rsa.pub)をコピーローカル環境の公開鍵のファイル(id_rsa.pub)の中身をリモートサーバの公開鍵のファイル(~/.ssh/authorized_keys)に追記scpコマンドscpコマンドとは、送信先のディレクトを指定してファイルを送ることができるコマンドです。[IPアドレス]:~/.sshAWSの場合AWSの場合は、あらかじめ秘密鍵(pem)でsshができるようになっているので以下のようにするのが一般的です。~/.ssh/authorized_keysに保存します。authorized_keys最後に.sshディレクトリとauthorized_keysファイルの権限を設定します。.sshディレクトリには読み・書き・実行のすべての権限、authorized_keysファイルには読み・書きの権限を設定します。作業が終わったので公開鍵認証でログインできるか確認します。[IPアドレス]コマンドを打った後、下記のような表示がされます。秘密鍵に設定するパスワードを入力のところで記述したパスワードを入力します。表示されていればログイン成功です。Administrator)のナレッジを整理します。Administrator(通称:OMSA)のこと。WebブラウザやCUIでHW状態確認が可能。repositoryを設定。bashOMSAのコンポーネントをyumでインストール。srvadmin-allOMSAを起動。startOMSAの利用OMSAが起動した状態でWebブラウザから以下のURLへアクセスする。IPアドレス>:1311/以下のログイン画面が出るので、ユーザとパスワードを入力する。ログインをすると、HWの状態やログを確認することが可能となる。2枚目のキャプチャはストレージの状態を確認したサンプルCLIの使い方OMSAをインストールすると、CLIでHWの状態確認を行うことが可能になる。詳細は別途、整理予定。Storeを実行し「ubuntu」で検索する。libffi-devgitからdotfilesとかダウンロードgitのSSL無視。falsegitから設定ファイル等をクローンしてくる。Know』の和訳です。本記事は原著者から許可を得た上で記事を公開しています。コマンドラインをうまく使えば、いくつかのありふれたタスクを自動化し、よりスムーズに処理を実行することが可能になり、日々の生産活動をより効率化できます。GUI上でクリック操作する代わりに、いくつかのコマンドを実行するだけでジョブを完了させることが可能です。UnixライクなOS向けにコマンドラインユーザーインターフェースを提供する、コマンドラインインタプリター、またはshellです。shellはインタラクティブなコマンド言語かつスクリプト言語でもあり、OSがshellスクリプトを用いてシステムの実行を制御するために使用されます。すべてのLinuxやMacベースのOSにはデフォルトでコマンドラインがインストールされており、一般的には「ターミナル」と呼称されます。コマンドライン(CLI)によってファイルの移動や名前の変更、データの並び替えやコンピュータ内の移動をより簡単に行えます。コマンドを紹介します。filegrepコマンドは各ファイルの文字列を検索します。改行文字で区切られたパターンも検索し、パターンに一致する行をそれぞれ出力します。オプションを使用すると、指定したファイル内の大文字と小文字を区別せずに文字列を検索できます。この場合「REACT」、「REact」、「react」などの文字列を検索します。(count)オプションを使用すると、指定された文字列/パターンがファイル内で何回記載されているかがわかります。記載回数をカウントこれは私がインターネットで見つけた、grepコマンドに関する楽しくてためになるイラストです。これらのバリアントは非推奨ですが、下位互換性のために提供されています。多くのことを行えます。--より深く理解するためにはこのドキュメントを読んでください。コマンドはパス内のファイルとディレクトリを一覧表示します。コマンドは要求されたオプションに従ってファイルに関する情報を表示します。コマンドはディレクトリ内のファイルとその中のサブディレクトリに関する情報を表示します。パス内のすべてのディレクトリとファイルを表示フォルダが青色で表示されているのに対し、ファイルはグレーで表示されていることに気づいたかもしれません。これは、フォルダとファイルを区別するのに役立ちます。コマンドは、現在の作業ディレクトリを出力するコマンドです。現在の作業ディレクトリの完全なシステムパスを標準で出力します。コマンドはシンボリックリンクを無視します。コマンドには、テキストファイルに関する3つの関連機能があります。コマンドの最も一般的な使い方は、ファイルの内容を読み取ることであり、多くの場合この目的に最も便利なコマンドです。表されます)を使用してfile2にリダイレクトされます。コマンドは、引数として渡されたテキスト/文字列を表示するために使用されます。コマンドは主にシェルスクリプトやバッチファイル内で使われ、ステータス情報のテキストを画面やファイルに出力します。コマンドは空ファイルを作成するために使用されます。コマンドは、ユーザーがファイル作成時点ではデータを保存する必要がない場合に使用されます。ファイルの内容を確認しています。コンテンツを含むファイルを作成するために使用されます。コンテンツ無しまたは空ファイルの状態でファイルを作成します。コマンドで作成したファイルは空だということに注意してください。このコマンドは、ユーザーがファイル作成時点で保存するデータがない場合に便利です。現在のアクティブパスに新しい空のディレクトリを作成します。テキストエディターやGUI上でクリックする代わりに、このコマンドを使用して新しいフォルダーを作成します。コマンドでディレクトリ内をどのように覗くことができるか確認してみてください。removeの略で、まさにそのまま言葉通りのことをします。ファイルを取り除く、別の言葉で言えば、削除します。コマンドはディレクトリを削除しません。オプションを渡す必要があります。ディレクトリを削除(ディレクトリ削除のためのオプションを付与)注:このコマンドにより、ディレクトリにコンテンツが含まれているかどうかに関係なくディレクトリが無条件に削除されます。コマンドはディレクトリの内部にコンテンツがない場合にディレクトリを削除します。コマンドはファイルの最後の部分(テール)を読み取り出力します。コマンドは、クラッシュレポートや直近の履歴ログを調べるときに便利です。ファイルログを確認するときに有用となる例を以下に記載します。広く使用されているインターネットプロトコルであるHTTP、HTTPS、FTP、およびFTPSを使用してファイルを取得するための、フリーソフトウェアパッケージです。ノンインタラクティブなコマンドラインツールであるため、スクリプト、CRONジョブ、X-Windowsサポートのないターミナルなどから簡単に呼び出すことができます。Wget)には、大きなファイルの取得やWebサイト、FTPサイト全体のミラーリングを容易にする以下のような多くの機能があります。Licenseのもとで配布されています。詳細については、公式のGNUドキュメントを参照してください。コマンドによりファイルまたはディレクトリをすばやく検索できます。数百以上のファイルや複数のディレクトリを持つ、大きなプロジェクトで作業する場合に便利です。コマンドを使用すると、ディレクトリ(およびそのサブディレクトリ)内で同じタイプのファイルを検索することもできます。ファイルを検索します。コマンドは、ファイルまたはディレクトリをある場所から別の場所に移動します。コマンドは、単一ファイル、複数ファイル、およびディレクトリの移動をサポートしています。移動する最後に..ここまで読んでいただきありがとうございます。何か得るものがあったなら幸いです。便利なコマンドを知っている場合は是非共有していただき、一緒に成長していきましょう。