Linuxの基本コマンド
cdコマンド
- ディレクトリを移動するコマンド
- 「change directory」の略
$ cd usr
/usr
pwdコマンド
- カレントディレクトリを表示するコマンド
- 「print name of working directory」を意味する
$ pwd
/home
lsコマンド
- ファイルやディレクトリの一覧を表示するコマンド
- 「list」を意味する
- 引数がない場合は現在いるディレクトリのディレクトリとファイルを一覧表示する
$ ls
Applications Users cores home sbin var
Library Volumes dev opt tmp
System bin etc private usr
- 引数にディレクトリを指定した場合はそのディレクトリの中に存在するファイルとディレクトリを一覧表示する
$ ls usr
X11 bin libexec sbin standalone
X11R6 lib local share
- 引数に複数のディレクトリを指定することも可能
$ ls / usr
/:
Applications Users cores home sbin var
Library Volumes dev opt tmp
System bin etc private usr
usr:
X11 bin libexec sbin standalone
X11R6 lib local share
- ls -l:ファイルの詳細情報を表示するオプション
$ ls -l
total 9
drwxrwxr-x 38 root admin 1216 6 11 00:16 Applications
drwxr-xr-x 68 root wheel 2176 8 30 2022 Library
drwxr-xr-x@ 9 root wheel 288 2 7 2022 System
drwxr-xr-x 5 root admin 160 12 21 14:02 Users
drwxr-xr-x 3 root wheel 96 5 28 23:41 Volumes
drwxr-xr-x@ 38 root wheel 1216 2 7 2022 bin
drwxrwxr-t 2 root admin 64 2 7 2022 cores
dr-xr-xr-x 3 root wheel 4490 1 1 1970 dev
lrwxr-xr-x@ 1 root wheel 11 2 7 2022 etc -> private/etc
lrwxr-xr-x 1 root wheel 25 5 27 10:05 home -> /System/Volumes/Data/home
drwxr-xr-x 3 root wheel 96 8 11 2022 opt
drwxr-xr-x 6 root wheel 192 2 7 2022 private
drwxr-xr-x@ 65 root wheel 2080 2 7 2022 sbin
lrwxr-xr-x@ 1 root wheel 11 2 7 2022 tmp -> private/tmp
drwxr-xr-x@ 11 root wheel 352 2 7 2022 usr
lrwxr-xr-x@ 1 root wheel 11 2 7 2022 var -> private/var
- ls -a:隠しファイルも含め全てのファイルを表示するオプション
$ ls -a
. Library dev tmp
.. System etc usr
.VolumeIcon.icns Users home var
.file Volumes opt
.vol bin private
Applications cores sbin
- またパス名展開というものを使用することで条件に当てはまる複数のファイルを表示することが可能
- 「*」は任意の文字列を意味する
- 「?」は任意の1文字を意味する
$ ls *.html
first.html second.html third.html
$ ls ??????.html
second.html
mkdirコマンド
- 新しいフォルダを作成するコマンド
- 「make directory」を意味する
- 下記の例だと「newdir」というディレクトリを作成
$ mkdir newdir
- また下記のようなオプションを使用することで深いディレクトリも作成することが可能
$ mkdir -p newdir/2023/06
rmdirコマンド
- 空のディレクトリを削除するコマンド
- 「remove directory」を意味する
$ rmdir newdir
catコマンド
- ファイルの中身を表示するコマンド
- 「concatenate」を意味する
$ cat home.html
<p>home</p>
- 引数に複数のファイルを指定することも可能で順に中身が表示される
$ cat home.html first.html
<p>home</p>
<p>first</p>
- cat -n:行番号を表示するオプション
$ cat -n home.html
1 <p>home</p>
lessコマンド
- ファイルの中身をスクロールで表示するコマンド
- 「less」を意味する
$ less gradle-wrapper.properties
distributionBase=GRADLE_USER_HOME ...
tailコマンド
- 指定したファイルの中身の末尾10行を表示するコマンド
- 「tail」を意味する
$ tail home.html
rmコマンド
- ファイルやディレクトリを削除するコマンド
- 「remove」を意味する
$ rm home.html
- rm -r :ディレクトリも合わせて削除するオプション
$ rm -r new_dir
- rm -f :削除前の確認を行わないオプション
$ rm -f new_dir
- rm -i :削除前の確認を行うオプション
$ rm -i new_dir
mvコマンド
- ファイル名を変更やファイルを移動させるコマンド
- 「mv」を意味する
# ファイル移動
$ mv file1 new_dir/
# ファイル名変更
$ mv file1 file2
cpコマンド
- ファイルやディレクトリをコピーするコマンド
- 「copy」を意味する
# コピー
$ cp file1 file2
# ディレクトリ内に同一のファイル名でコピー
$ cp file1 new_dir
- cp -i :コピー先の同名をファイルを上書きするか確認するオプション
$ cp -i file1 new_dir
- cp -r :ディレクトリをコピーするオプション
$ cp -r old_dir new_dir
lnコマンド
- ファイルのリンクを作成するためのコマンド
- 「link」の意味
- lnコマンドのリンクには「ハードリンク」と「シンボリックリンク」がある
- ハードリンクには以下の特徴がある
- 元のファイルを削除しても消えない
- 全てのハードリンクが無くなった時に削除される
- 以下の例ではハードリンクを作成している
$ ln file1 file2
- シンボリックリンクには以下の特徴がある
- リンク先のパス名が書かれた特殊ファイルでリンク先がファイルの実体
- シンボリックリンクを残したままファイル実体を削除したり、ファイルを移動すると参照できなくなる
- 以下の例ではシンボリックリンクを作成している
$ ln -s file1 file2
findコマンド
- ファイルやディレクトリを検索するコマンド
- 以下の例では拡張子が.txtのファイル一覧を取得している
$ find *.txt
chmodコマンド
- ファイルまたはディレクトリに対する権限を設定するコマンド
- 「change mode」の意味
- 「chmod 権限設定 ファイル名」のような書式でコマンドを実行する
- 以下の例では「file」の所有者に読み取りの権限を追加している
$ chmod u+r file
- また、以下の例では「chmod 8進数の数値 ファイル名」のような書式で権限を設定している
$ chmod 755 file
- 数値の4は「読み取り」、2は「書き込み」、1は「実行」を表しており、数値の順番はそれぞれ「オーナー」「グループ」「その他」を表している
- 755の場合はオーナーは読み取り、書き込み、実行可能、グループは読み取り、実行可能、その他は読み取り、実行可能を表している
chownコマンド
- ファイルやディレクトリの所有者やグループを変更するコマンド
- 「change owner」の意味
- 以下の例では「new_file」のファイルの所有者を「new_user」に変更している
$ chown new_user new_file
- 下記の例のようにディレクトリの所有者やグループを変更することも可能
$ chown new_user:new_group new_file
psコマンド
- 現在実行されているプロセス一覧を表示するコマンド
- 「process status」を意味する
$ ps
PID TTY TIME CMD
6865 ttys000 0:00.84 /bin/zsh -il
6879 ttys001 0:00.06 /bin/zsh -il
46329 ttys002 0:00.18 /bin/zsh --login -i
46343 ttys003 0:00.01 /bin/zsh --login -i
99313 ttys006 0:05.57 -zsh
99329 ttys007 0:00.65 -zsh
- ps aux :プロセスの詳細情報を表示するオプション
$ ps aux
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
root 91516 1.2 0.0 34189772 2752 ?? S 8 623 10:33.45 /Applications/Av
root 123 0.6 0.2 33965376 25788 ?? Ss 1 170 28:56.68 /System/Library/
killコマンド
- プロセスおよびジョブを終了させるコマンド
- 「kill process」を意味する
- 以下の例では「5965」というプロセスIDのプロセスを終了させている
$ kill 5965
- また、以下の例のようにジョブIDを指定してジョブを終了させることもできる
$ kill %1