【保存用】UNIXコマンド まとめ
2015.05.09
この記事は最終更新日から1年以上が経過しています。
どもです。
みなさんGWはどのようにお過ごしだったでしょうか。
すでに会社が始まっている方がいれば、まだGW中の方もいるかと思います。(私は後者。超連休!明日までですが><)
そんなこんなで今回、なんとなくUNIXコマンドに関してざっくりまとめてみました。
そう。みんなが嫌がる「黒い画面」です。
最近では、デザイナーさんとかも、GruntだったりCompassやnodeなんかでもガシガシと黒い画面を使う機会が増えていると思います。
より慣れるため、参考にでもしていただければと思いますー。
基本コマンド
コマンドの基本構文
・コマンド
ls
コマンドのみを入力
・コマンド + 引数
ls /home
コマンドの後に半角スペース 引数でファイル名やディレクトリ名などの文字列(引数)を指定したりします。
・コマンド + オプション + 引数
ls -a home
コマンドにオプションを付与する事によって機能を拡張できるものがあります。
cdコマンド (Change Directory)
カレントディレクトリを変更するためのコマンド
移動したいディレクトリ名をコマンドの後ろに指定
cd hoge
ディレクトリ未指定の場合、ホームディレクトリに戻ります。
pwdコマンド(Print Work Directory)
カレントディレクトリの絶対パスを表示
pwd
結果
/Users/takayamadaisuke
lsコマンド(List directory)
ディレクトリの情報を調べる
ls -l で詳細情報
ls -aで 不可視ファイルである ドットファイルなども表示
mvコマンド(Move file)
ファイル名の変更とファイルの移動に使用。
ファイル名変更
mv 元の名前 変更後の名前
例:
mv hoge1.txt hoge_after.txt
ファイルを移動
mv 移動したいファイル名 移動先のディレクトリ
例:
mv sample webcyou
cpコマンド(Copy file)
ファイルをコピーするためのコマンド
cp コピーしたいファイルの名前 コピー先のディレクトリのパス
例:
cp sample.txt webcyou
mkdirコマンド(Make Directory)
ディレクトリを新規作成
mkdir ディレクトリ名
例:
mkdir webcyou
rmdirコマンド(Remove Directory)
空のディレクトリを削除
rmdir ディレクトリ名
例:
rmdir webcyou
rmコマンド(ReMove file)
ファイルやディレクトリの削除で使用
rm ファイル名(パス)
例:
rm sample.txt
ファイルやディレクトリなどが中に入っているディレクトリを中身ごと削除したい場合
オプション「-r」を付ける。
例:
rm -r webcyou
catコマンド(conCATenate)
ファイルの中身を閲覧
cat ファイル名(パス)
例:
cat sample.txt
sortコマンド
指定したテキストファイルの内容を並び替えて表示
オプション無しでアルファベット順、 -r で逆順で並び替え
sort ファイル名(パス)
例:
sort sample.txt
結果
ファイル名を指定しないと、キーボード入力状態となりテキストを入力後、
Ctrlキー + Dキーを押すと入力した文字がソートできます。
grepコマンド(Global Regular Expression Print)
複数のファイルの中から文字列を検索
grep 検索する文字列(正規表現) ファイル名(パス)
例:
grep webcyou sample.txt
文字列を含む全ての行の表示
findコマンド
ファイルを検索するコマンド。ドットファイルも検索できます。
find ファイル名または任意の文字列
任意のディレクトリ以下を検索
find 検索開始ディレクトリ ファイル名または任意の文字列
whichコマンド
コマンドの収納場所を探す
指定されたコマンドの本体を検索、絶対パスを表示
which コマンド名
例:
which ls
結果
whereisコマンド
コマンドのパスだけでなく、マニュアルやソースコードファイルなどのパスも同時に調べ表示
whereis コマンド名
moreコマンドとlessコマンド
ページを基準として出力結果を表示
moreコマンド
出力結果が画面に表示しきれない場合、1ページ分が表示されたところで「–More–」と表示され内部コマンド待ちとなる。
全ての結果表示後終了する。
more ファイル名
例:
more index.html
内部コマンド
Enter…1行ずつスクロール
スペース…次ページを表示
h…ヘルプ
q…終了
lessコマンド
内部コマンドがmoreよりも強化。簡単な検索やジャンプ移動などが可能
less ファイル名
例:
less index.html
内部コマンド / で検索
/start
その他は hコマンドのヘルプを参照してください。
duコマンド
指定したファイルのサイズやディレクトリの使用量を表示
du オプション ファイル名またはディレクトリ名(パス)
ファイル名(またはディレクトリ名)を指定しない場合は、カレントディレクトリ以下の全てのディレクトリを調べる
例:
du -a | more
(表示結果が多そうな場合は moreコマンドをパイプして入力)
容量確認コマンド
sudo du -g -x -d 5 / | awk '$1 >= 5{print}'
表示は(GB)で全体の容量の確認ができる
nslookupコマンド
指定したホスト名(DNS名もしくはIPアドレス)に関する情報をDNSサーバーから取得
nslookup ホスト名
wコマンド
現在ログイン中のユーザーの情報を表示。
管理者がユーザーの利用状況を確認したいときに便利。
w
passwdコマンド
ユーザーアカウントのパスワードに関する設定を変更するコマンド
自分のユーザーアカウントのみ操作
passwd
Old Password … 現在のパスワード
New Password … 新しいパスワード
Retype New Password … 新しいパスワードの再入力
自分以外のユーザーアカウントを操作できるのは管理者のみ
aliasコマンド
オプションや引数を含めたコマンドの記述内容そのものに対して、別名(エイリアス)を設定
alias エイリアス名 コマンド文
例:
alias la=‘ls -a'
laで ls -a のコマンド実行
unaliasコマンド
エイリアスを解除するコマンド
unalias エイリアス名
例:
unalias la
lnコマンド(link)
ファイルやディレクトリに対するリンク(リンクファイル)を作成
リンクにはシンボリックリンクとハードリンクの2種類存在します。
ln リンクの種類 リンクの参照先 シンボリック(ハード)リンク名
例:
ln -s /Users/takayamadaisuke/sample.txt sample
リンクの種類
-s…シンボリックリンク
なし…ハードリンク
シンボリックリンクとハードリンク
シンボリックリンクはリンク先を呼び出すだけなので、それ自体削除しても本体には影響がなく、本体を削除するとリンクが切れます。
ハードリンクは両方とも同じと見なされ、どちらか片方を 削除しても実体は残ります。
typeコマンド
エイリアスか外部コマンドか内部コマンドなのか見分けつかないときtypeコマンドを使うとコマンドの種類を調べられます。
type コマンド名
例:
type ps
外部コマンドのpsを入力
コマンド名 コマンドパスの表示
historyコマンド
過去に入力したコマンドを表示
history 表示件数
表示件数を指定しないと全て表示します。
例:
history 5
マルチタスクとプロセス制御
UNIXは、複数のタスクを同時に行うことができるマルチタスクに対応したOSです。
ひとつひとつのタスクはプロセスとも呼ばれ、UNIX環境ではOSが管理する単位としてプロセスが使われております。
psコマンド
現在稼働中のプロセスをID番号付きで一覧表示します。
ps
jobsコマンド
現在稼働中のジョブを番号付きで一覧表示します。
jobs
killコマンド
終了できずに残ってしまったプロセスまたはジョブを終了
kill プロセスIDまたはジョブ番号
システム管理者
suコマンド
ログイン中に別のユーザーに切り替えるためのコマンド
ユーザーを指定しない場合、rootとしてログイン
su オプション
オプション
–…元のユーザーの環境を引き継がない
なし…元のユーザーの環境を引き継ぐ
ユーザー指定すると、指定したユーザーとしてログインできます。
一時的に他のユーザーのログイン環境で作業したい場合などに便利です。
su webcyou
dateコマンド
日時を設定、管理するコマンド
現在の日時を確認する場合
date
ユーザー作成
useraddコマンド
ユーザー名を設定し、ユーザーアカウントの作成します。
ユーザー名は重複できません。
useradd ユーザー名
例:
useradd webcyou
ユーザーアカウント作成後、 passwdでコマンドでパスワード変更しましょう。
userdel
ユーザーアカウントの削除
userdel オプション アカウント名
例:
userdel -r webcyou
オプション
-r…アカウントとそのホームディレクトリを削除
なし…アカウントのみを削除
グループ管理
ファイルやディレクトリには、所有ユーザと所有グループが記録されます。
新規でファイルなどを作成すると、作ったユーザーが所有ユーザーになり、ユーザーのプライマリグループが所有グループとなります。
chownコマンド(Change OWNer)
所有ユーザー変更
chown ユーザー名 ファイル名またはディレクトリ名
例:
chown daisuke sample.txt
chgrpコマンド(CHange GRoup)
所有グループ変更
chgrp グループ名 ファイル名またはディレクトリ名
例:
chgrp webcyou sample.txt
groupaddコマンド
グループを作成するコマンド
groupadd グループ名
例:
groupadd webcyou
usermodコマンド(USER MODify)
ユーザーをグループに登録
usermod オプション グループ名 ユーザー名
例:
usermod -G webcyou daisuke
オプション
-g…プライマリグループとして登録
-G…セカンダリグループとして登録
newgrpコマンド
セカンダリグループをプライマリグループに変更
(一般ユーザーは自分自身についてのみ変更可能)
newgrp プライマリグループにしたいグループ名 ユーザー名
例:
newgrp webcyou daisuke
groupdelコマンド
グループの削除。プライマリグループに設定している場合削除できない
groupdel グループ名
シャットダウンとリブート
shutdownコマンド
終了やリブートを行うコマンド
使用するには管理者としてログインする必要あり。
shutdown オプション 時間設定 ユーザーに通知するメッセージ
オプション
-h…終了
-r…リブート
時間設定
now…今すぐ
+5…5分後
例:
shutdown -h +10 Shut down At 20:30
haltコマンド
システムを終了するコマンド
ユーザーへの通知や時間設定の機能がありません。
halt
rebootコマンド
システムをリブートするコマンド
ユーザーへの通知や時間設定の機能がありません。
reboot
その他、リダイレクト、パイプ
リダイレクト
標準入力、標準出力、標準エラー出力の入出力先を変更することをリダイレクト(またはリダイレクション)といいます
出力先の指定
「>」か「>>」を使用
コマンド > 出力先のパス
次のようにすると、コマンドの実行結果をファイルに保存できます
コマンド > sample.txt
>…上書き保存
>>…追加保存
入力先の指定
入力元を指定するには「<」を使用
次のように記述するとファイルの内容をコマンドに渡すことが可能
コマンド < sample.txt
例:
テキストファイルを並び替えて、その結果を別のファイルに保存
sort < sample1.txt > sample2.txt
sort…sortコマンド 並び替えを行う
sample1.txt…並び替えの対象となるファイル(入力)
sample2.txt…保存先のパス(出力)
パイプ
コマンドによって得られた結果を別のコマンドに引き渡す
パイプを使うことによってコマンドとコマンドをつなぎ合わせられる。
ls | more
lsコマンドでルートディレクトリを調べた結果、パイプを使ってgrepコマンドに引き渡す例。
grepコマンドで、渡された内容から srという文字列を検索
ls / | grep sr
といった感じでUNIXコマンドまとめてみました〜!
ではではぁ。