基本的なコマンド集
masuda
- ここに載っているコマンドはすべてのUnix系OSで必ず実行できるわけではありません。多少OSによって仕様が変わっていることがあります(FedoraCore1にて動作確認済)。
- また、ここに載っているコマンドのoptionはすべてではありません。
ファイル操作
cat (option) [file]
cat ...conCATenate files and print on the standard output
ファイルの内容を閲覧します。
(option)
-n ...すべての行に番号を付けてファイルを閲覧します。
<使用例>
cat file1
→file1の内容を表示します。
cat file1 file2
→file1とfile2を連結して内容を表示します。
cp (option) [file1/dir1] [file2/dir2]
cp ...CoPy files and directories
ファイルやディレクトリのコピーします。
(option)
-r ...ディレクトリを再帰的にコピーします。
<使用例>
cp file1 dir2
→file1をdir2のディレクトリにコピーします。
cp file1 file2
→file1をfile2という名前でコピーします。
cp -r dir1 dir2
→dir1のディレクトリの内容をすべてdir2としてコピーします。
cp file* dir2
→複数のファイルのコピーをします。頭にfileがついたファイルをすべてdir2にコピーします。
mv (option) [file1/dir1] [file2/dir2]
mv ...MoVe (rename) files
ファイルやディレクトリの移動、またファイル名、ディレクトリ名の変更を行います。
<使用例>
mv file1 dir1
→file1をdir1に移動します。
mv file1 file2
→file1の名前をfile2に変更します。
rm (option) [file/dir]
rm ...ReMove files or directories
指定したファイル、ディレクトリを削除します。
(option)
-r ...ディレクトリ内を再帰的に削除します。
-f ...警告メッセージを表示しません。
-i ...警告メッセージを表示します。
※ 警告メッセージ:ファイルを削除していいかを問い合わせるメッセージ。
<使用例>
rm file
→fileを削除します。
rm -r dir
→dirの中身ごとすべて削除します。
rm -ri dir
→dirの中身を削除するときに各々のファイルについて警告メッセージを表示します。
find (option) [dir] [formula]
find ...search for files in a directory hierarchy
指定したdirをformulaの条件に従ってファイルを検索します。
[formula]
-group [グループ名] ...指定したグループ名のファイルを検索します。
-name [文字列] ...指定した文字列のファイル名を検索します。
-type [ファイル・タイプ] ...指定したファイル・タイプを検索します。
ファイル・タイプは、ディレクトリ:"d"、通常ファイル:"f"、シンボリックリンク:"l"
-user [ユーザー名] ...指定したユーザー名のファイルを検索します。
<使用例>
find /home -name "*.txt"
→/home以下で.txtのファイルを検索します。
find . -type d -user root
→現在のディレクトリ上のオーナーがrootのディレクトリをすべて検索します。
locate (option) [検索したいもの]
locate ...-> slocate - Security Enhanced version of the GNU Locate
システム中に存在するファイルをデータベース化した「ファイル名データベース」から検索することに より、高速に検索することができます。ただしファイル名データベースが更新された日付よりも後に作成されたファイルは見つけることができません。
<使用例>
locate ifconfig
→ifconfigのコマンドのある場所や、マニュアルなどが検索結果として出てきます。
touch (option) [file]
touch ...change file timestamps
指定したファイルのタイムスタンプを更新。ファイルが存在しない場合は空ファイルを作成します。
<使用例>
touch file1
→・file1が存在していれば、最終アクセス日時を現在の時刻に更新します。
・file1が存在していなければ、空ファイルとしてfile1を作成します。
ディレクトリ操作
ls (option) [dir/file]
ls ...LiSt directory contents
ファイルやディレクトリの情報を表示します。
(option)
-a ...すべてのファイルを表示します。
-l ...ファイルの詳細情報を表示します
(ファイル名、ファイルタイプ、パーミッション、ハードリンクの数、オーナー名、グループ名、ファイルサイズ、タイムスタンプ)。
-R ...サブディレクトリも再帰的に表示します。
-F ...ファイルタイプを表す記号をつけて表示します(ディレクトリ: / 実行可能ファイル : *)
<使用例>
ls -Fal
→現在のディレクトリのすべてのファイルの詳細を種類別記号付きで表示します。
ls -alR
→現在のディレクトリ及びサブディレクトリのすべてのファイルを詳細表示で再帰的に表示します。
mkdir (option) [dir]
mkdir ...MaKe DIRectories
ディレクトリdirを作成します。
(option)
-p ...同時にサブディレクトリも作成します。
-m ...同時にアクセス権も指定します。
<使用例>
mkdir file
→ディレクトリfileを作成します。
mkdir -p file1/file2
→file1/file2のディレクトリ構造を生成します。
mkdir -m 640 file
→アクセス権640でディレクトリfile2を作成します。
rmdir (option) [dir]
rmdir ...ReMove empty DIRectories
ディレクトリdirを削除します。
<使用例>
rmdir dir1
→dir1を削除します。
注:dir1内にファイルがあると削除できないので、すべて削除するときはrm -rfを使います。
pwd
pwd ...Print name of current/Working Directory
現在作業している場所を表示します。
<使用例>
pwd
→/home/user1...現在作業しているディレクトリを絶対パスで表示します。
cd [dir]
cd ...Change the current Directory to dir
作業ディレクトリをdirに移します。
<使用例>
cd /usr/src
→/usr/srcに移動します(絶対パスで指定できます)。
cd src/include
→src/includeに移動します(相対パスでも指定できます)。
cd
→ディレクトリを指定しないと、自分のHOMEディレクトリに戻ります(= [cd ~])。
ln (option) [リンク元] [リンク先ファイルorリンク先ファイルを作るディレクトリ]
ln ...make LiNks between files
ハードリンクを作成します。
(option)
-s ...シンボリックリンクを作成します。
<使用例>
ln file1 file1_hlink
→file1へのハードリンクをfile1_hlinkという名前で作成します。
ln -s file1 file_slink
→file1へのシンボリックリンクをfile_slinkという名前で作成します。
テキスト処理
more (option) [file]
more ...file perusal filter for crt viewing
テキストファイルを一画面単位で閲覧します。
(option)
-num ...スクリーンサイズ(行数)を指定します。numには数字を指定。
-閲覧中の操作方法-
[h],[?] moreの操作ヘルプを出します。
[SPACE] k行先に進めます。デフォルトは現在の画面行数(*1)。
[z] k行先に進めます。デフォルトは現在の画面行数。また、引き数が新たなデフォルトとなります。
[Enter] k行先に進めます。デフォルトは1。また、引き数が新たなデフォルトとなります。
[d],[^D] k行スクロールします。デフォルトは現在のスクロールサイズで11。また、引き数が新たなデフォルトとなります(*2)。
[q],[Q] 終了します。
[s] k行先にスキップします。デフォルトは1。
[f] k回画面をスクロールします。デフォルトは1。ファイルに対してのみ動作し、パイプに対しては動作しません。
[b],[^B] k回画面をバックスクロールします。デフォルトは1。
['] 検索を開始した位置に戻ります。
[=] 現在の行番号を表示します。
[/patern] 正規表現(pattern)にk回目に合致する文字列を検索します。デフォルトは1。
[n] /(patern)の検索を再度行います。
[v] 現在の行から先をviで編集します。
[^L] 画面を再描画します。
[:n] k個目のファイルに移動します。デフォルトは1。
[:p] k個前のファイルに移動します。デフォルトは1。
[:f] 現在のファイル名と行番号を表示します。
[.] 直前のコマンドを行います。
*1 k : 入力前に数値を入力することで行送り数kを設定できます。
*2 ^D : Ctrl + d を意味します。そのほかのアルファベットも同様です。
※ 上記の操作コマンドの[]は入力する必要はありません。
less (option) [file]
less ...opposite of more
moreの拡張コマンドで、ファイルの内容を自由に閲覧することができます。moreと異なるのは、Escキーを判別していることで、キーボードの矢印キーでページ移動などが行えます。
-閲覧中の操作方法-
[h],[H] lessの操作ヘルプを表示します。
[SPACE],[^V],[f],[^F] 前方に1ウインドウ分(k行)進む(*1)。
[z] SPACEとほぼ同様。違うのは行数kを指定するとkが新しいウインドウのサイズに なる部分です。
[Enter],[^N],[e],[^E],[j],[^J]前方に1行(k行)進みます。
[d],[^D] 前方に半画面(k行)進みます。また、引数が新たなデフォルトとなります。
[b],[^B],[ESC-v] 後方に1ウインドウ分(k行)戻ります。
[w] bとほぼ同様。違うのは行数kを指定するとkが新しいウインドウのサイズになる 部分です。
[y],[^Y],[^P],[k],[^K] 後方に1行(k行)戻ります。
[u],[^U] 後方に半画面(k行)戻ります。kを指定すると、その後のdコマンドとuコマンドの新しいデフォルトサイズになります。
[r],[^R],[^L] 画面を再度書き換えます。
[R] 画面を再描画しバッファされた入力は破棄します。ファイルを閲覧中にファイルが変更された場合に有効です。
[F] 前方にスクロールしファイルの終端に達しても読み続けます。閲覧中に大きくなり続けるファイルの末尾をモニターすることができます。
[g],[<],[ESC-<] ファイルの第一行目(k行目)へ移動します。
[G],[>],[ESC->] ファイルの末尾(k行目)へ移動します。
[/patern] 正規表現(pattern)にk回目に合致する前方の文字列を検索します。デフォルトは1。
[?patern] 上記と同様で、後方の文字列を検索します。
[n] 再度検索を前方に行います。
[N] 上記と同様で、再度検索を後方に行います。
[ESC-n] 複数のファイルがあるとき、ファイルを越えて直前の検索を前方に繰り返します。
[ESC-N] 上記の検索を後方に行います。
[ESC-u] 検索結果のハイライトのオンオフを切り替えます。
[:e file] 指定したfileを閲覧します。
[:n] (コマンドラインで与えられたファイルリストから)次のファイルを閲覧します(k指定の時はk番目のファイルを閲覧)。
[:p] 上記と同様で、前のファイルを閲覧します。
[:x] 上記と同様で、一番初めのファイルを閲覧します。
[:d] ファイルリストから現在のファイルを取り除きます。
[=],[^G],[:f] 閲覧中のファイルの、ファイル名・表示中の最終行の行番号・バイトオフセット・ファイルの長さ・ファイルの行数・表示されている最終行までのパーセント表示、を可能な限り表示します。
[q],[Q],[:q],[:Q],[ZZ] lessを終了します。
*1 k : 入力前に数値を入力することで行送り数kを設定できます。
*2 ^D : Ctrl + D を意味します。そのほかのアルファベットも同様です。
*3 ESC-v : Escを押してからvを押すことを意味します。そのほかのアルファベットも同様です。
※上記の操作コマンドの[]は入力する必要はありません。
grep (option) [file]
grep ...Global Regular Expression Print
ファイルの中の文字列を検索します。正規表現が使用可能。
(option)
-G ...検索に正規表現が使用できます。
-F ...固定文字列の検索ができます。
-i ...検索条件として、大文字小文字の区別をなくします。
-正規表現-
. 改行文字以外の任意の1文字。
* 直前の1文字の0回以上の繰り返しに一致。直前の文字は正規表現でもOK。
^ 行の先頭を表します。
$ 行の末尾を表します。
[] 括弧内の任意の文字に一致。ハイフン(-)で範囲を指定することもできます。括弧内の最初の文字を^すると意味が逆転します。
+ 直前の文字の1個以上の連続。
? 直前の文字の0または1文字に一致。
p1|p2 p1またはp2のいずれかに一致。
(pat) patをグループ化します。
\ 正規表現に使われる記号を普通の文字として扱います。
<使用例>
grep rat *.txt
→現在のディレクトリの.txtのファイルからratという文字を検索します。
パーミッション
chmod (option) [変更後のアクセス権] [file/dir]
chmod ...アクセス権を変更します。
--記述方法--
-ユーザー表記-
u オーナー
g グループ
o その他のユーザー
a すべてのアクセス権
※3bitずつ、オーナー、グループ、その他と鳴っている(最も左のbitは特殊表記)。
-変更方法-
+ 指定したアクセス権を付加します。
- 指定したアクセス権を削除します。
= 指定したアクセス権にします。
-表記-
r 読み込み権限
w 書き込み権限
x 実行権限
-数字表記-
0 ---
1 --x
2 -w-
3 -wx
4 r--
5 r-x
6 rw-
7 rwx
※2進数に直した3bitに当てはめる。
<使用例>
chmod 640 file
→ fileのアクセス権は、-rw-r----- fileとなります。
chmod ug+rwx file
→さらにfileのアクセス権は、-rwxrwx--- fileとなります。
chmod o=rx file
→さらにfileのアクセス権は、-rwxrwxr-x fileとなります。
chmod g-rwx file
→さらにfileのアクセス権は、-rwx---r-x fileとなります。
chown (option) [変更後の所有者(のユーザーID)] [file/dir]
chown ...ファイルやディレクトリの所有者を変更します。
(option)
-R ...ディレクトリの中身まで再帰的に変更します。
<使用例>
chown hogehoge file
→fileのオーナーをhogehogeに設定します。
chown -R hoge dir
→dirの中身のオーナーをすべてhogeに設定します。
chgrp (option) [変更後のグループ名] [file/dir]
chgrp ...ファイルやディレクトリのグループを変更します。
(option)
-R ...ディレクトリの中身を再帰的に変更します。
<使用例>
chgrp rat file
→fielのグループをratに設定します。
chgrp -R rat dir
→dirの中身のグループをすべてratに設定します。
ユーザー&グループ
useradd (option) [ユーザー名]
useradd ... ユーザーを追加します。
(option)
-d [dir] ...ホームディレクトリを指定します。
<使用例>
useradd rat1
→rat1というユーザーアカウントを作成し、ユーザーディレクトリを/home/[ユーザー名]に作成します。
useradd rat2 -d /root/
→rat2というユーザーカウントを作成し、ユーザーディレクトリを/root/[ユーザー名]に作成します。
userdel (option) [ユーザー名]
userdel ...ユーザーアカウントを削除します。
(option)
-r ...ユーザーアカウントを削除し、同時にユーザーディレクトリも削除します。
<使用例>
userdel rat1
→rat1というユーザーを削除します。
userdel -r rat1
→rat1ユーザーアカウント、並びにユーザーディレクトリも削除します。
passwd (option) [ユーザー名]
passwd ...カレントユーザーのパスワードを変更します(他人のパスワードを変えるができるのはスーパーユーザーだけです)。
<使用例>
passwd
→パスワード変更の手順を進めることにより変更できます。
groupadd (option) [グループ名]
groupadd ...新しいグループを追加します。
(option)
-g ...新しいグループを追加すると同時に、グループIDも指定できます。
<使用例>
groupadd rat
→デフォルトでは、/etc/groupファイルにratが追加されます。
groupdel [グループ名]
groupdel ...既存のグループを削除します。
<使用例>
groupdel rat
→グループratを削除します。
su (option) [ユーザー名]
su ...今の環境を引き継いだまま、ユーザーを切り替えます(ユーザー名を指定しないと、スーパーユーザーへの切り替えとなります)。
(option)
- ...今の環境を引き継がないでユーザーを切り替えます(ログインシェルを使用しての切り替えを行います)。
<使用例>
su -
→スーパーユーザーに切り替えます(パスワードの入力が必要)。
id (option) [ユーザー名]
id ...現在のユーザーやグループのIDを表示します。
<使用例>
id
→ユーザーID、グループIDなどが表示されます。
shutdown (option) [時間]
shutdown ...システムの終了、再起動をします。
(option)
-h ...システムの終了を行います。
-r ...システムの再起動を行います。
[時間]
now ...今すぐに動作を行います。
時刻 ...指定した時刻にその動作を行います。
+(分) ...指定時間後にその動作を行います。
<使用例>
shutdown -h now
→システムを終了します。
shutdown -r now
→システムを再起動します。
exit
exit ...現在のプロセスなどの終了(シェル上で動いているプロセスを終了させますが、他のプロセスが動いていないときに実行するとログアウトとなります)。
<使用例>
exit
→ログアウトします。
マニュアル
man (option) [command]
man ...コマンドの使用方法などのマニュアルを表示します。
(option)
-k ...すべてのマニュアルページからキーワードを検索します。
-セクション番号-
番号を指定することで、(存在する場合)そのセクションに合ったマニュアルを参照することができます。
1 ユーザーコマンド
2 システムコール
3 関数やライブラリルーチン
4 特殊ファイル、デバイスドライバ、ハードウェア
5 設定ファイルをファイル形式
6 ゲームとデモ
7 その他(文字セット、ファイルシステムタイプなど)
8 システム管理用コマンド
<使用例>
man vi
→viのマニュアルを表示します。
その他
type (option) [command]
type ...コマンドの型を表示します(型:エイリアス、シェルコマンド、関数、予約語)。
<使用例>
type rmdir
→rm is /bin/rm
type ls
→ls is aliased to 'ls --color=tty'
which (option) [command]
which ...コマンドを探し出してフルパスで表示します。エイリアスについても表示します(検索範囲はパスが通っているところのみ)。
<使用例>
which shutdown
→/usr/bin/which
who (option)
who ...ログインユーザーを表示します。
(option)
-m ...whoamiと入力するのと同様で、現在自分がログインしているユーザーを表示します。
-q ...ログインしているユーザーの人数と、そのログイン名のみを表示します。
<使用例>
whoami
→自分がログインしているユーザーを表示します。
alias (option) (登録するコマンド名='(コマンド名)')
alias ...コマンドの別名を登録します。
<使用例>
alias ls='ls -alF'
→以降、lsと打つだけで、 ls -alF が実行されるようになります。
unalias (option) (登録したコマンド名)
unalias ...aliasで登録したコマンドを削除します。
<使用例>
unalias ls
→上記aliasの項で登録した ls のaliasを削除します。
(command) > (file)
> ...出力のリダイレクト(commandの結果をファイルやデバイスに渡します)。
<使用例>
grep rat *.txt > rat_grep.txt
→grepの検索結果をrat_grep.txtに書き出します。
(command) < (file/device)
< ...入力のリダイレクト(プログラムやファイルに対する入力をファイルやデバイスから受け取ることができます)。
<使用例>
grep rat < new.log
→new.logからratという文字列を検索します。
(command1) | (command2)
| ...command1の出力結果をcommand2の入力として渡します。
<使用例>
grep rat *.txt | less
→grepの検索結果をlessを使用して閲覧します。