上善若水
          In general the OO style is to use a lot of little objects with a lot of little methods that give us a lot of plug points for overriding and variation. To do is to be -Nietzsche, To bei is to do -Kant, Do be do be do -Sinatra
          posts - 146,comments - 147,trackbacks - 0
          Bash命令行編輯模式
          1. 兩種模式:emacsvi,默認是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
              重復上一次查詢命令:;
              以相反方向重復上一次查詢命令:,

          雜項命令
              轉換當前字符大小寫:_
              清屏: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切換用戶、添加用戶到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

          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 閱讀(990) 評論(0)  編輯  收藏 所屬分類: Linux
          主站蜘蛛池模板: 久治县| 铅山县| 河北省| 烟台市| 长子县| 土默特右旗| 顺平县| 文昌市| 平谷区| 连云港市| 沙洋县| 平远县| 嘉鱼县| 昂仁县| 咸阳市| 元谋县| 陇西县| 临桂县| 长岭县| 江华| 麻栗坡县| 临颍县| 宿州市| 磐石市| 吉木萨尔县| 清原| 汝城县| 交口县| 彩票| 长泰县| 叶城县| 荥阳市| 庆城县| 灵璧县| 新乡县| 全州县| 沅江市| 建始县| 佛坪县| 白玉县| 百色市|