どうせならまとめるかと思ってまとめてみました。
とりあえず今回はファイルの操作関連に関するコマンド。
次回以降に続きを書く予定。
予定は未定・・・。
- cat
- ファイルの中身を表示する。
オプション
-n 行番号を付加する
-b 行番号はつけるが空白行をカウントしない
書式
cat [オプション] ファイル名
例)fileAを行番号を付加した状態で表示する。
$ cat -n fileA - pwd
- カレントディレクトリの絶対パスを表示する
オプション
なし
書式
pwd
例)カレントディレクトリのパスを調べる。(/var/www/html以下にいた場合)
$ pwd
/var/www/html - cd
- カレントディレクトリを切り替える
オプション
なし
書式
cd 移動先のディレクトリパス(相対でも絶対でもOK)
例)現在のディレクトリから、/var/www/htmlに移動する。
$ cd /var/www/html - ls
- ディレクトリ内にあるファイルやディレクトリを表示する。
オプション
-a ドットファイルも含めて表示する
-F 分類記号を付加して表示する。「/」がディレクトリ、「@」がシンボリックリンク、「*」が実行可能ファイル
-l 最終更新日時やファイルやディレクトリのオーナー、パーミッションなどを表示する。
-t ファイルをアルファベット順のソートから最終更新日時でソートしたものを表示する
-R ディレクトリ内を再帰的に表示します。
-C 1行に複数のファイルやディレクトリを表示します。「-1」オプションと同時指定はできない
-1 1行に1つのエントリを表示します。
書式
ls [オプション] (ディレクトリ)
例)現在のディレクトリ内に存在するファイルを全て表示し、パーミッション等を調べる
$ ls -la - cp
- ファイルまたはディレクトリをコピーする。windowsでいうコピペができる。
オプション
-i 同名のファイルが存在する場合に確認のメッセージを表示する
-f ユーザーには確認せずに、全て上書きします
-r ディレクトリごとコピーします
-d シンボリックリンクとハードリンクをそのままコピーします
-p 日付やフラグなどのファイル情報をできるだけそのままコピーする
-a コピー元ファイルの構成と属性を可能な限り保持してコピーする。-dprと同義
-u 同名ファイルが存在する場合、コピー元のファイルがコピー先のファイルより新しい場合だけ上書きコピーする
書式
cp [オプション] コピー元のファイルもしくはディレクトリ コピー先のディレクトリ
例)/var/www/html/test.htmlをコピーして/var/www/html/test2.htmlを作成する
$ cp /var/www/html/test.html /var/www/html/test2.html - mv
- ファイルまたはディレクトリの移動をする。windowsでいうカット&ペーストやリネームができる。オプションはcpコマンドと同じものが多い。
オプション
-i 同名のファイルが存在する場合に確認のメッセージを表示する
-f ユーザーには確認せずに、全て上書きします
-v ファイルの移動先や変更後のファイル名を表示する
-b ファイルを上書きする場合はファイル名の末尾に「~」チルダがついたファイル名でバックアップを残す
-u 同名ファイルが存在する場合、コピー元のファイルがコピー先のファイルより新しい場合だけ上書きコピーする
書式
mv [オプション] 移動元ファイル 移動先ファイル
例)現在のディレクトリにあるtest.htmlをindex.htmlにリネームしたい
$ mv test.html index.html
例)現在のディレクトリにあるindex.htmlを/var/www/htmlの下に移動させたい
$ mv index.html /var/www/html/index.html - mkdir
- 新しくディレクトリを作成する。
複数のディレクトリを作成したり、引数に指定したディレクトリが存在しない場合、そのディレクトリを含めて作成することもできる。オプション
-m パーミッションを指定してディレクトリを作成する
-p 引数に指定したディレクトリが存在しない場合、途中のディレクトリも含めて作成する
書式
mkdir [オプション] ディレクトリ名
例)複数のディレクトリを一度に作成する場合
$ mkdir dir1 dir2 dir3
例)多階層に渡ってディレクトリを作成する場合(/var/www/htmlがあり、/var/www/html/sites/sitenameとディレクトリを作成したい場合)
$ mkdir -p /var/www/html/sites/sitename
例)/var/www/html以下にtestというディレクトリをパーミッション777で作成する
$ mkdir -m 777 /var/www/html/test - rmdir
- ディレクトリを削除する。
ただしこのコマンドは空のディレクトリのみ削除できる。
削除対象ディレクトリ内にファイルが存在した場合は、rmコマンドの「r」オプションを利用して削除する必要がある。オプション
-p 中間ディレクトリを含めて削除する
書式
rmdir [オプション] ディレクトリ名
例)現在のディレクトリ内にあるtestディレクトリを削除する
$ rmdir test - rm
- ファイルを削除する。
「r」オプションを利用することでrmdirコマンドと同様の処理が可能。オプション
-i 削除するかをユーザーに確認してから削除する
-f 削除するかをユーザーに確認しないで削除する
-r ディレクトリを削除する
書式
rm [オプション] ファイル名
例)現在のディレクトリにあるindex.htmlを削除する
$ rm index.html
例)testディレクトリ以下のファイルを全て削除する
$ rm -r test - touch
- ファイルの更新日時を変更する。
オプション
-c 引数に指定したファイルが存在しない場合、新規ファイルを作成しない
-m 最終更新日時を変更する
-r file 最終更新日時をfileの日時に合わせる
-t time 最終更新日時をtimeに変更する
書式
touch [オプション] ファイル名
例)index.htmlの最終更新日時を現時刻に変更する
$ touch index.html
例)最終更新日時を2010年7月13日23時59分にする
$ touch -t 201007132359 - whereis
- プログラムが存在するパスを調べる
似たようなコマンドでwhichがあるが、whichはコマンドのパスのみを表示します。オプション
-b プログラム(バイナリ)が存在するパスのみ表示する
-m オンラインマニュアルが存在するパスのみ表示する
-s ソースファイルディレクトリが存在するパスのみ表示する
-B path プログラム(バイナリ)検索に使うパスをpathに変更する
-M path オンラインマニュアル検索に使うパスをpathに変更する
-S path ソースファイルディレクトリ検索に使うパスをpathに変更します
-f -B,-M,-Sのオプションを使ってパス指定した場合には、パス指定の終了を表すために使う必要がある
書式
whereis [オプション] プログラム名
例)phpがどこにあるのか調べる
$ whereis php
php: /usr/bin/php /etc/php.d /etc/php.ini /usr/lib/php /usr/share/php /usr/share/man/man1/php.1.gz
例)phpのプログラムファイルが存在するパスだけ表示する
$ whereis -b php
php: /usr/bin/php /etc/php.d /etc/php.ini /usr/lib/php /usr/share/php