Selection for my Life

いま、僕にできること。

H25 Linux勉強会 vol 6 コマンド基礎

第6回 2013.07.19 linux勉強会 メモ1

WindowsとLinuxで、「今いるディレクトリ」の説明。


ls [オプション] [ファイルまたはディレクトリパス]

→ファイル情報の表示
 .で始まるファイル名は隠しファイルになりますよ。

オプション
-a
. で始まる隠しファイル等もすべて(All) 出力します。
-l
長(Long) 形式で出力します。
-t
最終更新時間(Time) によって、ソートをして出力します。
-r
逆順(Reverse) にソートをして出力します。

その他
ワイルドカード *
任意の文字 ?

# ls /etc/???.conf
→.confの前の文字が3文字のファイル名が表示される
# echo /etc/???.conf でも同じファイル名が表示される
# ls /etc/*.conf
→.conf で終わるファイル名が表示される

cd [ディレクトリ名]

→ディレクトリ移動
 Windowsでいうところのフォルダ移動

# cd /etc
上位ディレクトリへ移動する
# cd ..
/etcディレクトリのhosts.から始まるファイルを表示する
# cd /etc
# ls hosts.*

ドットファイルの表示

→.から始まる隠しファイルの表示

オプションの同時指定と順序

# ls -la
# ls -al
# ls -l -a
# ls -a -l

更新時間でソート

→ls -l した際のファイル・ディレクトリの更新時間でソートする

# ls -lt
更新時間が新しいのものが上に表示

# ls -ltr
更新時間が古いものが上に表示

cp [オプション] コピー元コピー先

ファイルを別名のファイルとしてコピー
ファイルをディレクトリにコピー

-i
処理を行なうときに確認をします。ファイルを上書きコピーするときなど、-i オプションを付け
ていると、コンピュータが確認のための問い合わせをしてきます。誤って上書きコピーすることを
防ぐために利用されます。
-r
ディレクトリをコピーします。cp コマンドは基本的にファイルをコピーする機能のみですが、-r
オプションを付けていると、ディレクトリの中にある全てのファイル・ディレクトリに対してコ
ピーを行なうことができます。
-p
元ファイルの情報を保存します。ファイルには所有者・属性・更新日時など、ファイルに関するさ
まざまな情報があります。cp コマンドでコピーをすると、新しいファイルはそれらが全て新しい
内容になってコピーされます。新しい内容を作成せず、古い情報を保持したままコピーを作成した
い場合、この-p オプションを付けます。
パーミッションやタイムスタンプを保持したままコピー)

# cp test.txt /tmp/
同じファイル名で/tmpの配下にコピーします

# cp test.txt /tmp/AAA.txt
AAAファイル名でtest.txtを/tmpの配下にコピーします

新しいファイルで上書き

→ -i オプションで確認するようにします。

#cp test.txt BBB.txt
何も表示せずに上書きします。

#cp -i test.txt BBB.txt
上書きするか確認が表示されます

フォルダの中身をコピーする

→ -r オプションで全部コピーする

#cp test /tmp
test はディレクトリ
(ディレクトリの中には、複数のファイルが存在している)

#cp -r test /tmp
ディレクトリの中身も全部コピーされます

ファイルの情報を引き継いでコピーする

→ -p オプションを使ってコピーするとファイルの更新時間を引き継ぎます

# cp -p test.txt /tmp/BBB.txt
ファイルの更新時間や、パーミッションをそのまま引き継ぎます。

mv 移動元ファイル移動先ファイル

→Windowsでいうところの「ファイルの切り取り」して、移動したいフォルダで
 「ファイルの貼り付け」をすること

オプション
-i
処理を行なうときに確認をします。ファイルを上書きするときなど、-i オプションを付けている
と、コンピュータが確認のための問い合わせをしてきます。誤って上書きされることを防ぐために
利用されます。
-f
強制的に処理を実行します。一部の処理では、mv コマンドが確認の問い合わせをします。その確
認を無視し、強制的に処理を実行するためのオプションが-f です。

# mv test.txt /tmp/
test.txtを/tmpディレクトリ内に移動します。
移動しているので、ファイルの更新時間等は変更されない

# mv BBB.txt /tmp/CCC.txt
BBB.txt を CCC.txtのファイル名で/tmpディレクトリへ移動する

→ファイル名を変更する場合、renameコマンドの代わりに、mvでもファイル名変更できる

rm ファイル名

オプション
-i
処理を行なうときの確認です。対象ファイルを本当に削除してよいか、確認のための問い合わせを
します。誤って削除することを防ぐために利用されます。
-f
強制的に処理を実行します。ファイルによっては、削除に確認を求められる場合がありますが、-f
オプションはその確認を無視して、強制的に処理を継続します。
-r
ディレクトリを対象にします。ディレクトリの中の、ファイルやディレクトリも削除します。

