歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux系統管理命令之管理文件和目錄

Linux系統管理命令之管理文件和目錄

日期:2017/2/28 16:31:41   编辑:Linux教程

內部命令與外部命令的區別:

內部命令是Shell自帶能用help查看的命令。

外部命令為第三方軟件安裝的命令

一些快捷鍵:

Tab:自動補全命令。

反斜槓“\”:強制換行後在下一行出現的“>”提示符後可以延續上一行命令。

Ctrl+U: 刪除當前光標處之前的所有字符內容。

Ctrl+K: 刪除從當前光標處到行尾的所有字符內容。

Ctrl+L: 清屏。

Ctrl+C: 取消當前的命令。

獲得幫助命令:

1) help //提示簡單的命令格式 例子:help pwd

2) --help //顯示應用命令字的格式及選項等幫助信息。例子: ls –help

3) man //手冊頁常用於外部軟件在安裝時為執行程序,配置文件的詳細的幫助手冊頁,例子:man file // file命令用於判斷文件的類型

閱讀man手冊頁時將以全屏幕的文本方式顯示,使用方向鍵滾動一行文本,使用Page Up和Page Down鍵上下翻頁,按Q或q退出手冊頁。按“/”可查找內容例子:“/-v”查找-v的幫助信息。按n或N進行上下定位選擇。

4)info //信息頁(info Page)比man更詳細的幫助手冊,提供了不少主題間的跳轉功能幫助。

例子:將ls命令的man手冊頁保存為文本文件lshelp.txt

# man ls | col –b > lshelp.txt

該命令中col命令用於過濾文本中的一些特殊控制字符。

| 管道符:類似水管,將該命令交給下一個命令處理。

>重定向輸出:前面的命令成功執行後,其屏幕輸出結果將保存到 > 號後邊指定的文件中。

文件和目錄管理

絕對路徑與相對路徑區別:

絕對路徑全加“/”可是非常准確地表示一個目錄或文件的所在位置。

相對路徑開頭使用“.”或“..”或“~”,一般用於表示當前工作目錄作為起點。例子:“grub.conf”可表示當前目錄下的grub.conf文件。

“./grub.conf”可表示同上。

“../vmlinuz”等同於/boot/vmlinuz。

“~teacher”可表示當前用戶的宿主目錄。

1 目錄操作命令

pwd //查看當前的工作目錄

cd //切換工作目錄,進入文件夾。

ls //列表形式顯示目錄內容:

-l:以長格式(Long)顯示文件和目錄的列表。

-a:顯示所有(ALL)子目錄和文件的信息,包括“.”開頭的隱藏目錄和文件。

-d:顯示目錄(Directory)本身的屬性。

-A:與-a選項的作用基本類似,但不會顯示“.”(表示當前目錄),“..”(表示父目錄)隱藏目錄。

-h:以更人性化的方式顯示出目錄或文件的大小,默認單位為字節顯示為K或M等單位。需要和-l選項結合使用。例子:ls –lh /etc/ns*.conf

-R:以遞歸(Recursive)的方式顯示指定目錄及其子目錄中的所有內容。

--color:在字符模式中以顏色區分不同的文件,例子:--color=tty表示使用預定義的顏色方案。

mkdir //新建文件夾(目錄)

du //統計目錄及文件的空間占用情況

-a:統計磁盤空間占用時包括所有的文件。

-h:便於人性化閱讀,單位K或M等。

-s:只統計每個參數所占用空間總的(Summary)大小。

例子:#du -ah /boot/vmlin* //統計以“vmlin”開頭的各文件所占用的大小。

#du -sh /var/log/ //統計該目錄所占用空間的總大小。

文件操作命令

touch //新建空文件

file //查看文件類型

cp //復制(Copy)

-f:強制復制,直接覆蓋目標同名文件或目錄

-i:覆蓋目標同名文件或目錄時進行確認提醒。

-p:復制時保持源文件的權限,屬主及時間標記等屬性不變。

-r:復制目錄時必須使用,表示遞歸復制所有文件及子目錄。

例子: #cp /bin/touch ./mytouch //復制/bin/touch目錄到當前目錄下,並命名為 ./mytouch

#cp -r /boot/grub/ /etc/httpd/conf/ ./ //將這兩個目錄復制到當前目錄中進行備份。

rm //刪除文件或目錄

-f:強制刪除文件或目錄,不提醒。

-i:刪除文件或目錄並提醒用戶確認。

-r:刪除目錄必須用此選項,表示遞歸刪除整個目錄樹(謹慎使用)

mv //移動文件或目錄

例子:#mv mytouch tfile.exe //將當前目錄中的mytouch文件改名為tfile.exe

which //查找命令文件並顯示所在的位置

-a:在所有搜索路徑中查找

例子:#echo $PATH

#which ls //顯示當前默認搜索路徑,並查找ls命令文件所在的位置。

find //查找文件或目錄

按名稱查找:關鍵字“-name”,根據目標文件的部分名稱查找可以使用“*”“?”通配符。

按文件大小查找:關鍵字“-size”一般使用“+”“-”號設置超過或小於指定的大小作為查找條件。常用的容量單位包括 k ,M ,G。

按文件屬主查找:關鍵字“-user”,根據文件是否屬於目標用戶進行查找。

按文件類型查找:關鍵字“-type”,這裡的類型指的是普通文件(f),目錄(d),塊設備文件(b), 字符設備文件(c)等。塊為硬盤,內存等,字符為鍵盤,鼠標等。

例子:#find /etc -name “resol*.conf” //查找名稱以resol開頭,以.conf結尾的文件。

#find /boot -type d //在/boot目錄中查找所以的目錄。

