
Unix/Linux のコマンドライン機能とコツを共有してください。可能であれば、シェル/ディストリビューションに依存しないようにしてください。エイリアス、ワンライナー、キーボード ショートカット、小さなシェル スクリプトなどに興味があります。
答え1
これは!!
、この答え実際には、忘れられがちな履歴関連のコマンドがたくさんあります (Up入力したことがわかっているコマンドを探す代わりに、100 回も入力する傾向があります)。
- この
history
コマンドは、最近実行されたコマンドのリストを左側のイベント指定子とともに表示します。 !N
イベント指定子に関連付けられたコマンドを置き換えますN
!-N
N
は、最新のコマンドを置き換えます。たとえば、!-1
最新のコマンド、!-2
2 番目に最近のコマンドなどを置き換えます。- 他の回答で述べたように、
!!
はの省略形であり!-1
、最後のコマンドを素早く置き換えることができます。 !string
で始まる最新のコマンドを置き換えますstring
!?string?
最も最近のコマンドを置き換えますstring
履歴コマンドに単語指定子を追加して、!
結果を変更できます。イベント指定子と単語指定子はコロンで区切ります (例 ) 。単語指定子を使用する場合、!!:0
イベント指定子は!!
just に省略できるため、と同等です。!
!!:0
!:0
!:0
実行されたコマンドを取得します!:1
最初の引数(および!:2
2番目など)を取得します。!:2-3
2番目と3番目の引数を取得します!:^
最初の引数を取得する別の方法です。!:$
最後の引数を取得します!:*
すべての引数を取得します(ただしないコマンド)
履歴コマンドには修飾子を追加することもできます。修飾子!
にはそれぞれコロンを先頭に付けます。任意の数字を積み重ねることができます (例: !:t:r:p
)。
h
-- ベースファイル名に合わせるt
-- ベースファイル名のみr
-- ファイル名の拡張子に合わせて並べるe
-- ファイル名拡張子のみs/search/replacement
search
-- の最初の出現をreplacement
gs/search/replacement
search
--のすべての出現をreplacement
答え2
bash -- 前の行の最後のパラメータを挿入する
alt-. これまでで最も便利なキーの組み合わせです。試してみてください。なぜか誰もこれを知りません。
もう一度押すと、古い最後のパラメータが選択されます。
先ほど使用した引数/ファイルに対してさらに何かを実行したい場合に最適です。
答え3
私のお気に入りは
man 7 ascii
シンプルでとても便利です。
Oct Dec Hex Char Oct Dec Hex Char
────────────────────────────────────────────────────────────────────────
000 0 00 NUL '\0' (null character) 100 64 40 @
001 1 01 SOH (start of heading) 101 65 41 A
002 2 02 STX (start of text) 102 66 42 B
003 3 03 ETX (end of text) 103 67 43 C
004 4 04 EOT (end of transmission) 104 68 44 D
005 5 05 ENQ (enquiry) 105 69 45 E
006 6 06 ACK (acknowledge) 106 70 46 F
007 7 07 BEL '\a' (bell) 107 71 47 G
010 8 08 BS '\b' (backspace) 110 72 48 H
011 9 09 HT '\t' (horizontal tab) 111 73 49 I
012 10 0A LF '\n' (new line) 112 74 4A J
013 11 0B VT '\v' (vertical tab) 113 75 4B K
014 12 0C FF '\f' (form feed) 114 76 4C L
015 13 0D CR '\r' (carriage ret) 115 77 4D M
016 14 0E SO (shift out) 116 78 4E N
017 15 0F SI (shift in) 117 79 4F O
020 16 10 DLE (data link escape) 120 80 50 P
021 17 11 DC1 (device control 1) 121 81 51 Q
022 18 12 DC2 (device control 2) 122 82 52 R
023 19 13 DC3 (device control 3) 123 83 53 S
024 20 14 DC4 (device control 4) 124 84 54 T
025 21 15 NAK (negative ack.) 125 85 55 U
026 22 16 SYN (synchronous idle) 126 86 56 V
027 23 17 ETB (end of trans. blk) 127 87 57 W
030 24 18 CAN (cancel) 130 88 58 X
031 25 19 EM (end of medium) 131 89 59 Y
032 26 1A SUB (substitute) 132 90 5A Z
033 27 1B ESC (escape) 133 91 5B [
034 28 1C FS (file separator) 134 92 5C \ '\\'
035 29 1D GS (group separator) 135 93 5D ]
036 30 1E RS (record separator) 136 94 5E ^
037 31 1F US (unit separator) 137 95 5F _
040 32 20 SPACE 140 96 60 `
041 33 21 ! 141 97 61 a
042 34 22 " 142 98 62 b
043 35 23 # 143 99 63 c
044 36 24 $ 144 100 64 d
045 37 25 % 145 101 65 e
046 38 26 & 146 102 66 f
047 39 27 ' 147 103 67 g
050 40 28 ( 150 104 68 h
051 41 29 ) 151 105 69 i
052 42 2A * 152 106 6A j
053 43 2B + 153 107 6B k
054 44 2C , 154 108 6C l
055 45 2D - 155 109 6D m
056 46 2E . 156 110 6E n
057 47 2F / 157 111 6F o
060 48 30 0 160 112 70 p
061 49 31 1 161 113 71 q
062 50 32 2 162 114 72 r
063 51 33 3 163 115 73 s
064 52 34 4 164 116 74 t
065 53 35 5 165 117 75 u
066 54 36 6 166 118 76 v
067 55 37 7 167 119 77 w
070 56 38 8 170 120 78 x
071 57 39 9 171 121 79 y
072 58 3A : 172 122 7A z
073 59 3B ; 173 123 7B {
074 60 3C < 174 124 7C |
075 61 3D = 175 125 7D }
076 62 3E > 176 126 7E ~
077 63 3F ? 177 127 7F DEL
このウェブサイトをご覧くださいコマンドラインfu.com。
Peteris Kruminsのブログにある以下の4つの記事もご覧ください。
答え4
これが「トリック」になるかどうかはわかりませんが、人々は標準の readline ホットキーをあまり認識していないようです。シェルで特に使用されるもの:
- Ctrl+ U- 現在の行を切り取る
- Ctrl+ - +Yで切り取った線を貼り付けるCtrlU
- Ctrl+ L- 画面をクリアし、現在の行を再描画します
- Ctrl+ G- 新しい行を取得し、現在の行を破棄します