Linuxでよく使用されるコマンドの一覧です。
コマンド | 用途 | コマンド入力例 |
---|---|---|
alias | 別名を設定 | ls laと同様の動作をするコマンドlを作成する。 $ alias | 'ls -la' |
cat | ファイル内容を表示 | Makefileの内容を画面単位に表示 $ cat Makefile | more |
/proc/versionを見て、カーネルバージョンの確認する $ cat /proc/version |
||
cc | コンパイル | ファイルgets.cをコンパイルして結果をgetsに入れる。コンパイルエラーはerrfileに入れる。 $ cc -o gets gets.c >& errfile |
cd | カレントディレクトリの移動 | ホームディレクトへ移動 $ cd |
一つ上のディレクトリへ移動 $ cd .. |
||
chmod | パーミッションの変更 | test.shに読み込み権限と実行権限を付与する $ chmod +rx test.sh |
chown | 所有者の変更 | file1の所有者をhoge-userに変更する $ chown hoge-user file1 |
cp | ファイルをコピー | pamのホームディレクトリにあるファイルreportを自分のホームディレクトリへコピー $ cp ~pam/report ~ |
ディレクトリ/usr/includeから、ファイルstdio.h,tty.h,math.hだけをディレクトリhdrfilesへコピー $ cp /usr/include/{stdio.h,tty.h,math.h} hdrfiles |
||
Makefile_bkupが既に存在していても確認せずに上書きする $ cp -f Makefile Makefile_bkup |
||
Makefile_bkupが存在する場合、上書きするか確認する $ cp -i Makefile Makefile_bkup |
||
date | システム時刻を表示 | システム日付情報をstatisファイルへ追記する(ファイルが無ければ作成する) $ date >> statis |
時刻を2014年3月11日15時00分に設定する $ date -s "03/11 15:00 2014" |
||
diff | ファイル比較 | 大文字小文字を区別しないで、test10.txtとtest11.txtファイルを比較する $ -i test10.txt test11.txt |
du | ディスクの利用状況を調べる | カレントディレクトリ以下の全てのサブディレクトリについてディスク利用状況を調べる $ du > storage_info |
echo | 文字列、環境変数、シェル変数などを表示 | 変数titleの内容をファイルdisk.sumに保存 $ echo $title > disk.sum |
変数mlの中にある単語(引数)の数を表示 $ echo $#ml |
||
変数mlに値がセットされていれば真(1)を、セットされていなければ偽(0)を返す $ echo $?ml |
||
使用中のシェルの名称を確認する $ echo $SHELL |
||
find | ファイルやディレクトリを検索 | ルートディレクトリ下からviを検索して表示する $ find / -name vi -print |
ルートディレクトリ下からviを検索して表示 $ find / -name vi -print |
||
「/root」ディレクトリから.txtファイルを検索して表示 $ find /root -name "*.txt" -print |
||
「/root」ディレクトリから30日以上前に更新されたtxt形式のファイルを検索して表示 $ find /root -name "*.txt" -atime +30 -print |
||
「/home」ディレクトリからuser1が作成したtxt形式のファイルを検索して表示 $ find /home -name "*.txt" file1 -user user1 |
||
カレントディレクトリ以下に存在するcoreというファイルをすべて削除 $ find . -name core -print -exec rm {} \; |
||
「/」ディレクトリからファイルサイズが10M以上のファイルを検索して表示 $ find / -size +10000k -print |
||
grep | 指定した文字列を含む行を検索 | chで始まり、.docで終わる全てのファイルから、パターンdict[1-4]を検索 $ grep "dict[1-4]" ch*.doc |
abcという文字列を含む行を拡張子が.txtのファイルの中から検索 $ grep abc *.txt |
||
aという文字を含む行の検索結果から、さらにlを含む行を検索 $ grep a *.txt | grep l |
||
*.txtの中からabcという文字列だけの行を表示 $ grep '^abc$' *.txt |
||
*.txtの中からabcという文字列を含む行数を表示 ※結果はファイル単位に該当行数が表示 $ grep -c abc *.txt |
||
*.txtの中からaかAの文字を含む行を表示 $ grep -i a *.txt |
||
*.txtの中からaという文字を含む行を行番号を付けて表示 $ grep -n a *.txt |
||
*.txtの中から英字を含まない行を表示 $ grep -v [a-zA-Z] *.txt |
||
*.txtの中から英字を含む行を持つファイル名のみ表示 $ grep -l [a-zA-Z] *.txt |
||
*.txtの中からメタ文字の文字列 \^$.[]* を含む行を表示 $ grep '\\\^\$\.\[\]\*' *.txt |
||
fruits.txtの中から"aomori"か"yamanashi"を含む行を表示する ※grep "aomori\|yamanashi" fruits.txt でも同じ意味 $ grep -e "aomori" -e "yamanashi" fruits.txt |
||
/tmpディレクトリ以下にあるファイルから"Linux"を含む行を表示 $ grep -r "Linux" /tmp/* |
||
history | 履歴リストの表示 | 最近入力したコマンドから順に5つリストする $ history -r 5 |
hwclock | ハードウェアクロック操作 | ハードウェアクロックをシステムクロックに合わせる $ hwclock --systohc |
ls | ファイルリストを表示 | ファイルの詳細を表示 $ ls -l ※llでも同じ |
隠しファイルを含めて表示 $ ls -a |
||
$ ls -la |
||
make | プログラムのコンパイルを自動化する | ※Makefileを事前に作成する必要があります $ make |
“Makefile”の代わりに別のファイル名を使う。“-”は標準入力。 また、Makefile 内から別の Makefile を取り込んだりする場合には、 サーチパスが設定できる。 マクロ VPATH は依存ファイルをサーチするパスのリストである。 「:」 で区切って書く。 $ make -f Makefile2 |
||
実行すべき生成コマンド列の表示のみを行い、実際には実行しない。 これは、ある Makefile がどんなことをするのか、前もって 予想したいときに有効。 $ make -n |
||
make は生成コマンドを実行するときに、それを マクロ展開した状態で逐一表示しながら実行する。 このオプションは、実行するコマンドをいちいち表示させないようにする。 $ make -s |
||
make は、生成コマンドを実行したときに、そこでエラーが発生すれば それ以降の生成を中止し、終了する。このオプションをつけると make は 生成コマンドでエラーが発生しても無視して、最後まで規則をやり通す。 $ make -k |
||
make であらかじめ定義されている規則・マクロをすべて展開し表示する。 $ make -p |
||
生成コマンドを何も実行せず、指定されたターゲットを touch する。 $ make -t |
||
make 内で定義されたマクロよりも環境変数の値を優先する。 $ make -e |
||
mkdir | ディレクトリを作成 | ディレクトリprojmと3つのサブディレクトリus1,us2,us3をその下に作成 $ mkdir projm; mkdir projm/us{1,2,3} |
mv | 名前の変更 | test10.txtファイルをホームディレクトリ直下へ移動する $ mv test10.txt ~/ |
test11.txtのファイル名をtest21.txtへ変更する $ mv test11.txt test21.txt |
||
nohup | ログアウト後もプロセスを実行 | バッググラウンドで実行したコンパイル処理が終了する前にログアウトしても、このプロセスは実行を続ける $ nohup cc -o num num.c >>& compile_log & |
ps | 現在実行中の自分のプロセス状況を表示 | 現在実行中の自分のプロセス状況を表示 $ ps |
pwd | カレントディレクトリの場所を絶対パスで表示 | カレントディレクトリの場所を絶対パスで表示 $ pwd |
repeat | コマンドを回数分だけ繰り返す | repeatを3回連続で表示する $ repeat 3 echo "repeat" |
rm | ファイルを削除 | sample.htmlファイルを警告なしで削除 $ rm -f sample.html |
bkup_src_20130831* 以下のファイルをディレクトリ毎、警告なしで削除する $ rm -rf bkup_src_20130831* |
||
rmdir | 空のディレクトリを削除 | sampleディレクトリが空の場合sampleディレクトリを削除 $ rmdir sample |
sed | テキストデータ操作 | UnixをUNIXに変換して表示 $ sed 's/Unix/UNIX/' file1.txt |
最初の2行だけ表示 $ sed -n '1,2p' file1.txt |
||
UNIXが含まれる行だけ表示 $ sed -n '/UNIX/p' file1.txt |
||
最初の2行だけ削除 $ sed '1,2d' file1.txt |
||
UNIXが含まれる行だけ削除 $ sed '/UNIX/d' file1.txt |
||
set | シェル変数の定義 | シェル変数varnameを作り、値を文字列にする $ set varname = string |
cfにファイル名/u/sam/common/getsを代入 $ set cf = /u/sam/common/gets |
||
変数titleの中に文字列 Disk Usage Summary Reportを代入 $ set title = "Disk Usage Summary Report" |
||
変数dに現在の日付を空白、タブ、改行で単語に分けて代入 $ set d = `date` |
||
startx | X Window Systemを起動 | X Window Systemを起動 $ startx |
tar | アーカイブファイル操作 | ./bkup_src* を bkupsrc_201108.tar.gz という名前で圧縮して保存 $ tar czvf bkupsrc_201108.tar.gz ./bkup_src* |
bkupsrc_201108.tar.gzに格納されているファイルの一覧を表示 $ tar tzvf bkupsrc_201108.tar.gz |
||
bkupsrc_201108.tar.gzをカレントディレクトリにあるbkupディレクトリへ展開 $ tar xzvf bkupsrc_201108.tar.gz -C bkup |
||
tail | ファイルの末端ページを表示 | システムログファイルを常に監視して、新しいメッセージが書き込まれる様子をモニタリングする場合に使用 $ tail -f /var/log/messages |
tee | 標準入力を標準出力とファイルに出力 | 「-a」でreportファイルへ追加して更新 $ tee -a report |
telnet | ネットワーク経由でリモートホストへログイン | 192.168.1.1サーバへログインする $ telnet 192.168.1.1 |
tr | 文字列の置換 | ファイルreportの内容を大文字から小文字に変え、結果をファイルreport.lowに入れる $ tr "[A-Z]" "[a-z]" < report > report.low |
uname | カーネルバージョンの確認 | オプション -rでカーネルバージョンを表示 $ uname -r |
unset | シェル変数の無効化 | シェル変数titleを無効化 $ unset title |
usermod | ユーザのアカウント情報を変更 | ユーザ=testのデフォルトのシェルを/cshにする ※-sでログインシェルを変更 $ usermod -s /bin/csh test |
whereis | コマンドとマニュアルの完全パス名を表示 | エディタ viのパスを調べる $ whereis vi |
who | ログイン中のユーザを表示 | ログイン状況をcurrent_usersへ上書き保存 $ who > current_users |
yum | インストール | System Tools関連のパッケージをまとめてインストール $ yum groupinstall "System Tools" |
Development Tools関連のパッケージをまとめてインストール $ yum groupinstall "Development Tools" |
||
GNOME Desktop Environment関連のパッケージをまとめてインストール $ yum groupinstall "GNOME Desktop Environment" |
||
X Window System関連のパッケージをまとめてインストール $ yum groupinstall "X Window System" |
||
tcshをインストール $ yum -y install tcsh |
||
カーネルソースのインストール $ yum install kernel-devel |
||
emacsのインストール $ yum install emacs |
||
emacsでの日本語入力を可能にする $ yum install anthy-el |