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