linux修改檔案的命令有哪些

2022-03-09 19:01:10

linux修改檔案的命令:1、「vi」或「vim」命令,可用於修改檔案的內容;2、「mv」命令,可用於修改檔案的名稱;3、「chmod」、「chgrp」、「chown」命令,可用於修改檔案的許可權;4、「touch」命令,可修改檔案的時間。

本教學操作環境:linux5.9.8系統、Dell G3電腦。

linux修改檔案的內容

命令是:vivim

  • vi 編輯器,相當於記事本,有編輯功能,但較弱

  • vim 複雜的編輯器,相當於windows的 editplus, notepad++ 等

步驟:

1、執行 vi world.txt 進入編輯器(預設命令模式),

2、點選a或i進入編輯模式,敲入內容:hello linux world !

3、然後按鍵盤上的esc鍵退出編輯模式(進入到命令模式),

4、最後敲冒號:,

5、再敲wq儲存並退出。

linux修改檔案的名稱

命令是:mv

mv(英文全拼:move file)命令用來為檔案或目錄改名、或將檔案或目錄移入其它位置。

語法:

mv [options] source dest
mv [options] source... directory

格式如下:

mv source_file(檔案) dest_file(檔案)

將原始檔名 source_file 改為目標檔名 dest_file。

linux修改檔案的許可權

命令是:chmodchgrpchown

chmod 命令

chmod命令是非常重要的,用於改變檔案或目錄的存取許可權。使用者用它控制檔案或目錄的存取許可權。

以主資料夾下的一個名為「cc」的資料夾為例。下面一步一步介紹如何修改許可權:

1.開啟終端。輸入」su」(沒有引號)

2.接下來會要你輸入密碼,輸入你的root密碼。

3.假設我的資料夾在主目錄裡,地址為 /var/home/dengchao/cc 。假設我要修改檔案許可權為777,則在終端輸入 chmod 777 /var/home/userid/cc 資料夾的許可權就變為了777。

如果是修改資料夾及子資料夾許可權可以用 chmod -R 777 /var/home/userid/cc

具體的許可權(例如777的含意等)在下面解釋下:

1.777有3位,最高位7是設定檔案所有者存取許可權,第二位是設定群組存取許可權,最低位是設定其他人存取許可權。

其中每一位的許可權用數位來表示。具體有這些許可權:

  • r(Read,讀取,許可權值為4):對檔案而言,具有讀取檔案內容的許可權;對目錄來說,具有瀏覽目 錄的許可權。
  • w(Write,寫入,許可權值為2):對檔案而言,具有新增、修改檔案內容的許可權;對目錄來說,具有刪除、移動目錄內檔案的許可權。
  • x(eXecute,執行,許可權值為1):對檔案而言,具有執行檔案的許可權;對目錄了來說該使用者具有進入目錄的許可權。

2. 首先我們來看如何確定單獨一位上的許可權數值,例如最高位表示檔案所有者許可權數值,當數位為7時,7用「rwx」表示 –{4(r)+2(w)+1(x)=7}–又如果數值為6,則用「rw-」表示–{4(r)+2(w)+0(x)=6}–,」-」表示不具備許可權,這裡表 示不具備「執行」許可權。

假如我們設定其他使用者的存取許可權為 「r–」,則數值為4+0+0=4

一開始許多初學者會被搞糊塗,其實很簡單,我們將rwx看成二進位制數,如果有則用1表示,沒有則有0表示,那麼rwx則可以表示成為:111

而二進位制的111就是7。

3.我們再來看下怎麼確定3個數位上的許可權。假如我們要給一個檔案設定許可權,具體許可權如下:

檔案所有者有「讀」、「寫」、「執行」許可權,群組使用者有「讀」許可權,其他使用者有「讀」許可權,則對應的字母表示為」rwx r– r–「,對應的數位為744

一般都是最高位表示檔案所有者許可權值,第二位表示群組使用者許可權,最低位表示其他使用者許可權。

下面來舉些例子熟悉下。

許可權數值
rwx rw- r–764
rw- r– r–644
rw- rw- r–664

例1:

$ chmod a+x sort

即設定檔案sort的屬性為:

檔案屬主(u) 增加執行許可權

與檔案屬主同組使用者(g) 增加執行許可權

其他使用者(o) 增加執行許可權

例2:

$ chmod ug+w,o-x text

即設定檔案text的屬性為:

檔案屬主(u) 增加寫許可權

與檔案屬主同組使用者(g) 增加寫許可權

其他使用者(o) 刪除執行許可權

例3:

$ chmod u+s a.out

假設執行chmod後a.out的許可權為(可以用ls – l a.out命令來看):

–rws--x--x 1 inin users 7192 Nov 4 14:22 a.out

並且這個執行檔案要用到一個文字檔案shiyan1.c,其檔案存取許可權為「–rw——-」,即該檔案只有其屬主具有讀寫許可權。

當其他使用者執行a.out這個程式時,他的身份因這個程式暫時變成inin(由於chmod命令中使用了s選項),所以他就能夠讀取shiyan1.c這個檔案(雖然這個檔案被設定為其他人不具備任何許可權),這就是s的功能。

因此,在整個系統中特別是root本身,最好不要過多的設定這種型別的檔案(除非必要)這樣可以保障系統的安全,避免因為某些程式的bug而使系統遭到入侵。

