1. 程式人生 > >積累命令、用戶、正則表達式

積累命令、用戶、正則表達式

pool 連接 roc 禁止 啟用 新的 text modify deb

1  如何保存linux歷史命令並顯示命令操作時間
      HISTTIMEFORMAT="%F %T"
2  basename命令:     取路徑基名
3  dirname命令:      取路徑名
4  stat命令:        查看文件狀態
    Access最後訪問時間(讀取)
    Modify內容修改的時間
    Change狀態修改時間(屬性、權限)
4  help 內部命令列表
5  enable cmd         啟用內部命令
6  enable –n cmd       禁用內部命令
7  enable –n          查看所有禁用的內部命令
8  hash          顯示hash緩存
              –l 顯示hash緩存
              –r 清除緩存
9  date          顯示和設置系統時間 (+%F%T)
10 hwclock,clock: 顯示硬件時鐘
             -s, 以硬件時鐘為準
             -w, 以系統時鐘為準
11 顯示日歷:cal  (–y)


輸入輸出重定向
鍵盤     stdin     0     標準輸入
顯示器  stdout   1    標註輸出
顯示器  stderr   2     標準錯誤
/dev/null          黑洞、回收站
hexdump -C          轉換16進制查看
set -C             禁止將內容覆蓋,但可追加
set +C            允許覆蓋
.>|             強制覆蓋
.>              覆蓋式輸出
.>>              原有內容基礎上追加內容
2>            錯誤輸出
2>>            錯誤輸出追加
&>              把所有輸出重定向到文件
&>>              追加式輸出所有
ls >>1 2>>2          正確命令輸出到1文件 錯誤輸出到2文
(命令1,命令2) >文件1   多個命令都寫入文件1中


tr 轉換和刪除字符
              -s壓縮
              -d刪除
              -c取字符補集
              -t將第一字符替換為第二字符
例如
技術分享圖片
tr ‘a-z‘ ‘A-Z‘ < file1 將文件中小寫字母都替換成大寫字母
技術分享圖片
tr -d abc < file1 刪除file1文件中的所有abc字母
技術分享圖片
使用文件代替鍵盤的輸入
技術分享圖片
cat < file1 >> file2 讀取file1內容追加到file2中
技術分享圖片


| 管道符
echo {1..100} | tr ‘ ‘ + | bc
seq 100 seq -s + 100 |bc

用戶和組的配置文件
新建用戶會默認生成
/etc/passwd            用戶信息文件
/etc/shadow            影子文件
/etc/group              組信息文件
/etc/gshadow            組密碼文件
/home/              用戶家目錄
/var/spool/mail            用戶郵箱

  • useradd             用戶創建命令
         -u 指定UID
         -o 配合-u使用,不檢查UID的唯一性
         -g 指定所屬組
         -c 用戶的註釋信息
         -d 指定家目錄
         -s 指定默認shell程序
         -G 指定附加組
         -r 創建系統用戶
         -m 創建家目錄,用於系統用戶
         -M 不創建家目錄,用於非系統用戶

vim /etc/default/useradd      創建用戶的默認值設定
usermod              用戶屬性修改
        -u 新的UID
        -g 新的主組
        -G 新的附加組(配合-a使用,保留原有附加組)
        -s 新的默認SHELL
        -c 新的註釋信息
        -L 臨時鎖定普通用戶
        -U 解鎖用戶
userdel        -r 刪除用戶
id 查看用戶相關的ID信息
         -u 顯示UID
         -g 顯示GID
         -G 顯示附加組
su -         登錄式切換用戶       su 非登錄式切換
passwd  設置密碼
        -d 刪除指定用戶密碼
        -l 鎖定指定用戶
        -u 解鎖用戶
        -e 強制用戶下次登錄修改密碼
groupadd 創建組
         -g 指定GID
         -r 創建系統組
groupmod 修改組屬性
         -n 新名字
         -g 新的GID
groupdel 刪除組

cat       -E 顯示行結束符$
         -A 顯示所有控制符
         -s壓縮連續的空行成一行
tac
rev             以字符為單位反序輸出    cat /etc/passwd |rev
cut -d -f          抽取指定分隔符和第幾個字段
paste file1 file2       合並兩個文件
        -d指定分隔符,默認用TAB
        -所有行合成一行顯示
wc   收集文本統計數據
        -l 只計數行數
        -w 只計數單詞總數
        -c 只計數字節總數
sort   排序命令
        -t指定分隔符
        -k [n,m] 按照指定的字段範圍排序
        -n以數值型進行排序
        -r反向排序
        -R隨機排序
uniq  -c  統計出現的次數
   -d 取相同的
   -u 取各不相同的
diff -u file1 file2 > file3        比較兩個文件然後運算出file3
patch file1 file3            使用patch通過file1和file3可以找回file2(但是找回的時候file2會覆蓋file1,所以需要提前先把file1備份)
ss -nt               查看遠程連接
grep 文本搜索工具
        --color=auto對匹配到的文本著色顯示
        -v 顯示不匹配到的行
        -i 忽略大小寫
        -n 顯示匹配的行號
        -c 統計匹配的行數
        -o 僅顯示匹配到的字符串
        -E 使用擴展功能
        -e 使用多個選項間的邏輯關系
        -A 匹配的行加上後幾行
        -B 匹配的行加上前幾行
        -C 匹配的行加上前後各幾行
        -w 匹配整個單詞


基本正則表達式
. 匹配任意單個字符
[] 匹配指定範圍內的任意單個字符
[^] 匹配指定範圍外的任意單個字符
[:alnum:] : 字母和數字
[:alpha:] : 字母
[:digit:] : 數字
[:lower:] : 小寫字母
[:upper:] : 大寫字母
[:xdigit:] : 六進制字符
[:blank:] : 空格和制表符
[:space:] : 空白字符(水平加垂直比blank廣泛)
[:print:] : 可打印的非空白字符
[:punct:] : 標點符號
[:graph:] : 可打印的非空白字符
匹配前面的字符任意次,包括0次(貪婪模式:盡可能長的匹配)
.
任意長度的任意字符
\? 匹配其前面的字符0或1次
\ +匹配其前面的字符至少1次
{n} 匹配前面的字符n次
{m,n} 匹配前面的字符至少m次至多n次
{,n} 匹配前面的字符至多n次
{n,} 匹配前面的字符至少n次
^ 行首錨定
$ 行尾錨定
^$ 空行
\<或\b詞首錨定
\>或\b詞尾錨定
\< word \> 匹配整個單詞
() 分組

積累命令、用戶、正則表達式