長いコマンドを打ち直すのがしんどい
前に打ったやつを呼び出す方法ある?
【疑問】さっき打った長いコマンドをもう一回使いたい。history と !、man のセクション、uname【LPICレベル1】
前提のおさらい。コマンドは「コマンド オプション 引数」を空白で区切って打ち、! はダブルクォートの中でも特別な意味が残る(bash の man の QUOTING)
>>1
上矢印で1つずつ戻れる。Ctrl+R で打った文字を含むものを後ろから探せる。history で番号つきの一覧
>>3! を使う呼び出し(履歴展開)!! 直前のコマンド!n 番号 n のコマンド!-2 2つ前!文字列 その文字列で始まる一番新しいコマンド!$ 直前のコマンドの最後の引数
>>4
試したらこうなったecho last arg here のあとに echo !$ → echo here に置き換わってから実行された
>>4!echo o は「echo で始まる最新の履歴」のあとに o が付く。直前が echo two やったら echo two o が動く
>>1
履歴はどこに保存されるん?
>>7
~/.bash_history。シェルを終了するときに書き込まれる。場所は HISTFILE、覚えておく数は HISTSIZE、ファイルに残す行数は HISTFILESIZE
>>8
HISTSIZE の既定は500(bash の man)。Debian の /etc/skel/.bashrc は HISTSIZE=1000、HISTFILESIZE=2000 にしてある。ディストリビューションの初期設定で違う
>>1
man で passwd を引いたらコマンドの説明が出たけど、/etc/passwd の書式が見たい
>>10
man はセクションに分かれてる。man 5 passwd でファイルの書式のほうが出る
1 一般のコマンド
5 ファイルの書式
8 管理用のコマンド
(ほかに 2 システムコール、3 ライブラリ関数、7 その他)
>>11
キーワードで探すのは man -k キーワード(apropos と同じ)、短い説明は man -f 名前(whatis と同じ)
>>11
man の中は less と同じで、/ で検索、q で終わり
>>1
問題文に uname もあったけど、何を表示するん?
>>14
システムの情報。オプションなしは -s と同じでカーネル名(Linux)-r カーネルのリリース-m ハードウェア名(x86_64 など)-n ホスト名-a 全部
>>15uname -r は、モジュールの置き場所 /lib/modules/(カーネルのリリース)/ を調べるときに使うな
>>4!! と !$ と Ctrl+R で打ち直しがだいぶ減るわ
管理人のひとこと
- 履歴は上矢印・Ctrl+R・
history。!!直前、!n番号、!-nn個前、!文字列その文字列で始まる最新、!$直前の最後の引数。 - 履歴は ~/.bash_history(HISTFILE)にシェル終了時に保存。HISTSIZE は覚える数(既定500、ディストリビューションの初期設定で変えてあることがある)、HISTFILESIZE はファイルに残す行数。
- man のセクションは 1 コマンド、5 ファイルの書式、8 管理用コマンドなど。
man 5 passwd、man -k(apropos)、man -f(whatis)。 unameはカーネル名、-rリリース、-mハードウェア、-nホスト名、-a全部。