Linux Manual

コマンド集

〜はじめにお読みください〜
cat 【テキスト・ファイルの内容を閲覧する】
cc 【ソースファイルをコンパイルする】
cd 【ディレクトリを移動する】
chmod 【ファイルやディレクトリへのアクセス権限を変更する】
cp 【ファイルをコピーする】
emacs 【テキストエディタEmacsを起動する】
find 【ファイルやディレクトリを検索する】
grep 【文字列を検索する】
head 【ファイルの先頭部分を表示する】
less 【ファイルの内容を1ページずつ表示する】
lpr 【ファイルを印刷する】
ls 【ファイルやディレクトリの情報を表示する】
mkdir 【ディレクトリを作成する】
mv 【ファイルやディレクトリを移動する・名前を変更する】
nkf 【文字コードを変換する】
pwd 【現在の場所を確認する】
rm 【ファイルやディレクトリを削除する】
rmdir 【ディレクトリを削除する】
sort 【テキストファイルの内容を並び替える】
tail 【ファイル内の最後だけ表示する】
vi 【ファイルの中身を編集する】

はじめに

Linuxの基本操作コマンド集です。上記の一覧の中から、知りたいコマンドの名前をクリックしてください。 ここにあるものがLinuxコマンドの全てはありませんのでご注意ください。
コンソールは数種類搭載されていますので、自分が使いやすいものを使ってみてください。
コマンド、操作方法はほぼどれも同じです。

コマンド内で用いられる記号の中で、「"」や「%」などの記号表記があった場合は、「Shift」を押しながら「2」や「5」を押して記号を入力してください。
また、「@」や「\」など、「Shift」を押さなくてもいい記号はそのまま入力してください。
なお、「$」は、コマンド入力画面で既に表示されている文字なので、「$」の続きから入力することを意味しています。

cat

【テキスト・ファイルの内容を閲覧する】

指定したファイルの内容を画面に出力(標準出力)します。
また、ファイルを複数指定した時は、ファイルを連結することができます。

<使用例>
$cat file1
→file1の内容が画面上に表示される。
$cat file1 file2 > file3
→file1とfile2の内容を連結してfile3に出力する。

cc

【ソースファイルをコンパイルする】

C言語で記述したソースプログラムを機械語に翻訳することをコンパイルといいます。
コンパイルを実行して初めて作成したプログラムが作動します。
コマンドを実行する時コンパイル後のファイル名を入力しなければ a.out というファイルができます。
プログラムを実際作動させるときのは ./【コンパイルしたファイル名】 と入力すると実行されます。

<使用例>
$cc file1.c
→file1.c をコンパイルし、a.out というファイルを作成。
$./a.out
→a.out を実行する。
$cc -o file2.o file1.c
→file1.c をコンパイルし、file2.o というファイルを作成。

cd

【ディレクトリを移動する】

指定したディレクトリに移動します。
cdコマンドのあとにディレクトリの指定がない場合はhomeディレクトリに移動します。

<使用例>
$cd dir1
→dir1ディレクトリに移動します。
$cd ../
→現在いるディレクトリのひとつ上の階層のディレクトリに移動します。

chmod

【ファイルやディレクトリへのアクセス権限を変更する】

ファイルやディレクトリのアクセス権限を変更します。
ファイルの所有者や他のユーザに対して、読み込み、書き込み、実行権限を与えます。
間違って実行してしまうとプライバシーの漏洩や 自分がファイルにアクセスできないなどのトラブルが起きたりします。

ファイルのアクセス権限情報を表示するには

$ls -l というコマンドでディレクトリ内にある ディレクトリやファイルのアクセス権限を表示することができます。 ファイルの種類、アクセス権限、リンク・ディレクトリ数、所有者名、 グループ名、ファイルサイズ、最終更新時間、ファイル名の順に表示されます。

<使用例>
$ls -l
合計 24
drwx------ 3 user ryukoku 1024 6月 20 15:12 dir1/
drwx------ 3 user ryukoku 1024 7月 10 9:40 dir2/
-rw-r--r-- 1 user ryukoku 47 11月 2 16:05 file1.txt

先頭部の drwxr-xr-x 等と書かれている個所がアクセス権限を表している部分です。
drwxr-xr-x はdを除いて左から3つずつ区切って読みます。
順番にファイル所有者(usr)、ファイル所有グループ(group)、それ以外のユーザー(other)の権限を示します。 一番前の d は種類を表しており、d はディレクトリ、- だとファイルを表します。

rwx にはそれぞれ意味があり、rwxの順に/読み込み/書き込み/実行可能です。
例の drwxr-xr-x の意味は、ログインしているユーザーはそのファイルに対して 読み込み、書き込み、実行権限があり、ファイル所有グループと そのほかのユーザーには読み込みと実行権限があるということになります。

