|
管道、重定向、vim編輯器 多操作幾次自然而然就記住了 一. 管道 將一個(gè)命令的輸出(結(jié)果)作為輸入給另一個(gè)命令處理,管道可以有多個(gè) # stat 1 | tail -3 # tail -5 /etc/passwd |head -1 # cat /etc/passwd |wc -l wc 統(tǒng)計(jì)有多少行,字符等 -l lines,行數(shù) -L 字符串最大長(zhǎng)度(不包含結(jié)束符) -c/-m 字符(linux系統(tǒng)中的字符串有一個(gè)結(jié)束符‘\0’) -w 單詞 # cat /etc/passwd |grep root |wc -l grep 查找內(nèi)容 # cd /etc # grep root * --表示在當(dāng)前目錄的所有文件里查找有root關(guān)鍵字的行 處理字符串命令: cut --切割 -d --分割符 -f --列 ,負(fù)數(shù)也可以 sort --排序 -n --按照數(shù)字大小排序,從小到大 -r -n --按照數(shù)字大小排序,從大到小 uniq --重復(fù)的次數(shù) -c --重復(fù)次數(shù) tr --刪除或替換字符串(替換的可以是字母、數(shù)字、符號(hào)等) -d --刪除 # cat /etc/passwd | head -1 | cut -d':' -f2 # cat /etc/passwd | head -1 | cut -d':' -f1,2 # cat /etc/passwd | head -1 | cut -d ':' -f -2 # cat /etc/passwd | cut -d':' -f3 | sort -n # cat /etc/passwd |cut -d':' -f7 | uniq -c # cat /etc/passwd | head -1 | tr ':' ',' --將':'替換成',' # cat /etc/passwd | head -1 | tr -d ':' # cat /etc/passwd | head -1 | tr ':' '\n' # cat /etc/passwd | head -1 | tr ':' 'A' # cat /etc/passwd | head -1 | tr 'root' 'ROOT' 二. 重定向 0 標(biāo)準(zhǔn)輸入(stdin) ----- 終端 --------標(biāo)準(zhǔn)輸出(stdout) 1 | | 錯(cuò)誤輸出(stderr) 2 /dev/stdin 標(biāo)準(zhǔn)輸入設(shè)備(鍵盤) /dev/stdout 標(biāo)準(zhǔn)輸出設(shè)備 /dev/stderr 標(biāo)準(zhǔn)輸出設(shè)備 # ls /proc/self/fd/ 0 1 2 3 --0,1,2系統(tǒng)自動(dòng)創(chuàng)建 標(biāo)準(zhǔn)輸入:指你鍵盤的輸入 標(biāo)準(zhǔn)輸出:指結(jié)果里正確的輸出,一般的設(shè)備是屏幕,可以用> 或者 1> 來(lái)重定向 錯(cuò)誤輸出:指結(jié)果里錯(cuò)誤的輸出,一般的設(shè)備是屏幕,可以用 2> 來(lái)重定向 將本來(lái)輸出到屏幕的內(nèi)容輸出到其他地方 # ls > 1.txt --重定向到某個(gè)文件(標(biāo)準(zhǔn)輸出) # ls abc 2> 1.txt --重定向到某個(gè)文件(標(biāo)準(zhǔn)出錯(cuò)) # ls &> 1.txt --&,表示1,2,清空內(nèi)容再寫入 # ls 1.txt aaa > 1.txt 2>&1 --2>&1與&>作用一樣 # ls abc &>> 1.txt -->>,追加內(nèi)容 # ls install.log.syslog fdsafasf 1> 1.txt 2> 2.txt # cat 1.txt > /dev/null --/dev/null類似一個(gè)黑洞設(shè)備 # echo 123 > 1.txt --覆蓋之前的內(nèi)容 # echo 456 >> 1.txt --追加內(nèi)容 # wc -l < 1.txt --將文件的內(nèi)容重定向出來(lái) 2 # cat > 1.txt hello hello --ctrl+d結(jié)束 # cat 1.txt hello hello # cat > 123.txt << EOF --EOF是end of file的縮寫,就是一個(gè)標(biāo)記 > 111 > 222 > EOF # cat >> 123.txt << HAHA --相比于上一條,這是追加內(nèi)容,而且標(biāo)記不一定要用EOF,只要前后一致成對(duì)出現(xiàn)就可以 > 333 > 444 > HAHA 三. vim編輯器的使用 vi vim (增強(qiáng)版vi,現(xiàn)在基本各種linux版本都帶有vim) vi 有三種模式: 1,一般普通模式: 2,編輯模式: i I o O a A r R 3,命令行模式: : / ? 一般普通模式: 移動(dòng)光標(biāo)的方法 h 向左箭頭鍵(←) 光標(biāo)向左移動(dòng)一個(gè)字符 j 向下箭頭鍵(↓) 光標(biāo)向下移動(dòng)一個(gè)字符 k 向上箭頭鍵(↑) 光標(biāo)向上移動(dòng)一個(gè)字符 l 向右箭頭鍵(→) 光標(biāo)向右移動(dòng)一個(gè)字符 ctrl+b 向上翻頁(yè) = page up ctrl+f 向下翻頁(yè) = page down + 光標(biāo)移動(dòng)到非空格符的下一行 - 光標(biāo)移動(dòng)到非空格符的上一行 0 行首 $ 行尾 G 文件最后一行 gg 文件第一行 n 查找 /xxx或者?xxx 查找某個(gè)單詞 n 向下接著找 N 向上接著找 替換(switch) :n1,n2s/old/new/g 從n1到n2行將old替換成new,g表示替換所有的(global) :1,$s/old/new/g 將整個(gè)文件的old替換成new :%s/old/new/g 將整個(gè)文件的old替換成new :%s#old#new#g 將整個(gè)文件的old替換成new :1,$s/old/new/gc c=確認(rèn)(confirm) 復(fù)制粘貼和刪除 x,X x向后刪除一個(gè)字符,X向前刪除一個(gè)字符 dw 刪除一個(gè)單詞 word dd 刪除一行 delete ndd 刪除n行 dG 刪除光標(biāo)所在行到文件最后一行的內(nèi)容 d$ 刪除光標(biāo)所在處,到該行的最后一個(gè)字符 d0 刪除光標(biāo)所在處,到該行的最前面一個(gè)字符 yy 復(fù)制一行 yank nyy 復(fù)制n行 p,P 粘貼 paste u 還原,撤銷 undo ctrl+r 重做 插入模式: i,I 光標(biāo)所在處插入 o,O 下一行插入 a,A 光標(biāo)所在下一個(gè)字符處插入 r,R r替換一個(gè)字符,R會(huì)一直替換光標(biāo)所在的文字,直到按下ESC為止 [Esc] 退出編輯模式,回到一般模式中 指令模式: :w 存檔(write) :q! quit,退出,!,強(qiáng)制 :qa 退出所有的窗口 :wq! 保存并退出 :x 保存并退出 ZZ 保存并退出 :w [filename] 另存為 :r [filename] 將另外一個(gè)文件讀入到正在編輯的文件 :n1,n2 w [filename] 將n1到n2的內(nèi)容儲(chǔ)存成filename文件 :n n是數(shù)字,快速定位到n行($) vim 1.txt +100 打開(kāi)1.txt光標(biāo)直接到100行 :set nu 顯示行號(hào) :set nonu 取消行號(hào) :set ic(ignorecase 的縮寫) 忽略大小寫 :set noic(noignorecase 的縮寫) 不忽略大小寫 區(qū)塊選擇: v 字符選擇 V 行選擇 ctrl+v 區(qū)塊選擇 y 將反白的地方復(fù)制 d 將反白的地方刪除 p 粘貼 n > 右移 n < 左移 多窗口功能: :sp [filename] 水平多窗口 sp = splite 分割 :vsp [filename] 垂直多窗口 v = vertical splite ctrl+w+w 在不同的窗口之間切換 vim環(huán)境設(shè)定: /etc/vimrc 全局配置文件 ~/.vimrc 用戶的配置文件 --手動(dòng)創(chuàng)建 作業(yè): 創(chuàng)建一個(gè)文件命名為test.txt,把/etc/passwd文件的內(nèi)容全部導(dǎo)入test.txt中 把test.txt文件中的第10行到15行刪除 第1到第9行復(fù)制到文件的最后 把所有的:號(hào)替換成*號(hào),所有的bin替換成sbin 保存退出 很多命令 是要多操作幾次才能記住的,其實(shí)命令也不多的,經(jīng)常用習(xí)慣就好了,不難的 |
|
|