時間がくねくねしてなくてよかった

答えは人それぞれですが、何かを考えるきっかけになるようなブログを目指してます

【UNIXコマンド】目的別の使い方まとめ(備忘録)

UNIXコマンドの操作を目的別にまとめたので、備忘録を共有する。

f:id:yojiro_s:20181128003143j:plain

 

 

ターミナルで操作をする意味

マウスの代わりと思えばいい。タイピングでコマンドを打ち込んでパソコンを操作するために存在している。マウス操作では出来ないことができる。複数のファイルを作りたい時なども簡単なコマンドで一気に作れるなど、作業を簡略化できる。

 

プロンプトの意味

 https://i.gyazo.com/9b3d92dc71aedb349ae19434037f1d7d.png

入力コマンドを待っている状態に表示される上図の$マークまで含めた箇所は「プロンプト」と呼ばれる。英語では促すという意味になる。文字通り、コマンドを促すと覚えると簡単だ。

 

「vagrant」と書いてある箇所は今ログインしているユーザーの名称で、今ローカル開発環境を動かしているユーザーとして認識できる。「@localhost」はユーザーが今いるOSが稼働しているマシンを示している。~」のある部分は今どこのディレクトリにいるかを示している。「~」は「チルダ」と呼ばれていて、ホームディレクトリに滞在していることを示す記号となっている。最後の「$」は一般ユーザーという意味で、「#」というパウンド記号であれば管理ユーザーが操作していると認識できる。

 

コマンド操作方法

ディレクトリを作成するには

mkdir(メイクディアー)」でディレクトリを作成。

 

今滞在しているディレクトリを確認したい場合

ターミナルで「pwd」と打つと、これは「プリントワーキングディレクトリ」という意味だが、現在のワーキングディレクトリを表示してくれる。

 

ディレクトリを移動したい場合

cd」の後に「ディレクトリ名」を入力してディレクトリを移動する。

 

直前にいたディレクトリに戻るには

cd -」と「cd」の後にハイフンをつけてコマンドすると、直前のディレクトリに戻ることができる。

 

ディレクトリを一つ上の階層に戻した場合

cd ..」で一つ上の階層に戻ることができる。「cd」の後にピリオド二つ。

 

相対パスでディレクトリを移動

ディレクトリを移動させるコマンドを「パス」と呼ぶ。

 

https://i.gyazo.com/337c8d81467ee09c12fd0924d93414b7.png

が相対パス。現在の位置からみたディレクトリを指定する方法。

 

絶対パスでディレクトリを移動

https://i.gyazo.com/4895a002101a7ba1daf52a1cf9cbbe12.png

が絶対パス。ディレクトリの完全なアドレスを入力して移動する方法。

 

下の階層に一度でアクセスするには 

フォルダをたくさん作り、階層が多くなってしまうとアクセスするのが大変になる。例えば「folder1」から下の階層が「folder2/folder3/folder4」となっていて、最後の「folder4」を頻繁に使う時など「folder1」から3つも遡るのは面倒。しかし、わざわざ下の階層を呼び出して移動する必要をなくす方法がある。シンボリックリンクという方法。名前をつけてショートカットさせることができる。

ln -s folder2/folder3/folder4/ folder5

と頭に「エル エヌ スペース ハイフン エス」をつけてから下の階層を表記して、最後に「folder5」と別名をつけてあげる。これでシンボリックリンクが完成する。これでショートカットして、下の階層にアクセス出来て、さらにどこから来たのかもリンクされているので確認することもできる。この「folder5」ファイルはディレクトリと同じように使うことができる。シンボリックリンクを消す時は「unlink」で消す。「unlink dbconfig」で消すことができる。

 

ディレクトリの内容・詳細を見るには

ディレクトリの内容を見るには「ls(リスト)」コマンドで確認する。「ls」で現在いるディレクトリの中身を確認できて、「ls ディレクトリ名」などとして一つ下の階層のディレクトリの中身を確認することができる。「ls -l」と「ハイフンエル」をつけると詳細まで表示してくれる。詳細を表示した時の見方だが、文字列の頭が「d」の時はディレクトリ、「-」とハイフンの時はファイル、「l」とエルならシンボリックリンクを示していると覚えておくといい。

 

ディレクトリをコピーしたい時は

ディレクトリをコピーする時は「cp -r コピー元のディレクトリ コピー先のディレクトリ」とコマンドする。「cp」はコピー、「-r」は「recursive(再帰的)」で再帰的にコピーするという意味。これでコピー元のディレクトリからコピー先の新しいディレクトリを作成できる。

 

2階層まとめてディレクトリを作りたい時は

現在いるディレクトリのなかに「folder1」と「folder2」と2つしかディレクトリが無い状況で、まだ存在しない「folder3」の中に「folder4」とさらに新しいディレクトリを作りたいときには「mkdir -p folder3/folder4」と入力すれば一度に作れる。まだ存在していない「folder3」の中に「folder4」をも作るわけだが、「-p」と「parents」コマンドを打つことで、「folder33」も同時に作成できるのだ。

 

ディレクトリを他のディレクトリ内に格納するには

mv folder3 folder2」と入力すると、「folder3」を「folder2」に移動させることができる。「mv」は「movemという意味。

 

空のディレクトリを削除するには

ディレクトリを削除するには「rmdir folder2/folder3/folder4」と打つと、「folder2」の中の「folder3」の中の「folder4」が削除される。「rm」は「remove」という意味。しかし「rmdir」コマンドは中身が空のディレクトリにしか使えない。中身があるとエラーになる。

 

中身があるディレクトリを削除するには

