首頁 > 運維 > linux運維 > linux修改檔案的指令有哪些

linux修改檔案的指令有哪些

青灯夜游
發布: 2022-03-09 18:03:38
原創
74571 人瀏覽過

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

linux修改檔案的指令有哪些

本教學操作環境: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–764rw- 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:

  • <span class="pln">$ chmod a<span class="pun">–<span class="pln">x mm<span class="pun">.<span class="pln">txt</span></span></span></span></span>

  • $ 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修改檔案的指令有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板