February 18, 2009

Ubuntu (Linux) の基本的なコマンド

Linux の コマンド
>

Linux(Ubuntu) で端末を使います。(Linux を使っているので当たり前かもしれませんが)ここで、使用するコマンドを自分へのおさらいという意味で一度まとめてみました。フォルダ(ディレクトリ)の移動ができて、ファイルの一覧が表示できて、コピーができて、名前変更できて、ファイルの削除ができて、フォルダの作成ができて、アクセス権限がいじれる。ひとまずはそこまでのものを基本的なものとして括ってまとめました。

cd

基本的に cd 移動先フォルダ名 と入力すれば移動します。で相対パスも使えるので、cd .. と入力すれば、ひとつ上の階層のディレクトリに移動できます。なお、 cd とだけ入力するとホームディレクトリに移動します。

ls

ファイルの一覧が表示されます。

  • ls と入力するとファイルの一覧が表示されます。
  • ls -l と入力すると所有者やパーミッションなどの情報も表示されます。
  • ls -a と入力すると「.」で始まる隠しファイルも含めて表示されます。
  • ls -la と入力すると隠しファイルも含めた詳細情報が表示されます。
cp

ファイルをコピーします。cp コピー元 コピー先 と入力するだけです。ファイル名の後にディレクトリを指定すれば、そこにコピーされます。cp index.html home/hiroakit のように指定します。

cp ではディレクトリもコピーできます。その際は -r オプションを使います。cp -r 3dsmax /home/hiroakit と入力すると、3dsmax ディレクトリをまるごと/home/hiroakit ディレクトリの中にコピーします。ディレクトリの中にさらにディレクトリがある場合は、その構造は保ったままコピーされます。

なお、cp でのコピーは所有者がコピーしたユーザーのものになります。コピー後にchown を使い所有者を変更するか、もしくは -p オプションを使うと所有者を変更することなくコピーできます。

mv

ファイルやディレクトリを移動します。mv 移動元 移動先 と入力するだけです。mv index.html /home/hiroakit という風に入力します。

また、mv は名前変更もできます。mv index.html index.bak 入力すると、index.htmlの名前がindex.bakに変わります。

rm

ファイルを削除します。rm ファイル名 と入力します。このとき確認のメッセージが出てきますが、rm -f index.html のように -f オプションを追加すると確認なしでファイル削除が可能です。

rm ではディレクトリの削除もできます。 ただし rm public_html としただけではエラーが出ます。そのため rm -r public_html といった感じに -r オプションを追加します。そうすることでpublic_html 以下のすべてのファイルとディレクトリが削除されます。このときもファイルやディレクトリのひとつずつに対して確認が求められるので、それを避けたいのならば rm -rf public_html と -f オプションを追加します。

mkdir

ディレクトリを作成します。 mkdir ディレクトリ名 と入力します。 mkdir your なら your という名前のディレクトリが作成されます。作成したディレクトリの所有者はコマンドを実行したユーザーのものになりますので、必要に応じて chownコマンドで所有者を変更したり、chmodコマンドでパーミッションを変更します。

また、次のコマンドで親ディレクトリがなかった場合一気に作ることができます。
詳しくは UNIXコマンド(オプション)ガイド に載っています。

$mkdir -p test/test/test
chmod

ファイルやディレクトリのパーミッションを変更します。chmod パーミッション ファイル名 といったように入力します。パーミッションの変更となる場合としてcgi スクリプトのインストールが考えられます。cgi スクリプトは実行属性を付与しなければならないためです。たとえば、tachikoma.cgiというファイルの場合は chmod 755 tachikoma.cgi と指定します。パーミッションについては別途参照してください。

chown

ファイルやディレクトリの所有者を変更します。chown 所有者 ファイル名 です。たとえば、your ディレクトリの所有者を hiroakit に変えたいなら、chown hiroakit your とします。

find

ディレクトリ階層下のファイルを検索します。例えば、/home/user 以下で拡張子"txt"のファイルを検索したい場合は次のようにします。

find /home/user -name "*.txt"