今回の内容
今回は、catコマンド・headコマンド・tailコマンドについて解説します。
コマンドについて
LINUXのコンピュータでは、windowsやMacと同様にGUIでの操作が可能です。しかし、場合によっては、「文字で命令を出すコマンド」を使用した方が効率的な場合があります。例えば、ファイルの中身をメモ帳を開かずに表示したり、大量のデータの一括管理や処理の自動化といった部分においては、コマンドが得意としています。
コマンドは、「端末(ターミナル)」という、黒い背景に白字が表示された画面で操作をします。
端末(ターミナル)では、「シェル(貝殻を意味する)」というプログラムが動作しており、ユーザがコマンドを入力するとシェルがその命令を解釈してカーネルに渡すことで、画面上にコマンドを実行した出力結果が表示されます。
ひとまず「端末を使えば、文字でコンピュータに命令ができる」と考えてみてください。
端末の画面の左に「[root@localhost ~]# 」←こんな表示があります。
これは、シェルがコマンドの命令を待ち構えている状態です。
コマンドの実行は、次のような要素から成り立っています。
# コマンド [オプション] [引数]
・コマンドは、実行可能なプログラムまたはスクリプト。
・[オプション]は、コマンドに対して動作を指示するスイッチです。
・[引数]はコマンドに渡す値です。
※引数の有無で動作が変わるコマンド、引数をとらないコマンド、複数の引数が必要とな
るコマンドなどがあります。
それでは、catコマンドから学習していきましょう。
catコマンド
catコマンド | |
---|---|
意味 | ファイルの内容を標準出力する。 複数のファイルを垂直方向に連結して、標準出力する。 |
書式 | cat [オプション] [ファイル名] |
オプション | 説明 |
-n<行数> | 全出力行に行番号(空白文字のみの行を含む)を付けて出力。 |
[root@localhost ~]# cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin (中略) postfix:x:89:89::/var/spool/postfix:/sbin/nologin tcpdump:x:72:72::/:/sbin/nologin student:x:1000:1000:student:/home/student:/bin/bash apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin test1:x:1001:1003::/home/test1:/bin/bash test2:x:1002:1003::/home/test2:/bin/bash [root@localhost ~]#
[root@localhost ~]# cat -n /etc/passwd 1 root:x:0:0:root:/root:/bin/bash 2 bin:x:1:1:bin:/bin:/sbin/nologin 3 daemon:x:2:2:daemon:/sbin:/sbin/nologin 4 adm:x:3:4:adm:/var/adm:/sbin/nologin 5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin 6 sync:x:5:0:sync:/sbin:/bin/sync 7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown 8 halt:x:7:0:halt:/sbin:/sbin/halt 9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin 10 operator:x:11:0:operator:/root:/sbin/nologin
headコマンド
headコマンド | |
---|---|
意味 | ファイルの先頭部分を表示する。 (デフォルトでは、先頭から10行目までを表示) |
書式 | head [オプション] [ファイル名] |
オプション | 説明 |
-c <バイト数> | 出力するバイト数を指定。 |
-n<行数> | 先頭から指定された行数分だけ表示。 |
[root@localhost ~]# head /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin [root@localhost ~]#
[root@localhost ~]# head -c 50 /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin [root@localhost ~]#
[root@localhost ~]# head -n 5 /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin [root@localhost ~]#
tailコマンド
tailコマンド | |
---|---|
意味 | ファイルの末尾部分を表示する。 (デフォルトでは、最終行から10行目までを表示) |
書式 | tail [オプション] [ファイル名] |
オプション | 説明 |
-c <バイト数> | 末尾から指定されたバイト数だけ指定。 |
-n<行数> | 末尾から指定された行数分だけ表示。 |
-f | ファイルの末尾に追加された行を常に表示。 |
[root@localhost ~]# tail /etc/passwd nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin gnome-initial-setup:x:988:982::/run/gnome-initial-setup/:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin tcpdump:x:72:72::/:/sbin/nologin student:x:1000:1000:student:/home/student:/bin/bash apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin test1:x:1001:1003::/home/test1:/bin/bash test2:x:1002:1003::/home/test2:/bin/bash [root@localhost ~]#
[root@localhost ~]# tail -c 50 /etc/passwd bin/bash test2:x:1002:1003::/home/test2:/bin/bash [root@localhost ~]#
[root@localhost ~]# tail -n 5 /etc/passwd tcpdump:x:72:72::/:/sbin/nologin student:x:1000:1000:student:/home/student:/bin/bash apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin test1:x:1001:1003::/home/test1:/bin/bash test2:x:1002:1003::/home/test2:/bin/bash [root@localhost ~]#
[root@localhost ~]# tail -f /etc/passwd nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin gnome-initial-setup:x:988:982::/run/gnome-initial-setup/:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin tcpdump:x:72:72::/:/sbin/nologin student:x:1000:1000:student:/home/student:/bin/bash apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin test1:x:1001:1003::/home/test1:/bin/bash test2:x:1002:1003::/home/test2:/bin/bash
まとめ
cat/head/tailコマンドは、よく実務でも使用するコマンドです!
LINUX初心者の方は、特にcatコマンドとtailコマンドをしっかり覚えておきましょう!
それでは今回はこのあたりで。
確認問題
ファイルの内容を標準出力するコマンドで、正しい選択肢を1つ選びなさい。
A) head
B) tail
C) cat
D) cah
ファイルの末尾に追加された行を常に表示するコマンドで、正しい選択肢を1つ選びなさい。
A) -x
B) -f
C) -n
D) -c