ファイルに書かれたコマンドを実行する。 例えば ~/.cshrc を書き換えた後
$ source .cshrcとすると、ログインし直さなくても .cshrc の内容が反映される。
アーカイブの展開(ファイルの復元)
$ tar -xvf hogehoge.tar [file1 file2 ...]gtar では以下も可能
$ tar -zxvf hogehoge.tar.gz
パターンにマッチする行の表示
$ grep [option] PATTERN [FILE]オプション
-v 一致しない行の表示 -i PATTERN, 入力ファイルの双方において、大文字・小文字を区別しない
$ make 2>&1 | tee make-log.log
$ find [ディレクトリ] -name hogehoge
ストリームエディタ
$ sed -e ' コマンド ' [入力ファイル] [> 出力ファイル] $ sed -f コマンドファイル [入力ファイル] [> 出力ファイル]編集コマンドの例
'1,10 s/old/new/' # 1-10行目の old を new で置き換える 10a\ # 10行目の後に以下の 3行を追加 This is a pen.\ Are you happy?\ Yes I am.
パターン処理言語
$ awk [-F'区切り文字'] ' プログラム ' [入力ファイル] [> 出力ファイル] $ awk [-F'区切り文字'] -f プログラムファイル [入力ファイル] [> 出力ファイル]プログラムの例
'パターン {アクション}' # プログラム記述の基本 '{ if (NR % 2 == 1 ) {print $0} }' # 奇数行のみを書き出す(パターン無) BEGIN {FS = "&" } NR == 6 { i = 1 while ( i <= NF ) { print $i i++ } } ' NR == 6 {for ( i =1 ; i <= NF ; i++ ){print $i} }' # 6 行目の各フィールドを書き出す
$ dd if=file_1 of=file_2 ibs=xxx obs=yyy skip=a seek=b count=n file_1 を xxx バイトづつ読み込み file_2 に yyy バイトずつ書き出す。 その際、入力については a ブロック skip し、出力については b ブロック seek してから処理を行う。 if, of 等を指定しない場合は標準入出力が使われる。 例。一番目の HDD の先頭から 64 ブロックをファイル hogehoge に書き出す。 # dd if=/dev/hda of=hogehoge bs=512 count=64
文字列の置換
:%s/xxxx/yyyy/gcカーソルの次行に file の内容を挿入
:r filem行目からn行目までを file に書き出す
:m,nw file
$ echo (SPACE) Control+v ESC c (RETURN)
$ nohup ./run.sh & $ nohup ./run.sh < /dev/null > out.log 2> err.log & $ nohup ./run.sh < /dev/null &
$ mt -f /dev/nst0 status $ mt -f /dev/nst1 setblk 64512 $ mt -f /dev/nst2 rewind $ mt -f /dev/st0 offline $ tar cvbf 126 /dev/nst0 XXXX $ tar xvbf 126 /dev/nst0 [YYYY] $ tar cvbf 126 - XXXX | rsh RHOST -l RUSER dd of=/dev/nst1 obs=126b $ rsh RHOST -l RUSER dd if=/dev/nst1 ibs=126b obs=126b | tar xvbf 126 -
# /usr/sbin/visudo -f /etc/sudoers 各行の書式は ユーザー ホスト = (権限) コマンド 設定例 hogehoge localhost = (root) /usr/bin/make install