Rails Diary

プログラミングの学習記録です。

コマンドまとめ

知っているものは割愛、うろ覚え、初見のものをまとめました。

ターミナルのショートカット

TabCtrl+I…コマンドの候補を表示、候補が一つしかない場合はそのコマンドに補完してくれる

Ctrl+PCtrl+N…以前表示したコマンドを表示してくれる。↑↓と一緒

Ctrl+R…コマンド検索ができる。検索ワードを入力すると対象のコマンドが出てくる。アルファベット一文字でもヒットする

Ctrl+Lclearと一緒。表示を綺麗にしてくれる

Ctrl+C…実行中のコマンド中断

echoコマンド

文字を表示することができるコマンド

ターミナル上でecho aiueoと入力してみると、aiueo という文字列が返ってくる。

$ echo 文字列 >> ファイル名

文字列を表示できるから何なんだと思っていたけど、上記のように>リダイレクトを組み合わせることでファイル内容を上書きしたり、ファイル内に追記することができる。パスを記載するためにechoを使っていたのはこのためだったのか。。。

出力先を変更できるリダイレクト >の組み合わせで、echoコマンドで表示した文字列をファイルに書き込むことができるという仕組み

>が一つのファイル上書きパターン

$ cat xxx.txt
kakikukeko

$ echo aiueo > xxx.txt

$ cat xxx.txt
aiueo

>>二つの追記パターン

$ cat xxx.txt
kakikukeko

$ echo aiueo >> xxx.txt

$ cat xxx.txt
kakikukeko
aiueo

こちらもファイルの誤上書きに注意!!

カレントディレクトリ表示

$pwd…Print Working Directory
現在作業しているディレクトリを表示。あんまり使ったことない。

$lsのオプション

オプションによって表示する情報の変更可
$ls -l…ファイルやディレクトリの詳細な情報も表示する

$ls -a…全てのファイルが表示される。隠しファイルも表示される

ファイル移動

指定したファイルを指定したディレクトリに移動させる

$ mv ファイル名 ディレクトリ名
$ mv xxxx.txt directory_1/

ディレクトリ移動

前に指定したディレクトリを後ろに指定したディレクトリの中に移動させる

$ mv ディレクトリ名 ディレクトリ名
$ mv directory_2/ directory_1

検索

指定してディレクトリの中に指定したファイルやディレクトリがあるのか検索することができる

$ find ディレクトリ名 -name(オプション) ファイル名orディレクトリ名
$ find ~ -name xxx.txt
ホームディレクトリの中のxxx.txtを検索

ファイルを複製

一つ目のファイルを二つ目のファイル名で複製する
もし同名のファイルがあった場合、上書きされてしまうので注意が必要

$ cp ファイル名 ファイル名
$ cp xxx.txt xxx2.txt

ファイル名の編集

最初に指定したファイル名を後に指定したファイル名に変更する
後に指定したファイル名が存在していた場合、後ファイルは前ファイルの内容に上書きされてしまうので注意

$ mv xxx.txt yyy.txt

ディレクトリ名変更

$ mv directory1/ directory2/

これ一瞬あれ?ってなった。ディレクトリ移動と同じコマンドの形だが、

ディレクトリ移動の場合

$ mv 既存のディレクトリ1 既存のディレクトリ2

みたいな形で、既存ディレクトリ1が既存ディレクトリ2の中に移動される

ディレクトリ名変更の場合

$ mv 既存のディレクトリ1 新しいディレクトリ名

にすることによって、既存ディレクトリ1の名前が新しいディレクトリ名に変更される

ファイル削除

$ rm xxx.txt
xxx.txtが消える

対話形式rm

$ rm -i xxx.txt
rm: remove regular empty file 'xxx.txt'?

みたいな形で消すの?と聞かれるのでy(yes)かn(no)で答えると、応答によって対応を変えてくれる。

rm -vオプション

$ rm -v xxx.txt
removed 'xxx.txt'

↑この名前のファイルを削除しましたよと表示してくれる

ディレクトリ削除

$ rmdir directory1/

空のディレクトリを削除してくれるコマンド

空でないと削除できない点に注意!!

rm -rオプション
大事なファイルを誤って削除してしまわないよう、使用の際は注意すること・・

$ rm -r directory1/

中身が入っていても中身ごと削除してくれる

危険なコマンド

$ rm -rf /

rmは削除コマンド
-rは再起的に削除を行うオプション
-fはユーザーに確認を求めずに強制的に処理を実行するオプション
/はルートディレクト

以上の処理により、ルートディレクトリ以下すべてのファイルを強制的に削除してしまう。。

参考にしたサイト

Macのターミナルコマンド一覧(基本編) - Qiita

Linuxターミナルコマンド一覧(中級編) - Qiita

ターミナルコマンド ファイル/ディレクトリの作成、削除、移動などの、よく使うコマンド5つ - Masa's blog