【まとめ】Linux 基本コマンド一覧と使用例

Linux

Linuxの初心者向けによく使用するコマンドと使用例をまとめます。

※コマンドは順次追加、更新していく予定です。

スポンサーリンク
  1. ファイル・ディレクトリを管理するコマンド
    1. pwd:カレントディレクトの表示
    2. ls:ファイル・ディレクトリ一覧の表示
      1. 一覧表示
      2. 隠しファイルを表示 :-a
      3. 隠しファイルを表示(.と..を除く) :-A
      4. 詳細表示 :-l
      5. 作成時刻を降順にして詳細表示 :-lt
      6. 作成時刻を昇順にして詳細表示 :-ltr
      7. ファイルタイプを表示 :-F
    3. touch:空ファイルを作成
      1. ファイル新規作成
      2. 日付を指定 :-d
    4. mkdir:ディレクトリを作成
      1. ディレクトリ新規作成
      2. パス途中のディレクトリ含め複数作成 :-p
    5. cd:ディレクトリの位置を変更
      1. 1階層上に移動 : ../
      2. 2階層上に移動 : ../../
      3. ホームディレクトリへ移動 : ~
      4. ルートディレクトリから直接移動
    6. rm :ファイル削除
      1. ファイル削除
      2. 複数ファイルを一括削除
      3. ファイルを削除してよいか確認 : -i
      4. ディレクトリを削除 : -r
    7. cp:ファイル・ディレクトリのコピー
      1. ファイルをコピー
      2. ディレクトリをコピー : -r
      3. 上書き確認 : -i
    8. mv:ファイルの移動、ファイル名変更
      1. ファイルの移動
      2. ファイルのリネーム
      3. 上書き確認 : -i
    9. less : ファイル内容をページ単位で表示
  2. ユーザ・グループを管理するコマンド
    1. su -:ルートユーザへ変更
    2. id:ユーザ情報の確認
    3. ユーザ登録・削除
      1. useradd:ユーザの追加
      2. passwd:パスワード設定
      3. userdel:ユーザ削除
    4. グループ追加・削除
      1. groupadd:グループ追加
      2. usermod:ユーザの所属グループの変更
      3. groupdel:グループ削除

ファイル・ディレクトリを管理するコマンド

pwd:カレントディレクトの表示

現在作業しているディレクトリ(カレントディレクトリ)を表示

$ pwd
/home/ec2-user

ls:ファイル・ディレクトリ一覧の表示

現在作業中のディレクトリにあるファイル・ディレクトリを表示するには、ls を実行します。

一覧表示

下記の例では、text1.txt と text2.txt が一覧表示されています。

$ ls
text1.txt  text2.txt

現在作業中以外のディレクトリ内の一覧を取得したい場合は、取得したいディレクトリのパスを引数にします。下記は、/var/log 配下のファイル・ディレクトリ一覧を表示します。

$ ls /var/log/
amazon    chrony                 dmesg               lastlog   secure    yum.log
...
btmp      cron                   journal             sa        wtmp

隠しファイルを表示 :-a

隠しファイルは  . ではじまります。

$ ls -a
.  ..  .bash_history  .bash_logout  .bash_profile  .bashrc  .ssh  text1.txt  text2.txt   

隠しファイルを表示(.と..を除く) :-A

親ディレクトリである .  .. を非表示する場合は、-A を使用します。

$ ls -A
.bash_history  .bash_logout  .bash_profile  .bashrc  .ssh  text1.txt  text2.txt

詳細表示 :-l

詳細表示をする場合は、-l を使用します。

$ ls -l
合計 0
-rw-rw-r-- 1 ec2-user ec2-user 0  9月  4 04:45 text1.txt
-rw-rw-r-- 1 ec2-user ec2-user 0  9月  4 04:45 text2.txt

作成時刻を降順にして詳細表示 :-lt

更新日付の一番新しいファイルがトップに表示されます。実務でよく使用します。

