LINUX命令快速上手

LINUX命令快速上手

快速目錄:

vi 命令:

    讀取文件:vi file.txt
    編輯文件:i
    查找字符串:/hello
    保存並退出:點擊"Esc",然後輸入“:wq”,然後回車
    直接退出:點擊"Esc",然後輸入“:q!”,然後回車

    **光標移動**
    光標跳到當前行末尾:$
    光標跳到當前行首尾:0(零)

    **屏幕翻滾類命令: **
    向文件首翻半屏 :Ctrl+u
    向文件尾翻半屏 :Ctrl+d
    向文件尾翻一屏: Ctrl+f
    向文件首翻一屏 :Ctrl+b

    **移動光標類命令**
    光標左移一個字符:h
    光標右移一個字符:l
    光標右移一個字符:space
    光標左移一個字符:Backspace
    光標上移一行:k或Ctrl+p
    光標下移一行:j或Ctrl+n
    光標移至屏幕中間行:M
    光標移至屏幕最後行:L
    光標下移一行:Enter
    光標右移一個字至字首:w或W
    光標左移一個字至字首:b或B
    光標右移一個字至字尾:e或E
    光標移至句尾:)
    光標移至句首 (
    光標移至段落開頭:}
    光標移至段落結尾:{
    光標移至第n行首:nG
    光標下移n行:n+
    光標上移n行:n-
    光標移至第n行尾:n$
    光標移至屏幕頂行:H
    光標移至當前行首:0(注意是數字零)
    光標移至當前行尾:$

    **插入文本類命令 **
    在光標前:i
    在當前行首:I
    光標後:a
    在當前行尾:A
    在當前行之下新開一行:o
    在當前行之上新開一行:O
    替換當前字符:r
    替換當前字符及其後的字符,直至按ESC鍵:R
    從當前光標位置處開始,以輸入的文本替代指定數目的字符:s
    刪除指定數目的行,並以所輸入文本代替之:S
    修改指定數目的字:ncw或nCW
    修改指定數目的行:nCC

    **刪除命令 **
    刪除光標處開始及其後的n-1個字:ndw或ndW
    刪至行首:do
    刪至行尾:d$
    刪除當前行及其後n-1行:ndd
    刪除一個字符,x刪除光標後的,而X刪除光標前的:x或X
    刪除輸入方式下所輸入的文本:Ctrl+u

    **搜索及替換命令 **
    從光標開始處向文件尾搜索pattern:/pattern
    從光標開始處向文件首搜索pattern:?pattern
    n在同一方向重複上一次搜索命令:
    N在反方向上重複上一次搜索命令:
    將當前行中所有p1均用p2替代:s/p1/p2/g
    將第n1至n2行中所有p1均用p2替代:n1,n2s/p1/p2/g
    將文件中所有p1均用p2替換:g/p1/s//p2/g

    **選項設置 **
    列出所有選項設置情況:all
    設置終端類型:term
    在搜索中忽略大小寫:ignorance
    顯示製表位(Ctrl+I)和行尾標誌($):list
    顯示行號:number
    顯示由面向行的命令修改過的數目:report
    顯示簡短的警告信息:terse
    在轉到別的文件時若沒保存當前文件則顯示NO write信息:warn
    允許在搜索模式中,使用前面不帶“\”的特殊字符:nomagic
    禁止vi在搜索到達文件兩端時,又從另一端開始:nowrapscan
    允許vi顯示其他用戶用write寫到自己終端上的信息:mesg

find命令:

    列出當前目錄及子目錄下所有文件和文件夾:

    在/home目錄下查找以.txt結尾的文件名:find /home -name "*.txt"
    同上,但忽略大小寫:find /home -iname "*.txt"

    當前目錄及子目錄下查找所有以.txt和.pdf結尾的文件:
    find . \( -name "*.txt" -o -name "*.pdf" \)
    或find . -name "*.txt" -o -name "*.pdf" 

    匹配文件路徑或者文件:find /usr/ -path "*local*"
    基於正則表達式匹配文件路徑:find . -regex ".*\(\.txt|\.pdf\)$"
    同上,但忽略大小寫:find . -iregex ".*\(\.txt|\.pdf\)$"

    否定參數
    找出/home下不是以.txt結尾的文件:find /home ! -name "*.txt"
    根據文件類型進行搜索:find . -type 類型參數
    類型參數列表:
    f 普通文件
    l 符號連接
    d 目錄
    c 字符設備
    b 塊設備
    s 套接字
    p Fifo

    基於目錄深度搜索:
    向下最大深度限制爲3:find . -maxdepth 3 -type f
    搜索出深度距離當前目錄至少2個子目錄的所有文件:find . -mindepth 2 -type f
    根據文件時間戳進行搜索:find . -type f 時間戳

    UNIX/Linux文件系統每個文件都有三種時間戳:
    訪問時間(-atime/天,-amin/分鐘):用戶最近一次訪問時間。
    修改時間(-mtime/天,-mmin/分鐘):文件最後一次修改時間。
    變化時間(-ctime/天,-cmin/分鐘):文件數據元(例如權限等)最後一次修改時間。
    搜索最近七天內被訪問過的所有文件:find . -type f -atime -7
    搜索恰好在七天前被訪問過的所有文件:find . -type f -atime 7
    搜索超過七天內被訪問過的所有文件:find . -type f -atime +7
    搜索訪問時間超過10分鐘的所有文件:find . -type f -amin +10
    找出比file.log修改時間更長的所有文件:find . -type f -newer file.log

    根據文件大小進行匹配
    find . -type f -size 文件大小單元
    文件大小單元:
    b —— 塊(512字節)
    c —— 字節
    w —— 字(2字節)
    k —— 千字節
    M —— 兆字節
    G —— 吉字節

    搜索大於10KB的文件:find . -type f -size +10k
    搜索小於10KB的文件:find . -type f -size -10k
    搜索等於10KB的文件:find . -type f -size 10k

    刪除匹配文件
    刪除當前目錄下所有.txt文件:find . -type f -name "*.txt" -delete

    根據文件權限/所有權進行匹配
    當前目錄下搜索出權限爲777的文件:find . -type f -perm 777
    找出當前目錄下權限不是644的php文件:find . -type f -name "*.php" ! -perm 644
    找出當前目錄用戶tom擁有的所有文件:find . -type f -user tom
    找出當前目錄用戶組sunk擁有的所有文件:find . -type f -group sunk

    藉助-exec選項與其他命令結合使用
    找出當前目錄下所有root的文件,並把所有權更改爲用戶tom
    find .-type f -user root -exec chown tom {} \;
    上例中,{} 用於與-exec選項結合使用來匹配所有文件,然後會被替換爲相應的文件名。

    找出自己家目錄下所有的.txt文件並刪除:find $HOME/. -name "*.txt" -ok rm {} \;
    上例中,-ok和-exec行爲一樣,不過它會給出提示,是否執行相應的操作。

    查找當前目錄下所有.txt文件並把他們拼接起來寫入到all.txt文件中:
    find . -type f -name "*.txt" -exec cat {} \;> all.txt
    find . -type f -mtime +30 -name "*.log" -exec cp {} old \;

    找出當前目錄下所有.txt文件並以“File:文件名”的形式打印出來:
    find . -type f -name "*.txt" -exec printf "File: %s\n" {} \;
    因爲單行命令中-exec參數中無法使用多個命令,
    以下方法可以實現在-exec之後接受多條命令:-exec ./text.sh {} \;

    搜索但跳出指定的目錄
    查找當前目錄或者子目錄下所有.txt文件,但是跳過子目錄sk
    find . -path "./sk" -prune -o -name "*.txt" -print
    find其他技巧收集
    要列出所有長度爲零的文件:find . -empty
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章