天天滾動:Linux下命令(3)

2023-01-09 16:23:03 來源:51CTO博客

Linux下命令(3)

Linux 是一套免費使用和自 由傳播的類 Unix 操作系統, 是一個基于 POSIX 和 UNIX 的多用戶、 多任務、 支持多線程和多 CPU 的操作系統。 它能運行主要的 UNIX 工具軟件、 應用程序和網絡協議。 它支持 32 位和 64 位硬件。 Linux 繼承了 Unix 以網絡為核心的設計思想, 是一個性能穩定的多用戶網絡操作系統。

1.moun命令

mount 命令用于掛載磁盤分區或者網絡文件系統。

語法:mount -t [文件系統類型] [將要掛載的設備] [-o 選項] [掛載的目標目錄]


(相關資料圖)

注:通過-t 這個參數, 我們來指定文件系統的類型,一般的情況下不指定也能自動識加。 -t 后面跟 ext3、ext2、reiserfs、vfat、ntfs、nfs等;可以通過查看mount的幫助文檔進行查看詳細信息。

-o主要用來描述設備或檔案的掛接方式。常用的參數有:

loop:用來把一個文件當成硬盤分區掛接上系統;

ro:采用只讀方式掛接設備;

rw:采用讀寫方式掛接設備;

iocharset:指定訪問文件系統所用字符集;

運用實例

(1)掛載SD卡分區到指定目錄

$ sudo mount /dev/sdb2 /test/

將sdb2設備掛載到/test目錄下。

???(2)取消掛載

$ sudo umount /dev/sdb2 /test/

(3)掛載光盤映像文件到指定目錄

$ sudo mount 123.iso -o loop /test/

將123.iso文件當成硬盤掛載到/test 目錄下。

???(4)將一個目錄掛載到另一個目錄下

$ sudo mount --bind /work/ /test/

相當于使用 ln 建立鏈接一樣效果。

???(5)使用mount命令掛載NFS網絡文件系統

$ sudo mount -t nfs 192.168.11.123:/work /test/

如果掛載提示設備資源上鎖,可以使用下面方式進行掛載:

$ sudo mount -t nfs -o nolock 192.168.11.123:/work /test/

其中192.168.11.123表示服務器的IP地址,/work 表示NFS服務器共享的目錄。/test/表示本地掛載的目錄。

2.rm命令:刪除文件/目錄

功能:在 linux中創建文件很容易,系統中隨時會有文件變得過時且毫無用處。用戶可以用 rm 命令將其刪除。該命令的功能為刪除一個目錄中的一個或多個文件或目錄,它也可以將某個目錄及其下的所有文件及子目錄均刪除。對于鏈接文件,只是刪除了鏈接,原有文件均保持不變。

語法:rm [] <文件或者目錄>

說明:如果沒有使用-r選項,則rm不會刪除目錄;

參數

??-f 忽略不存在的文件,從不給出提示。

-r 指示rm將參數中列出的全部目錄和子目錄均為遞歸地刪除。

-i 進行交互式刪除。

-v 輸出已經刪除的文件。

使用rm命令要格外小心,應為一旦一個文件被刪除,它是不能被恢復的,為了防止此種情況發生,可以使用rm命令中的-i選項來確認要刪除的每個文件。如果用戶輸入y,文件將被刪除。如果輸入任何其他東西,文件將會被保留。

(1)刪除文件

[wbyq@wbyq ~]$ rm 1.doc #刪除文件

(2)遞歸刪除

[wbyq@wbyq ~]$ mkdir 123/456/789/ads -pv #創建目錄[wbyq@wbyq ~]$ rm 123 -rfv #刪除目錄,并輸出刪除過程removed directory "123/456/789/ads"removed directory "123/456/789"removed directory "123/456"removed directory "123"

(3)刪除所有文件

