国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 操作系統 > 正文

RHCE學習筆記2--命令行操作文件

2024-06-28 14:32:41
字體:
來源:轉載
供稿:網友

 

1、創建與刪除文件 (touch ,rm)

touch xxxx 創建一個新的空文件

touch -t 201412250101 xxxx 創建一個文件并指定時間屬性(年月日時分.秒)

 

[root@cai home]# touch xxxx

[root@cai home]# touch -t 201412301030 yyyy

[root@cai home]# ls -l xxxx yyyy

-rw-r--r--. 1 root root 0 11月 2 13:00 xxxx (當前時間2015年11月2日2點13分)

-rw-r--r--. 1 root root 0 12月 30 2014 yyyy (指定時間2014年12月30日10點30分)

 

如何修改linux文件的時間 

把所有的.sh文件修改到三個月前(2013年10月13)的時間。操作命令:
[root@case test]# touch -d "2013/10/13" *.sh

 

先把touch的參數說明貼在這里:
命令參數:

-a   或--time=atime或--time=access或--time=use  只更改存取時間。

-m  或--time=mtime或--time=modify  只更改變動時間。

-c   或--no-create  不建立任何文檔。

-d  使用指定的日期時間,而非現在的時間。時間是字符串

-t  使用指定的日期時間,而非現在的時間。時間格式是年月日時分.秒

-f  此參數將忽略不予處理,僅負責解決BSD版本touch指令的兼容性問題。

-r  把指定文檔或目錄的日期時間,統統設成和參考文檔或目錄的日期時間相同。

 

touch file1.txt                 更新file1.txt的存取和修改時間

touch -c file1.txt             如果file1.txt不存在,不創建文件

touch -r ref_file file1.txt         更新file1.txt的時間戳和ref+file相同

將參照文件 ref_file 相應的時間戳記的數值作為指定文件 file 時間戳記的新值.

touch -t 0811142234.50 file1.txt 設定文件的時間錯為08年11月14日22點34分50秒

 

將參照文件 ref_file 相應的時間戳記的數值作為指定文件 file 時間戳記的新值.

 

什么是 touch 命令

眾所周知,每個文件都被附有時間戳。這個時間戳記包括訪問時間和修改時間。而 Touch 命令主要就是用來修改文件的訪問時間和修改時間。

為什么我們需要使用 touch 命令