例4:

  • $ chmod ax mm.txt

  • $ chmod x mm.txt

  • $ chmod ugox mm.txt

以上這三個命令都是將檔案mm.txt的執行許可權刪除,它設定的物件為所有使用者。

chgrp命令

功能:改變檔案或目錄所屬的組。

語法:chgrp [選項] group filename¼

引數:

  • -c或–changes 效果類似」-v」引數,但僅回報更改的部分。
  • -f或–quiet或–silent  不顯示錯誤資訊。
  • -h或–no-dereference  只對符號連線的檔案作修改,而不更動其他任何相關檔案。
  • -R或–recursive  遞迴處理,將指定目錄下的所有檔案及子目錄一併處理。
  • -v或–verbose  顯示指令執行過程。
  • –help  線上幫助。
  • –reference=<參考檔案或目錄>  把指定檔案或目錄的所屬群組全部設成和參考檔案或目錄的所屬群組相同。
  • –version  顯示版本資訊。

該命令改變指定指定檔案所屬的使用者組。其中group可以是使用者組ID,也可以是/etc/group檔案中使用者組的組名。檔名是以空格分開的要改變屬組的檔案列表,支援萬用字元。如果使用者不是該檔案的屬主或超級使用者,則不能改變該檔案的組。

該命令的各選項含義為:

– R 遞迴式地改變指定目錄及其下的所有子目錄和檔案的屬組。

例1:

$ chgrp - R book /opt/local /book

改變/opt/local /book/及其子目錄下的所有檔案的屬組為book。

chown 命令

功能:更改某個檔案或目錄的屬主和屬組。這個命令也很常用。例如root使用者把自己的一個檔案拷貝給使用者yusi,為了讓使用者yusi能夠存取這個檔案,root使用者應該把這個檔案的屬主設為yusi,否則,使用者yusi無法存取這個檔案。

語法:chown [選項] 使用者或組 檔案

說明:chown將指定檔案的擁有者改為指定的使用者或組。使用者可以是使用者名稱或使用者ID。組可以是組名或組ID。檔案是以空格分開的要改變許可權的檔案列表,支援萬用字元。

引數說明:

  • user : 新的檔案擁有者的使用者 ID
  • group : 新的檔案擁有者的使用者群體(group)
  • -c : 若該檔案擁有者確實已經更改,才顯示其更改動作
  • -f : 若該檔案擁有者無法被更改也不要顯示錯誤訊息
  • -h : 只對於連結(link)進行變更,而非該 link 真正指向的檔案
  • -v : 顯示擁有者變更的詳細資料
  • -R : 對目前目錄下的所有檔案與子目錄進行相同的擁有者變更(即以遞迴的方式逐個變更)
  • –help : 顯示輔助說明
  • –version : 顯示版本

例1:把檔案yusi123.com的所有者改為yusi。

$ chown yusi yusi123.com

例2:把目錄/demo及其下的所有檔案和子目錄的屬主改成yusi,屬組改成users。

$ chown - R yusi.users /demo

例如:chown qq /home/qq (把home目錄下的qq目錄的擁有者改為qq使用者)

例如:chown -R qq /home/qq (把home目錄下的qq目錄下的所有子檔案的擁有者改為qq使用者)

linux修改檔案的時間

命令是:touch

Linux系統檔案建立的時間並不是不能修改的,通過touch命令可以修改檔案的時間,從而達到以假亂真的效果。

範例:將系統裡某些檔案修改為三個月前的時間:

當前系統檔案資訊如下:

[root@case test]# ls -l
total 28
drwxr-xr-x 2 root root 4096 Jan 9 15:47 1333
-rwxrwxr-x 1 oracle oinstall 8143 Jan 9 14:41 3.sh
drwxr-xr-x 2 root root 4096 Jan 9 15:49 444
-rw-r--r-- 1 root root 0 Jan 9 14:41 4.sh
-rwxr-xr-x 1 root root 8143 Jan 9 14:44 77.sh
-rwxrwxr-x 1 root root 54 Jan 9 16:03 find.sh

把所有的.sh檔案修改到三個月前(2015年10月13)的時間。操作命令:

[root@case test]# touch -d 「10/13/2013」 *.sh

結果是:

[root@case test]# ls -l
total 28
drwxr-xr-x 2 root root 4096 Jan 9 15:47 1333
-rwxrwxr-x 1 oracle oinstall 8143 Oct 13 00:00 3.sh
drwxr-xr-x 2 root root 4096 Jan 9 15:49 444
-rw-r--r-- 1 root root 0 Oct 13 00:00 4.sh
-rwxr-xr-x 1 root root 8143 Oct 13 00:00 77.sh
-rwxrwxr-x 1 root root 54 Oct 13 00:00 find.sh

另外也可以單獨修改時間或者月份,如下

以使用 am, pm 或是 24 小時的格式,日期可以使用其他格式如 6 May 2000 。

touch -d 「6:03pm」 file
touch -d 「05/06/2000」 file
touch -d 「6:03pm 05/06/2000」 file

相關推薦:《Linux視訊教學

以上就是linux修改檔案的命令有哪些的詳細內容,更多請關注TW511.COM其它相關文章!