[wbyq@wbyq work]$ rm ./* -rfv

3.cat命令:查看文件內容

功能:查看文件內容??語法:cat [選項] [文件]

參數:-b 對非空輸出行號??-E 在每行結束處顯示$??-n對輸出的所有行進行編號??-s不輸出多行空行

4.pwd命令:顯示工作目錄

功能:在 Linux 層次目錄結構中,用戶可以在被授權的任意目錄下利用 mkdir 命令創建新目錄,也可以利用 cd命令從一個目錄轉換到另一個目錄。然而,沒有提示符來告知用戶目前處于哪一個目錄中。要想知道當前所處的目錄,可以使用 pwd 命令,該命令顯示整個路徑名。

語法: pwd

說明:此命令顯示出當前工作目錄的絕對路徑

[wbyq@wbyq ~]$ pwd/home/wbyq

根目錄以開頭的“/”表示。如果 pwd 后面什么都沒有,則顯示當前所在位置。如果屏幕信息很多,可以通過clear可以清除。

5.cp命令:拷貝文件/目錄

功能:將給出的文件或目錄拷貝到另一文件或目錄中。??語法:cp [選項] <源文件或目錄> <目標文件或目錄>??說明:該命令把指定的源文件復制到目標文件或把多個源文件復制到目標目錄中。

參數:

-a 該選項通常拷貝目錄時使用。它保留鏈接、文件屬性,并遞歸地拷貝目錄

-d 拷貝時保留鏈接。

-f 刪除已經存在的目標文件而不提示。

-i 和 f 選項相反,在覆蓋目標文件之前將給出提示要求用戶確認。回答 y 時目標文件將被覆蓋,是交互式拷貝。

-r 若給出的源文件是一目錄文件,此時 cp 將遞歸復制該目錄下所有的子目錄和文件。此時目標文件必須為一個目錄名。一般使用-a 參數。

//拷貝work目錄下的所有文件到當前目錄[xsw@ashui ~]$ cp -a  /mnt/hgfs/red_hat_linux/work/  ./  [xsw@ashui ~]$ cp  123.c  ./work/   #拷貝123.c文件到當前目錄下的work目錄下

6.mv 命令:改名、移動、文件/目錄

功能:為文件或目錄改名或將文件由一個目錄移入另一個目錄中。

語法: mv [選項] <源文件或目錄> <目標文件或目錄>

說明:視mv命令中第二個參數類型的不同(是目標文件還是目標目錄),mv命令將文件重命名或將其移至一個新的目錄中。當第二個參數類型是文件時,mv命令完成文件重命名,此時,源文件只能有一個(也可以是源目錄名),它將所給的源文件或目錄重命名為給定的目標文件名。當第二個參數是已存在的目錄名稱時,源文件或目錄參數可以有多個,mv 命令將各參數指定的源文件均移至目標目錄中。在跨文件系統移動文件時,mv先拷貝,再將原有文件刪除,而鏈至該文件的鏈接也將丟失。

參數:

-i 交互方式操作。如果mv操作將導致對已存在的目標文件的覆蓋,此時系統詢問是否重寫,要求用戶回答y或 n,這樣可以避免誤覆蓋文件。

-f 禁止交互操作。在mv操作要覆蓋某已有的目標文件時不給任何指示,指定此選項后,i 選項將不再起作用。

如果所給目標文件(不是目錄)已存在,此時該文件的內容將被新文件覆蓋。為防止用戶在不經意的情況下 用mv命令破壞另一個文件,建議用戶在使用mv命令移動文件時,最好使用i選項。

(1)移動文件

[wbyq@wbyq ~]$ mv 1.c ./work/

將1.c移動到work目錄下

(2)文件重命名

[wbyq@wbyq work]$ mv 1.c test.c 

將1.c改名為test.c

7.chmod 命令:修改文件/目錄權限

功能:改變文件或目錄的訪問權限

語法:chmod [權限] <文件或者目錄>

通過 ls -l 命令可以查看目錄或者文件的詳細信息,其中第 2~10 個字符代表了文件的訪問權限,當中的每3個為一組,左邊三個字符表示所有者權限;中間3個字符表示與所有者同一組的用戶的權限,右邊3個字符是其他用戶的權限。這三個一組共9個字符,代表的意義如下:

代表的意義如下:

權限

說明

r

可讀權限:對文件而言,具有讀取文件內容的權限;

對目錄來說,具有瀏覽目錄的權限

w

可寫權限:對文件而言,具有新增、修改文件內容的權限;

對目錄來說,具有刪除、移動目錄內文件的權限。

x

可執行權限:對文件而言,具有執行文件的權限;

對目錄了來說該用戶具有進入目錄的權限。

其中的權限可以使用數字的組合方式進行表示:

權限

說明

r

對應數值 4

w

對應數值 2

x

對應數值 1

數字設定的關鍵是取值,一開始許多初學者會被搞糊涂,其實很簡單,我們將 rwx 看成二進制數,如果有則 有 1 表示,沒有則有 0 表示。

例如:rwx r-x r–則可以表示成為:111 101 100

再將其每三位轉換成為一個十進制數,就是754。

設置文件權限示例:

[wbyq@wbyq work]$ sudo chmod 764 test.c #設置test.c文件權限

8.ln命令:建立符號鏈接

ln連接文件或目錄,分為軟鏈接和硬鏈接。??軟連接語法:ln -s <源文件> <目標文件>(刪除源文件之后,鏈接變成無效的了),相當于快捷方式。??硬鏈接語法:ln <源文件> <目標文件>(刪除源文件之后,目標沒有影響)

[wbyq@wbyq ~]$ ln -s app app2 #創建軟件鏈接

9.find命令

命令功能:用于在文件樹種查找文件,并作出相應的處理。

語法:find [查找的路徑] [選項] [表達式]

命令參數說明:

參數

說明

-name

按照文件名查找文件。

-perm

按照文件權限來查找文件。

-user

按照文件屬主來查找文件。

-group

按照文件所屬的組來查找文件。

-mtime -n +n

按照文件的更改時間來查找文件, - n 表示文件更改時間距現在 n 天以內, + n 表示文件更改時間距現在 n 天以前。

-nogroup

查找無有效所屬組的文件,即該文件所屬的組在/etc/groups 中不存在。

-nouser

查找無有效屬主的文件,即該文件的屬主在/etc/passwd 中不存在。

-newer file1 ! file2

查找更改時間比文件 file1 新但比文件 file2 舊的文件。

-type

查找某一類型的文件,諸如:

b - 塊設備文件。

d - 目錄。

c - 字符設備文件。

p - 管道文件。

l - 符號鏈接文件。

f - 普通文件。

-size n:[c]

查找文件長度為 n 塊的文件,帶有 c 時表示文件長度以字節計。

-depth :

在查找文件時,首先查找當前目錄中的文件,然后再在其子目錄中查找。

-fstype:

查找位于某一類型文件系統中的文件,這些文件系統類型通常可以在配置文

-mount :

在查找文件時不跨越文件系統 mount 點。

-follow:

如果 find 命令遇到符號鏈接文件,就跟蹤至鏈接所指向的文件。

-cpio:

對匹配的文件使用 cpio 命令,將這些文件備份到磁帶設備中。

-amin n

查找系統中最后 N 分鐘訪問的文件

-atime n

查找系統中最后 n*24 小時訪問的文件

-cmin n

查找系統中最后 N 分鐘被改變文件狀態的文件

-ctime n

查找系統中最后 n*24 小時被改變文件狀態的文件

-mmin n

查找系統中最后 N 分鐘被改變文件數據的文件

-mtime n

查找系統中最后 n*24 小時被改變文件數據的文件

使用示例

(1)根據名字查找

$ find /home/wbyq/ -name main.c  #在wbyq目錄下查找main.c文件

(2)根據通配符查找文件

$ find /home/wbyq/ -name “*.c”   #在指定目錄下查找所有.c文件$ find  “*.c”  #在當前目錄下查找.c文件

(3)不區分大小寫的方式:

$ find /home/wbyq/ -iname "*.c"

(4)同時查找多個文件

$ find /home/wbyq/  -name "*.txt" -o -name "*.c" -o -name "*.h"

在/home/wbyq/目錄下查找以.c、.txt、 .h為后綴的文件。主要參數是-o。

(5)根據文件大小進行匹配

$ find /home/wbyq/ -type f -size 200k

在/home/wbyq/目錄下查找類型為 f的普通文件,并且文件的大小為200k。

文件大小單元:

b —— 塊( 512 字節)

c —— 字節

w —— 字( 2 字節)

k —— K 字節

M —— 兆字節

G —— G 字節

常用大小搜索方式:

搜索大于 100KB 的文件 $ find /home/wbyq/ -type f -size +100k搜索小于 100KB 的文件 $ find /home/wbyq/ -type f -size -100k搜索等于 100KB 的文件 $ find /home/wbyq/ -type f -size 100k

(6)查找并刪除指定文件

//wby目錄下找普通文件,以.c為后綴,并刪除$ find /home/wbyq/  -type f -name "*.c" -delete $ find /home/wbyq/ -name "*.txt" -ok rm {} \;$ find /home/wbyq/ -name "*.txt" -exec rm {} \;

-exec參數后面跟的是command命令,它的終止是以;為結束標志的,所以這句命令后面的分號是不可缺少的,考慮到各個系統中分號會有不同的意義,所以前面加反斜杠。

{}花括號代表前面find查找出來的文件名。

注意:{}和;中間的空格。

其中-ok和-exec行為一樣,不過-ok會給出提示,是否執行相應的操作;-exec不會提示,直接執行。

標簽: 目標文件 文件系統

上一篇:環球觀焦點:[c++實踐]內存對齊與偽共享
下一篇:環球聚焦:如何制作一個羊了個羊游戲1:堆疊牌的拾取