はじめに
Linuxのコマンドを勉強したのですが、忘れることが多いので備忘録として書きました
cdコマンド
ディレクトリを移動するコマンド
$ cd /home
# /homeディレクトリに移動する
特別なディレクトリの指定
ディレクトリには特殊な名前のディレクトリがあり、cdコマンドで移動する場合特殊な指定方法がある
ディレクトリ | 意味 | 指定方法 |
---|---|---|
カレントディレクトリ | 現在自分がいるディレクトリ | . |
親ディレクトリ | 一つ上の階層のディレクトリ | .. |
ホームディレクトリ | /home/ユーザ名ディレクトリ | ~ |
ルートディレクトリ | /ディレクトリ | / |
pwdコマンド
カレントディレクトリを表示するコマンド
$ pwd
# /home 現在自分がいるディレクトリを表示している
lsコマンド
ファイルやディレクトリの一覧を表示するコマンド
$ ls /
etc home dev usr
パス名展開
パス名展開とは複数のファイルを一度に指定する時に使う便利なもの。lsコマンドだけではなく他のコマンドでも使用できる
記号 | 意味 |
---|---|
* | 任意の文字列 |
? | 任意の1文字 |
#拡張子がhtmlのファイルを表示したい時
$ ls *.html
index.html home.html
# wから始まり4文字で終わるファイルの表示
$ ls w???
work
オプション
オプションとはハイフンに何かの記号をつけることでコマンドの動作を変えることができる。lsコマンドでよく使うオプションは
- -l ファイルの詳細情報を表示する
- -a 隠しファイルも含めた全てのファイルを表示する
- -F ファイルの種別を表示する
記号 | 意味 |
---|---|
/ | ディレクトリ |
@ | シンボリックリンク |
* | 実行可能ファイル |
記号なし | 通常ファイル |
mkdirコマンド
ディレクトリを作成するコマンド
$ mkdir work
mkdirのオプション
-pで深い階層までのディレクトリを一度に作れる
$ mkdir -p test/2024/03
# これでtest、2024、03というディレクトリを一度に作れる
rmdirコマンド
空のディレクトリを削除するコマンド。空ではないディレクトリを削除しようとするとエラーになる
$ rmdir work
catコマンド
ファイルの中身を表示するコマンド
$ cat /etc/hosts
lessコマンド
ファイルの中身をスクロールで表示するコマンドファイルの中身が多い時に使う
$ less /etc/hosts
touchコマンド
空のファイルを作成するコマンド。ファイルが存在しない時は作成し、存在するときはタイムスタンプを更新する
$ touch test test1
# 複数のファイルも間を開けることで一度に作れる
rmコマンド
ファイルやディレクトリを削除するコマンド。rmで削除するとゴミ箱にいかずそのまま削除されるので注意が必要
$ rm test test1
# 複数のファイルも間を開けることで一度で削除する
rmで使うオプション
- -r ディレクトリも合わせて削除する
$ rm -r work
- -iファイルの削除前に確認する
$ rm -i work
mvコマンド
ファイルの移動、ファイル名を変更するコマンド
$ mkdir work #新しいディレクトリの作成
$ touch file #新しいファイルの作成
$ mv file file1 # ファイル名の変更
$ mv file work # ファイルを移動
mvコマンドのオプション
- -i 上書き前に確認する
$ mv -i file file1
cpコマンド
ファイル、ディレクトリをコピーするコマンド。コピー先のファイルがすでにあると上書きされるので注意する
$ cp file new_file #ファイルをコピー
$ cp file work # ファイルをディレクトリ内にコピー
cpコマンドのオプション
- -i 上書きする前に確認する
$ cp -i file new_file
- -r ディレクトリをコピーする
$ cp -r work new_work
lnコマンド
リンクを張るコマンド。リンクとはLinuxではファイルに別名をつけることができ、別名をつけることをリンクを張るという。lnコマンドを使用用途としては
- 長いパス名を省略したい時
- 複数のバージョンを共存させ最新を区別したい時
などがあるリンクにはハードリンクとシンボリックリンクがある
ハードリンク
- 一つのファイルに複数の名前をつける
- ハードリンクのファイルをを消す方法は全てのハードリンクのファイルを消す
シンボリックリンク
- リンク先のパス名が書かれた特殊なファイル
- シンボリックリンクを残したままファイルを削除したり、移動したりするとファイルを見れなくなる
$ln file1 file2
# ハードリンクを張る、オプションをつけないとハードリンクになる
lnコマンドのオプション
- -s シンボリックリンクを張る
$ ln -s file1 file3
findコマンド
ファイルを検索するコマンド
$ find . -name REMDME.md -print
# findコマンドは検索するディレクトリ、検索条件、検索アクションの順で書く上の場合は.がディレクトリ、-name REMDME.mdが検索条件、-printが検索アクション
よく使われる検索条件
- -name ファイル名を指定して検索。ファイル名の大文字小文字は区別する
# ワイルドカードが使える(他の検索条件でも使用可能)*を使って指定する時は''で囲うこと
$ find . -name'*.html` -print
- -iname -nameと同じ、違いは-inameは大文字小文字を区別しない
- -type ファイルの種類で検索
# -type fは通常ファイル
$ find . -type f -print
# -type lはシンボリックリンク
$ find . -type l -print
# -type dはディレクトリ
$ find . -type d -print
chmodコマンド
ファイルやディレクトリのパーミッション(操作の権限)を設定する
$ chomod [u,g,o,a][+,-,=][r,w,x][ファイルorディレクトリ]
# 書き方は誰に、権限の変更、どの権限を、の順番になる
記号 | 意味 | 記号 | 意味 | 記号 | 意味 |
---|---|---|---|---|---|
u | 所有者 | + | 権限の追加 | r | 読み取り |
g | グループ | - | 権限の削除 | w | 書き込み |
o | その他ユーザー | = | 記述した権限にする | x | 実行 |
a | 全ユーザー |
chownコマンド
ファイルの所有者やグループを変更する
$ chown [ユーザーorはグループ] [ファイルorディレクトリ]
# 例
# test1.txtのユーザー所有権を変更する
$ chow root test1.txt
# グループの所有権も変更する場合
$ chow root:root test1.txt
psコマンド
実行中のプロセス(実行中のプログラム)を表示するコマンド
$ ps
psコマンドで使うオプション
- aux 全ユーザーのプロセス、詳細情報を表示する。オプションだが -をつけなくて良い
killコマンド
ジョブ(まとめて実行されるプロセスの集まりがジョブ)やプロセスを終了させるコマンド
kill %1[ジョブID]
kill 4965[プロセスID]