#find /var/log -user lp //在/var/log目錄中查找屬於用戶lp的文件或目錄。

#find /boot -size +1024k –a name “vmlinuz*” //在/boot目錄中查找超過1024KB而且文件名以“vmlinuz”開頭的文件。可用運算符“-a”或“-o”,-a為And ,-o為Or。

Find命令還可以對查找到的結果進行過濾處理,在表達式後添加一個“-exec”關鍵字,並設置過濾用的命令即可。在過濾命令中使用“{ }”表示find命令的查詢輸出結果,最後必須添加“ \”表示命令結束。注前面有一個空格!

例子:#find /var/log -user lp –exec ls –ld { } \ ; //在/var/log目錄中查找屬於用戶lp的文件或目錄,並以長格式顯示其詳細信息。

ln //為文件或目錄建立鏈接(Link)

鏈接文件分為符號鏈接,硬鏈接兩種類型,區別是:硬鏈接不能跨越不同分區創建的硬鏈接。

符號鏈接(軟連接),需要添加“-s”選項。兩個鏈接與直接訪問原始文件的效果基本相同。

例子:#ln -s /etc/httpd/conf/httpd.conf /etc/ //為文件httpd.conf創建符號鏈接文件並保存到/etc目錄中,以便需要時查找該文件,ls -lh /etc/httpd.conf

#ln /usr/sbin/system-config-network /sbin /mynetconfig //為網卡配置腳本文件創建名為 mynetconfig的硬鏈接文件,以便通過它對網卡參數進行配置。

文件內容操作命令

cat //顯示並連接(Concatenate)文件的內容

more和less 命令 //分頁查看文件內容

head和tail命令 //查看文件開頭或結尾的部分內容

-f:默認開頭或最後十行內容。

wc //統計文件內容中的單純數量等信息

-c:統計文件內容中的字節數

-l:統計文件內容中的行數

-w:統計文件內容中的單詞個數

例子:#ls -l /etc/*.conf | wc -l //統計/etc目錄中.conf配置文件的個數。

grep //檢索,過濾文件內容(正則表達式)

-i:查找內容時忽略大小寫

-v:反轉查找,即輸出與查找條件不相符的行

例子:#grep –v “^#” /etc/vsftpd/vsftpd.conf | grep -v “^$” //查看vsftpd.conf文件中除了以#號開頭的行和空行以外的內容。$:用於結束。

#lspci | grep -i “Ethernet” //執行“lspci”命令查看主機中的PCI設備信息,並過濾出其中以太網卡設備的信息。

歸檔與壓縮命令

gzip和bzip2命令 //制作壓縮或解壓縮的文件

-9:可以有效提高壓縮的比率

-d:解壓縮專用命令。

例子:#gzip -9 tfile.exe //創建壓縮文件

#gzip -d tfile.exe.gz //解壓縮文件

tar //制作歸檔或釋放文件

-c:創建(Create).tar格式的包文件

-C:解包時指定釋放的目標文件夾

-f:表示使用歸檔文件

-j:調用bzip2程序進行壓縮或解壓縮

-p:打包時保留文件及目錄的權限

-t:列表查看包內的文件

-v:輸出詳細信息

-x:解開.tar格式的包文件

-z:調用gzip程序進行壓縮或解壓

例子:#tar zcf sysfile.tar.gz /etc /boot //備份/etc和/boot目錄為sysfile.tar.gz包文件。

#tar zxf sysfile.tar.gz //將sysfile.tar.gz包文件釋放或解壓到當前目錄中。

Vi文本編輯器

#alias vi =’ /usr/bin/vim’

#which –a vi vim //設置命令別名vi,以便執行vi命令時加載增強版的vim程序。

工作模式:命令模式,輸入模式,末行模式。

模式切換:a , i , o , A ,I ,O

光標操作:方向鍵調整位置, Page UP(Ctrl+B) Page Down(Ctrl+F)翻頁,行內快速跳轉“^”或“0”跳轉到首行,End或$跳轉到本行結尾。行間快速跳轉gg跳轉到第一行G跳轉到文件最後一行,#G跳轉到文件中第#行(#用具體數字替換),:set nu顯示行號,:set nonu取消顯示行號。

復制粘貼刪除:使用x或Del按鍵刪除光標處的單個字符

Dd刪除光標前內容,#dd刪除從光標處開始第#行內容(#以具體數字代替)

Yy復制當前行整行的內容到剪貼板,#yy意思同上。

按p鍵可將內容粘貼到光標處之前。

U或u撤銷編輯及保存退出,u:用於取消最近一次的操作,可進行多步恢復,U:取消對當前行所作的所有編輯。可按ZZ命令保存退出。

末行模式基本操作:

:w //保存,另存為

:q! //強行退出不保存

:wq //保存並退出也可用:X

打開新文件或讀入其他文件內容:

:e ~/install.log //打開當前目錄下該文件進行編輯

:r /etc/filesystems //將該文件的內容復制到當前目錄中

文件內容替換:

:替換范圍 sub /舊的內容/新的內容 /g

%:在整個文件內容中進行查找替換

n,m:在指定行數范圍以內的文件內容中進行查找並替換

/g:可選內容結尾處,省略的話只替換每行中的第一個匹配結果

例子::sub /i/r //將當前行中的第一個i字母替換為大寫I

:10,20 sub /initdefault/DEFAULT/g //把10~20行內的initdefault字符串替換為DEFAULT字符串。

:% sub /initdefault/DEFAULT/g //把文件所有的initdefault字符串全部替換為DEFAULT字符串。

Copyright © Linux教程網 All Rights Reserved