既然 touch 命令描述的是改變時間戳,那么我們可能會想為什么我們需要去改變時間戳呢?這個問題會引發我們的深思。然而,我想有個理由可以解釋為什么我們需要使用它。如果你參加了一個全球范圍的開源項目,那么時間戳可能變得很重要。編譯源代碼文件可能需要同一地區的時間戳。如果未統一,程序可能會編譯失敗。(譯注:有強迫癥的同學也很喜歡這個命令——就看不得亂七八糟的時間,;>

不帶任何選項下運行 touch

最簡單的使用 touch 命令。只需鍵入:

  1. $ touch file_name

File_1.txt原來的時間戳是 12:42。在我們使用 touch 命令后,它改變為了 17:08。由此看出,默認情況下,touch 會將文件的時間戳改為當前時間。

只改變訪問時間

正如我們之前提到的,每個文件都附有訪問時間和修改時間。上面的時間戳是 17:08。我們可以看更多的細節。

我們發現訪問access時間和修改change時間的值是相同的都是 17:08:35 ,還有它們屬于同一時區 GMT +7

如果現在我們要只改變訪問時間,我們需要使用-a選項。

 

  1. $ touch –a file_1.txt

如你所見,訪問時間變為 17:51:37 ,但是修改時間仍為17:08:35[譯注:原文為 Change time(狀態改變時間)應是作者筆誤]

只改變修改時間(modify,change)

我們可以使用-m選項來實現。現在我們用file_2.txt作個示例。

  1. $ touch –m file_2.txt

Touch -m option

現在修改時間從 12:42:20 改為了 17:57:20。請注意,當文件被訪問或修改時,狀態改變時間域的值總會對其記錄。

更改為自定義時間戳

-a-m選項都會將文件的時間戳改為現在當前時間。當然我們也可以更改為自定義時間戳。使用-t選項實現。

從上面示例示例中的 file_2.txt,我們看出它的時間戳是:

訪問時間: 12:42:20

修改時間: 17:57:20

執行日期: 2014-01-14

假如我們想要將訪問時間和修改時間改為2014112 09:58:27。我們可以用下列命令來完成:

  1. $ touch –t 201401120958.27 file_2.txt

Touch using -t option

-t 選項語法組成 :

[[CC]YY]MMDDhhmm [.SS](年前兩位,年后兩位,月,日,時,分,秒)

 

改變日期和時間的另一種方式

如果你覺得[[CC]YY]MMDDhhmm [.SS]格式不適合你,我們也可以使用 -d 選項。下面是-d選項使用的一個示例。

更改指定日期

舉例來說,我們有個名為 file_3.txt 的文件,它的相關屬性在下面的截圖中展示了。

現在我們要將日期2014114日改為20131220。可以使用下列命令:

  1. $ touch –d '10-december-2013' file_3.txt

不出意料,訪問時間和修改時間的日期已經改為了20131210日。

改變時區

如果我們想改變指定GMT的時間,我們也可以使用-d選項。先讓file_3.txt 移回當前時間。

  1. $ touch file_3.txt

不難發現 file_3.txt 的時區為 GMT +0700。要改為 GMT3 時區,我們只需要鍵入如下命令:

  1. $ touch –GMT3 file_3.txt

好的,現在時間已經改為了 10:00:00 AM

結合參數下使用-d選項

還可以用很酷的方式使用-d選項。請觀察下面的圖片。

我們可以將單詞 next Sunday  GMT 3合成一個值,而 touch 命令仍然能識別它。日期已經改為了2014121日,而當前的日期為2014114日。

還有另一個-d選項的示例。首先,我們要將file3_3.txt重置到當前日期和時間。

  1. $ touch file_3.txt 然后我們嘗試這個命令:
  2. $ touch –d '1 year ago 13:43:07' file_3.txt

太震撼了,Touch 甚至能識別單詞'1 year ago'。現在的日期以及時間已經改為了2013114,13:43:07

[root@cai home]# touch d '4 month ago 13:43:08' uuu

把uuu 這個文件的時間修改成4個月前的13:43:08

 

創建一個空文件

當你運行 touch 命令目標文件不存在時,touch 會創建一個同名的空文件。

  1. $ touch file_10.txt

同時創建多個文件

你可以用空格將目標文件分割開來,以此來創建多個文件。

  1. $ touch doc_10.txt doc_20.txt doc_30.txt

總結

如果你要處理關于文件或目錄的時間戳問題,那么 Touch 會對你很有用的。一如既往得你也可以鍵入man touchtouch --help來顯示幫助頁面了解更多細節。

 

rm xxx 刪除文件

rm -rf 強制刪除文件

命令參數:

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

    -i, --interactive 進行交互式刪除

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

 

# touch -- -f                            建立-f文件,因為f前面有-,所有要加轉義字符2個減號

# ls -l -- -f                            查看-f文件,在-f前面加轉義字符2個減號。

-rw-r--r--. 1 root root 0 Nov 2 16:17 -f

# rm -rf -- -f                            刪除-f文件,在-f前面加轉義字符2個減號。

 

 

2、創建目錄與刪除目錄

 

mkdir xxx 創建一個目錄;

mkdir  -p xxx/yyy 遞歸創建目錄;

rmdir  xxx/  刪除空目錄;

rm  -rf  XXX/  強制刪除非空目錄;

-p, --parents  可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項后,

系統將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄; 

-v, --verbose  每次創建新目錄都顯示信息

#mkdir -p test2/test22 遞歸創建多個目錄 

# mkdir -v test4                                (創建新目錄都顯示信息)

mkdir: 已創建目錄 "test4"

 

# mkdir -vp test5/test5-1

mkdir: 已創建目錄 "test5"

mkdir: 已創建目錄 "test5/test5-1"

一個命令創建項目的目錄結構

# mkdir -vp scf/{lib/,bin/,doc/{info,PRoduct},logs/{info,product},service/deploy/{info,product}}

mkdir: 已創建目錄 "scf"

mkdir: 已創建目錄 "scf/lib"

mkdir: 已創建目錄 "scf/bin"

mkdir: 已創建目錄 "scf/doc"

mkdir: 已創建目錄 "scf/doc/info"

mkdir: 已創建目錄 "scf/doc/product"

mkdir: 已創建目錄 "scf/logs"

mkdir: 已創建目錄 "scf/logs/info"

mkdir: 已創建目錄 "scf/logs/product"

mkdir: 已創建目錄 "scf/service"

mkdir: 已創建目錄 "scf/service/deploy"

mkdir: 已創建目錄 "scf/service/deploy/info"

mkdir: 已創建目錄 "scf/service/deploy/product"

 

# tree scf/

scf/

|-- bin

|-- doc

|   |-- info

|   `-- product

|-- lib

|-- logs

|   |-- info

|   `-- product

`-- service

      `-- deploy

        |-- info

         `-- product

12 directories, 0 files

 

3、拷貝文件與目錄

cp  /path1/xxx /path2/ yyy拷貝path1路徑下的xxx 文件到 路徑path2路徑下,并命名為yyy,如果yyy文件已經存在,則會覆蓋原文件,加上 -i 選項會詢問是否覆蓋;

 

cp -p  /path1/xxx /path2/ yyy 拷貝文件保留原文件的屬性;

cp -rf /path1/  /path2/  拷貝目錄path1的文件到目錄path2

 

cp -a  與 cp -dpr=all 相同

-d :若來源文件為連結文件的屬性(link file),則復制連結文件屬性而非檔案本身;

-b --backup      刪除、覆蓋目的文件先備份,備份的文件或目錄亦建立為符號鏈接,并指向源文件或目錄鏈接的源文件或目錄。假如沒有加上這個參數,在復制過程中若遇到符號鏈接,則會直接復制源文件或目錄
     -f     
強行復制文件或目錄,不論目的文件或目錄是否已經存在
     -i
覆蓋文件之前先詢問用戶    

-p     --preserve 保留源文件或目錄的屬性,包括所有者、所屬組、權限與時間
    
root"cp -p"是可以的,這么說,"cp -p"這個命令對于普通用戶來說是等同于直接"cp"

--parents     保留源文件或目錄的路徑,
     -r  
-R     遞歸處理,將指定目錄下的文件與子目錄一并處理。

     -l --link        對源文件建立硬鏈接,而非復制文件
     -s
--symbolic-link  對源文件建立符號鏈接,而非復制文件
     -S <
備份字尾字符串> --suffix=<備份字尾字符串> "-b"參數備份目的文件后,備份文件的字尾會被加上一個備份字符串。默認的備份字尾符串是符號"~"
     -u
--update      使用這項參數之后,只會在源文件的修改時間(Modification Time)較目的文件更新時,或是名稱相互對應的目的文件并不存在,才復制文件
 .
復制文件,只有源文件較目的文件的修改時間新時,才復制文件
     cp -u -v file1 file2

    .將文件file1復制成文件file2
     cp file1 file2

    .采用交互方式將文件file1復制成文件file2
     cp -i file1 file2

    .將文件file1復制成file2,因為目的文件已經存在,所以指定使用強制復制的模式
     cp -f file1 file2

    .將目錄dir1復制成目錄dir2
     cp -r dir1 dir2

    .同時將文件file1、file2、file3與目錄dir1復制到dir2
   cp -r file1 file2 file3 dir1 dir2

    .復制時保留文件屬性
     cp -p a.txt /tmp

    .復制時保留文件的目錄結構
     cp   --parents   /var/tmp/a.txt  ./temp/

    .復制時產生備份文件
     cp -b a.txt tmp/

    .指定備份文件尾標    
     cp -b -S _bak a.txt /tmp

 

4、剪切文件

mv  /path1/xx  /path2/yy  剪切path1路徑下的xx 剪切到 path2路徑下的yy, 如果path1與path2路徑相同,則將xx重命名為yy;

5、查看文件

cat xx  適合查看內容較少的文件;

more

less

more 與less相同的地方是都可以用空格鍵向下翻頁,所不同的是less允許上下鍵向上瀏覽瀏覽,more 則不行;


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 苍梧县| 乐山市| 甘谷县| 盐山县| 西青区| 波密县| 莱芜市| 岳西县| 六枝特区| 芷江| 三明市| 澎湖县| 乃东县| 玉门市| 阳城县| 南通市| 通海县| 五原县| 井冈山市| 连云港市| 荆州市| 绥中县| 涡阳县| 玛多县| 邹城市| 苏尼特右旗| 平泉县| 兴业县| 思南县| 绥德县| 察隅县| 虹口区| 海兴县| 北流市| 车致| 普定县| 龙江县| 南部县| 庐江县| 湛江市| 庄浪县|