# rm CCC.txt
CCC.txtが削除されます。

# rm *.txt
.txtで終わるファイルをすべて消す
# rm ttt 
ttt ディレクトリはそのままrm できない
# rm -r ttt
  • r オプションでディレクトリの中身全部を削除することができる

pwd

→現在のディレクトリの表示


cd [ディレクトリ名]

→ディレクトリ移動
 Windowsでいうところのフォルダ移動

# cd /etc
上位ディレクトリへ移動する
# cd ..
/etcディレクトリのhosts.から始まるファイルを表示する
# cd /etc
# ls hosts.*
# cd
homeディレクトリに移動する

mkdir ディレクトリ名

→ディレクトリ作成

オプション
-p
指定されたディレクトリの上位ディレクトリも作成する

# mkdir -p TTT/T1
TTTディレクトを作成し、さらに、T1ディレクトリを中に作成する

rmdir ディレクトリ名

→ディレクトリを消す

オプション
-p
指定した階層までのディレクトリを一括で削除します。オプションを付けないでrmdir コマンドを
実行した場合は、最下層のディレクトリのみ削除します。ただしいずれの場合も、対象とするディ
レクトリ内は空でなければなりません。
(例)dict1/dict2 ディレクトリを一括で削除
rmdir -p dict1/dict2
rmdir の特徴は、「中が空であるときのみ」
ディレクトリ内にファイルやディレクトリが残っている場合は、rm -rf を使いませう。

削除したい一番下の階層までのディレクトリパスを指定して、 -p オプションを使用。
ディレクトリだけ削除されます。ファイルが存在している場合は、ディレクトリが削除されません。

カレントディレクトリ(.)

→今いるディレクトリのこと

親ディレクトリ(..)

→今いるディレクトリの上の階層

# cd ../../../
今いるディレクトリから3階層上のディレクトリに移動します

ホームディレクトリ(~)

→/home/ユーザー  ユーザーディレクトリ

# cd ~
チルダでホームディレクトリに移動します。
チルダはホームディレクトリを表します。

ルートディレクトリ(/)

→一番上の階層


絶対(パス) 指定と相対(パス)

絶対パス→ ルートディレクトリから指定する
相対パス→ 今いるディレクトリから見て指定する


cat ファイル名

→ファイルの内容を表示することができます。

オプション
-n
行番号を付加して表示します。

more ファイル名

→1ページづつ表示していくれる

more キー操作

スペース 次のページに進む
b 前の一画面に戻る
f 次の一画面に進む
/ 単語単語を検索します。n キーで検索結果をジャンプします
q ページャコマンドを終了(quit) します。

less ファイル名

→1ページづつ表示していくれる

less キー操作
スペース 次のページに進む
b 前の一画面に戻る
f 次の一画面に進む
↑ 前の行に進む
↓ 次の行に進む
/ 単語単語を検索します。n キーで検索結果をジャンプします
q ページャコマンドを終了(quit) します。

find パス-name ファイル名

→ファイルを探す

# find /home/ -name jjj.txt
homeディレクトリの配下で、jjj.txtファイルを検索し表示する

which コマンド名

→コマンドの場所を探す
 コマンドも1つのファイルなので、コマンドファイルの場所を表示する

echo $PATH

コマンド--help

→コマンドのヘルプが表示されるので、オプションが分からないときは表示

man コマンド

→コマンドのマニュアルが表示される


touch [オプション] ファイル名

→空ファイルを作成するときによく使用します。

オプション
-t ファイルの更新時刻を指定するオプションです。時間は[[CC]YY]MMDDhhmm[.SS] 形式([]
内は省略可)で指定します。これで、ファイルの最終更新時刻が変わったことが確認できます。

# touch -t 0312100900 test.txt 
test.txtを 2003年12月10日9:00 に設定される

head [オプション] ファイル名

オプション
-n 行 先頭から指定した行を標準出力します。
-c バイト 先頭から指定したバイト分を標準出力します。


tail [オプション] ファイル名

オプション
-n 行 末尾から指定した行を標準出力します。
-c バイト 末尾から指定したバイト分を標準出力します。

tail -f ファイル名

→リアルタイムでログファイルなどの変更を見ることが可能です。

sort [オプション] ファイル名

→並び替え
オプション
-r
逆順でソートする
-k n
n 列目のデータをソートする
-n
数値としてソートする

uniq ファイル名

→重複の消去

tr 文字列1 文字列2

→文字列の置換

diff [オプション] ファイル1 ファイル2

オプション
-c
context diff 形式で差分を出力します。
-u
unified diff 形式で差分を出力します。