您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關如何理解touch、mkdir命令,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
01 命令簡介
任何事物都有生命周期,Linux中的文件和目錄也一樣:創建、修改、刪除。今天我們來講一講文件和目錄的創建。
touch——修改文件的訪問時間和修改時間(可用來創建空文件)
mkdir——make directory,創建目錄
02 命令詳解
語法
mkdir [選項] 目錄名 touch [選項] 文件名
mkdir和touch兩條命令,都有選項和參數。只不過mkdir命令的參數是目錄名,而touch命令的參數是文件名而已。
這里跟大家強調一下:選項和參數的可選,不同命令的要求是不一樣的。
選項對命令來說,一般都是可選的。參數是否可選,不同命令有各自的規定。如果可選,我會添加方括號“[ ]”;如果不可選,也就是必需,則不會添加方括號“[ ]”。
因此,語法中選項加了“[ ]”,代表選項不是必需的,可以省略;但兩條命令的參數,我都沒加“[ ]”,證明這兩條命令在使用時必需提供參數。請各位校友注意這些細節。
可以看到,系統明確提示命令缺少操作數,也就是參數。
參數
mkdir 目錄名
mkdir命令的參數是要創建的目錄的名字。嚴格來講,參數是要創建的目錄的路徑名。
我們可以只提供要創建的目錄的名字。這種情況下,系統會在當前的工作目錄中創建目錄。
可以看到,在當前的工作目錄中創建了new_dir目錄。另外目錄名可以包含空格,但這個時候目錄名需要用引號括起來。
我們也可以指定目錄的路徑。這個時候,就會在我們指定的路徑下創建目錄。
這兩者可以想象成軟件的默認安裝和自定義安裝,這樣可能形象些,方便大家理解。
如果要創建的目錄已經存在,系統則會報錯,提示目錄已經存在。
touch命令,主要是用于修改文件和目錄的訪問時間和修改時間,但默認情況下,參數指定的文件不存在的話,touch命令會創建該文件。
和創建目錄一樣,不指定路徑的話,會在當前工作目錄創建文件。我們也可以指定文件路徑。
選項
mkdir命令和touch命令可以同時處理多個參數。在提供多個參數時,我們只需要用空格分隔參數即可。
可以看到,在同級目錄中創建了兩個目錄和文件。那可以在新建目錄的同時,再在其中新建一個目錄嗎?
試試看。通過如下命令在創建father_dir目錄的同時,在其中新建son_dir目錄。
mkdir father_dir/son_dir
發現系統報錯,原因我在圖片中已經標明。這條命令的意思根本不是在新建father_dir目錄的同時,在其中新建son_dir目錄,而是在當前目錄的father_dir中新建son_dir目錄,這其實是在指定新建目錄的相對路徑。但此時當前目錄并不存在father_dir目錄,所以系統才會報錯。
那難道只能新建一個目錄,然后切換到新目錄中再新建子目錄,這樣一層一層進行嗎?
當然不是的,如果只能這樣的話,幾十層的目錄創建不得創建半天?當然一般也不會有這么多層。
mkdir命令提供了一個很人性化的”-p“選項,讓我們可以很輕松的實現這些工作。
mkdir -p 目錄名/目錄名/.../目錄名
加了”-p“選項后,系統沒有報錯,在新建father_dir目錄的同時,在其中新建了son_dir目錄。
這就是”-p“選項的功效:創建通向指定目錄但尚不存在的所有目錄。換句話說,就是將路徑中不存在的目錄全部創建。
father_dir/son_dir,最開始,當前目錄不存在father_dir目錄,就先創建father_dir目錄;創建完后發現father_dir目錄下沒有son_dir目錄,就繼續創建son_dir目錄,直到路徑中所有目錄都存在。也有人把這稱為“遞歸創建”。
mkdir命令常用的選項還有“-v”選項和“-m”選項。“-v”選項的作用是每創建一個目錄就打印一條信息,“-m”選項的作用是設置目錄的權限。這里先介紹一下“-v”選項,“-m”選項等以后介紹權限時再講。
上一章節說到要創建的目錄如果已經存在,系統則會報告,那么如果創建的文件已經存在,系統會報錯嗎?
可以看到,系統并沒有報錯,但好像也看不出有啥區別。這就涉及時間屬性了。
利用長格式查看詳細信息,發現兩次命令后,文件時間不一樣。我們可以使用stat命令查看文件更為詳細的狀態信息。
列出的信息中有三個時間。
Access:訪問時間;讀取但不修改文件內容 Modify:修改時間;修改文件內容 Change:改動時間;屬性和位置的改動
在文件存在的情況下,touch命令默認會修改文件的訪問時間和修改時間。但它提供了“-a”選項和“-m”選項,分別只修改訪問時間或修改時間。
touch -a file.txt
“-a”選項,只改變訪問時間。
touch -m file.txt
“-m”選項,只改變修改時間。
除了可以指定修改哪種時間屬性,還可以指定時間屬性的值(默認是當前時間)。
指定時間屬性的值有兩種選項:”-t“選項和”-d“選項。效果一樣,只是值的格式不一樣而已。
“-t”選項的時間格式為:
[[CC]YY]MMDDhhmm[.ss]
其實就是世紀、年、月、日、時、分、秒的英文首字母。
“-d”選項相對“-t”選項,時間格式會多一些。圖片中是其中的一種,其他格式這里不再贅述,有興趣的校友可自行查詢資料。
touch命令還有個“-c”選項。在默認情況下,如果文件不存在,touch命令會新建空文件;加了“-c”選項之后,就不會創建文件。
03 知識總結
語法: mkdir [選項] 目錄名 touch [選項] 文件名 用途: mkdir————創建空目錄 touch————修改文件和目錄的訪問時間和修改時間(默認情況下創建空文件) 參數: mkdir:目錄的路徑名(若只提供目錄名,則在當前工作目錄中創建目錄) touch:文件的路徑名(若只提供文件名,則在當前工作目錄中創建文件)選項: mkdir:-p————遞歸創建 touch:-a————只更新訪問時間 -m————只更新修改時間 -t、-d————指定時間屬性的值 -c————即使文件不存在也不創建文件 其他: stat命令:查看文件或文件系統的狀態信息
上述就是小編為大家分享的如何理解touch、mkdir命令了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。