Linux檔案及目錄管理

2021-10-08 21:51:04 字數 4600 閱讀 1498

在linux終端,面對命令不知道怎麼用,或不記得命令的拼寫及引數時,我們需要求助於系統的幫助文件; linux系統內建的幫助文件很詳細,通常能解決我們的問題,我們需要掌握如何正確的去使用它們;

下面介紹這些命令;

簡要說明命令的作用(顯示命令所處的man分類頁面):

$whatis command
正則匹配:

$whatis -w "loca*"
更加詳細的說明文件:

$info command
查詢命令command的說明文件:

$man command

eg:man date

使用page up和page down來上下翻頁

在man的幫助手冊中,將幫助文件分為了9個類別,對於有的關鍵字可能存在多個類別中, 我們就需要指定特定的類別來檢視;(一般我們查詢bash命令,歸類在1類中);

man頁面所屬的分類標識(常用的是分類1和分類3)

(1)、使用者可以操作的命令或者是可執行檔案

(2)、系統核心可呼叫的函式與工具等

(3)、一些常用的函式與資料庫

(4)、裝置檔案的說明

(5)、設定檔案或者某些檔案的格式

(6)、遊戲

(7)、慣例與協議等。例如linux標準檔案系統、網路協議、ascⅱ,碼等說明內容

(8)、系統管理員可用的管理條令

(9)、與核心有關的檔案

前面說到使用whatis會顯示命令所在的具體的文件類別,我們學習如何使用它

eg:

$whatis printf

printf (1) - format and print data

printf (1p) - write formatted output

printf (3) - formatted output conversion

printf (3p) - print formatted output

printf [builtins] (1) - bash built-in commands, see bash(1)

我們看到printf在分類1和分類3中都有;分類1中的頁面是命令操作及可執行檔案的幫助;而3是常用函式庫說明;如果我們想看的是c語言中printf的用法,可以指定檢視分類3的幫助:

$man 3 printf

$man -k keyword

查詢關鍵字 根據命令中部分關鍵字來查詢命令,適用於只記住部分命令的場合;

eg:查詢gnome的config配置工具命令:

$man -k gnome config| grep 1
檢視程式的binary檔案所在路徑:

$which command
eg:查詢make程式安裝路徑:

$which make
檢視程式的搜尋路徑:

$whereis command
當系統中安裝了同一軟體的多個版本時,不確定使用的是哪個版本時,這個命令就能派上用場;

檔案管理不外乎檔案或目錄的建立、刪除、查詢、移動,有mkdir/rm/mv

檔案查詢是重點,用find來進行查詢;find的引數豐富,也非常強大;

檢視檔案內容是個大的話題,文字的處理有太多的工具供我們使用,在本章中只是點到即止,後面會有專門的一章來介紹文字的處理工具;

有時候,需要給檔案建立乙個別名,我們需要用到ln,使用這個別名和使用原檔案是相同的效果;

檢視當前目錄下檔案個數:

$find ./ | wc -l
複製目錄:

$cp -r source_dir  dest_dir
以上這個命令用到的頻率如此之高,以至於我們需要為它建立乙個快捷命令方式:

在.bashrc 中設定命令別名:

alias lsl='ls -lrt'

alias lm='ls -al|more'

這樣,使用lsl,就可以顯示目錄中的檔案按照修改時間排序;以列表方式顯示;

注:.bashrc 在/home/你的使用者名稱/ 資料夾下,以隱藏檔案的方式儲存;可使用 ls -a 檢視;

搜尋檔案或目錄:

$find ./ -name "core*" | xargs file
查詢目標資料夾中是否有obj檔案:

$find ./ -name '*.o'
遞迴當前目錄及子目錄刪除所有.o檔案:

$find ./ -name "*.o" -exec rm {} \;
find是實時查詢,如果需要更快的查詢,可試試locate;locate會為檔案系統建立索引資料庫,如果有檔案更新,需要定期執行更新命令來更新索引庫:

$locate string
尋找包含有string的路徑:

$updatedb
與find不同,locate並不是實時查詢。你需要更新資料庫,以獲得最新的檔案索引資訊。

檢視檔案:cat vi head tail more

顯示時同時顯示行號:

$cat -n
按頁顯示列表內容:

$ls -al | more
只看前10行:

$head - 10 **
顯示檔案第一行:

$head -1 filename
顯示檔案倒數第五行:

$tail -5 filename
檢視兩個檔案間的差別:

$diff file1 file2
動態顯示文字最新資訊:

$tail -f crawler.log
使用egrep查詢檔案內容:

egrep '03.1\/co\/ae' tsf_stat_111130.log.012

egrep 'a_lmca777:c' tsf_stat_111130.log.035 > co.out2

chmod語法

chmod語法:chmod [-cfvr] [--help] [--version] mode file...
引數說明

mode : 許可權設定字串,格式如下 :

[ugoa...][[+-=][rwxx]...][,...]
其中:

其他引數說明:

chown語法:

chown [-cfhvr] [--help] [--version] user[:group] file...
引數:

ln cc ccagain :硬連線;刪除乙個,將仍能找到;

ln -s cc ccto :符號鏈結(軟鏈結);刪除源,另乙個無法使用;(後面乙個ccto 為新建的檔案)

ls /proc && echo  suss! || echo failed.
能夠提示命名是否執行成功or失敗;

與上述相同效果的是:

if ls /proc; then echo suss; else echo fail; fi
重定向:

ls  proc/*.c > list 2> &l 將標準輸出和標準錯誤重定向到同一檔案;
等價的是:

ls  proc/*.c &> list
清空檔案:

:> a.txt
重定向:

echo aa >> a.txt
啟動帳號後自動執行的是 檔案為 .profile,然後通過這個檔案可設定自己的環境變數;

安裝的軟體路徑一般需要加入到path中:

快捷鍵:

ctl-u   刪除游標到行首的所有字元,在某些設定下,刪除全行

ctl-w 刪除當前游標到前邊的最近乙個空格之間的字元

ctl-h backspace,刪除游標前邊的字元

ctl-r 匹配最相近的乙個檔案,然後輸出

查詢record.log中包含aaa,但不包含bbb的記錄的總數:

cat -v record.log | grep aaa | grep -v bbb | wc -l

Linux檔案管理及目錄操作

乙個檔案系統通常包括3個部分 1 超級塊 包括整個檔案系統的基本資訊,如塊的大小,指向空間inode和資料塊的指標等相關資訊。2 inode塊 檔案索引。他是檔案系統的最基本單元。每個子目錄和檔案只有唯一的乙個inode塊。3 資料塊 具體存放資料的位置區域。超級塊的結構以及對於的操作簡介 超級塊物...

linux檔案及目錄命令管理

大家都知道,熟悉命令操作的開發人員,linux作業系統命令操作效率要高於圖形介面的操作,所以了解和學習linux基本命令操作是學習linux作業系統的首要任務,本文主要介紹以下四個知識點 1.shell基本命令格式 2.檔案及檔案目錄基本操作命令 3.結果重定向 4.歸檔及壓縮命令 一 shell基...

linux命令 檔案及目錄管理

命令 功能ls 檢視目錄下的內容 pwd檢視當前目錄 cd改變當前目錄 touch 建立檔案 rm刪除檔案 mv移動檔案 cp拷貝檔案 cat顯示檔案內容 grep 在檔案中查詢 mkdir 建立目錄 rmdir 刪除目錄 ls命令 檢視當前目錄下的內容 選項 含義 a 展示所有檔案及目錄,包含隱藏...