<使用例>
$chmod 666 file1
→file1の属性を666(user/group/otherに読み込み、書き込みの許可をする)に変更
   数字は3桁の8進数を入力します。

数字と権限の対応表
0 --- 権限なし
1 --x 実行のみ権限あり
2 -w- 書き込みのみ権限あり
3 -wx 書き込みと実行のみ権限あり
4 r-- 読み込みのみ権限あり
5 r-x 読み込みと実行のみ権限あり
6 rw- 読み込みと書き込みのみ権限あり
7 rwx すべての権限あり

$chmod u+w file1
→file1の現在の属性にuserに書き込みを許可する属性を追加する。
$chmod --reference=file2 file1
→file1の属性をfile2の属性と同じにする。

cp

【ファイルをコピーする】

既存のファイルやディレクトリをコピーします。

<使用例>
$cp file1 file2
→file1ファイルをfile2という別名ファイルにしてコピーする。
$cp file1 ../dir2/file2
→file1ファイルを1つ上の階層のdir2ディレクトリの中に
   file2という別名ファイルにしてコピーする。
$cp -R dir1 dir2
→dir1ディレクトリをdir2という別名ディレクトリにしてコピーする
   dir1ディレクトリの中身もすべてコピーされます。

emacs

【テキストエディタEmacsを起動する】

Linuxにおけるテキストエディタ Emacs を起動します。
Emacsを使うとファイルを編集することができます。

詳しい使い方は Emacs マニュアル へどうぞ。

find

【ファイルやディレクトリを検索する】

名前や所有者を指定してファイルやディレクトリを検索します。
オプションを付けることで様々な検索ができます。

<使用例>
$find /home/kadai/report -name rep.dat
report ディレクトリの中から rep.dat という名前のファイルを検索する。
   -name は検索対象が名前であることを宣言するオプションです。
$find /home -user ryukoku
home ディレクトリ以下の ryukokuが所有者している。 ファイルをすべて検索する。
   -user は検索対象が所有者であることを宣言するオプションです。
$find /home -user ryukoku -name test -type f
home ディレクトリ以下の ryukokuが所有者している ファイルで
   名前が test というファイルを検索する。
   -type f は検索対象をファイルのみにするオプションです。
   -type d は検索対象をディレクトリのみにするオプションです。

grep

【文字列を検索する】

ファイル中の文字列を検索します。
オプションを付けることで検索結果を変えることができます。

<使用例>
$grep "Hello" file1
→file1 ファイルから Hello という文字列を検索する。
$grep -ci "Bye" file2
→file2 ファイルから Bye がある行数を表示する。

head

【ファイルの先頭部分を表示する】

ファイルの先頭から指定した行数分だけ表示します。
ファイルの末尾から指定した行数分だけ表示するには tail コマンド を参照。

<使用例>
$head file1
→file1 ファイルの中身を先頭から10行表示する。
    オプションがない場合は10行表示です。
$head -n 15 file2
→file2 ファイルの中身を先頭から15行表示する。

less

【ファイルの内容を1ページずつ表示する】

ファイルの内容をページ単位で表示し自由に表示できます。
cat コマンドとは違い less コマンドは表示中に様々な操作ができます。

<less で表示中の操作コマンド>
コマンド 動作内容
e (もしくは j ) 1行進む
y (もしくは k ) 1行戻る
/ 【検索文字】 入力した文字を下検索し、そこへ移動
? 【検索文字】 入力した文字を上検索し、そこへ移動
g ファイルの先頭へ移動
G ファイルの末尾へ移動
q (もしくは Q ) 終了する

<使用例>
$less file1
→・・・<以下 file1 ファイル内容の表示>

lpr

【ファイルを印刷する】

指定したファイルを印刷します。
詳しくは Linuxの印刷方法 をご覧ください。

<使用例>
$lpr file1
→file1 ファイルの内容を印刷します。

ls

【ファイルやディレクトリの情報を表示する】

現在ユーザーが作業しているディレクトリ内のファイル全てを表示します。
オプションと併用することでファイルの名前だけでなく、個々のファイルの詳細情報まで追記されます。
ls は最もよく使うコマンドといってもいいので
ls のオプションと一緒に使えるようにしておくと便利です。

ls コマンドのオプション一覧
-a 先頭にドットがあるファイルも含めて表示
-k ファイルサイズをキロバイト(KB)単位で表示
-l ファイルの詳細を表示
-o ファイルの種類別に色を付ける
-r 逆順に表示

<使用例>
$ls
dir1 dir2 dir3 file1.txt command.txt …
→現在アクセスしているディレクトリ内のファイルがすべて表示される。

$ls -l