$ ls -lt
合計 0
-rw-rw-r-- 1 ec2-user ec2-user 0  9月  4 05:35 text4.txt
-rw-rw-r-- 1 ec2-user ec2-user 0  9月  4 05:33 text3.txt
-rw-rw-r-- 1 ec2-user ec2-user 0  9月  4 04:45 text2.txt
-rw-rw-r-- 1 ec2-user ec2-user 0  9月  4 04:45 text1.txt

作成時刻を昇順にして詳細表示 :-ltr

$ ls -ltr
合計 0
-rw-rw-r-- 1 ec2-user ec2-user 0  9月  4 04:45 text1.txt
-rw-rw-r-- 1 ec2-user ec2-user 0  9月  4 04:45 text2.txt
-rw-rw-r-- 1 ec2-user ec2-user 0  9月  4 05:33 text3.txt
-rw-rw-r-- 1 ec2-user ec2-user 0  9月  4 05:35 text4.txt

ファイルタイプを表示 :-F

ディレクトリの場合は、/ が表示されます。

$ ls -F
dir1/  text1.txt  text2.txt  text3.txt  text4.txt  text5

touch:空ファイルを作成

空ファイルを作成します、引数にファイル名やタイムスタンプを指定することができます。

ファイル新規作成

file1.txtの空ファイルを新規作成します。

$ touch file1.txt     

日付を指定 :-d

$ touch text5.txt -d 2010/10/10

$ ls -l
合計 0
-rw-rw-r-- 1 ec2-user ec2-user 0  9月  4 04:45 text1.txt
-rw-rw-r-- 1 ec2-user ec2-user 0  9月  4 04:45 text2.txt
-rw-rw-r-- 1 ec2-user ec2-user 0  9月  4 05:33 text3.txt
-rw-rw-r-- 1 ec2-user ec2-user 0  9月  4 05:35 text4.txt
-rw-rw-r-- 1 ec2-user ec2-user 0 10月 10  2010 text5.txt

mkdir:ディレクトリを作成

ディレクトリを作成します。 -p オプションによりパス途中のディレクトリも含め、複数作成することができます。

ディレクトリ新規作成

カレントディレクトリに新規ディレクトリ(dir1)を作成します。

$ mkdir dir1

$ ls -F
dir1/  text1.txt  text2.txt  text3.txt  text4.txt  text5

パス途中のディレクトリ含め複数作成 :-p

$ mkdir -p dir2/dir3/dir4

$ ls -F
dir1/  dir2/  text1.txt  text2.txt  text3.txt  text4.txt  text5

$ ls dir2/
dir3

$ ls dir2/dir3/
dir4

cd:ディレクトリの位置を変更

作業するディレクトリを移動します。下記のようなファイル・ディレクトリ構成で、cdを使用例を確認します。

$ ls -F
dir1/  dir2/  text1.txt  text2.txt  text3.txt  text4.txt  text5

dir1/にディレクトリを移動します。

$ cd dir1/

$ pwd
/home/ec2-user/dir1

1階層上に移動 : ../

元に戻るため、1つ上のディレクトリに移動するには、cd ../ とします。

$ cd ../

$ pwd
/home/ec2-user

2階層上に移動 : ../../

../ が1つ上の意味です。2つ上の場合は、../ を2回書きます。

$ pwd
/home/ec2-user

$ cd ../../

$ pwd
/

ホームディレクトリへ移動 : ~

元のユーザのホームディレクトリへ移動するには、~ (チルダ)を使用します。

$ pwd
/

$ cd ~

$ pwd
/home/ec2-user

ルートディレクトリから直接移動

ルートディレクトリからのパスを指定することで、直接移動したいディレクトリを指定することもできます。

$ pwd
/home/ec2-user

$ cd /var/log/

$ pwd
/var/log

rm :ファイル削除

ファイルを削除する場合、rmコマンドを使用します。

ファイル削除

$ ls
dir1  dir2  text1.txt  text2.txt  text3.txt  text4.txt  text5.txt

$ rm text1.txt

$ ls
dir1  dir2  text2.txt  text3.txt  text4.txt  text5.txt

複数ファイルを一括削除

削除したいファイルを複数指定します。

