遞歸對於程序猿來講不默認,常常用於級聯關係,一層套一層直達最後一層,在linux的命令中,例如 ls rm mv等等均可以遞歸, 只須要在後面加上-R 便可進行遞歸操做linux
wc命令用來打印文件的文本行數、單詞數、字節數等.less
[root@localhost etc]# wc krb5.conf ----->統計出該文件中的 行數 單詞數 字節數編輯器
獲得的結果是 22 47 449 krb5.conf測試
[root@localhost etc]# wc -l krb5.conf ------>加上-l則是數行數,加上-c則是字節數命令行
能夠利用wc來統計一下目錄中有多少個文件遞歸
[root@localhost etc]# ls | wc – l ------->計算出當前目錄下的文件數
216文檔
-------------------------------利用wc統計------------------------------------字符串
[root@localhost ~]# ls -R directory2/directory3 | less
directory2/directory3:
de123
er
ew
ewfds
qwes
qyv
tytr
[root@localhost ~]# ls -R directory2/directory3 | wc -l
8容器
利用wc統計,會把當前的文件目錄也統計進去百度
[root@localhost ~]# cp -R directory2 cydirectory2 ---->把directory2 裏面文件複製到cydirectory2中(我一直覺得連directory2也包含在其中,其實只是裏面的文件而已)
普通的複製會根據當前運行的用戶來建立權限,若是是須要想保持權限的不變,則須要加上 –p ,則擁有者是不會變化的
vi N多稱之爲編輯器之神,要打開一個文件並編輯它,則只須要駛入 vi file1 則能夠進入到該文件進行編輯
vi有兩種狀態, 命令狀態 與 編輯狀態 ,剛進入的時候是命令狀態.
由命令狀態進入編輯狀態 則 按 i 看到左下方變成 insert 則進入了編輯狀態,還有 a A i I o O s S均可以進入編輯狀態,可是每種命令都帶有其特定的操做模式,對於我這種初學者,就記住其中 一種就能夠了,其他的以後再慢慢了解吧
由編輯狀態進入命令狀態 則是按 esc 按鈕,看到左下方的 insert消失了,則是進入了命令行狀態
---------------------選擇又命令模式進入編輯模式的幾種不一樣的方式--------------------------------
a:從光標所在之處的後面插入新的字符,插入時,插入處後面的字符會隨着新增字符日後移動。
A:從光標所在行的最後處開始加入新的字符。
i:從光標所在之處的前面插入新的字符,插入時,插入處後面的字符會隨着新增字符日後移動。
I:從光標所在行的第一個非空字符前面開始加入新的字符。
o:在光標所在行的下面新增一個空行,並進入插入狀態。
O:在光標所在行的上面新增一個空行,並進入插入狀態。
s:刪除光標所在之處的字符,並進入插入狀態。
S:刪除光標所在的行,並進入插入狀態。
--------------------------------在命令模式刪除字符----------------------------------------------------
x:刪除當前光標的字符
dd:刪除當前光標正行
----------------------------------在命令行中恢復--------------------------------------------
u:至關於平時window下的Ctrl +z 撤銷
ctrl+r:至關於 window 的ctry +y 恢復
-------------------------------替換字-----------------------------------------
R:進入替代狀態,替換多個字符,直至按 Esc 鍵退出替換,左下方會出現 replace
--------------------保存,退出-------------------
:w ---------->若是是舊文件,保存爲當前目錄則直接按回車,,若是是另存爲 則加上 新的文件名
還有各類各樣的快捷方式
:q ----------->退出當前vi模式,若是是改變則保存不了,可使用 q! 強行退出,不保存
:wq --------->先保存再退出
--------------------------搜索文本-------------------------
/:進入搜索模式,輸入須要搜索的字符 , 而後搜索成功的就會變色了,點擊n能夠搜索下一個, N就是上移
?:進入搜索模式,不過是往上搜
f:點擊f後,再按一個字符,則把光標移動到最近當前光標的所輸入的那個字符
使用管道命令符 | ,便可
可是若是一個文件裏面的嵌套的文件好多,那麼若是運行 ls –R 那麼屏幕就會不斷閃動,打印出文件夾中的信息,咱們人類確定看不完啊,因此能夠把其輸出的放到一個容器中,這個容器爲more 或者less ,more是不能爲往上翻的,只能下翻,可是less則能夠上翻或者下翻,命令:ls –R|less
若是在一開始沒有放到容器中,那麼可使用Ctrl+c中止打印.
使用 less -N則能夠連行數也一併輸出
根目錄下的dev的文件是對應管理全部硬件設備的,如鼠標,打印機等
[root@localhost ~]# cat install.log | tee /dev/1p0 --------->使用tee命令,則能夠是打印的同時,把文件的內容輸出大打印機設備(假設dev/1p0)對於打印設備
pr命令可處理其餘命令產生的輸出的格式
-<數字>:表示分欄,分紅數字的欄數
-W:每行字符數,缺省是72。
-l:每頁的行數,缺省爲66。
-h <字符串>:用指定的字符串代替文件名稱做爲題頭
[root@localhost ~]# cat install.log | pr -2 -h"aaaa" –l20 ------->分2欄, 標題爲aaaa 每頁20行
有時候咱們只關心文本的頭尾的部分,那麼能夠指定打印這些頭與尾則可使用命令head或者tail
[root@localhost ~]# tail -20 install.log ---->輸出 install.log文件的尾20行
[root@localhost ~]# head -20 install.log ---->輸出 install.log文件的頭20行
把內容另存爲到另外一個文件中,
[root@localhost ~]# head -20 install.log > newfile ---->把頭20行另存爲newfile的文件中
[root@localhost ~]# tail -20 install.log >> newfile ----->把尾20行添加到newfile文件的尾部
注意:>是重定向輸出到指定文件,若是文件中有內容,則裏面的內容將被覆蓋,>>則是添加到文件的尾端
[root@localhost ~]# diff install.log newfile --->比較這兩個文件的不一樣
------------------------------------打印的信息--------------------------------------
1c1
< Installing libgcc-4.4.7-16.el6.x86_64
---
> qqqqqqqqqqqqqqqqnstalling libgcc-4.4.7-16.el6.x86_64
--------------------------------------------------------------------------------------
1c1表示 install.log文件中的第一行 與 newfile的第一行 進行了修改了操做,
a、d和c分別表示新增、刪除和修改
cmp逐個字符比較(不限於文本文件)
具體用法百度一下(我這裏就偷懶不測試了....)
find命令的組成: find 搜索的初始目錄 搜索的方式(條件) [執行的操做]
搜索的初始目錄:表示從什麼目錄開始進行搜索,若是有多個目錄能夠用空格分開或者使用通配符
-name 經過名字搜索,可使用通配符進行模式操做 ,要用雙引號括着
-iname 忽略大小寫
-tpye 根據文件類型刪除 f:通常文件 d:目錄文件 c:字符設備文件 l:符號連接
-link<數量> :根據文件連接數進行檢索
-size<數目>kmg :根據文件的大小來篩選,須要寫上單位
-user <擁有者帳號名稱>根據文件的擁有者進行檢索。
以上這些都是經常使用的檢索方式,固然還有不少,能夠搜一搜,配合邏輯運算符能夠產生更多的檢索條件
邏輯:若是有多個條件則在篩選條件中使用\( \) \)轉義字符 其中
and 與
-o表明or
! 表明非
執行操做:
–print 在屏幕中輸出
-exec <命令> \;:執行<命令>,若是命令中要使用檢索出的文件名稱的話,用符號「{}」來代替,系統會在發現「{}」的地方,將檢索出來的文件名稱傳遞給該命令。結尾固定爲\;
[root@localhost ~]# find / -name "*.bak" -exec rm {} \; --->找出 .bak後綴的文件,並刪除
[root@localhost ~]# find / \( -name "a*" -o -name "*a" \) -print↙ --->包含或者的操做
grep "<關鍵字>" 目錄 ---->可使用正則 進行配對
這周主要是一些文本的處理,例如vi的使用,以及文件的一些操做.