網(wǎng)絡運營推廣經(jīng)驗成都網(wǎng)站seo
目錄
一、 刪除空目錄(rmdir)
二、ln 硬鏈接與軟鏈接
三、新建空文件或更新文件的時間戳(touch)
四、比較文件內(nèi)容的差異(diff)
五、顯示當前時間或設置系統(tǒng)時間(date)
六、顯示日歷(cal)
一、 刪除空目錄(rmdir)
1.命令格式:
---rmdir [選項]... 目錄...
2.命令功能: 該命令從一個目錄中刪除一個或多個子目錄項,刪除某目錄時也必須具有對父目錄的寫權限。
3.命令參數(shù)
參數(shù) | 功能 |
---|---|
-p | 遞歸刪除目錄及其子目錄,同時刪除空的父目錄 |
-v /--verbose | 顯示詳細的執(zhí)行過程 |
命令案例
實例一:rmdir 不能刪除非空目錄
命令: rmdir doc
說明: rmdir 目錄名 命令不能直接刪除非空目錄
實例 2:rmdir -p 當子目錄被刪除后使它也成為空目錄的話,則順便一并刪除
命令: rmdir -p logs?
二、ln 硬鏈接與軟鏈接
命令描述:
ln 是 linux 中一個非常重要命令,它的功能是為某一個文件在另外一個位置建立一個 同步的鏈接.當我們需要在不同的目錄,用到相同的文件時,我們不需要在每一個需要的目 錄下都放一個必須相同的文件,我們只要在某個固定的目錄,放上該文件,然后在 其它的 目錄下用 ln 命令鏈接(link)它就可以,不必重復的占用磁盤空間
?
1.命令格式:
---ln [參數(shù)][源文件或目錄][目標文件或目錄]
2.命令功能: Linux 文件系統(tǒng)中,有所謂的鏈接(link),我們可以將其視為文件的別名,而鏈接又 可分為兩種 : 硬鏈接(hard link)與軟鏈接(symbolic link),硬鏈接的意思是一個文件可以 有多個名稱(真正的別名),而軟鏈接的方式則是產(chǎn)生一個特殊的文件(多了一個文件), 該文件的內(nèi)容是指向另一個文件的地址(其實就是超鏈接)。硬鏈接是存在同一個文件 系統(tǒng)中,而軟鏈接卻可以跨越不同的文件系統(tǒng)
使用實例:
實例 1:給文件創(chuàng)建軟鏈接
Cal 是輸出日歷,> 符號是重定向,就是把 cal 的輸出重新給個輸出地方,這 里重定向到了文件 2023.log 中,所以可以看到該文件內(nèi)容是日歷,如下截圖
查看軟連接和文件內(nèi)容
實例 2:給文件創(chuàng)建硬鏈接
命令: ln 2023.log hardlink2023.log
實例 3:接上面兩實例,鏈接完畢后,刪除和重建鏈接原文件
?說明: 1.源文件被刪除后,并沒有影響硬鏈接文件 2.重建源文件后,找到了鏈接文件系統(tǒng);重建后,硬鏈接文件并沒有受到源文件影 響,硬鏈接文件的內(nèi)容還是保留了刪除前源文件的內(nèi)容,說明硬鏈接已經(jīng)失效
實例 4:將文件鏈接為另一個目錄中的相同名字
說明: 在 test 目錄中創(chuàng)建了 2023.log 的硬鏈接,修改 test 目錄中的 2023.log 文件,同 時也會同步到源文件
一個文件可以有多個名字,一個目錄能不能?
說明
1.目錄只能創(chuàng)建軟鏈接
2.目錄創(chuàng)建鏈接必須用絕對路徑,相對路徑創(chuàng)建會不成功,會提示:符號連接的層 數(shù)過多 這樣的錯誤
3.在鏈接目標目錄中修改文件都會在源文件目錄中同步變化 。
三、新建空文件或更新文件的時間戳(touch)
1.命令格式:
---touch [選項]... 文件...
2.命令參數(shù):
參數(shù) | 功能 |
---|---|
-a /--time=atime /--time=access /--time=use | 只更改文件的訪問時間 |
-c /--no-create | 不創(chuàng)建任何文件 |
-d | 使用指定的日期時間,而非當前時間 |
-f | 解決BSD版本兼容性問題,忽略不處理 |
-m /--time=mtime /--time=modify | 只更改文件的修改時間 |
-r | 以參考文件的日期時間來更新指定文件的日期時間 |
-t | 使用指定的日期時間,而不是當前時間 |
3.命令功能: touch 命令參數(shù)可更改文檔或目錄的日期時間,包括存取時間和更改時間。
4.使用范例:
實例一:創(chuàng)建不存在的文件
命令: touch log2012.log log2013.log
實例二:更新 log.log 的時間和 log2012.log 時間戳相同
命令: touch -r log.log log2012.log
實例三:設定文件的時間戳
命令: touch -t 201214112234.50 log.log
說明: -t time 使用指定的時間值 time 作為指定文件相應時間戳記的新值. 此處的 time 規(guī)定為如下形式的十進制數(shù): [[CC]YY]MMDDhhmm[.SS] 這里,CC 為年數(shù)中的前兩位,即”世紀數(shù)”;
YY 為年數(shù)的后兩位,即某 世紀中的年數(shù).如果不給出 CC 的值,則 touch 將把年數(shù) CCYY 限定在 1969--2068 之內(nèi).
MM 為月數(shù),
DD 為天將把年數(shù) CCYY 限定在 1969--2068 之內(nèi).MM 為月數(shù),
DD 為天數(shù),hh 為小時數(shù)(幾點),mm 為分鐘數(shù),
SS 為秒數(shù).此處秒的設 定范圍是 0--61,這樣可以處理閏秒.這些數(shù)字組成的時間是環(huán)境變量 TZ 指定的 時區(qū)中的一個時 間.由于系統(tǒng)的限制,早于 1970 年 1 月 1 日的時間是錯誤的。
四、比較文件內(nèi)容的差異(diff)
命令描述:
diff 命令是 linux 上非常重要的工具,用于比較文件的內(nèi)容,特別是比較兩個版本 不同的文件以找到改動的地方。diff 在命令行中打印每一個行的改動。最新版本的 diff 還 支持二進制文件。diff程序的輸出被稱為補丁 (patch),因為Linux系統(tǒng)中還有一個patch 程序,可以根據(jù) diff 的輸出將 a.c 的文件內(nèi)容更新為 b.c。diff 是 svn、cvs、git 等版本 控制工具不可或缺的一部分。
使用實例:
實例 1:比較兩個文件
(1c1)說明:
- 第一個數(shù)字1表示在第一個文件中出現(xiàn)了差異的行號。
- 字母c表示這是一個更改(change)操作。
- 第二個數(shù)字1表示在第二個文件中出現(xiàn)了差異的行號。
實例 2:并排格式輸出
命令: diff log2013.log log2014.log -y -W 50
說明: “|”表示前后 2 個文件內(nèi)容有不同
??????????? “<”表示后面文件比前面文件少了 1 行內(nèi)容
??????????? “>”表示后面文件比前面文件多了 1 行內(nèi)容
?實例 3:上下文輸出格式
命令: diff log2013.log log2014.log -c
說明: 這種方式在開頭兩行作了比較文件的說明,這里有三中特殊字符:
“+” 比較的文件的后者比前著多一行
“-” 比較的文件的后者比前著少一行
“!” 比較的文件兩者有差別的行
?實例 4:統(tǒng)一格式輸出
命令: diff log2014.log log2013.log -u
說明:
--- file1.txt
: 表示下面的行來自file1.txt
文件。+++ file2.txt
: 表示下面的行來自file2.txt
文件。@@ -1 +1 @@
: 表示下面的行是修改之后的行(+
開頭)和修改之前的行(-
開頭)所在的位置信息。
-1
表示修改之前的行號為1。+1
表示修改之后的行號也為1。-content1
: 表示修改之前的第1行內(nèi)容為content1
。+content2
: 表示修改之后的第1行內(nèi)容為content2
。
實例 5:比較文件夾不同
命令: diff test3 test6
五、顯示當前時間或設置系統(tǒng)時間(date)
描述:
在 linux 環(huán)境中,不管是編程還是其他維護,時間是必不可少的,也經(jīng)常會用到時間的 運算,熟練運用 date 命令來表示自己想要表示的時間,肯定可以給自己的工作帶來諸多方便。
1.命令格式:
---date [參數(shù)]... [+格式]
2.命令功能: date 可以用來顯示或設定系統(tǒng)的日期與時間
3.使用實例:
實例 1:顯示當前時間
命令: date date '+%c' date '+%D' date '+%x' date '+%T' date '+%X'
實例 2:顯示日期和設定時間
命令: date --date 08:42:00
?
實例 3:顯示月份和日數(shù)
命令: date '+%B %d'
實例 4:顯示時間后跳行,再顯示目前日期
命令: date '+%T%n%D'?
六、顯示日歷(cal)
描述:
cal 命令可以用來顯示公歷(陽歷)日歷。公歷是現(xiàn)在國際通用的歷法,又稱格列歷, 通稱陽歷?!瓣枤v”又名“太陽歷”,系以地球繞行太陽一周為一年,為西方各國所通用,故又 名“西歷”
使用實例:
實例 1:顯示當前月份日歷
實例 2:顯示指定月份的日歷
命令: cal 9 2023
實例 3:顯示 2023 年日歷
命令: cal -y 2013
實例 4:顯示自 1 月 1 日的天數(shù)
命令: cal -j
實例 5:星期一顯示在第一列
命令: cal -m