小白的隨堂筆記(重定向,管道,用戶和組,文本工具)

  • 重定向 把輸出和錯誤輸出定向到新文件中
  • c 操作符號 /> 標準輸出重定向 把標準輸出重定向到文件(可覆蓋原有文件)

    2> 錯誤輸出重定向 把錯誤輸出重定向到文件(可覆蓋原有文件)

    &> 把所有輸出重定向到文件

    >> 所有內容基礎上,追加內容

    2>> 追加重定向錯誤輸出數據流

    &>> 追加所有重定向

    2>&1 把錯誤輸出 變成 標準輸出 (跟在最后面)

    1>&2 把標準輸出 變成 錯誤輸出

    set -C 禁止重定向覆蓋

    set -C 允許重定向覆蓋

    倆個命令以上加括號。

    (asdal;hostname) > /app/abc 2> /app/zxc

  • ? C > /path/to/file.out 2>&1 (順序很重要) ? C >> /path/to/file.out 2>&1標準輸出和錯誤輸出各自定向至不同位置 C > /path/to/file.out 2> /path/to/error.out
  • < 標準輸入重定向
  • file + / 查看文件的類型-b 列出文件的辨識結果

    -f filelist 列出文件filelist中文名的文件類型

    -F 使用指點分隔符號替換輸出文件名后默認的 “:” 分隔符

    -L 查看對應軟鏈接對應文件的文件類型

  • ^d 結束(執行命令)^c 退出 (不執行)

    sz 把linux文件傳到windows

  • tr 替換 或 刪除字符tr ‘a-z’ ‘A-Z’ < 文件1 > 文件2

    (把文件1中的小寫字母替換成大寫字母,再輸出到文件2)

    -s 把連續重復的字符以單獨一個字符顯示

    -d 刪除 ‘.’ 刪除.

    -c 取字符集的補集

    -t 將第一個字符集對應字符轉化為第二字符集對應的字符

  • /n 換行
  • cat > 文件 <<Q (結束詞) (或^d)(輸出到文件)
  • 發郵件 mail -s ‘標題’ zhang(用戶)<<Q(結束詞)
  • 管道 | 用來連接命令 (前面必須標準輸出,后面必須標準輸入)輸出 | 輸入 命令 文件 篩選 替換
  • 錯誤命令默認不能通過管道轉發,可利用2>&1 或 |&ls | tr ‘a-z’ ‘A-Z’ 結合多種命令使用
  • 1+2+3+..+100=?ehco {1..100} | tr ‘ ‘ ‘+’ | bc
  • tee 重定向到多個目標ls | tee /date/abc 輸出到端口,且保存到文件

    ls | tee /date/abc |tr ‘a-z’ ‘A-Z’

    (ls輸出到端口且保存到文件abc,再把小寫字母替換為大寫字母)

  • 用戶組和權限管理
  • UID 是用戶賬號的ID號GID 是主組的ID號
  • useradd yang 創建新用戶 yang-u 創建用戶時更改uid (useradd -u 1234 zhang)

    -o 配合-u,不檢查UID的唯一性

    -g GID指明用戶所屬基本組,可為組名,也可GID

    -c 用戶注釋信息

    -d 以指定的路徑(不存在)為家目錄

    -s 指明用戶的默認shell程序

    可用列表在/etc/shells文件中

    -G 為用戶指明附加組 組須事先存在

    -N 不創建私用組做主組,使用users組做主組

    -r 創建系統用戶

    -m 創建家目錄,用于系統用戶

    -M 不創建家目錄,用于非系統用戶

    默認在 /etc/default/useradd 文件中

  • (LR、創建用戶gentoo,附加組為bin和root,默認shell為/bin/csh,注釋信息為 “hello”useradd -G bin,root -s /bin/csh -c’hello’ gentoo)
  • echo zhang. | passwd –stdin zhangpasswd zhang

    修改用戶zhang密碼為zhang.

  • id 用戶名 查看用戶額uid gid group
  • userdel 刪除用戶-r 刪除用戶家目錄
  • usermod 修改用戶屬性-u 新UID

    -g 新主組

    -G 添加附屬組

  • chfn 設置用戶信息finger 查看用戶名的信息
  • (root管理員賬戶可操作)cat /etc/shadow 查看用戶密碼及創建和過期時間

    nano /etc/shadow 更改用戶密碼及創建和過期時間

    cat /etc/passwd 查看用戶及其屬性信息(名稱,UID,主組ID等)

    cat /etc/group 查看組及其屬性信息

    cat /etc/gshadow 查看組密碼及其屬性信息

  • groupadd 創建組-g 指明GID號

    -r 創建系統組

    groupmod 修改組

    -n 新名字

    -g 新GID

    groupdel 刪除組

  • gpasswd 組密碼-a 將用戶添加指定組中

    -d 從指定組中將用戶移除

    -A 設置有管理權限的用戶列表

    newgrp 臨時切換基本組(如果用戶不屬于此組,則需要組密碼)

  • chown 修改文件目錄的 所有者 所屬組chown 所有者 / 修改文件/ 的所有者

    chown :所屬組 / 修改文件/ 的所屬組

    -R 遞歸

  • 組解析庫文件:/etc/groupGRPNAME:x:GID:user1, user2, …

    組名:密碼點位符:GID:以此組為附加組的用戶列表,以逗號分隔

  • getent group 查看組
  • getent passwd + 用戶 查看用戶信息
  • 用戶解析庫:/etc/passwdname:password:UID:GID:GECOS:directory:shell
  • useradd -D 選項:設置某默認選項;-e, –expiredate EXPIRE_DATE:用戶賬號的過期期限;過期后會被鎖定;日期以 YYYY-MM-DD 格式指定

    -f, –inactive INACTIVE:密碼過期后,賬戶被徹底禁用之前的天數。0 表示立即禁用,-1 表示禁用這個功能。

    為用戶提供默認配置的配置文件:

    /etc/login.defs, /etc/default/useradd

  • (1) passwd:修改自己的密碼;(2) passwd username:修改其它用戶的密碼,僅root有此權限;
  • 用戶的權限普通用戶是不能改所屬組,普通用戶無法修改所有者。

    一個用戶對一個目錄有一個讀權限

    對目錄來講沒有執行權限就不能cd進去,不能查看目錄的詳細信息和內容。

    文件能不能刪除 取決于他所在的目錄 x 基礎權限

    修改文件的用戶權限 所有者=用戶

    +R 遞歸

    rwx rwx rwx chmod u+x /

    u g o chmod u+rwx,g+rwx,o+rwx /

    所有者 所屬組 其他

  • umask 對應的權限(可自己設置) default(默認權限)
  • 對目錄 777-umask=default (目錄的最大權限是777)對文件 666-umask=default (文件的最大權限是666)

    對文件觀察結果 有偶數 最終結果default

    有基數 最終結果是偶數不變,基數+1

  • stat -c %a / 以數字的形式顯示文件權限二進制 r=4 w=2 x=1
  • 更改文件權限 ( -rw-rw-rw- chmod 666 / / )更改目錄權限 ( drwxrwxrwx chmod 777 / / )
  • chown 修改文件目錄的 所有者 所屬組chown 所有者 / 修改文件/ 的所有者

    chown :所屬組 / 修改文件/ 的所屬組

    -R 遞歸

  • chgrp +所屬組 修改文件的所屬組 -R 遞歸
  • SUID 繼承二進制程序所有者的權限(只適合運行在二進制的可執行程序)

    chmod u+s / u-s

    SGID 1繼承二進制程序所屬組的權限

    2作用于目錄此目錄新建的文件繼承目錄的所屬組

    chmod g+s / g-s

    sticky 作用于目錄,此目錄文件只能被所有者刪除

    chmod o+t 作用于目錄 o-t

  • chattr 針對指定文件設定 屬性 lsattr 顯示特定屬性+i 不能刪除 更改 改名

    -i 解除

    +a 可以追加

  • ACL 訪問控制列表 實現更加靈活的權限控制setfacl -m u:zhang:rw / 讓zhang用戶 對文件/可讀可寫

    setfacl -m g:yang:x / 讓yang組 對文件/可執行

    setfacl -x …… 解除

    setfacl -b / 解除所有acl

    getfacl / 查看文件控制列表

  • 文本處理工具查看文件內容cat , less(一頁一頁查看)

    文件查看命令: cat tac rev

    cat -E 顯示行結束符$

    -n 對顯示出的每一行進行編號

    -A 顯示所有控制符

    -b 非空行編號

    -s 壓縮連續的空行成一排

  • head 顯示文本前行內容-c# 指定獲取前#字節

    -n# 指定獲取前#行

    -# 指定行數

  • tail 顯示文本后行內容-c# 指定獲取后#字節

    -n# 指定獲取后#行

    -# 指定行數

    -f 跟蹤顯示文件新追加的內容 用于日常監視

    cut 按列抽取文本

    -d 指明分隔符, 默認tab

    -f# 第#個字段

    -c 按字符切割

    顯示文件或STDIN數據的指定列 cut -d: -f1 /etc/passw

  • ifconfig | head -n2 | tail -n1 | tr ‘ ‘ ‘!’ | cut -d! -f10 ? ? ? 取IP地址
  • wc 文本數據統計 (行 單詞 字符)

