GNU&UNIXコマンド
3.1
一般ユーザーの場合とスーパーユーザーの場合では、プロンプトが異なります。
シェルのプロンプト表示は環(huán)境変數(shù)PS1で設(shè)定できます。
カーソルの移動
Ctrl+A カーソルが行頭に移動
Ctrl+E カーソルが行尾に移動
コマンドラインの編集
Ctrl+D カーソル部分の1文字を削除します
Ctrl+H カーソルの左側(cè)にある1文字を削除します
Ctrl+L 一旦畫面をクリアしてから、カレント行を再表示します。
3.1.3 シェル変數(shù)と環(huán)境変數(shù)
シェル変數(shù)の有効範(fàn)囲は、その変數(shù)を定義したしゃるのみになります。
環(huán)境変數(shù)は、その変數(shù)を定義したシェル上、及びそのシェルで実行されるプログラムからも參照することのできる変數(shù)です。
主な環(huán)境変數(shù)
PATH コマンドやプログラムを検索するディレクトリリスト
PWD カレントディレクトリ
HOSTNAME ホスト名
USER 現(xiàn)在のユーザー
LANG ロケール
HOME カレントユーザーのホームディレクトリ
LOGNAME ログインシェルのユーザー名
PS1 プロンプトの表示文字列
PS2 複數(shù)行にわたる入力時(shí)のプロンプト
HISTSIZE コマンド履歴の最大値
HISTFILE コマンド履歴を格納するファイル
TERM 端末の種類
変數(shù)名=値
echo 「文字列または$変數(shù)名」
unset 変數(shù)名
定義されている環(huán)境変數(shù)を一覧ひょいうじするには、envコマンドやprintenvコマンドを使います。
環(huán)境変數(shù)とシェル変數(shù)を両方表示したい場合、setコマンドを使います。
シェル変數(shù)は新たに起動したシェルから參照することはできませんが、exportコマンドでエクスポートすることによって參照できるようになります。
export 変數(shù)名[=値]
3.1.4 環(huán)境変數(shù)PATH
環(huán)境変數(shù)PATHにパスを追加するには、.bash profileなどの環(huán)境設(shè)定ファイルのPATH設(shè)定を修正するか、
PATH=PATH:追加するディレクトリ名
カレントディレクトリにパスが通っていない場合、カレントディレクトリにあるプログラムを?qū)g行するには、プログラム名の前にカレントディレクトリを意味するを明示する必要があります。
3.1.5 コマンドの実行
コマンドを「;」で區(qū)切りったバイ、
&& コマンド1が正常に終了したときだけコマンド2が実行されます
|| コマンド1が正常に終了しなかっただけコマンド2が実行されます
’ 単一引用符の中は、すべて文字列であると解釈されます
" 二重引用符
二重引用符內(nèi)に変數(shù)があれば、その変數(shù)の內(nèi)容が展開されます。
3.1.7 コマンド履歴
history コマンド
! 履歴番號
man
-a すべてのセクションのマニュアルを表示する
-f 指定されたキーワードを含むを表示する
-k 指定されたキーワードを含むドキュメントを表示する
-w マニュアルの置かれているディレクトリを表示する
セクション
1 ユーザーコマンド
2 システムコール
3 ライブラリ
4 デバイスファイル
5 ファイルフォーマット
6 ゲーム
7 その他
8 システム管理コマンド
9 Linux獨(dú)自のカーネル用ドキュメント
man -f
whatis
aproposコマンド、-k及び-fオプション付きのmanコマンドはいずれもwhatデータベースを參照します。
3.1.9 ファイル操作コマンド
lsコマンド
ls コマンドの主なオプション
-a .から始まるファイルも表示する
-A
-d ディレクトリ自身の情報(bào)を表示する
-F ファイルの種類も表示する
-i iノート番號を表示する
-l ファイルの詳細(xì)な情報(bào)を表示する
-t 日付順に表示する
cpコマンド
cp オプション コピー元ファイル名 コピー先ファイル名
cpコマンドの主なオプション
-f コピー先に同名のファイルがあれば上書きする
-i 同名のファイルがあれば確認(rèn)する
-p ファイルの屬性をほう
-r -R ディレクトリ內(nèi)を再帰できにコピーする
mv コマンド
-f 同名のファイルがあれば上書きする
-i 同名のファイルがあれば確認(rèn)する
mkdirコマンド
ーm 指定したアクセス件でディレクトリを作成する
-p 必要なら親ディレクトリも同時(shí)に作成する
rmコマンド
-f ユーザーへの確認(rèn)なしに削除する
-i 削除する前に確認(rèn)する
-r,-R 再帰的にディレクトリ全體を削除する
rmdirコマンド
-p 複數(shù)階層の空ディレクトリを削除する
touch コマンド
-t タイムスタンプ変更する
-a アクセス時(shí)刻だけ変更する
-m 修正時(shí)刻だけ変更する
fileコマンド
ファイルの種別を表示します。
3.2 パイプとリダイレクト
3.2.1 標(biāo)準(zhǔn)入出力
0 標(biāo)準(zhǔn)入力 キーボード
1 標(biāo)準(zhǔn)出力 畫面
2 標(biāo)準(zhǔn)エラー出力 畫面
teeコマンド
teeコマンドは、標(biāo)準(zhǔn)入力から読み込み、それをファイルと標(biāo)準(zhǔn)出力へとT字
ls -l |tee lslog |wc -l
3.3 テキスト処理フィルタ
cat ファイル內(nèi)容を表示します。
-n 各行の左端に行番號を付加する
cat file1 file2 > newfile
nlコマンド
nlコマンド
テキストファイルの一部または全部に行番號を付けて表示します。
ヘッダ、本文、フッタの部品に分けて行番號を付加することができます。
nlコマンドの主なオプション
-b 形式 指定した形式で本文に行番號を付加する
-h ヘッダ
-f フッタ
形式
a すべての行
t 空白以外の行
n 行番號の付加を中止
odコマンド
バイナリファイル內(nèi)容を8進(jìn)數(shù)や16進(jìn)數(shù)で表示します。オプションを指定しない場合は8進(jìn)數(shù)でひょうじします。
od オプション ファイル名
-t 出力タイプ
c ASCII文字
o 8進(jìn)數(shù)
x 16進(jìn)數(shù)
headコマンド
ファイルの先頭部分を表示します。オプションを指定しない場合は、先頭から10行目までを表示します。
head オプション ファイル名
-n 行數(shù)
-行數(shù)
-c バイト數(shù)
tailコマンド
-n 指定された行數(shù)分だけ表示する
-行數(shù)
-c バイト數(shù)
-f ファイルのに追加された行を常に表示する
cutコマンド
ファイルの各行から指定したフィールドを取り出します
cut オプション ファイル名
-c文字?jǐn)?shù) 取り出す文字位置を指定する
-d區(qū)切り文字
-f 取り出すフィールドを指定する
joinコマンド
join オプション ファイル名1 ファイル名2
-jフィールド 連結(jié)するフィールドを指定する
Pasteコマンド
1つ以上のファイルを読み込んで、それぞれで一致する行を水平方向に連結(jié)します。
paste オプション ファイル名1 ファイル名2
tr [オプション] 「文字列1 「文字列2」」
-d 文字列1でマッチした文字列を削除する
-s 連続するパターン文字列を1文字として処理する
sortコマンド
行単位でファイル內(nèi)容をソートします。デフォルトではにソートします。
sort オプション 開始位置 終了位置 ファイル名
-b 行頭の空白は無視する
-f 大文字小文字の區(qū)別を無視する
-r 降順にソートする
-n 數(shù)字を文字ではなく數(shù)値として処理する
splitコマンド
指定されたサイズでファイルを分畫します。
split オプション 入力ファイル名 出力ファイル名
-行數(shù) 入力ファイルを指定された行ごとに
split -100 sample.txt s}sample.
uniqコマンド 入力されたテキストリームの中で重複している行を調(diào)べて、重複している行は1行にまとめて出力します。
uniq オプション 入力ファイル 出力ファイル
-d 重複している行のみ出力する
-u 重複している行は1行にまとめて表示する
prコマンド
ファイルの書式を。
pr オプション ファイル名
+開始ページ
-h へっだ文字列
-l ページ長
fmtコマンド
テキストを決められた桁に整形します
fmt オプション ファイル名
-w 文字幅 1行の幅を設(shè)定する
expandコマンド
テキストファイルの中にあるタブをスペースに変換します。
expand オプション ファイル名
-i 行頭のタブのみ変換する
-t タブ幅 タブ幅を設(shè)定する
unexpand コマンド
行頭にある連続した空白をタブに変換します。
unexpand オプション ファイル名
-a 行頭以外の空白も変換する
-t タブ幅 タブ幅を指定する
wcコマンド
ファイルの行數(shù)、単語數(shù)、文字?jǐn)?shù)を表示します。
wc オプション ファイル名
-c 文字?jǐn)?shù)を表示する
-l 行數(shù)を表示する
-w 単語數(shù)を表示する
xargsコマンド
標(biāo)準(zhǔn)入力から受け取った文字列を引數(shù)に指定して、與えられたコマンドを?qū)g行します。
find . -mtime +60 -type f | xargs rm
3.4 正規(guī)表現(xiàn)を使ったテキスト検索
3.4.1 正規(guī)表現(xiàn)
文字 正規(guī)表現(xiàn)の中にある文字
任意の1文字 任意の1文字を表すには「.」を使います。
文字クラス
^は行頭を、「$」は行末wお表します。
特殊文字
. 任意の1文字
* 直前の文字の0回以上の繰り返し
「」 -
^ 行頭
$ 行末
¥ 次に來る文字をメタキャラクタではなく通常の文字として処理する。
3.4.2 grepコマンド
grep オプション 検索パターン ファイル名
grep オプション -f ファイル名 ファイル名
-c パターンがマッチした行の行數(shù)だけを常時(shí)する
-f 検索パターンをファイルから読み込む
-i 大文字小文字を區(qū)別せず検索する
-n 検索結(jié)果と合わせて行番號も表示する
-v パターンがマッチしない行を表示する
-E 拡張正規(guī)表現(xiàn)を使用する
3.4.3 sedコマンド
sedは,テキストストリームに対して編集を行います。sedでは、編集する內(nèi)容をコマンドやスクリプトとしてsedに指示しておき,sedはその指示に基づいてストリームの編集を行って、標(biāo)準(zhǔn)出力に編集結(jié)果を書き出します。
d マッチした行を削除する
s パターンに基づいて置換する。gスイッチを使うと、マッチ箇所すべてを置換する
y 文字を変換する
-e 次の引數(shù)はコマンドと認(rèn)識する
-f 次の引數(shù)はスクリプトファイルと認(rèn)識する
dコマンド
ファイルの複數(shù)行を削除します
sコマンド s/検索パターン/置換パターン
yコマンド
「y/検索文字/置換文字」