$ ls
dir1  dir2  text2.txt  text3.txt  text4.txt  text5.txt

$ rm text2.txt text3.txt

$ ls
dir1  dir2  text4.txt  text5.txt

ファイルを削除してよいか確認 : -i

上書きして良いか確認するには、-i オプションをつけます。 上書きする場合は、yesを入力します。(noを入力するとコマンドがキャンセルされます)

$ rm -i text4.txt
rm: 通常の空ファイル `text4.txt' を削除しますか? yes

$ ls
dir1  dir2  text5.txt

ディレクトリを削除 : -r

指定したディレクトリにファイルやディレクトリが存在していても削除します。

$ ls
dir1  dir2  text5.txt

$ rm -r dir1

$ ls
dir2  text5.txt

cp:ファイル・ディレクトリのコピー

ファイルやディレクトリを複製(コピー)する場合は、cpコマンドを使用します。引数として、コピー元とコピー先を順に指定します。

ファイルをコピー

text1.txt text10.txt と言う名前でコピーします。

$ ls
dir1  dir2  text1.txt  text2.txt  text3.txt  text4.txt  text5.txt

$ cp text1.txt text10.txt

$ ls
dir1  dir2  text1.txt  text10.txt  text2.txt  text3.txt  text4.txt  text5.txt

ディレクトリをコピー : -r

dir1dir3にコピーします。

$ ls -F
dir1/  dir2/  text1.txt  text10.txt  text2.txt  text3.txt  text4.txt  text5.txt

$ cp -r dir1 dir3

$ ls -F
dir1/  dir2/  dir3/  text1.txt  text10.txt  text2.txt  text3.txt  text4.txt  text5.txt

上書き確認 : -i

text1.txttext2.txtに上書きする場合に上書き確認する。

$ ls
dir1  dir2  dir3  text1.txt  text10.txt  text2.txt  text3.txt  text4.txt  text5.txt

$ cp -i text1.txt text2.txt
cp: `text2.txt' を上書きしますか? yes
$ 

mv:ファイルの移動、ファイル名変更

ファイルやディレクトリの移動やファイル名のリネームをする場合、mvコマンドを使用します。

ファイルの移動

text1.txtdir1の配下に移動します。

$ ls
dir1  dir2  dir3  text1.txt  text10.txt  text2.txt  text3.txt  text4.txt  text5.txt

$ ls dir1
$

$ mv text1.txt dir1

$ ls
dir1  dir2  dir3  text10.txt  text2.txt  text3.txt  text4.txt  text5.txt

$ ls dir1
text1.txt

ファイルのリネーム

text2.txt のファイル名をtext2_change.txt にリネームします。

$ ls
dir1  dir2  dir3  text10.txt  text2.txt  text3.txt  text4.txt  text5.txt

$ mv text2.txt text2_change.txt

$ ls
dir1  dir2  dir3  text10.txt  text2_change.txt  text3.txt  text4.txt  text5.txt

上書き確認 : -i

移動先のフォルダに同じファイルが存在するとき、このオプションをつけないと強制的に上書きされます。

下記のとおり、カレントディレクトリとdir1配下に同じファイル名(text1.txt)が保存されています。

$ touch text1.txt
$ ls
dir1  dir2  dir3  text1.txt  text10.txt  text2_change.txt  text3.txt  text4.txt  text5.txt
$ ls dir1
text1.txt 

カレントディレクトリのtext1.txtdir1配下に移動すると、強制的に上書きされます。

$ mv text1.txt dir1/
$

上書きして良いか確認するには、-i オプションをつけます。 上書きする場合は、yesを入力します。(noを入力するとコマンドがキャンセルされます)

