目次
■移動・表示
【 cd 】ディレクトリ間を移動
【 ls 】ファイル・ディレクトリの一覧表示
【 pwd 】カレントディレクトリ表示
【 cat 】ファイルの中身表示
■作成・削除・コピー
【 touch 】ファイル作成
【 mkdir 】ディレクトリ作成
【 rm 】ファイル削除
【 rmdir 】空のディレクトリ削除
【 rm -r 】ファイルとディレクトリまとめて削除
【 cp 】ファイル・ディレクトリをコピー
■名称変更・ファイルの移動
【 mv 】ファイル名変更・ディレクトリ名変更
【 mv 】ファイル移動
■プロンプトのカスタマイズ
・現在のディレクトリのみ表示 (長いパスも表示されない)
・一般的なデフォルト設定
■オプション
【 -qq 】コマンド出力を非常に静かに
【 -p 】(mkdir)親ディレクトリも同時に作成
【 -rf 】(rm)ファイルやディレクトリを再帰的に強制削除する
■その他
【 /dev/null 】出力破棄
【 2>/dev/null 】標準エラー出力
【 df オプション 】ディスク容量確認
■■よく使うコマンド■■
移動・表示
【 cd 】ディレクトリ間を移動
# ホームディレクトリ移動
cd
# 一つ上のディレクトリ移動
cd ..
# 二つ上のディレクトリ移動
cd ../../
# ルートディレクトリ移動
cd /
# 任意のディレクトリ移動※ここではVSCodeディレクトリに移動
cd /home/vscode
【 ls 】ファイル・ディレクトリの一覧表示
ls
# 隠しファイルを含め全て表示
ls -a
# ファイルの詳細表示
ls -l
# 縦表示(数字の1)
ls -1
# 縦表示(ディレクトリ→ファイルの順に表示)
ls -1 --group-directories-first
# エイリアス設定
vim ~/.bashrc
alias <lsv>='<ls -1 --group-directories-first>'
source ~/.bashrc
【 pwd 】カレントディレクトリ表示
pwd
【 cat 】ファイルの中身表示
cat <ファイル名>
■作成・削除・コピー
【 touch 】ファイル作成
# 複数作成の場合
touch <ファイル名1> <ファイル名2>
【 mkdir 】ディレクトリ作成
# 複数作成の場合
mkdir <ファイル名1> <ファイル名2>
# 親ディレクトリも同時に作成 → カレントディレクトリが`user`で`work`が存在せず`project`を作成
mkdir -p /home/user/work/project
【 rm 】ファイル削除
# 複数削除の場合
rm <ファイル名1> <ファイル名2>
【 rmdir 】空のディレクトリ削除
rmdir <ディレクトリ名>
【 rm -r 】ファイルとディレクトリまとめて削除
rm -r <ディレクトリ名>
【 cp 】ファイル・ディレクトリをコピー
cp <コピー元> <コピー先>
# ファイルをコピー(同じディレクトリ)
cp <既存のファイル名> <新しいファイル名>
# ディレクトリをコピー※中のファイルもコピーされる
cp -r <既存のディレクトリ名> <新しいディレクトリ名>
■名称変更・ファイルの移動
【 mv 】ファイル名変更・ディレクトリ名変更
# ファイル名変更
mv <変更前のファイル名> <変更後のファイル名>
# ディレクトリ名変更※スラッシュ( "/" )が入る
mv <変更前のディレクトリ名>/ <変更後のディレクトリ名>/
【 mv 】ファイル移動
# 単体の場合
mv <ファイル名> <移動先ディレクトリ>
# 複数作成の場合
mv <ファイル名1> <ファイル名2> <移動先ディレクトリ>
ファイルを探す
【 find 】ファイル検索
# 基本的な形式
find <検索開始ディレクトリ> <検索条件> <アクション>
# -name ファイル名指定(大文字小文字区別する)
find / -name .ssh
# -iname ファイル名指定(大文字小文字区別しない)
find / -iname .ssh
# 特定のディレクトリを検索 (-type d)
find / -type d -name .ssh
# 特定のファイルを検索(-type f)
find / -type f -name .ssh
# ワイルドカード("*") クオーテーションで囲むことを推奨
find / -name "*ssh"
# -> システム全体で名前が「ssh」で終わるファイルやディレクトリを探す
■プロンプトのカスタマイズ
現在のディレクトリのみ表示 (長いパスも表示されない)
export PS1="\W\$ "
一般的なデフォルト設定
export PS1="\[\e]0;\u@\h: \w\a\]\[\e[32m\]\u@\h\[\e[33m\] \w\[\e[0m\]\$ "
■エイリアス
### 長いパスを省略 よく使う長いパスに対して、エイリアスを設定して簡単にアクセスできるように出来ます。 これで、`docs` と入力するだけで、指定した長いパスにすぐに移動できます。
alias docs="cd /home/user/documents"
■オプション
【 -qq 】コマンド出力を非常に静かに
-q は quiet
を意味し、通常の出力を減少させます。
-qq は quiet
オプションをさらに強化し、ほとんどまたは完全に出力を抑制します。
※例
RUN apt-get update -qq
【 -p 】(mkdir)親ディレクトリも同時に作成
-
/home/user/documents
が既に存在していることが前提。 - もし
/home/user/documents/work
が存在していない場合、mkdir -p
はまずwork
ディレクトリを作成します。 - その後、
/home/user/documents/work/project
ディレクトリを作成します。
mkdir -p /home/user/documents/work/project
【 -rf 】(rm)ファイルやディレクトリを再帰的に強制削除する
rm -rf directory
-r
: (recursive:再帰的) 再帰的に削除します。つまり、ディレクトリとその中に含まれるすべてのファイルやサブディレクトリを削除します。
-f
: (force:強制) エラーメッセージを表示せず、強制削除を行います。
再帰的削除
- 指定したディレクトリの中にディレクトリが含まれていた場合、再びそのディレクトリの中に入って同じ削除処理を繰り返す。
- サブディレクトリ内のすべてのファイルやサブディレクトリを処理し終えたら、元のディレクトリに戻り、最後にそのディレクトリ自体を削除。
■その他
【 /dev/null 】出力破棄
/dev/null
# -> ここに送られたデータはすべて削除
【 2>/dev/null 】標準エラー出力
find / -name ".ssh" 2>/dev/null
# -> 権限エラーを出力せず .ssh を探します
【 df オプション 】ディスク容量確認
df -h | sort -k 2 -rh
ディスクファイルシステム
-h
は人間が読める表記 human
-k
はキーで、ソートする列を指定
-r
がリバースで、降順していすることで大きい数字から並ぶ