Bash命令行編輯模式1. 兩種模式:
emacs和
vi,默認是
emacs.2. 可以通過
set -o vi/emacs切換模式
3. 可以通過
set -o查看當前是什么模式,即是vi on還是emacs on。
4.
set命令可以通過
help set來查看具體用法;通過
set -o [option]打開某個屬性,通過
set +o [option]關閉某個屬性值。
emacs命令行編輯模式
對字符(ctrl):
前移一個字符:
ctrl+f 后移一個字符:
ctrl+b 刪除前一字符:
ctrl+h/del/backspace 刪除后一字符:
ctrl+d對單詞(esc):
前移一個單詞:
esc+f 后移一個單詞:
esc+b 刪除前一單詞:
esc+ctrl+h,或
ctrl+w/esc+del/esc+backspace 刪除后一單詞:
esc+d 恢復最后刪除的項:
ctrl+y(目前知道的:對使用ctrl+h、ctrl+d、backspace、delete等刪除的字符無效,對使用ctrl+w、esc+ctrl+h、esc+d等鍵刪除的字符有用)
對于行(ctrl):
移動到行首:
ctrl+a 移動到行尾:
ctrl+e 從光標所在刪除直到行首:
ctrl+u 從光標所在刪除直到行尾:
ctrl+k對歷史命令: 移動到前一歷史命令:
ctrl+p 移動到后一歷史命令:
ctrl+n 移動到第一個歷史命令:
esc+< 移動到最后一個歷史命令:
esc+> 在歷史命令中反向搜索:
ctrl+r(若找到的一個不符合,可以繼續按ctrl+r,會一直以查找的字符串向上找)命令行補齊: 通用熱鍵: 補齊命令行:
tab 列出所有可能的備選項:
esc+? 補齊文件名: 補齊文件名:
esc+/ 列出所有備選文件名:
ctrl+x+/ 補齊用戶名: 補齊用戶名:
esc+~ 列出所有備用用戶名:
ctrl+x+~ 補齊主機名: 補齊主機名:
esc+@ 列出所有備選主機名:
ctrl+x+@ 補齊內置變量: 補齊變量名:
esc+$ 列出所有備選變量名:
ctrl+x+$ 補齊命令名 補齊命令名:
esc+! 列出所有備選命令名:
ctrl+x+! 補齊歷史列表中的命令名:esc+tab雜項命令: 清屏:
ctrl+l 反轉光標所在字符及其前面的字符:
ctrl+t(并且光標向前移動,若一直按,可以將光標前的一個字符向前移動到某個需要的位置) 從光標開始的整個單詞大寫:
esc+u 從光標開始的整個單詞小寫:
esc+l 將光標處的單詞首字母大寫:
esc+cVi模式下的編輯命令常用命令: 刪除前面的字符:
Del/Backspace/ctrl+h 刪除前面的單詞,即刪除至空格:
ctrl+w 輸入結束:
ctrl+d/回車 進入控制模式:
esc控制模式下的命令: 向左移動一個字符
:h 向右移動一個字符
:l 向左移動一個單詞
:b 向右移動一個單詞
:w 移到上一個非空字符的開始
:B 移到下一個非空字符的開始
:W 移到當前單詞的結尾
:e 移到當前非空單詞的結尾
:E 移到行首
:0 移到行內第一個字符
:^ 移到行尾
:$ 輸入控制 在當前字符前插入文本
:i 在當前字符后插入文本
:a 在行首插入文本
:I 在行尾插入文本
:A 用文本覆蓋已存在的文本
:R刪除命令(所有將d換成c,即刪除后進入輸入模式) 向后刪除一個字符:
dh/x 向前刪除一個字符:
dl/X 向后刪除一個單詞:
db 向前刪除一個單詞:
dw 向后刪除一個非空單詞:
dB 向前刪除一個非空單詞:
dW 刪除到行尾:
d$/D 刪除到行首:
d0 刪除整行:
0d$/dd 刪除到行尾,并進入輸入模式:
c$/C 刪除整行,并進入輸入模式:
0c$/cc 恢復刪除:u
歷史了命令搜索 向后移動一條記錄:
k/- 向前移動一條記錄:
j/+ 移動到重復計數指定的行
:G 向后搜索字符串:
/字符串 向前搜索字符串:
?字符串 在前一條搜索命令同一方向的下一條記錄
:n 在前一條搜索命令相反反向的上一條記錄
:N字符查找 向右移到字符x下一次出現的位置:
fx 向左移到字符x前一次出現的位置:
Fx 向右移到字符x下一次出現的位置,并后退一格:
tx 向左移到字符x前一次出現的位置,并前進一格:
Tx 重復上一次查詢命令
:; 以相反方向重復上一次查詢命令
:,雜項命令 轉換當前字符大小寫
:_ 清屏:
ctrl+l 給當前行前加#字符
:#ubuntu添加組、新用戶、密碼、刪除、修改登陸屬性
sudo groupadd hadoop
sudo useradd -s /bin/bash -d /home/hadoop -g hadoop -G sudo hadoop
sudo passwd hadoop
sudo userdel hadoop
sudo groupdel hadoop
sudo usermod <option> <username>
常用的選項包括-c, -d, -m, -g, -G, -s, -u以及-o等
-c comment 指定一段注釋性描述。-d 目錄 指定用戶主目錄,如果此目錄不存在,則同時使用-m選項,可以創建主目錄。-g 用戶組 指定用戶所屬的用戶組。-G 用戶組,用戶組 指定用戶所屬的附加組。-s Shell文件 指定用戶的登錄Shell。-u 用戶號 指定用戶的用戶號,如果同時有-o選項,則可以重復使用其他用戶的標識號。ubuntu切換用戶、添加用戶到sudoerssu <username>
sudo adduser <username> sudo
sudo usermod -a -G sudo <username>
歷史命令記錄文件:
$HISTFILE,一般為用戶目錄下的.bash_history文件,可以通過設置
$HISTFILE變量修改。
只查看zip文件中的內容:
unzip -l filename.zip
zipinfo filename.zip
復制路徑:
cp -r sourceDir destDir
查看文件、目錄大小:
du -sh file/directory
vi命令:
整頁翻頁 ctrl-f ctrl-b
f就是forword b就是backward
翻半頁
ctrl-d ctlr-u
d=down u=up
滾一行
ctrl-e ctrl-y
zz 讓光標所雜的行居屏幕中央
zt 讓光標所雜的行居屏幕最上一行 t=top
zb 讓光標所雜的行居屏幕最下一行 b=bottom
vi/vim 中可以使用 :s 命令來替換字符串。
:s/vivian/sky/ 替換當前行第一個 vivian 為 sky
:s/vivian/sky/g 替換當前行所有 vivian 為 sky
:n,$s/vivian/sky/ 替換第 n 行開始到最后一行中每一行的第一個 vivian 為 sky
:n,$s/vivian/sky/g 替換第 n 行開始到最后一行中每一行所有 vivian 為 sky
n 為數字,若 n 為 .,表示從當前行開始到最后一行
:%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替換每一行的第一個 vivian 為 sky
:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替換每一行中所有 vivian 為 sky
可以使用 # 作為分隔符,此時中間出現的 / 不會作為分隔符
:s#vivian/#sky/# 替換當前行第一個 vivian/ 為 sky/
:%s+/oradata/apras/+/user01/apras1+ (使用+ 來 替換 / ): /oradata/apras/替換成/user01/apras1
awk去其中某幾列數據:
awk -F '|' '{OFS="|"; print $34, $44, $20, $21, $24, $25, $39, $3}' fileName > newFile
-F為原始文件列分隔符,OFS指定新文件列分隔符
awk去重復列:
awk -F '|' '{print $9}' fileName | sort | awk '!a[$0]++'
awk找到一列中值等于match的行:
awk -F '|' '{if ($9 == "match") print $0;}' fileName > newFile
posted on 2011-08-30 00:39
DLevin 閱讀(987)
評論(0) 編輯 收藏 所屬分類:
Linux