はじめに
自分用にしようか迷いましたが、せっかくなので公開してみました。
よく使うコマンド
mkdir
ディレクトリの作成
mkdir オプション 作成するディレクトリ名
-pオプションをつけると、存在しない親ディレクトリ含めて作成していくれる
touch
空ファイルの作成
touch ファイル名
まちがって既存ファイルを指定しても、上書きされないので安心
rmとrmdir
削除するためのコマンド
rm ファイル名
rmdir ディレクトリ名
-iオプションをつけることで、本当に消すか確認してくれる。エイリアスにしておくと便利。あと、rmdirは空のディレクトリのみ削除可能であるので、中に隠しファイルとかあるとエラー出ます
catコマンド
ファイルの内容を表示
cat ファイル名
-nオプションで行数表示
lessコマンド
スクロール表示が必要なものに使う
less ファイル名
/を押すと検索モードになる。(下方向に向かって検索)。?でも検索モード(上方向に検索)。
cpコマンド
cp コピー元ファイル コピー先ファイル名
注意なのは上書きするので、コピー先に既存ファイルを指定するのは避けたい。こうしたミスを防ぐためにも-iオプションはつけること。またディレクトリのコピーには-rオプションが必要
cp -r ディレクトリ名 ディレクトリ名
lnコマンド
リンクを張るコマンド。つまりファイルに別名をつけるコマンド。
ハードリンク
ハードリンクはファイルの実体に複数の名前をつける機能です。
ln file1 file2
ハードリンクの削除は以下です
% rm file1
% cat file2
元のfile1の中身が表示される
%rm file2
シンボリックリンク
シンボリックリンクは、リンク先がファイルの実体であり本物です。
% ln -s file1 file2
% rm file1
% cat file2
//リンク先のファイルが削除されたのでエラーになる
リンクはクソ長いパス名なんかを他の名前に置き換えたりするときに使う
findコマンド
検索するためのコマンド
find . -name file1 -print
ワイルドカードを使用するときは、検索条件を``で囲むこと。-inameを使用すると大文字小文字の区別がなくなる。
複数の検索条件の場合は-aを使用して以下のようにする。
find . -type f -a -name '*.html' -print
chmodコマンド
ファイルの権限等を変更する。
シンボルモード
chmod [ugoa][+-=][rwx] ファイル名
chmod 誰が どうする 何を
記号 | 意味 |
---|---|
u | オーナー |
g | グループ |
o | その他のユーザ |
a | ugoすべて |
+ | 追加 |
ー | 禁止 |
= | 指定した権限と等しくする |
r | 読み取り |
w | 書き取り |
x | 実行 |
chmod u+w file.txt
数値モード
ここはシンボルモードを8進数の数値で表現しただけなので、各自調べてもらいたい。
記号 | 数字 |
---|---|
r | 4 |
w | 2 |
x | 1 |
grepコマンド
grep検索ってやつですね、有名です
$ grep 検索正規表現 ファイル名
これはかなり使うみたいなので、こちらでしっかり確認することをお勧めします!
参考になるサイト
wcコマンド
入力ファイルの行数、単語数、バイト数を確認するためのコマンド
% wc ファイル名
//行数 単語数 バイト数 ファイル名
% wc -l ファイル名
//行数
% wc -w ファイル名
//単語数
% wc -c ファイル名
//バイト数
sortコマンド
みたまんまソートのためのコマンド
オプションが重要
オプション | 意味 |
---|---|
k | パイプラインで渡ってきたものを、N列目のものでソートする 例:-k 5 |
n | 数値順にソートする |
r | 逆順にする、通常は昇順なので降順になる |
u | uniqコマンドと同様の効果を発する |
uniqコマンド
連続した同じ内容の行を省くコマンド。**連続という点に注意。**仮に北海道という文字列が一行目と五行目にあっても省かれない!!!
uniq ファイル名
-cオプションで、重複した行が何行あるか重複行数を数える。
cutコマンド
入力行の一部を切り出して出力するコマンド。
cut -d 区切り文字 -f フィールド名 ファイル名
フィールド名は、おそらく何列目かを示しているものと捉えて問題ないはず。
cut -d : -f 7 /etc/passwd
trコマンド
文字の置換・削除するコマンド
文字の置換
tr 置換前の文字 置換後の文字
以下のような記述はabcをABCに置換するのではなく、aはA、bはB、cはCと置換する。
cat file1 | tr abc ABC
さらに注意が必要なのは、trコマンドでは直接ファイルを読み込むことは不可能なので、パイプラインか何かで渡してやる必要があります。
文字の削除
tr -d 削除文字
tailコマンド
headコマンドと似ていて、末尾を表示します。
特に難しいことはありませんが、、、
使用用途としては、ログの監視などに使います。
その場合は以下のようにします。
tail -f ファイル名
こうするとリアルタイムに表示してくれます!
diffコマンド
差分を表示するコマンドです
diff 比較元ファイル 比較先ファイル
例えばこのような表示になります。
% diff .bashrc.org .bashrc
12c12
<PS1='\$'
---
>PS1='[\u@\h] \w\$'
これの見方は以下を見ればわかります。
記号 | 内容 |
---|---|
<範囲1>a<範囲2> | 1つ目のファイルの範囲1の後に、2つ目のファイルの範囲2が追加された |
<範囲1>c<範囲2> | 1つ目のファイルの範囲1の箇所が2つ目のファイルのの範囲2の内容に変更された |
<範囲1>d<範囲2> | 1つ目のファイルの範囲1の箇所が削除された |
実際はこれではみにくいのでユニファイド出力形式で表示します。
diff -u .bashrc.org .bashrc
おわりに
ざっくり簡単にまとめていました。
よく使うものについては、しっかり使い慣れていきたいですね!