$ mv -i text1.txt dir1/
mv: `dir1/text1.txt' を上書きしますか? yes
$

less : ファイル内容をページ単位で表示

ファイル内容をページ単位で表示するには、lessを使用します。

下記例は、/var/log/messagesの内容をページ単位で出力します。

# less /var/log/messages

下記、画面の中で、使用するキーです。

  • e : 1行 下に進む
  • f : 1画面分 下に進む
  • d : 半画面分 下に進む
  • y : 1行上に戻る
  • b : 1画面分上に戻る
  • u : 半画面分上に戻る
  • g : 先頭行に移動
  • G : 末尾に移動
  • 50G : 50行目まで移動
  • q : 終了
  • v : 表示中のファイルをviコマンドで編集する
  • / : 検索する
スポンサーリンク

ユーザ・グループを管理するコマンド

su -:ルートユーザへ変更

スーパユーザであるrootユーザに変更するには、su – を実行します。

[ec2-user@ip-10-0-1-81 ~]$ su -
パスワード: ルートユーザのパスワードを入力
最終ログイン: 2021/09/05 (日) 02:47:47 UTC日時 pts/1
[root@ip-10-0-1-81 ~]# pwd
/root

id:ユーザ情報の確認

自分がどのユーザでログインしているのかidコマンドで確認します。

# id
uid=0(root) gid=0(root) groups=0(root)

ユーザ登録・削除

useradd:ユーザの追加

一般ユーザとして、user01を追加します。ユーザを追加すると、/etc/passwd/etc/shadowにエントリーが追加され、かつ、ユーザのホームディレクトリが作成されます。

# useradd user01

# tail -1 /etc/passwd
user01:x:1001:1001::/home/user01:/bin/bash

# tail -1 /etc/shadow
user01:!!:18875:0:99999:7:::

# ls -F /home/
ec2-user/  user01/

passwd:パスワード設定

user01のログインパスワードを設定します。

# passwd user01
Changing password for user user01.
New password:パスワードを入力
Retype new password:パスワードを再入力
passwd: all authentication tokens updated successfully.

パスワードが設定されると、etc/shadowの第2フィールドが ‘ !! ‘から暗号化されたパスワードへ変更されます。

# tail -1 /etc/shadow
user01:$6$HjriImNi$......kKTg1:18875:0:99999:7:::

userdel:ユーザ削除

user01を削除します。何もオプションをつけないと、/etc/passwdと/etc/shadowにエントリーのエントリーが削除されるだけです。-rオプションをつけることで、ホームディレクトリも削除されます

# userdel -r user01

# ls -F /home/
ec2-user/

グループ追加・削除

groupadd:グループ追加

user_gr1という名前のグループを作成します。作成されると、/etc/group/etc/gshadowのエントリーが追加されます。

# groupadd user_gr1

# tail -1 /etc/group
user_gr1:x:1002:

# tail -1 /etc/gshadow
user_gr1:!::

usermod:ユーザの所属グループの変更

ユーザuser01の所属グループをuser_gr1に変更します。現在、user01が所属しているグループはidコマンドで確認できます。

# id user01
uid=1001(user01) gid=1001(user01) groups=1001(user01)

# tail -1 /etc/group
user_gr1:x:1002:

# usermod -G user_gr1 user01

# id user01
uid=1001(user01) gid=1001(user01) groups=1001(user01),1002(user_gr1)

# tail -1 /etc/group
user_gr1:x:1002:user01

usermod –G でグループ変更すると、単一の2次グループに置き換えられます。

# id user01
uid=1001(user01) gid=1001(user01) groups=1001(user01),1002(user_gr1)

# groupadd user_gr2

# usermod -G user_gr2 user01

# id user01
uid=1001(user01) gid=1001(user01) groups=1001(user01),1003(user_gr2)

2次グループに複数グループ登録する場合は、usermod –aG を使用します。

# id user01
uid=1001(user01) gid=1001(user01) groups=1001(user01),1002(user_gr1)

# usermod -aG user_gr2 user01

# id user01
uid=1001(user01) gid=1001(user01) groups=1001(user01),1002(user_gr1),1003(user_gr2)

groupdel:グループ削除

グループuser_gr2を削除します。

# id user01
uid=1001(user01) gid=1001(user01) groups=1001(user01),1002(user_gr1),1003(user_gr2),

# groupdel user_gr2

# id user01
uid=1001(user01) gid=1001(user01) groups=1001(user01),1002(user_gr1) 

コメント

タイトルとURLをコピーしました