はじめに
今回はLinuxの基本的なコマンドに学んだことを、まとめていきます!
mkdir
コマンド - ディレクトリを作成する
mkdir <ディレクトリ名>
-p
オプションで、親ディレクトリを含め複数作成できる
mkdir -p hoge/foo/bar
touch
コマンド - ファイルを作成する
touch <ファイル名>
半角スペース区切りで指定することで、複数のファイルを一度に作成できる
touch hoge1 hoge2 hoge3
rm
コマンド - ファイルを削除する
rm <ファイル名>
-r
オプションで、ディレクトリを削除できる
ディレクトリ内にある全てのファイルも一緒に削除されるので注意
rm -r <ディレクトリ名>
削除前に確認をしたい場合は -i
オプションを使用
rm -i <ファイル名>
rmdir
コマンド - 空のディレクトリを削除する
rmdir <ディレクトリ名>
指定したディレクトリが空でない場合、エラーが発生し削除されない
cat
コマンド - ファイルの内容を表示する
cat <ファイル名>
touchと同様に半角スペース区切りで複数のファイルを指定できる
cat <ファイル名1> <ファイル名2>
複数指定した場合、連結してファイルの中身が表示される
-n
オプションを使用することで行番号を表示できる
cat -n <ファイル名>
less
コマンド - ファイルをスクロール可能な状態で表示する
less <ファイル名>
lessコマンド実行時の操作
操作キー | 機能 |
---|---|
スペースキー / f / Ctrl + v | 1画面下にスクロール |
b / Meta + v | 1画面上にスクロール |
j / Ctrl + n / Enter | 1行下にスクロール |
k / Ctrl + p | 1行上にスクロール |
q | lessコマンドの終了 |
/ | ファイル内検索 |
検索時の操作
操作キー | 機能 |
---|---|
/<文字列> | 下方向に向かって検索 |
?<文字列> | 上方向に向かって検索 |
n | 次の検索結果に移動 |
N | 前の検索結果に移動 |
cp
コマンド - ファイルやディレクトリをコピーする
cp <コピー元> <コピー先>
-r
オプションでディレクトリを再帰的にコピー可能
cp -r <コピー元ディレクトリ> <コピー先ディレクトリ>
上書き確認をしたい場合は -i
オプションを使用
cp -i <コピー元> <コピー先>
mv
コマンド - ファイルを移動する、ファイル名を変更する
mv <移動元> <移動先>
ファイル名を変更する場合は以下のように指定
mv <旧ファイル名> <新ファイル名>
上書き確認を行いたい場合は -i
オプションを使用
mv -i <移動元> <移動先>
ln
コマンド - リンクを作成する
リンクとは?
Linuxのファイルシステムではファイルに別名をつけることができる。この機能を「リンク」と呼び、別名をつけることを「リンクを張る」と表現する。リンクにはハードリンクとシンボリックリンクの2種類存在する。
ハードリンク
ln <リンク元> <リンク名>
リンク元の参照を保持した、リンクファイルを作成できる。リンクファイルを削除しても、リンク元のファイルは残る。
例
ln hoge hogelink
hogeというファイルのリンクを持ったhogelinkが作成される。
hogelinkに対して
cat hogelink
等を実行すると、リンク元であるhogeの内容が表示される。1つのファイルの実態に複数の名前をつける機能がハードリンク。
ハードリンクの削除
rm
コマンドで削除できる。リンク元のファイルは、全てのハードリンクが削除された時に、リンク元のファイルも削除される。
シンボリックリンク
ハードリンクはディレクトリに対して作成できない、異なるディスク間をまたぐことができないという制限がある。シンボリックリンクはそれらの制限を受けない(ハードリンクよりもよく使用される)。
-s
オプションを使用することでシンボリックリンクを作成できる
ln -s <リンク元> <リンク名>
ls -l
コマンドでリンク先を確認できる
ls -l <リンク名>
ls -l
コマンドの出力結果例:
lrwxrwxrwx 1 hoge hoge 5 10月 4 00:00 hoge2 -> hoge1
先頭の「l」はhoge2がシンボリックリンクであることを示している。そしてhoge2 -> hoge1
はhoge2というシンボリックリンクがhoge1のファイルの参照を持つことを表現している。
シンボリックリンクの削除
rm
コマンドでシンボリックリンクを削除する。ハードリンクと違い、リンク先のファイルには影響を与えない。
rm <リンク名>
シンボリックリンクを残したまま、リンク先の実態のファイルを削除できるが、その場合、リンクが壊れた状態になる。
シンボリックリンクの利用例
長いパスを省略する
例
ln -s /deep/path/to/directory shortcut
shortcut
というリンクで深いディレクトリ階層にアクセスできる。
複数バージョンのプログラムを管理する
ln -s /path/to/ver1.0.0 latest
これでlatest
というリンクはver1.0.0を参照するようになる。
latest
のリンク先を変更することで、バージョンの切り替えを行える。
バージョンを切り替える例
ln -sfn /path/to/ver1.0.1 latest
上記のようにすることで、latest
はver1.0.1になる。
まとめ
以上基本的なコマンドのまとめでした!
これらのコマンドぐらいは、作業中、すぐに使用できるように覚えられるようにしていきたいです!