-l 來只計數行數 ?

-w 來只計數單詞總數 ?

-c 來只計數字節總數 ?

-m 來只計數字符總數

  • sort 整理文本

? -r 執行反方向(由上至下)整理 ?

-n 執行按數字大小整理 ?

-f 選項忽略(fold)字符串中的字符大小寫 ?

-u 選項(獨特,unique)刪除輸出中的重復行 ?

-t c 選項使用c做為字段界定符 ?

-k X 選項按照使用c字符分隔的X列來整理能夠使用多次

diff,patch 比較文件

  • uniq 從輸入中刪除前后相接的重復的行

-c: 顯示每行重復出現的次數

-d: 僅顯示重復過的行

-u: 僅顯示不曾重復的行

 

  • 文本處理工具grep 文本搜索工具,根據用戶指定的“模式” 對目標文本逐行進行匹配檢查,打印匹配到的行.

    -o 僅顯示匹配到的字符串

    -v 顯示不被模式匹配到的行

    -n 顯示匹配的行數

    -c 統計匹配的行數

    -i 忽略字符大小寫

    -q 靜默模式,不輸出任何信息

    -A# 后#行

    -B# 前#行

    -C# 前后各#行

    -e 實現多個選項間的邏輯or關系 grep -e ‘cat’ -e ‘dog’

    -w 匹配整個單詞

    -E 使用ERE

    -F 相當于fgrep,不支持正則表達式

    正則表達式: 由一類特殊字符及文本字符所編寫的模式,其中有些字符(元字符)不表示字符字面意義,而表示控制或通配的功能.

    兩類: 基本正則表達式 ; 擴展正則表達式 (grep -e ; egrep)

    元字符分類: 字符匹配,匹配次數,位置錨定,分組

  • 基本正則表達式元字符:\. 轉義 “.\..” \. 就是.的意思

    . 任意的單個字符 (在括號里就是 .)

    [] 匹配指定范圍內的任意單個字符

    [^] 匹配指定范圍外的任意單個字符

    匹配次數: 用在要指定次數字符后面,指定前面字符要出現的次數

    .* 任意長度的任意字符

    * 匹配前面字符任意次 包括0次

    \? 匹配前面字符的0或1次

    \+ 匹配前面字符1次或n次

    \{n\} 匹配前面字符n次

    \{n,\}匹配前面字符最少n次

    \{,n\}匹配前面字符最多n次

    \{m,n\} 匹配前面字符出現m-n次

