トップに戻ります
00-本サイトについて
00-01.サイト運用者
00-02.当サイトの運用環境
|
●09-B.Linux基本コマンド一覧
以下のコマンド郡はレンタルサーバーでも一般的に使用できると思われます。
●09-031.同名ファイルが存在したらバックアップを作成
移動先に同名ファイルが存在する場合,「-b」オプションを付けると同名ファイルのバックアップを作成する。バックアップはファイル名の最後にチルダ(~)が付く。
$ mv -b test1.txt to-dir/
●09-032.ファイルやディレクトリ名を変更
ファイル名やディレクトリ名を変更するには,「mv」を用いる。mvの後ろに変更前のファイル名(またはディレクトリ名)を指定し,次に変更後のファイル名(またはディレクトリ名)を指定する。ただし,複数のファイルやディレクトリの名前を1度に変更することはできない。また,変更後のファイル名は存在するディレクトリであってはならない。存在する場合は,そのディレクトリに移動することになる。
存在するディレクトリと同名に変更しようとする
temp-dir/ test-file
$ mv test-file temp-dir
$ ls
temp-dir/
$ ls temp-dir
test-file ←temp-dirディレクトリ内に移動してしまう
●09-033.ディレクトリを作成
$ mkdir hoge-dir
ディレクトリの作成には,「mkdir」を用いる。mkdirの後ろに作成するディレクトリ名を指定する。複数のディレクトリ名を指定すれば,複数のディレクトリを同時に作成できる。
●09-034.ディレクトリを作成し、アクセス権限を指定
「-m アクセス権限」オプションを付けると,指定したアクセス権限のディレクトリを作成できる。アクセス権限は,「パーミションを変更する」(cdmod)の「アクセス権限」で紹介した表記方法により指定する。上記の例の場合,所有者はフルアクセス,それ以外は書き込み禁止となる。
$ mkdir -m 755 hoge-dir
●09-035.ディレクトリを消す
ディレクトリの削除には,「rmdir」を用いる。rmdirの後ろに削除するディレクトリ名を指定する。また,ディレクトリ名を複数指定すれば,複数のディレクトリを同時に削除できる。ワイルドカードの指定も可能である。なお,rmdirで削除できるのは中身が空(ファイルを含んでいない)のディレクトリに限られる。ディレクトリが空でない場合は「rm
-rf」を用いることで,ディレクトリごとすべてを強制削除できる。この際,警告メッセージは表示されない。もし,確認しながら削除したいのなら「rm -ri」を用いればよい。
$ rmdir hoge-dir
$ rmdir -rf hoge-dir
●09-036.ディレクトリの使用容量を表紙
ディレクトリが使用している容量を知るには「du」コマンドを用いる。duの後ろに調べたいディレクトリを指定すると,そのディレクトリ以下のすべてのディレクトリの使用容量を表示する。左の数字が容量で,単位はKバイトである。また,ディレクトリを指定しないと,カレント・ディレクトリ以下のディレクトリが対象となる。
$ du target-dir
35 ./target-dir/docs
1974 ./target-dir/liboa
417 ./target-dir/test/.libs
981 ./target-dir/test
2990 ./target-dir
また,オプションに表示する容量の単位を指定できる。「-m」でMバイト,「-k」でKバイト,「-b」でバイト単位を表す。また,「-h」オプションを使用すると,適切な単位で表示してくれるようになる(「容量を適当な単位で表示する」を参照)。
●09-037.ディレクトリの総使用量を表紙
ディレクトリ内の各ディレクトリの情報を表示せず,指定したディレクトリの総容量だけを知りたい場合は「-s」オプションを付ける。
$ du -s target-dir
2990 ./target-dir
●09-038.ディレクトリごとコピー
任意のディレクトリ以下をすべてコピーしたい場合には「cp」コマンドに「-r」オプションを付けて用いる。「cp-r」の後ろにコピーしたいディレクトリ名を記述し,次にコピー先を記述する。もし,コピー先が存在するディレクトリである場合は,指定したディレクトリ以下にコピーされる。
$ cp -r from-dir to-dir
●09-039.できる限りディレクトリ構造を保持したままコピー
所有者やパーミッション,ディレクトリ構造といった情報をできる限り保持しながらコピーする。ディレクトリ内すべてをコピーする場合でも「-r」オプションを付ける必要はない。
$ cp -a target_dir copy_dir
●09-040.ディレクトリごと移動
ディレクトリごと移動するには,「mv」を用いる。mvの後ろに移動したい(移動元の)ディレクトリを指定し,次に移動先を指定する。移動したいディレクトリは複数指定できる。ワイルドカードも使える。なお,移動先は存在するディレクトリでなければならない。存在しないディレクトリを指定した場合は,単にディレクトリ名が変更される。存在しないディレクトリに移動したい場合は,mkdirにより移動先ディレクトリを作成してから,mvで移動する。
$ mkdir temp
$ mv work/document/ temp/
●09-041.移動中の状況を表示
「-v」オプションを付けると,ディレクトリの移動状況が逐次表示される。表示は「移動元->移動先」である。
$ mv -v work/doc-dir??/ temp/
work/doc-dir01 -> temp/doc-dir01
work/doc-dir02 -> temp/doc-dir02
work/doc-dir03 -> temp/doc-dir03
●09-042.ファイルやディレクトリのリンクを作成
ファイルやディレクトリのリンクを作成する。「ls -l」の出力結果では,リンクの属性は「l」である。
$ ln -s ~/doc/hoge ./
$ ls -l
lrwxrwxrwx 1 hoge hoge 15 Nov 01 00:00 hoge -> doc/hoge
●09-043.ファイルを分割
ファイルを2行ごとに分割して順次ファイルに書き出す。このとき出力ファイルは最後に指定した「out.」に2文字のアルファベットが付加されたファイル名となる。
$ split -l 2 test out
●09-044.512Kバイトづつのファイルに分割
大きなファイルを複数のファイルに分割する。メールで大きなファイルを転送する際などに役立つ。
$ split -d 512k big_file split_file
●09-045.分割したファイルを結合
splitで分割したファイルを結合してファイルに書き出す。
$ cat split_file.?? > big_file
●09-046.空のファイルを作成
空のファイルを作成するには「echo」を用いるとよい。この例では,「-n」オプションを付けることより改行コードを書き込まないようにしている。また,ランダムなファイル名を付けた空ファイルを作成したい場合は,「mktemp」コマンドを用いるとよい。
$ echo -n > empty-file
●09-047.所有者を変更
ファイルやディレクトリの所有者変更は「chown」で行う。ただし,ルート権限で実施する必要がある。登録されているユーザー名は,/etc/passwdファイルを参照することによりで一覧できる。ファイルやディレクトリの現在の所有者を調べたいときは「ls
-l」を使用する。
以下はレンタルサーバーでは管理権限が必要です。
# chown hoge-user target_file
●09-048.ファイルやディレクトリの所有者とグループを同時変更
「chown」で所有者とグループを同時に変更できる。「所有者:グループ」の順に指定する。ただし,ルート権限が必要である。
# chowm hoge-user:hoge-grp target_file
このコマンドを使用するにはレンタルサーバーで管理権限があるかを確認する必要があります。
●09-049.リンク先のオーナーを変更
「-h」オプションを付けると,シンボリック・リンクの元ファイルの所有者を変更できる。ただし,ルート権限が必要である。
# chowm -h hoge-user target_file
レンタルサーバー、管理権限が必要です。
●09-050.グループを変更
ファイルやディレクトリのグループの変更は「chgrp」で行う。chgrpの後ろに,変更したいグループ名,変更するファイル(またはディレクトリ)の順に記述する。
変更するファイルやディレクトリは,基本的に当人が所有するものでなければならない。また,変更するグループは,その所有者が所属しているグループでなければならない。現在所属しているグループは「groups」コマンドで調べられる。
なお,ルート権限で実行した場合は,すべてのファイルやディレクトリのグループを,登録されているグループに自在に変更できる。
$ chgrp hoge-grp target_file
●09-051.指定したディレクトリ以下のすべてのファイルとディレクトリのグループを変更
ディレクトリ内のすべてのファイルやディレクトリのグループを一括して変更したい場合には,「-R」オプションを付ける。
$ chgrp -R hoge-grp target_dir
●09-052.パーミッションを変更
ファイルやディレクトリのアクセス権限を指定する。これによりファイルやディレクトリを使用できるユーザーを制限できる。
chmod a+w target_file すべてのユーザーが書き込み可能にする
chmod a+x target_file すべてのユーザーが実行可能にする
chmod 777 target_file すべてのユーザーにすべてのアクセス権を与える
chmod 755 target_file すべてのユーザーが実行できるが,所有者以外は書き込めない
chmod 644 target_file すべてのユーザーが読み込み可能だが,書き込みは所有者のみ
chmod a- w,a- x target_fiie 読み込み専用ファイル
chmod u+s target_file セット・ユーザーIDを付加する。他のユーザーが実行する際,所有者の権限で実行する
chmod g+s target_file セット・グループIDを付加する。他のユーザーが実行する際,グループの権限で実行する
chmod 700 target_dir プライベートなディレクトリ
chmod 755 target_dir 公開ディレクトリ。ただし所有者以外の書き込みは不可
chmod 777 target_dir フリーなディレクトリ
chmod 1777 target_dir スティッキ・ビットを付加したディレクトリ。ディレクトリ内のファイルは所有者のみ削除,ファイル名変更を行える
chmod 000 target_file すべてのアクセスを無効にする
●09-053.指定したディレクトリを個人用に
指定したディレクトリ以下を所有者以外はアクセスできないようにする。
$ chmod -R g=,o= target_dir
●09-054.ファイルやディレクトリを探す
ディレクトリやファイルがどこにあるのかを探すには「find」を用いる。findの後ろに検索対象ディレクトリ,探すファイル(あるいはディレクトリ)の条件となる判別式の順に指定する。
$ find / -name find-file
findは,指定したディレクトリ以下のすべてのパスを検索対象とするため,検索対象のファイル数が膨大な場合には検索に時間がかかってしまう。そこで,高速に検索ができるように開発されたのが「locate」である。
$ locate find-file
ただし,locateを使うには「updatedb」によりファイル・データベースを定期的に更新しておく必要がある。updatedbの実行にはルート権限が必要である。普通は,crontabを用いて定期的にupdatedbを実行するようにする(多くのディストリビューションでは設定済み)。
●09-055.ホーム・ディレクトリ以下の100Kバイト以上のファイルの詳細情報を表示
判別式に「-size」を用い,その後にサイズを指定する。サイズの前に"+"を付けると指定サイズ以上のファイルを,"-"だと指定サイズ以下のファイルを検索する。また単位は,cがバイト,kがKバイトを表す。
最後の-lsは結果を「ls -dils」で表示する。
$ find ~/ -size +100k -ls
●09-056.すべてのユーザーが書き込み可能なファイルを探す
カレント・ディレクトリ以下のすべてのユーザーに実行権限があるファイルを探す。このとき「-typef」によりファイルのみを対象としている。また,「-prem」の後ろにアクセス権限を指定することにより,それに合致したファイルを探してくれる。アクセス権限は,コラムの「アクセス権限」で紹介した表記方法により指定する。
$ find ./ -perm -a+w -type f
●09-057.現在より3日前までに修正されたファイルをresult
「-mtime」判別式により,現在から指定した日数だけさかのぼった日にちの間に修正されたファイルを検索する。最後の「-fprint result」は,resultファイルに書き出すための指定。
$ find ~/ -mtime 3 -fprint result
●09-058.チルダ(~)ファイルを削除
最後にチルダ(~)が付いているファイルはバックアップ・ファイルである。このコマンドにより,ホーム・ディレクトリ以下のディレクトリ内のすべてのチルダ・ファイルを削除できる。
最後の「-exec rm {} \;」は検索されたファイルを削除するという意味である。
$ find ~/ -name *~ -exec rm {} \;
●09-059.空のファイルやディレクトリを削除
指定したディレクトリ以下の空(0バイト)のファイルや,中に何も存在しないディレクトリを探し出して削除する。xargsは検索結果のファイル一覧を作成し,「rm
-rf」に受け渡している。
$ find ./ -empty | xargs rm -rf
●09-060.グループがhoge-grpであるファイルを他のユーザーへのアクセス禁止
ホーム・ディレクトリ以下のファイルやディレクトリ,シンボリック・リンクについて,グループが「hoge-grp」であるものに対し所有者とグループ・ユーザーだけが使用できるようにする。ファイルのみを対象にするには「-type
f」判別式を追加する。
$ find ~/ -group hoge-grp | xargs chmod o=
戻る
|
−− 弊社メインサイト −−
ホームページ製作、システム開発はMSweb - 大阪
ホームページ製作・作成、システム開発、サーバー構築・保守にはMSwebをご利用下さい
携帯サイト 
−− 弊社姉妹サイト −−
ホームページ製作 発注企業に理解して欲しい内容
ホームページ発注企業、製作会社向けの内容です。
−− 弊社姉妹サイト −−
WEBシステム開発|PHPとPostgreSQLの開発例
入門者用のPHPとPostgreSQLを使ったWEBシステムの開発演習です。
−− 弊社姉妹サイト −−
ホームページ製作 大阪 | 製作手順の紹介−MSweb
ホームページ製作の手順をご紹介しています、デザイン、HTML、スタイルシートなどについて記載しています。
オープンソース・サンプル
MSweb OpenPNE 大阪
オープンソースのSNSです。ご興味があり使用されたい方は、
ID「msweb@msweb.biz」、パスワード「gua8hkj3」で管理ページにログインできます。
管理ページ
オープンソース・サンプル
MSweb ブログ
オープンソースのブログです。ご興味があり使用されたい方は、
ID「admin」、パスワード「bd0e86」で管理ページにログインできます。
管理ページ
オープンソース・サンプル
XOOPS
代表的なCMSのXOOPSです。ご興味があり使用されたい方は、
ユーザ名「msweb」、パスワード「as4g3mz」で管理者でログインできます。
オープンソース・サンプル
EC|CUBE(メイン・ページ)
EC|CUBE(管理ページ)
オープンソースの通販システムです。ご興味があり使用されたい方は、
ID「msweb」、パスワード「fd4upd2」で管理ページにログインできます。
オープンソース・サンプル
Joomla(メイン・ページ)
Joomla(管理ページ)
オープンソースのCMSです。ご興味があり使用されたい方は、
ID「admin」、パスワード「A2gT6B7F」で管理ページにログインできます。
▼ オープンソース・サンプル
SquirrelMail
オープンソースのWEBメールのシステムです、OP25Bの影響を受けません。
▼ オープンソース・サンプル
Mailman
Mailman(管理ページ)
オープンソースの電子メールでの討論やメルマガの配送リストを管理するためのシステムです。
サンプルのため投稿はできません。
|