その場合は「rm -r folder2」と「rm」に 

-r」とrecursive(再帰的)オプションをつけると削除が可能になる。UNIXにはゴミ箱機能はなく、一度削除したら取り戻せないので注意が必要。

 

空のファイルを作成するには

touch folder4/test.sql」と頭に「touch」をつけて既存のフォルダ名の後にスラッシュを入れて新しいファイルを作成する。

 

ファイルをコピーするには

ファイルをディレクトリ同様にコピーできる。例えば「cp folder1/test.txt .」などと入力してみる。最後の「.」のピリオドは「現在のディレクトリ」を表している。この入力は、例えば今は「folder」というディレクトリで作業をしていて、「folder1」ディレクトリにある「test.txt」というファイルを「.」と打つことで、現在の「folder」ディレクトリに指定してコピーするというコマンドになる。

 

ファイルの名称を変更するには

ディレクトリ内のファイルの名前を変更させるには「mv」を使う。「mv test.txt test2.txt」と入力すると「test.txt」ファイルが「test2.txt」に変更される。

 

ファイルを削除するには

ファイルを消す時は「rm test2.txt」として「rm」で削除するファイルを指定してあげる。

 

テキストファイルをターミナルに表示するには

ファイルの中身を指定して中をターミナルに表示するには「cat folder1/test.txt」と表示する。「cat」コマンドで指定。この場合はターミナルに続いて表示されるので、独立させてファイルをターミナル上に開きたい場合は「less folder1/test.txt」とすると表示できる。「less」は別ターミナルに移動するので、終了するには「q」とQuitで抜ける。「less」内では「/」と入力すると「less」内で検索をかけることもできる。

 

テキストを編集するには

多くのLinux系のDistributionには標準でテキストエディタが付いてくる。「vim」というテキストエディタだ。「vim test.txt」などと「vim」の後に続けて編集したファイル名を打つと「vim」に移行する。「i」を押すと画面左下に「INSERT」と表示されるので編集モードとなりテキストを編集できる。「escキー」でコマンドモードに戻る。そこで「:w」と打つと保存ができる。「:q」で終了できる。編集した状態で保存していないと終了できずにエラーになるが、うっかりどこかをいじってしまたっときなど編集を適用させないで終わらせたい時は「:q!」と入力して強制終了できる。保存と終了を同時に行う場合には「:wq」とする。

 

現在のターミナルをクリアにしたい場合

clear」でターミナルを綺麗に。もしくは「control+L」

 

コマンドを安全にキャンセルさせるには

コマンドのキャンセルは「control+C」で今打っているコマンドを安全にキャンセルできる。

 

コマンドの入力履歴を見るには

コマンド入力待ちの状態で、矢印キーの上下を押すとコマンドの履歴を確認することができる。

 

コマンドの履歴を一覧で表示するには

これまでに打ったコマンドの履歴を一覧で表示するには「history」コマンドを入力する。番号付きで一覧が表示される。「!」マークをコマンドに打ち、コマンド履歴に付いている番号をそのあとに打つことで同じコマンドを入力することができる。

 

コマンドの入力履歴を検索するには

コマンド待ちの状態で「control+R」を押すと過去の使用したコマンドを検索することができる。

 

直前のコマンドを呼び出すには

直前のコマンドを呼び出す時は「!!」を入力する。閲覧ではなくて入力完了となるので注意。同じコマンドを入力する手間が省ける。

 

直前のコマンドに渡した最後の文字列を再利用する

直前のコマンドで最後の入力した文字列を再利用することもできる。「ls folder1/」と「folder1」の中身を確認した後に、例えば「cd folder1/」と「folder1」ディレクトリに移動したいとする。そのときは、ただ「cd !$」と入力することで「folder1」と打たなくても「!$」だけで代用することもできる。

 

直近のコマンドを絞って実行するには

直近のコマンドを検索のような形で呼び出して使いたい時には、「!」の後に、例えば「c」と打つ。これで、直近で使用した「c」から始まるコマンドが呼び出される。直近で使用した「c」から始まるコマンドが「cd」だった場合は、「!c」と打つだけで「cd」が実行される覚えておかないといけないので、入力間違いに注意したい。

 

補完機能でコマンドを短縮させるには

パスとコマンドで補完機能がある。パスでは、「cd folder1/」と「folder1」に移動したい時、「cd f」と入力して「tabキー」をおすだけで「cd folder1/」とその後の文字を補完してくれる機能が付いている。コマンドでは「rmdir」と打ちたいときに「rmd」と打って「tabキー」を打つと「rmdir」と補完してくれる。「mkdi」と打って「tabキー」を二回打つと「mkdict」「mkdir」などと候補が二つ現れてくれたりもする。

 

コマンドの使い方をターミナルで表示させるには

コマンドでできることをすぐにその場で知りたい場合には「--help」コマンドを使う。例えばディレクトリを作成する「mkdir」の使い方とオプションの一覧を表示したいならば「mkdir --help」と打つとターミナルに説明が表示される。

 

コマンドのさらに詳しいマニュアルを表示させるには

簡単な使い方を表示させる「help」コマンドよりも詳しい情報が欲しい場合には「man」とマニュアルという意味のコマンドを入力する。「man mkdir」と入力すれば「mkdir」に付いてのマニュアルを表示させることができる。この場合は「less」画面に移動することになるので「/」で検索をかけることも可能。「/error」と検索すれば「error」と付いた文字列が網掛けされて表示される。

 

ターミナルを複数作成

ターミナル起動状態で「command+t」

 

 

www.mapp.jp

 

 

www.mapp.jp