如: grep “go\{10\}gle” / o出現十次

go\?gle

“[a-z]\+” a-z 任意一個出現一次或多次

{1,5\} 1-5 個字符

  • 位置錨定: 定位出現的位置

^ 行首錨定,用于模式的行首 “^zhang”

$ 行尾錨定,用于模式的行尾 “zhang$”

^pattren$ 用于模式匹配整行

^$ 空行

^[[:space:]]*$ 空白行 (空格 Tab)

\<或\b 詞首錨定,用于單詞模式的行首

\>或\b 詞尾錨定,用于單詞模式的行尾

\<pattern\> 匹配整個單詞

  • 分組 : \(\) 將一個或多個字符捆綁在一起,當作一個整體進行處理.如: \(root\)\+分組括號中的模式匹配到的內容會被正則表達式引擎記錄于內部的變量中,這些變量的命名方式為:\1,\2,\3…

    \1 表示從行首起第一個左括號以及與之匹配右括號之間的模式所匹配到的字符

    如: \(zhang1\+\(zhang2\)*\) \1 : zhang1\+\(zhang2\)* \2 : zhang2

    后向引用:引用前面的分括號中的模式所匹配字符,而非模式本身

    或者:\| a\|b a或b \(C\|c\)at Cat或cat

    egrep及擴展正則表達式

    egrep = grep -E

    字符匹配:

    . 任意單個字符

    .* 任意長度的任意字符

    [] 指定范圍的字符

    [^] 不在指定范圍的字符

    * 匹配前面的字符任意次

    ? 0或1次

    + 1次或多次

    {m} 匹配m次

    {m,n} 匹配m-n次

    位置錨定:

    ^ :行首 $ :行尾 \<, \b :語首 \>, \b :語尾 ?

    分組:

    () 后向引用:\1, \2, … ?

    或者:

    a|b: a或b C|cat: C或cat (C|c)at:Cat或cat

  • vim 文本編輯器行編輯器 sed 全屏編輯器 nano vim
  • 三種主要模式:?命令(Normal)模式: 默認模式,移動光標,剪切/粘貼文本

    ?插入(Insert)或編輯模式: 修改文本 ?

    擴展命令(extended command )模式: 保存,退出等

    i–編輯模式

    :–擴展模式

    v–編輯模式

    Esc 退出當前模式, 總是返回到命令模式

  • vim +/ 打開文件-b 二進制方式打開文件

    -d 比較多個文件

    -m 只讀打開文件

    -e 直接進入ex模式

    命令模式:

    i 在光標處輸入

    I 在當前光標行首輸入

    x 刪除光標處的字符

    ~ 轉化大小寫

    r 替換光標所在處的字符

    dd 刪除整行

    y 復制

    Y 復制整行

    p 粘貼

    擴展模式:

    :q 退出

    :q! 強制退出不做修改

    :wq 保存退出 / / 保存到新建文件下

    :x 保存退出

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/95556

