1. 程式人生 > >Linux文本編輯命令

Linux文本編輯命令

產生 當前 編輯器 name centos 將不 help 另存為 remove

  • cut 命令用來顯示行中的指定部分,刪除文件中指定字段。cut經常用來顯示文件的內容,類似於下的type命令
    技術分享圖片

    #其中,cut命令中如果要指定多列,-f1可寫為-f1,3,7(逗號隔開即可)

    cut -c 僅顯示指定字段的內容
    cut -d指定字段的分隔符
    cut -b 僅顯示行中指定直接範圍的內容


    • umask 命令用來設置限制新建文件權限的掩碼。新文件創建時的權限是由掩碼決定的。用戶每次註冊進入系統時,umask命令都被執行, 並自動設置掩碼mode來限制新文件的權限。用戶可以通過再次執行umask命令來改變默認值,新的權限將會把舊的覆蓋掉。
        umask 022

    設置掩碼為022,則創建新文件的默認權限就是777-022為755

    即*rwxr-xr-x
    umask值存儲在/etc/bashrc當中,被所有用戶設置使用,存儲在~/.bashrc則只針對某用戶設置生效


    • ACL權限(Access Control List)即訪問控制列表。主要是針對單一用戶,單一文件或目錄進行rwx權限的細部設定。可以針對用戶(User)、群組(Group)、默認屬性掩碼(umask)進行設置。
      centos6當中對新建分區開啟acl的過程
      1.創建分區
      fdisk /dev/sda
      n回車
      回車
      +2G回車
      w回車
      2.同步分區表
      partx -a /dev/sda
      3.創建文件系統
      mkfs.ext4 /dev/sda6
      4.開啟acl支持
      tune2fs -o acl /dev/sda6
      5.查看acl
      tune2fs -l /dev/sda6 |grep option

      getfacl FILENAME/DIRECTORY

    查看文件/目錄的ACL屬性
    技術分享圖片

            setfacl命令是用來在命令行裏設置ACL(訪問控制列表)。
            在命令行裏,一系列的命令跟隨以一系列的文件名。

    -b,--remove-all:刪除所有擴展的acl規則,基本的acl規則(所有者,群組,其他)將被保留。
    -k,--remove-default:刪除缺省的acl規則。如果沒有缺省規則,將不提示。
    -n,--no-mask:不要重新計算有效權限。setfacl默認會重新計算ACL mask,除非mask被明確的制定。

    --mask:重新計算有效權限,即使ACL mask被明確指定。
    -d,--default:設定默認的acl規則。
    --restore=file:從文件恢復備份的acl規則(這些文件可由getfacl -R產生)。通過這種機制可以恢復整個目錄樹的acl規則。此參數不能和除--test以外的任何參數一同執行。
    --test:測試模式,不會改變任何文件的acl規則,操作後的acl規格將被列出。
    -R,--recursive:遞歸的對所有文件及目錄進行操作。
    -L,--logical:跟蹤符號鏈接,默認情況下只跟蹤符號鏈接文件,跳過符號鏈接目錄。
    -P,--physical:跳過所有符號鏈接,包括符號鏈接文件。
    --version:輸出setfacl的版本號並退出。
    --help:輸出幫助信息。
    --:標識命令行參數結束,其後的所有參數都將被認為是文件名
    -:如果文件名是-,則setfacl將從標準輸入讀取文件名。

        setfacl用法()

    技術分享圖片
    清除默認權限

    setfacl -k file

    清除ACL屬性

    setfacl -b file

                acl權限的備份及還原
                                getfacl file |directory > acl.txt
                                setfacl --restore acl.txt
    • sort

              -n 按數字排列
              -r 倒序排列,默認升序
              -t 指定分隔符
              -k 指定哪一列
              -f 忽略大小寫
              -u 刪除重復行
    • uniq

              去除連續重復行,往往和sort配合使用,先排序,再去重
              -c 顯示重復的次數
              -d 僅顯示重復行
              -u 僅顯示非重復行
    • diff

              diff f1 f2 比較兩個文件的不同之處
              diff -u f1 f2 > diff.log
              (此命令可以生成補丁文件,可以用patch打補丁)
    • grep

                  --color=auto 關鍵字高亮顯示
                  -v 反向搜索
                  -i 忽略大小寫
                  -n 顯示行號

    技術分享圖片

                    -c 不顯示搜索結果,僅顯示匹配的行數
                    -o 僅顯示匹配到的字符串
                    -q 靜默輸出
                    -A #  顯示搜索行及其向下相臨的#行
                    -B #  顯示搜索行及其向上相臨的#行
                    -C #  顯示搜索行及其向上和向下相臨的#行
                    -e char1 -e char2 [-e charN] 多個選項間or關系
                    -w 匹配整個單詞
                    -E 或egrep 支持擴展正則表達式
                    -F 或fgrep 不支持正則表達式
    • vim是一款十分強大的文本編輯器,功能繁多熟練掌握則工作效率事半功倍
      當執行vim FILENAME時,若文件存在,則直接打開文件;若文件不存在,則直接創建以FILENAME為名的文件同時打開,並且左下方會提示【new file】技術分享圖片
      如果打開一個已存在的文件則左下方也會有相應提示技術分享圖片

          三種主要模式
                  命令模式 (default): 移動光標,復制,剪切,粘貼,撤銷,重做,搜索,進入其他模式
                      移動光標:
                          h向左移動
                          l向右移動
                          j向下移動
                          k向上移動
                          配合#h,#l,#j,#k可一次性移動#個字符
                          w跳到下一個單詞的詞首
                          b跳到上一個單詞的詞首
                          H跳到當前頁首
                          M跳到當前頁中
                          L跳到當前頁尾
                          gg跳到整個文件的首行
                          G跳到整個文件的末行
                          ^移到非空格開頭的行首
                          $移到行尾
                          #G跳到指定行,或退出模式下:#
                          Ctrl+f: 向文件尾部翻一屏
                          Ctrl+b: 向文件首部翻一屏
                          Ctrl+d: 向文件尾部翻半屏
                          Ctrl+u:向文件首部翻半屏
                      r替換一個字符
                      d剪切
                          dd剪切當前行
                          #dd剪切#行
                          dw剪切一個單詞
                          d^從光標所在處剪切到行首
                          d$或D從光標所在處剪切到行尾
      
                      y復制
                          yy或Y復制當前行
                          #yy復制#行
                          yw復制一個單詞
                          y^從光標所在處復制到行首
                          y$從光標所在處復制到行尾
      
                      p粘貼
                          p當前行向下粘貼或光標所在處向後粘貼
                          P當前行向上粘貼或光標所在處向前粘貼 
                  替換模式 R進入 Esc退出
      
                      從命令模式進入插入模式
                          i光標在哪從哪進入
                          I光標移至行首同時進入插入模式
                          a光標向後移一個字符同時進入插入模式
                          A光標移至行尾同時進入插入模式
                          o光標向下插入一新行同時進入插入模式
                          O光標向上插入一新行同時進入插入模式
                  插入模式:文本編輯
                  退出模式:保存、退出
                          w:保存
                          q:退出
                          q!強制退出
                          wq或x 保存並退出
                          w!當前用戶為該文件所屬人時,如果該文件為read only,可加上!強制保存。
                          在退出模式下返回命令模式EscEsc或Enter
                          r /path/filename 讀取另一個文件的內容並將輸出結果寫入文件
                          w /path/filename 另存為(確認當前用戶對該路徑中的最後一級目錄有wx權限)
                          ! command 執行某條命令,將輸出結果顯示在終端上
                          r! command 執行某條命令,在光標所在的當前行向下插入新行並將輸出結果輸入
                          .! command 執行某條命令,替換光標所在的當前行並將輸出結果輸入

    Linux文本編輯命令