Linux入門②

●コマンドの補完
Tabキーを押します


●ショートカットキー
bashには、初期状態で「emacs」のショートカットキーが登録されています。

※emacsとは、GNUプロジェクトによるオープンソースの高機能テキストエディタ。
 UNIX系OSでは、emacsとviが2大エディタとされています。


◆移動系
Ctrl + a : カーソルの行頭に移動
Ctrl + e : カーソルを行末に移動
Ctrl + f : カーソルを1文字右に移動
Ctrl + b : カーソルを1文字左に移動
Alt + f : カーソルを1単語右に移動
Alt + b : カーソルを1単語左に移動


◆削除系
Ctrl + d : カーソル位置の文字を削除
Ctrl + h : カーソルの直前の文字を削除
Ctrl + k : カーソル位置から行の末尾まで削除
Alt + d : カーソル位置から単語の終わりまでを削除


◆表示系
Ctrl + s : 画面への出力を停止
Ctrl + q : 画面への出力を再開
Ctrl + l : カレント行を残して画面をクリア


◆ヒストリー
Ctrl + p : 過去に入力済みのコマンドをひとつずつ遡る
Ctrl + n : 過去のコマンド履歴を遡りすぎた場合に、ひとつずつ戻る




●ヒストリー
◎history(コマンド履歴の表示)
コマンド履歴は「history」コマンドで履歴番号と共に表示されます。
例えば、

history | less
→全てのコマンド履歴を表示させ、


◎!履歴番号
→履歴番号に対応するコマンドを再実行します。


◎!文字列
→指定した文字列で始まるコマンドの中で最近実行したものを再実行します。


◎!!
→直前に実行したコマンドを再実行します。


◎インクリメンタルサーチ(かなり前に実行したコマンドを呼び出すときに便利)
→Ctrl + r で、インクリメンタルサーチモードにすると、
 キーボードからの入力に応じて、マッチするコマンド履歴を逐次表示していきます。
 左右のカーソルキーを押すと、表示されたコマンドを再編集できるようになり、
 (Ctrl + r をタイプする度にコマンド履歴が古い方に向かって検索されます)
 見つかったコマンドを実行するには、Enterを押して、
 インクリメンタルサーチモードから抜けます。




●テキスト表示

◎catコマンド
→ファイルの中のテキストをそのまま表示します。
 改行コードは、LF(ラインフィード)でアル必要があります。
 日本語のテキストファイルの場合、ターミナルの設定文字コードと
 同じでないと文字化けします。

 -n オプションで、各行の左に行番号が付きます。


◎moreコマンド
→テキストを一画面ずつ表示するフィルターです。
 dを押すとスクロールします。
 bを押すとバックスクロールします。


◎lessコマンド
→moreを発展させたようなページャー
 「d」を押すと半画面進みます。
 「u」を押すと半画面戻ります。
 「g」を押すとファイルの先頭へ移動します。
 「G」を押すとファイルの末尾に移動します。
 「/検索文字列」で、現在位置からファイルの末尾方向へ検索し移動します。
 「?検索文字列」で、現在位置からファイルの先頭方向へ検索し移動します。
 

◎lvコマンド
→多言語対応したテキストビュアーです。
 日本語の文字コードや改行コードを自動認識する機能や
 圧縮ファイルを解凍せずに表示する機能を備えています。
 「スペース」を押すと次ページに移動します。
 「b」を押すと前のページに移動します。
 「数字 g」を押すと指定した行に移動します。(数字を省略すると最初の行)
 「数字 G」を押すと次ページに移動します。(数字を省略すると最後の行)
 「n」を押すと直前の検索を同じ方向に実行します。
 「N」を押すと直前の検索を逆方向に実行します。


 ◆正規表現で検索 
 / と ? による検索時に日本語の正規表現が使えます。
 検索文字列の入力中、CTRL + p で前の検索文字列を呼び出すこともできます。


 ◆文字コードを切り替える
 ファイルを表示してみたら入力文字コードの判別に失敗して文字化けしていた場合、
 「t」を押すと入力文字コードが順番に切り替わります。
 SHIFT + t だと逆順です。


 ◆文字コード変換フィルタ
 Unicodeのテキストファイルをほかの文字コードに変換するには、lvコマンドを使うといいです。
 lv -O<エンコーディング> [入力ファイル] > <出力ファイル>
 
 ex.
 UTF-8でエンコードされたUnicodeテキスト(file.txt.utf8)を
 EUC(file.txt.euc)に変換するには、以下のコマンドを実行する。

 lv -Oej file.txt.utf8 > file.txt.euc


◎headコマンド
→テキストファイルの最初からn行を表示します。
 head -n 行数 ファイル名


◎tailコマンド
→テキストファイルの最後からn行を表示します。
 tail -n 行数 ファイル名


 ◆テキストファイルの指定行の部分を表示する
 →headとtailでパイプして、test.txtの95行目から100行目を表示する
  ex. head -n 100 test.txt | tail -n 5
   


●ディレクトリの変更
◎cdコマンド
 cd - カレントディレクトリに移動する前にいたディレクトリへ移動する

 cd  何も指定しないと、ユーザーのホームディレクトに移動する

 cd - ユーザ名 特定のユーザーのホームディレクトリに移動する



●ファイル、ディレクトリ情報の表示

◎lsコマンド
 「.」で始まるファイルも表示する
 ls -a

 ディレクトリ自身の情報を表示する
 ls -d

 サブディレクトリ以下も再帰的に表示する
 ls -R

 ディレクトリの後ろには「/」を表示し、
 実行可能なファイルの後ろには「*」を追加するなどして、
 可読性を高めて表示する。
 ls -F

 ファイルのiノード番号を表示する
 ls -i

 ファイルサイズの単位にMやKなどを付加し、読みやすい形式で表示する
 ls -lh