(1)
kar.98k_kar.98k_
上一篇 2018-04-08 22:12
下一篇 2018-04-08 23:02

相關推薦

  • rpm

    rpm

    Linux筆記 2018-04-22
  • FTP服務介紹及相關實驗

    FTP是File Transfer Protocol(文件傳輸協議)的英文簡稱,而中文簡稱為“文傳協議”。用于Internet上的控制文件的雙向傳輸。FTP協議是早期的三個應用級協議之一。

    2018-06-26
  • 第二周作業

    第二周

    Linux筆記 2018-05-20
  • 網絡基礎

    1、網絡的特征
    2、OSI模型的七層結構
    3、LAN組成

    Linux筆記 2018-06-19
  • 學習liunx 系統筆記

    服務器按應用功能可分為:web 服務器 ? 數據庫服務器 ? 文件服務器 ?中間件應用服務器 ?日子服務器 ? 監控服務器 ? 程序版本控制服務器 ?虛擬機服務器 ? ? 郵件服務器 ? 打印服務器 ? 域控制服務器 ?多媒體服務器 ?通訊服務器 ? ?ERP 服務器等! 服務器按外形可分為:塔式服務器 ? 、機架式服務器 ?、刀片式服務器。  

    Linux筆記 2018-04-01
  • Linux下history的用法

    Linux下history的用法 如果你經常使用Linux命令,那么使用history命令無疑會提升你的工作效率。history命令主要用于顯示歷史指令記錄內容, 通過快捷鍵快速下達歷史紀錄中的指令, -c: 清空命令歷史 清空內存中的歷史記錄 -d offset: 刪除歷史中指定的第offset個命令 例如 history -d 153 刪除第153條記錄…

    2018-04-01
欧美性久久久久