Linuxの基本コマンドです。
よく使うコマンドとそのオプションについて、実環境の実行例を交えながら分かりやすく解説します。
コマンドは数え切れないほどありますが、これだけは覚えておいた方がいいです。
manコマンドで調べても良くわからんという方、必読です。
★実行検証環境
Rocky Linux release 8.7 (Green Obsidian)
基本用語
【ディレクトリ】
ファイルなどのデータを整理したり分類したりして保管しておく場所。
Windowsだとフォルダと呼んでいる。
【カレントディレクトリ】
自分が今開いている(作業している)ディレクトリ。
CUI(Character User Interface キャラクタ・ユーザ・インターフェース)の世界は文字しかないので、今どこのディレクトリで作業しているか意識しておくことが重要。
【ホームディレクトリ】
自分専用のディレクトリ。
【PATH(パス)】
ファイルやディレクトリがある場所までの道すじ。
pwd コマンド
カレントディレクトリを調べるコマンド。
pwd コマンドの構文
pwd [オプション]
pwd コマンドのオプション
★-L, –logical : カレントディレクトリがシンボリックリンクの場合、シンボリックリンクの場所を表示する。
★-P, –physical : カレントディレクトリがシンボリックリンクの場合、リンク元のディレクトリを表示する。
pwd コマンドの実行例
シンボリックリンクに移動した時の、pwdコマンドのオプションごとの出力結果を確認。
[Rockylinux8]# ls -l
合計 0
#これはシンボリックリンク
lrwxrwxrwx. 1 root root 10 2月 25 07:49 linkdir -> motonodir/
#これが元のディレクトリ
drwxr-xr-x. 2 root root 6 2月 25 07:48 motonodir
#シンボリックリンクのディレクトリに移動する
[Rockylinux8]# cd linkdir
#カレントディレクトリを確認
[Rockylinux8]# pwd
/work/linkdir
[Rockylinux8]# pwd -L
/work/linkdir
[Rockylinux8]# pwd -P
/work/motonodir
pwd コマンドの補足
マニュアルには、
「If no option is specified, -P is assumed.」
(直訳)オプションが指定されていない場合は、-P が想定されます。
とあるが、実際に「pwd」を打つと「pwd -L」の結果と一致した。
cd コマンド
作業ディレクトリを移動するコマンド。
cd コマンドの構文
cd [オプション] [ディレクトリ]
cd コマンドのオプション
★-L, –logical : カレントディレクトリがシンボリックリンクの場合、シンボリックリンクに移動する。
★-P, –physical : カレントディレクトリがシンボリックリンクの場合、リンク元のディレクトリに移動する。
★ディレクトリの表現
「.(ドット)」はカレントディレクトリを表す。
「..(ドット2つ)」は一つ上の階層を示す。
cd コマンドの実行例
通常のディレクトリとシンボリックリンク、それぞれに移動してpwdコマンドで移動先の違いを確認。
[Rockylinux8]# ls -l
合計 0
lrwxrwxrwx. 1 root root 10 2月 25 07:49 linkdir -> motonodir/
drwxr-xr-x. 2 root root 6 2月 25 07:48 motonodir
[Rockylinux8]# cd linkdir
[Rockylinux8]# pwd
/work/linkdir
#一つ上の階層へ移動
[Rockylinux8]# cd ..
[Rockylinux8]# cd -L linkdir
[Rockylinux8]# pwd
/work/linkdir
[Rockylinux8]# cd ..
[Rockylinux8]# cd -P linkdir
[Rockylinux8]# pwd
/work/motonodir
cd コマンドの補足
たんに「cd」のみを実行すると、ホームディレクトリに移動します。
ls コマンド
ディレクトリの中身やファイルの情報を確認するコマンド。
ls コマンドの構文
ls [オプション] [ファイル|ディレクトリ]
オプションはもちろん、ファイルやディレクトリも複数指定可能
ls コマンドのオプション
★-l : ファイルやディレクトリの詳細を表示する。
★-a : 隠しファイルも全て表示する。
★-F : 分類記号も表示する。
★-t : 最終更新日時の新しい順に表示する。
★-R : サブディレクトリ内のファイルやディレクトリも全て表示する。
ls コマンドの実行例
単にlsを実行した時と、オプションを付けたときの違いを確認。
[Rockylinux8]# ls
linkdir listen.log motonodir report.txt
[Rockylinux8]# ls -l
合計 0
lrwxrwxrwx. 1 root root 10 2月 25 07:49 linkdir -> motonodir/
-rw-r--r--. 1 root root 0 2月 25 09:20 listen.log
drwxr-xr-x. 2 root root 22 2月 25 09:20 motonodir
-rw-r--r--. 1 root root 0 2月 25 09:19 report.txt
[Rockylinux8]# ls -F
linkdir@ listen.log motonodir/ report.txt
[Rockylinux8]# ls -t
motonodir listen.log report.txt linkdir
[Rockylinux8]# ls -R
.:
linkdir listen.log motonodir report.txt
./motonodir:
test.txt
[Rockylinux8]# ls -a
. .. .kakushi linkdir listen.log motonodir report.txt
オプションは組み合わせて使うことがでる。
よく使う合わせ技はこちら。
[Rockylinux8]# ls -ltR
.:
合計 0
drwxr-xr-x. 2 root root 22 2月 25 09:20 motonodir
-rw-r--r--. 1 root root 0 2月 25 09:20 listen.log
-rw-r--r--. 1 root root 0 2月 25 09:19 report.txt
lrwxrwxrwx. 1 root root 10 2月 25 07:49 linkdir -> motonodir/
./motonodir:
合計 0
-rw-r--r--. 1 root root 0 2月 25 09:20 test.txt
[Rockylinux8]# ls -la
合計 0
drwxr-xr-x. 3 root root 90 2月 25 09:28 .
dr-xr-xr-x. 18 root root 236 2月 25 07:47 ..
-rw-r--r--. 1 root root 0 2月 25 09:28 .kakushi
lrwxrwxrwx. 1 root root 10 2月 25 07:49 linkdir -> motonodir/
-rw-r--r--. 1 root root 0 2月 25 09:20 listen.log
drwxr-xr-x. 2 root root 22 2月 25 09:20 motonodir
-rw-r--r--. 1 root root 0 2月 25 09:19 report.txt
ls コマンドの補足
オプションを組み合わせることで、より便利に使えます。
ファイル名の頭に「.(ドット)」が付いているファイルは隠しファイルです。
cp コマンド
ファイルやディレクトリをコピーするコマンド。
cp コマンドの構文
cp [オプション] [コピー元ファイル/ディレクトリ] [コピー先ファイル/ディレクトリ]
cp コマンドのオプション
★-i : 同じ名前のファイルが存在する場合は、上書きするか確認する。
★-f : 同じ名前のファイルがあっても、強制的に上書きする。
★-R : ディレクトリ以下を再帰的にコピーする。(全部コピーするってこと)
★-p : 更新日やフラグ、アクセス権などのファイル情報もそのままコピーする。
★-d : シンボリックリンクとハードリンクをそのままリンクとしてコピーする。
★-a : コピー元のファイル構成と属性を保持してコピーする。
-dpR と同じ意味
★-u : 同じ名前のファイルが存在する場合、コピー元の方がコピー先より新しい時にだけコピーする。
★-s : シンボリックリンクを作成する。
cp コマンドの実行例
[Rockylinux8]# cp -i listen.log report.txt
cp: 'report.txt' を上書きしますか? n
上書きする場合は「y」、しない場合は「n」を入力する。
[Rockylinux8]# cp -R motonodir/ motokara/
[Rockylinux8]# ls -l
合計 0
lrwxrwxrwx. 1 root root 10 2月 25 07:49 linkdir -> motonodir/
-rw-r--r--. 1 root root 0 2月 25 09:20 listen.log
drwxr-xr-x. 2 root root 22 2月 25 09:53 motokara
drwxr-xr-x. 2 root root 22 2月 25 09:20 motonodir
-rw-r--r--. 1 root root 0 2月 25 09:19 report.txt
[Rockylinux8]# ls motokara motonodir
motokara:
test.txt
motonodir:
test.txt
ディレクトリもその中身も、丸っとコピーされた。
[Rockylinux8]# ls -l listen.log
-rw-rw-rw-. 1 root root 0 2月 25 09:20 listen.log
[Rockylinux8]# cp listen.log listen2.log
[Rockylinux8]# ls -l listen.log listen2.log
-rw-rw-rw-. 1 root root 0 2月 25 09:20 listen.log
-rw-r--r--. 1 root root 0 2月 25 09:59 listen2.log
[Rockylinux8]#
[Rockylinux8]# cp -p listen.log listen3.log
[Rockylinux8]# ls -l listen.log listen3.log
-rw-rw-rw-. 1 root root 0 2月 25 09:20 listen.log
-rw-rw-rw-. 1 root root 0 2月 25 09:20 listen3.log
普通にコピーするだけだとタイムスタンプや権限などがデフォルト値に変更されてしまうが、-pオプションでそのままの状態でコピーされる。
cp コマンドの補足
基本的に-iオプションを使うようにする。
-fオプションを使うときはくれぐれも注意すること。
mv コマンド
ファイルやフォルダを移動したり、名前を変えたりするコマンド。
mv コマンドの構文
mv [オプション] [移動元ファイル/ディレクトリ] [移動先ファイル/ディレクトリ]
mv コマンドのオプション
★-i : 同じ名前のファイルが存在する場合は、上書きするか確認する。
★-f : 同じ名前のファイルがあっても、強制的に上書きする。
★-v : 移動元ファイル/ディレクトリと移動先や変更後のファイル/ディレクトリを表示する。
★-b : ファイルを上書きする場合、ファイル名の末尾に^(チルダ)が付いたファイル名でバックアップを作成する。
★-u : 同じ名前のファイルが存在する場合、コピー元の方がコピー先より新しい時にだけコピーする。
mv コマンドの実行例
listen.log ファイルを listen_2023.log に名前変更
[Rockylinux8]# ls -l
合計 0
-rw-rw-rw-. 1 root root 0 2月 25 09:20 listen.log
drwxr-xr-x. 2 root root 22 2月 25 09:20 motonodir
-rw-r--r--. 1 root root 0 2月 25 09:19 report.txt
[Rockylinux8]# mv listen.log listen_2023.log
[Rockylinux8]# ls -l
合計 0
-rw-rw-rw-. 1 root root 0 2月 25 09:20 listen_2023.log
drwxr-xr-x. 2 root root 22 2月 25 09:20 motonodir
-rw-r--r--. 1 root root 0 2月 25 09:19 report.txt
複数のファイルをまとめて移動することも可能。
listen_2023.log ファイルと report.txt ファイルを、まとめて motonodir ディレクトリに移動する。
[Rockylinux8]# mv listen_2023.log report.txt motonodir
[Rockylinux8]# ls -l motonodir
合計 0
-rw-rw-rw-. 1 root root 0 2月 25 09:20 listen_2023.log
-rw-r--r--. 1 root root 0 2月 25 09:19 report.txt
-rw-r--r--. 1 root root 0 2月 25 09:20 test.txt
mv コマンドの補足
mvでファイルやディレクトリの名前を変更する場合、たんに名前が変更されるだけなので、タイムスタンプや権限などは変わらない。
cat コマンド
ファイルの内容を表示するコマンド。
cat コマンドの構文
cat [オプション] [ファイル]
cat コマンドのオプション
★-n : 行番号を付けて表示する。
★-b : 行番号を付けるが、空行はカウントしない。
★-A : 全ての制御文字を表示する。
cat コマンドの実行例
たんにcatを実行した結果。
[Rockylinux8]# cat ctfsv.txt
CTFパソコン教室です。
Lpic Lv.1 の資格取得もご相談ください。
オンライン授業実施中。
システムエンジニアの転職も相談受けます。
-n オプションと -b オプションを付けた時の比較。
[Rockylinux8]# cat -n ctfsv.txt
1 CTFパソコン教室です。
2
3 Lpic Lv.1 の資格取得もご相談ください。
4 オンライン授業実施中。
5 システムエンジニアの転職も相談受けます。
[Rockylinux8]# cat -b ctfsv.txt
1 CTFパソコン教室です。
2 Lpic Lv.1 の資格取得もご相談ください。
3 オンライン授業実施中。
4 システムエンジニアの転職も相談受けます。
cat コマンドの補足
リダイレクトを利用すると、複数のファイルの内容を結合して書き出すことも可能。
[Rockylinux8]# cat test1
test1
[Rockylinux8]# cat test2
test2
[Rockylinux8]# cat test1 test2 > test3
[Rockylinux8]# cat test3
test1
test2
mkdir コマンド
ディレクトリを作成するコマンド。
mkdir コマンドの構文
mkdir [オプション] [ディレクトリ…]
mkdir コマンドのオプション
★-m パーミッション : 作成するディレクトリの権限を指定する。
★-p : 指定したディレクトリのPATHが存在しない場合、その中間のディレクトリ(サブディレクトリ)も含めて作成する。
mkdir コマンドの実行例
パーミッションを指定しない時とした時との比較。
[Rockylinux8]# mkdir futsuu
[Rockylinux8]# ls -l
合計 0
drwxr-xr-x. 2 root root 6 2月 25 21:22 futsuu
[Rockylinux8]# mkdir -m 700 700dir
[Rockylinux8]# ls -l
合計 0
drwx------. 2 root root 6 2月 25 21:22 700dir
drwxr-xr-x. 2 root root 6 2月 25 21:22 futsuu
-p オプション を付けないと、存在しないPATHのディレクトリ作成はエラーとなる。
[Rockylinux8]# mkdir ./pdir/cdir
mkdir: ディレクトリ `./pdir/cdir' を作成できません: そのようなファイルやディレクトリはありません
[Rockylinux8]# mkdir -p ./pdir/cdir
[Rockylinux8]# ls -lR pdir
pdir:
合計 0
drwxr-xr-x. 2 root root 6 2月 25 21:23 cdir
pdir/cdir:
合計 0
mkdir コマンドの補足
ディレクトリは複数まとめて作成可能。
最後に
Linuxコマンドの全てを記憶しておくことはほぼ不可能ですが、必要最低限は覚えておいた方がいいです。
特にこれからインフラやバックエンドのシステムエンジニアを目指している方は、少しでも多くのコマンドを覚えておきましょう。
CTFパソコン教室は、千葉県の鎌取、誉田、土気エリアで、パソコンに関する事・Excel,Wordに関する事・Scratchなどを教えています。その他の分野についてはお問い合わせください。
お子様の習い事や、趣味でパソコンを使えるようになりたい、スキルアップしたいなど、ご要望承り、お一人お一人に合わせた講座を受講することも可能です。
詳しくは公式LINEからお問い合わせください。
お得な情報を配信しますので、ご登録お願いいたします。
パソコン教室については、こちらもご覧ください。