Bash
ファイルとディレクトリの操作
ディレクトリの移動 (cd)
ディレクトリを移動するには「cd
」(Change Directory / Change the shell working Directory) コマンドを使います.ルートディレクトリ (/) に移動するには次のようなコマンドを入力します.このとき,ディレクトリ名の表示が変化したことにも注意してください.
rinsaka@ubuntu:~$ cd / ⏎ rinsaka@ubuntu:/$
ルートディレクトリにあるファイルやディレクトリを一覧で表示します.その中に「home」ディレクトリがあることを確認します.
rinsaka@ubuntu:/$ ls ⏎ bin dev lib64 mnt run srv var bin.usr-is-merged etc lib.usr-is-merged opt sbin sys boot home lost+found proc sbin.usr-is-merged tmp cdrom lib media root snap usr rinsaka@ubuntu:/$
「home」ディレクトリに移動して,その中身を確認します.するとユーザ名のディレクトリが一つだけ確認できました.(もちろん環境によって異なります.)なお,「cd h
」だけ入力したあと,tab キーを押すことでファイル名やディレクトリ名を補完することができます.
rinsaka@ubuntu:/$ cd home ⏎ rinsaka@ubuntu:/home$ ls ⏎ rinsaka
自分のホームディレクトリに移動し,ファイルやディレクトリの一覧を確認します.
rinsaka@ubuntu:/home$ cd rinsaka ⏎ rinsaka@ubuntu:~$ ls ⏎ Documents public_html rinsaka@ubuntu:~$
さらに「Documents」ディレクトリに移動します.なお,「Documents/」のように「/」を付けても構いません.
rinsaka@ubuntu:~$ cd Documents/ ⏎ rinsaka@ubuntu:~/Documents$ ls ⏎ rinsaka@ubuntu:~/Documents$
ワーキングディレクトリを確認してみます.
rinsaka@ubuntu:~/Documents$ pwd ⏎
/home/rinsaka/Documents
rinsaka@ubuntu:~/Documents$
もう一度,ルートディレクトリに移動してからワーキングディレクトリを確認します.
rinsaka@ubuntu:~/Documents$ cd / ⏎ rinsaka@ubuntu:/$ pwd ⏎ / rinsaka@ubuntu:/$
「cd
」コマンドにディレクトリ名を指定しなければホームディレクトリへ一気に移動できます.
rinsaka@ubuntu:/$ cd ⏎ rinsaka@ubuntu:~$ pwd ⏎ /home/rinsaka rinsaka@ubuntu:~$
再び,ルートディレクトリに戻ってから,今度はホームディレクトリ内の「Documents」ディレクトリに戻ります.このとき,「~
」がホームディレクトリを意味していることに注意してください.
rinsaka@ubuntu:~$ cd / ⏎ rinsaka@ubuntu:/$ cd ~/Documents ⏎ rinsaka@ubuntu:~/Documents$
一つ上の階層に移動するには「..
」を利用します.
rinsaka@ubuntu:~/Documents$ cd .. ⏎
rinsaka@ubuntu:~$
ファイルやディレクトリの一覧表示 (ls)
次に,ファイルやディレクトリの一覧表示について,様々な表示方法について説明します.まず,「ls
」だけで実行します.このとき,表示された名前が,ファイル名なのか,ディレクトリ名なのかは判別できません.
rinsaka@ubuntu:~$ ls ⏎
Documents public_html
rinsaka@ubuntu:~$
「-l
」オプションを付与すると,long list format で詳細情報を表示できます.
rinsaka@ubuntu:~$ ls -l ⏎
total 8
drwx------ 2 rinsaka rinsaka 4096 Aug 3 01:37 Documents
drwxrwxr-x 3 rinsaka rinsaka 4096 Aug 3 01:44 public_html
rinsaka@ubuntu:~$
なお,「drwx------
」の「d
」は「Documents」がディレクトリであることを意味し,「rwx」や「---」の3つのブロックは「所有者 (owner)」,「グループ (group)」,「他人 (others)」それぞれに読み取り権限 (Read),書き込み権限 (Write),実行権限 (eXecute) が与えられているかどうかを意味します.
つまり,上の結果では,「Documents」ディレクトリは所有者「rinsaka」にだけ読み取り,書き込み,実行の権限が与えられていることを意味し,「public_html」ディレクトリは所有者に全ての権限がある一方で,グループや他人には読み取りと実行(ここでは,このディレクトリの中に移動できる)権限だけが設定されていることが分かります.
次に隠しファイルも含めて表示するには「-a
」を付与します.なお,Utuntu や macOS などの UNIX 系 OS ではドット (.) で始まるファイルやディレクトリが隠しファイル,隠しディレクトリです.
rinsaka@ubuntu:~$ ls -a ⏎
. .bash_history .bashrc .config .profile .ssh
.. .bash_logout .cache Documents public_html .viminfo
rinsaka@ubuntu:~$
隠しファイル/ディレクトリも含めて詳細情報を表示します.各ファイルやディレクトリにどのようなアクセス権限が設定されているか注意深く観察してください.
rinsaka@ubuntu:~$ ls -la ⏎
total 48
drwxr-x--- 7 rinsaka rinsaka 4096 Aug 3 01:19 .
drwxr-xr-x 3 root root 4096 Aug 3 2025 ..
-rw------- 1 rinsaka rinsaka 1060 Aug 3 01:34 .bash_history
-rw-r--r-- 1 rinsaka rinsaka 220 Mar 31 2024 .bash_logout
-rw-r--r-- 1 rinsaka rinsaka 3771 Mar 31 2024 .bashrc
drwx------ 2 rinsaka rinsaka 4096 Aug 3 01:00 .cache
drwx------ 3 rinsaka rinsaka 4096 Aug 3 01:19 .config
drwx------ 2 rinsaka rinsaka 4096 Aug 3 01:37 Documents
-rw-r--r-- 1 rinsaka rinsaka 807 Mar 31 2024 .profile
drwxrwxr-x 3 rinsaka rinsaka 4096 Aug 3 01:44 public_html
drwx------ 2 rinsaka rinsaka 4096 Aug 3 2025 .ssh
-rw------- 1 rinsaka rinsaka 1509 Aug 3 01:05 .viminfo
rinsaka@ubuntu:~$
ファイルサイズを人間にとってわかりやすい単位で表示するには「-h
」オプションも付与します.
rinsaka@ubuntu:~$ ls -lah ⏎
total 48K
drwxr-x--- 7 rinsaka rinsaka 4.0K Aug 3 01:19 .
drwxr-xr-x 3 root root 4.0K Aug 3 2025 ..
-rw------- 1 rinsaka rinsaka 1.1K Aug 3 01:34 .bash_history
-rw-r--r-- 1 rinsaka rinsaka 220 Mar 31 2024 .bash_logout
-rw-r--r-- 1 rinsaka rinsaka 3.7K Mar 31 2024 .bashrc
drwx------ 2 rinsaka rinsaka 4.0K Aug 3 01:00 .cache
drwx------ 3 rinsaka rinsaka 4.0K Aug 3 01:19 .config
drwx------ 2 rinsaka rinsaka 4.0K Aug 3 01:37 Documents
-rw-r--r-- 1 rinsaka rinsaka 807 Mar 31 2024 .profile
drwxrwxr-x 3 rinsaka rinsaka 4.0K Aug 3 01:44 public_html
drwx------ 2 rinsaka rinsaka 4.0K Aug 3 2025 .ssh
-rw------- 1 rinsaka rinsaka 1.5K Aug 3 01:05 .viminfo
rinsaka@ubuntu:~$
サブディレクトリを再帰的に走査して全てのディレクトリ/ファイルを表示するには「-R
」オプションを付与します.
rinsaka@ubuntu:~$ ls -R ⏎
.:
Documents public_html
./Documents:
./public_html:
css index.html
./public_html/css:
style.css
rinsaka@ubuntu:~$
ディレクトリの作成 (mkdir)
ディレクトリを作成するためのコマンドは「mkdir
」(MaKe DIRectory) です.まず,「Documents」ディレクトリに移動して,その中身を確認しておきます.
rinsaka@ubuntu:~$ cd Documents/ ⏎ rinsaka@ubuntu:~/Documents$ ls ⏎ rinsaka@ubuntu:~/Documents$
次のコマンドで「work」ディレクトリを作成します.作成できたことも確認しておきます.
rinsaka@ubuntu:~/Documents$ mkdir work ⏎ rinsaka@ubuntu:~/Documents$ ls -l ⏎ total 4 drwxrwxr-x 2 rinsaka rinsaka 4096 Aug 3 01:46 work rinsaka@ubuntu:~/Documents$
「work」ディレクトリに移動して中身を確認します.まだファイルは存在していません.
rinsaka@ubuntu:~/Documents$ cd work ⏎ rinsaka@ubuntu:~/Documents/work$ ls -l ⏎ total 0 rinsaka@ubuntu:~/Documents/work$
ファイルの作成 (touch)
空のファイルを作成するためのコマンドは「touch
」です.例えば,「test1.txt」ファイルを作成します.ファイルサイズが 0 であることも確認してください.
rinsaka@ubuntu:~/Documents/work$ touch test1.txt ⏎ rinsaka@ubuntu:~/Documents/work$ ls -l ⏎ total 0 -rw-rw-r-- 1 rinsaka rinsaka 0 Aug 3 01:47 test1.txt rinsaka@ubuntu:~/Documents/work$
ファイルのコピー (cp)
ファイルのコピーは 「cp
」(CoPy) コマンドで実行できます.次の通り,「コピー元」と「コピー先」のパス名を指定します.これによって,「test2.txt」ファイルが作成されました.
rinsaka@ubuntu:~/Documents/work$ cp test1.txt test2.txt ⏎ rinsaka@ubuntu:~/Documents/work$ ls -l ⏎ total 0 -rw-rw-r-- 1 rinsaka rinsaka 0 Aug 3 01:47 test1.txt -rw-rw-r-- 1 rinsaka rinsaka 0 Aug 3 01:48 test2.txt rinsaka@ubuntu:~/Documents/work$
同じように「test3.txt」というコピーも作成します.
rinsaka@ubuntu:~/Documents/work$ cp test1.txt test3.txt ⏎ rinsaka@ubuntu:~/Documents/work$ ls -l ⏎ total 0 -rw-rw-r-- 1 rinsaka rinsaka 0 Aug 3 01:47 test1.txt -rw-rw-r-- 1 rinsaka rinsaka 0 Aug 3 01:48 test2.txt -rw-rw-r-- 1 rinsaka rinsaka 0 Aug 3 01:48 test3.txt rinsaka@ubuntu:~/Documents/work$
ファイルの移動・ファイル名の変更 (mv)
ファイルの移動やファイル名の変更には「mv」(MoVe) コマンドを利用します.まず,一つ上の階層「..
」(つまり,Documentsディレクトリ)には「work」ディレクトリだけがあり,その中に3個のテキストファイルがあることが分かります.
rinsaka@ubuntu:~/Documents/work$ ls .. ⏎ work rinsaka@ubuntu:~/Documents/work$ ls ⏎ test1.txt test2.txt test3.txt rinsaka@ubuntu:~/Documents/work$
ファイル「test3.txt」を一つ上の階層へ移動します.その後,移動できていることを確認します.
rinsaka@ubuntu:~/Documents/work$ mv test3.txt ../ ⏎ rinsaka@ubuntu:~/Documents/work$ ls .. ⏎ test3.txt work rinsaka@ubuntu:~/Documents/work$ ls ⏎ test1.txt test2.txt rinsaka@ubuntu:~/Documents/work$
今度は,一つ上のディレクトリにある「test3.txt」をカレントディレクトリ (./
) に移動します.ここで,./
は現在のディレクトリ(カレントディレクトリ)を意味することに注意してください.
rinsaka@ubuntu:~/Documents/work$ mv ../test3.txt ./ ⏎ rinsaka@ubuntu:~/Documents/work$ ls .. ⏎ work rinsaka@ubuntu:~/Documents/work$ ls ⏎ test1.txt test2.txt test3.txt rinsaka@ubuntu:~/Documents/work$
ファイル名を変更する際にも「mv
」コマンドを利用します.
rinsaka@ubuntu:~/Documents/work$ mv test3.txt test30.txt ⏎
rinsaka@ubuntu:~/Documents/work$ ls
test1.txt test2.txt test30.txt
rinsaka@ubuntu:~/Documents/work$
ディレクトリのコピー (cp -R)
次に,ディレクトリのコピーを実行しますが,その前にディレクトリとその中のファイルの構造を確認しておきます.
rinsaka@ubuntu:~/Documents/work$ cd .. ⏎ rinsaka@ubuntu:~/Documents$ ls ⏎ work rinsaka@ubuntu:~/Documents$ ls -R ⏎ .: work ./work: test1.txt test2.txt test30.txt rinsaka@ubuntu:~/Documents$
「work」ディレクトリ全体をコピーして「work2」を作成します.ディレクトリ全体をコピーするには「-R
」オプションが必要であることに注意してください.
rinsaka@ubuntu:~/Documents$ cp -R work work2 ⏎ rinsaka@ubuntu:~/Documents$ ls ⏎ work work2 rinsaka@ubuntu:~/Documents$ ls -R ⏎ .: work work2 ./work: test1.txt test2.txt test30.txt ./work2: test1.txt test2.txt test30.txt rinsaka@ubuntu:~/Documents$
ファイルやディレクトリの削除とワイルドカード
削除のコマンドは「rm
」(ReMove) です.まず,「work」ディレクトリに移動して,その中にテキストファイルが3つあることを確認します.
rinsaka@ubuntu:~/Documents$ cd work ⏎ rinsaka@ubuntu:~/Documents/work$ ls ⏎ test1.txt test2.txt test30.txt rinsaka@ubuntu:~/Documents/work$
ワイルドカード「*
」は「0文字以上の任意の文字列」を意味します.次の通り「*.txt
」と指定すると,「.txt
」で終わる名前のファイル(またはディレクトリ)が該当することから,結果的に全てのファイルを削除することができます.
rinsaka@ubuntu:~/Documents/work$ rm *.txt ⏎ rinsaka@ubuntu:~/Documents/work$ ls ⏎ rinsaka@ubuntu:~/Documents/work$
次は「work2」ディレクトリに移動して,やはり3つのファイルが存在することを確認します.
rinsaka@ubuntu:~/Documents/work$ cd ../work2 ⏎ rinsaka@ubuntu:~/Documents/work2$ ls ⏎ test1.txt test2.txt test30.txt rinsaka@ubuntu:~/Documents/work2$
ワイルドカード「?
」は「任意の1文字」を意味します.したがって,「test1.txt」と「test2.txt」はまとめて削除されますが,「test30.txt」は削除されません.
rinsaka@ubuntu:~/Documents/work2$ rm test?.txt ⏎ rinsaka@ubuntu:~/Documents/work2$ ls ⏎ test30.txt rinsaka@ubuntu:~/Documents/work2$
上のディレクトリに戻ります.
rinsaka@ubuntu:~/Documents/work2$ cd .. ⏎ rinsaka@ubuntu:~/Documents$ ls ⏎ work work2 rinsaka@ubuntu:~/Documents$
ディレクトリを削除するにはその中に保存されたファイルもまとめて削除しなければなりません.このためには「-r
」オプションを付与します.これで「work2」ディレクトリが削除できました.
rinsaka@ubuntu:~/Documents$ rm -r work2 ⏎ rinsaka@ubuntu:~/Documents$ ls ⏎ work rinsaka@ubuntu:~/Documents$
エコーとリダイレクト
「echo
」は指定した文字列を画面に表示するためのコマンドです.
rinsaka@ubuntu:~/Documents$ echo "Hello Ubuntu" ⏎
Hello Ubuntu
rinsaka@ubuntu:~/Documents$
「work」ディレクトリに移動し,ファイルが存在しないことを確認しておきます.
rinsaka@ubuntu:~/Documents$ cd work/ ⏎ rinsaka@ubuntu:~/Documents/work$ ls ⏎ rinsaka@ubuntu:~/Documents/work$
リダイレクトを用いると画面に表示される結果を画面ではなくファイルに出力することができます.次のように「>
」の後に出力したいファイル名を指定します.
rinsaka@ubuntu:~/Documents/work$ echo "Hello Ubuntu" > test1.txt ⏎
rinsaka@ubuntu:~/Documents/work$
ファイルが作成されていることを確認します.
rinsaka@ubuntu:~/Documents/work$ ls -l ⏎
total 4
-rw-rw-r-- 1 rinsaka rinsaka 13 Aug 3 01:58 test1.txt
rinsaka@ubuntu:~/Documents/work$
「cat
」(conCATenate) コマンドでテキストファイルの内容を画面に表示することができます.
rinsaka@ubuntu:~/Documents/work$ cat test1.txt ⏎
Hello Ubuntu
rinsaka@ubuntu:~/Documents/work$
「>>
」によってリダイレクトすると,ファイルに追記されます.たとえば,ホームディレクトリ (~
) 以下の全てのファイル/ディレクトリを再帰的に取得して,ファイル「test1.txt」に追記します.
rinsaka@ubuntu:~/Documents/work$ ls -R ~ >> test1.txt ⏎ rinsaka@ubuntu:~/Documents/work$ cat test1.txt ⏎ Hello Ubuntu /home/rinsaka: Documents public_html /home/rinsaka/Documents: work /home/rinsaka/Documents/work: test1.txt /home/rinsaka/public_html: css index.html /home/rinsaka/public_html/css: style.css rinsaka@ubuntu:~/Documents/work$
さらにルートディレクトリのサブディレクトリやファイルを追記します.
rinsaka@ubuntu:~/Documents/work$ ls / >> test1.txt ⏎ rinsaka@ubuntu:~/Documents/work$ cat test1.txt ⏎ Hello Ubuntu /home/rinsaka: Documents public_html /home/rinsaka/Documents: work /home/rinsaka/Documents/work: test1.txt /home/rinsaka/public_html: css index.html /home/rinsaka/public_html/css: style.css bin bin.usr-is-merged boot cdrom dev etc home lib lib64 lib.usr-is-merged lost+found media mnt opt proc root run sbin sbin.usr-is-merged snap srv sys tmp usr var rinsaka@ubuntu:~/Documents/work$
ファイル内容の表示 (cat / head / tail)
上で利用した「cat
」コマンドの利用方法をもう少し詳しく説明します.まず,「test1.txt」は1画面で収まらない行数があるので,一気にスクロールされて表示が流れてしまいます.
rinsaka@ubuntu:~/Documents/work$ cat test1.txt ⏎
Hello Ubuntu
/home/rinsaka:
Documents
public_html
/home/rinsaka/Documents:
work
/home/rinsaka/Documents/work:
test1.txt
/home/rinsaka/public_html:
css
index.html
/home/rinsaka/public_html/css:
style.css
bin
bin.usr-is-merged
boot
cdrom
dev
etc
home
lib
lib64
lib.usr-is-merged
lost+found
media
mnt
opt
proc
root
run
sbin
sbin.usr-is-merged
snap
srv
sys
tmp
usr
var
rinsaka@ubuntu:~/Documents/work$
行番号表示を表示するには「-n
」オプションを追加します.
rinsaka@ubuntu:~/Documents/work$ cat -n test1.txt ⏎
1 Hello Ubuntu
2 /home/rinsaka:
3 Documents
4 public_html
5
6 /home/rinsaka/Documents:
7 work
8
9 /home/rinsaka/Documents/work:
10 test1.txt
11
12 /home/rinsaka/public_html:
13 css
14 index.html
15
16 /home/rinsaka/public_html/css:
17 style.css
18 bin
19 bin.usr-is-merged
20 boot
21 cdrom
22 dev
23 etc
24 home
25 lib
26 lib64
27 lib.usr-is-merged
28 lost+found
29 media
30 mnt
31 opt
32 proc
33 root
34 run
35 sbin
36 sbin.usr-is-merged
37 snap
38 srv
39 sys
40 tmp
41 usr
42 var
rinsaka@ubuntu:~/Documents/work$
ファイルの先頭だけを表示するには「head
」コマンドを使用します.行数を指定しなければ,先頭から10行が表示されます.
rinsaka@ubuntu:~/Documents/work$ head test1.txt ⏎
Hello Ubuntu
/home/rinsaka:
Documents
public_html
/home/rinsaka/Documents:
work
/home/rinsaka/Documents/work:
test1.txt
rinsaka@ubuntu:~/Documents/work$
「-n 行数
」のように表示する行数を制御できます.
rinsaka@ubuntu:~/Documents/work$ head -n 3 test1.txt ⏎
Hello Ubuntu
/home/rinsaka:
Documents
rinsaka@ubuntu:~/Documents/work$
ファイルの末尾を表示するには「tail
」コマンドが利用できます.
rinsaka@ubuntu:~/Documents/work$ tail test1.txt ⏎
root
run
sbin
sbin.usr-is-merged
snap
srv
sys
tmp
usr
var
rinsaka@ubuntu:~/Documents/work$
同様に「-n 3
」のように表示したい行数を指定できます.
rinsaka@ubuntu:~/Documents/work$ tail -n 3 test1.txt ⏎
tmp
usr
var
rinsaka@ubuntu:~/Documents/work$
パイプ(パイプライン)
パイプを使うとあるコマンドの結果を次のコマンドに渡すことができます.例えば,「cat -n
」で行番号を付けて表示した結果を「head
」に渡して,先頭から10行だけ表示させることなどができます.
rinsaka@ubuntu:~/Documents/work$ cat -n test1.txt | head ⏎
1 Hello Ubuntu
2 /home/rinsaka:
3 Documents
4 public_html
5
6 /home/rinsaka/Documents:
7 work
8
9 /home/rinsaka/Documents/work:
10 test1.txt
rinsaka@ubuntu:~/Documents/work$
「more
」を利用すると1画面ずつ表示することができます.このとき,スペースキーで次の画面に移動でき,表示を終了するには q を押します.
rinsaka@ubuntu:~/Documents/work$ cat test1.txt | more ⏎ Hello Ubuntu /home/rinsaka: Documents public_html /home/rinsaka/Documents: work /home/rinsaka/Documents/work: test1.txt /home/rinsaka/public_html: css index.html /home/rinsaka/public_html/css: style.css bin bin.usr-is-merged boot cdrom dev etc home --More--
「more
」では下方向にだけスクロールできましたが,「less
」では上下方向にスクロール可能です.スペースキーで1画面スクロールし,上下のカーソルキーや j,k で1行ずつ上下にスクロールできます.
rinsaka@ubuntu:~/Documents/work$ cat test1.txt | less ⏎ Hello Ubuntu /home/rinsaka: Documents public_html /home/rinsaka/Documents: work /home/rinsaka/Documents/work: test1.txt /home/rinsaka/public_html: css index.html /home/rinsaka/public_html/css: style.css bin bin.usr-is-merged boot cdrom dev etc home : rinsaka@ubuntu:~/Documents/work$
もちろん行番号を表示しながら「less
」表示させることもできます.
rinsaka@ubuntu:~/Documents/work$ cat -n test1.txt | less ⏎
1 Hello Ubuntu
2 /home/rinsaka:
3 Documents
4 public_html
5
6 /home/rinsaka/Documents:
7 work
8
9 /home/rinsaka/Documents/work:
10 test1.txt
11
12 /home/rinsaka/public_html:
13 css
14 index.html
15
16 /home/rinsaka/public_html/css:
17 style.css
18 bin
19 bin.usr-is-merged
20 boot
21 cdrom
22 dev
23 etc
24 home
:
文字列の検索 (grep)
テキストファイル内から文字列を検索するには「grep
」コマンドを利用します.「test1.txt」ファイル内に「Hello」という文字列がある行だけを(行番号を付与して)出力します.
rinsaka@ubuntu:~/Documents/work$ cat -n test1.txt | grep Hello ⏎
1 Hello Ubuntu
rinsaka@ubuntu:~/Documents/work$
「grep
」の検索は大文字と小文字を区別します.したがって,「hello」で検索してもヒットしません.
rinsaka@ubuntu:~/Documents/work$ cat -n test1.txt | grep hello ⏎
rinsaka@ubuntu:~/Documents/work$
大文字・小文字の違いを無視して検索したい場合は,「-i
」オプションを付与します.すると「hello」でも検索できました.
rinsaka@ubuntu:~/Documents/work$ cat -n test1.txt | grep -i hello ⏎
1 Hello Ubuntu
rinsaka@ubuntu:~/Documents/work$
もちろんファイル全体を検索するので,ヒットした行がすべて表示されます.たとえば「home」で検索すると次のような結果になります.
rinsaka@ubuntu:~/Documents/work$ cat -n test1.txt | grep home ⏎
2 /home/rinsaka:
6 /home/rinsaka/Documents:
9 /home/rinsaka/Documents/work:
12 /home/rinsaka/public_html:
16 /home/rinsaka/public_html/css:
24 home
rinsaka@ubuntu:~/Documents/work$
なお,「grep
」は様々な場面で利用できる検索コマンドです.例えば「history
」コマンドの結果から検索するようなこともよくあることでしょう.
rinsaka@ubuntu:~$ history | grep pwd ⏎
1 pwd
4 man pwd
5 pwd --help
9 pwd
19 pwd
21 pwd
23 pwd
112 history | grep pwd
rinsaka@ubuntu:~$
行数の取得 (wc)
テキストファイルの行数などの情報を取得するには「wc
」コマンドを利用します.
rinsaka@ubuntu:~/Documents/work$ wc test1.txt ⏎
42 39 369 test1.txt
rinsaka@ubuntu:~/Documents/work$
「-l
」オプションを付けると,行数だけが表示されます.
rinsaka@ubuntu:~/Documents/work$ wc -l test1.txt ⏎
42 test1.txt
rinsaka@ubuntu:~/Documents/work$
「-w
」オプションを付けると,単語数だけが表示されます.
rinsaka@ubuntu:~/Documents/work$ wc -w test1.txt ⏎
39 test1.txt
rinsaka@ubuntu:~/Documents/work$
「-c
」オプションを付けるとファイルサイズ(バイト数)だけが表示されます.
rinsaka@ubuntu:~/Documents/work$ wc -c test1.txt ⏎
369 test1.txt
rinsaka@ubuntu:~/Documents/work$