total 251
drwxr-xr-x 8 user ryukoku 1024 Nov 16 19:04 .
drwxr-xr-x 6 user ryukoku 1024 Nov 13 23:57 ..
-rw-r--r-- 1 user ryukoku 1423 Nov 13 23:57 .Xdefaults
-rw-r--r-- 1 user ryukoku 124 Nov 13 23:57 .bashrc
lrwxrwxrwx 1 user ryukoku 15 Nov 16 23:11 bin -> /usr/local/bin/
drwx------ 2 user ryukoku 1024 Nov 14 00:03 nsmail
drwxr-xr-x 5 user ryukoku 1024 Nov 16 02:40 public_html
-rw-rw-r-- 1 user ryukoku 30 Nov 16 03:54 tes.dat
    ・
    ・
    ・

→ファイルの名前だけでなく、ファイルの詳細情報まで表示される。
ファイルの種類、アクセス権限、リンク・ディレクトリ数、所有者名、
グループ名、ファイルサイズ、最終更新時間、ファイル名の順に表示されます。

mkdir

【ディレクトリを作成する】

ディレクトリを作成します。

<使用例>
$mkdir report
report というディレクトリが作成されます。

mv

【ファイルやディレクトリを移動する・名前を変更する】

ファイルやディレクトリを移動させるコマンドです。
またファイル名・ディレクトリ名を変更することもできます。
cp コマンドとの違い、mv は移動後元のファイルを残しません。

<使用例>
$mv file1 file2
→file1 ファイルを file2 という名前に書き換えます。
$mv file1 ../file2
→file1 ファイルをひとつ上の階層のディレクトリに file2 という名前で移動させます。

nkf

【文字コードを変換する】

文字コードの変換を行い、標準出力として表示されます。
オプションに何も指定しない場合は、JISコードに変換されます。

文字コード変換オプションまとめ
文字コード変換オプション
-e EUCコード変換
-s Shift_JISコード変換
-j JISコード変換
出力オプション
-b 出力の際バッファリング(注)を行う
-u 出力の際バッファリングを行わない
-T テキストモードで出力
仮定して処理するオプション
-J JIS(ISO-2022-JP)として仮定して処理
-E 日本語EUCとして仮定して処理
-S シフトJISと仮定して処理
-X X0201仮名があるもののみシフトJISと仮定して処理
-B 壊れた(ESCが欠損した)JISと仮定して処理

<使用例>
$nkf -j file1.txt
→file1.txt の文字コードを JIS コードに変換して画面に表示。

なお、ファイルとして保存するにはリダイレクションを利用します。
<使用例>
$nkf -s file1 > file2
→file1.txt を Shift_JIS コードに変換し、file2.txt というファイルに保存。

注:バッファリングとは

データの更新処理の性能アップのためにユーザーが更新処理をしたときにデータベースシステムが
実際のテーブルが置かれている物理ディスクには書き込まず、ユーザーには書いたことにしておいて、後で本当に書き込むこと。

pwd

【現在の場所を確認する】

現在自分がどのディレクトリにアクセスしているかが確認できます。

<使用例>
$ pwd
/home/kadai/report
→現在 /kadai/report ディレクトリにアクセスしています。

rm

【ファイルやディレクトリを削除する】

指定したファイルやディレクトリを削除します。
rmdir コマンドと違い、rm コマンドはディレクトリの 中身を丸ごと削除するので注意が必要です。

<使用例>
$rm file1
→file1というファイルを削除する。
$rm file1 file2 file3 …
→file1、file2、file3を一気に削除する。
$rm -r kadai/

rm: descend into directory `kadai'? y ←削除確認が表示される。(yes/no)
rm: remove `kadai/file1'? y
rm: remove `tmpdir/file2'? y
rm: remove `tmpdir/file3'? y
rm: remove directory `kadai'? y

→ y(yesのy) を押すと削除されます。

rmdir

【ディレクトリを削除する】

ディレクトリを削除します。
ただし、空のディレクトリしか削除できません。
中に入っているファイルごと削除したい場合は rm コマンド をご覧ください。

<使用例>
$rmdir kadai
→ kadai ディレクトリを削除。

sort

【テキストファイルの内容を並び替える】

テキストファイルの内容を行単位で昇順に並び替えます。

<使用例>
$sort address1
→address1 ファイルの内容を昇順に並び替える。
$sort -r address2
→address2 ファイルの内容を降順に並び替える。
   -r は降順で並び替えをするオプションです。

tail

【ファイル内の最後だけ表示する】

ファイルの末尾から指定した行数分だけ表示します。
ファイルの先頭から指定した行数分だけ表示するには head コマンド を参照。

<使用例>
$tail file1
→file1 ファイルの中身を末尾から10行表示する。
    オプションがない場合は10行表示です。
$tail -n 15 file2
→file2 ファイルの中身を末尾から15行表示する。

vi

【ファイルの中身を編集する】

ファイルの中身を編集します。
Linuxにおけるテキストエディタです。
emacsと比べてviで作成したファイルは軽くなります。

詳しい使い方は vi マニュアル へどうぞ。