天天看點

Linux常用指令記錄

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+c

vi模式下的編輯指令

常用指令:

    删除前面的字元: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

    重複上一次查詢指令:;

    以相反方向重複上一次查詢指令:,

雜項指令

    轉換目前字元大小寫:_

    給目前行前加#字元:#

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切換使用者、添加使用者到sudoers

su <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

: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

繼續閱讀