Home >Operation and Maintenance >Linux Operation and Maintenance >What are the commands to modify files in Linux?

What are the commands to modify files in Linux?

青灯夜游
青灯夜游Original
2022-03-09 18:03:3874568browse

Linux commands to modify files: 1. "vi" or "vim" command, which can be used to modify the content of the file; 2. "mv" command, which can be used to modify the name of the file; 3. "chmod", The "chgrp" and "chown" commands can be used to modify the permissions of the file; 4. The "touch" command can modify the time of the file.

What are the commands to modify files in Linux?

#The operating environment of this tutorial: linux5.9.8 system, Dell G3 computer.

linux modify the contents of the file

The command is: vi,vim

  • vi editor, equivalent to Notepad, has editing functions, but weaker

  • vim is a complex editor, equivalent to Windows editplus, notepad Wait

Steps:

1. Execute vi world.txt to enter the editor (default command mode),

2 , click a or i to enter the editing mode, type: hello linux world!

3. Then press the esc key on the keyboard to exit the editing mode (enter the command mode),

4. Finally, type colon:,

5. Type wq again to save and exit.

Linux changes the name of the file

The command is: mv

mv (full spelling in English :move file) command is used to rename a file or directory, or move a file or directory to another location.

Syntax:

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

The format is as follows:

mv source_file(文件) dest_file(文件)

Change the source file name source_file to the target file name dest_file.

linux modify file permissions

The commands are: chmod,chgrp,chown

chmod command

The chmod command is very important and is used to change the access permissions of files or directories. It is used by users to control access permissions to files or directories.

Take a folder named "cc" under the main folder as an example. The following is a step-by-step introduction on how to modify permissions:

1. Open the terminal. Enter "su" (without quotation marks)

2. You will be asked to enter your password next. Enter your root password.

3. Assume that my folder is in the home directory and the address is /var/home/dengchao/cc. Suppose I want to change the file permissions to 777, then enter chmod 777 /var/home/userid/cc in the terminal and the permissions of the folder will become 777.

If you want to modify the permissions of folders and subfolders, you can use chmod -R 777 /var/home/userid/cc

The specific permissions (such as the meaning of 777, etc.) are explained below :

1.777 has 3 digits, the highest digit 7 is to set the file owner access permissions, the second digit is to set the group access permissions, and the lowest digit is to set the access permissions of others.

The permissions of each of them are represented by numbers. Specifically, there are these permissions:

  • r (Read, permission value is 4): For files, it has the permission to read the file content; for directories, it has the permission to browse the directory .
  • w (Write, permission value is 2): For files, it has the permission to add and modify file contents; for directories, it has the permission to delete and move files in the directory.
  • x (eXecute, execution, permission value is 1): For files, the user has the permission to execute the file; for directories, the user has the permission to enter the directory.

2. First, let’s look at how to determine the permission value on a single bit. For example, the highest bit represents the file owner permission value. When the number is 7, 7 is represented by “rwx” – {4 (r) 2(w) 1(x)=7}–And if the value is 6, use “rw-” to represent –{4(r) 2(w) 0(x)=6}–, “-” It means that it does not have permission, here it means that it does not have "execution" permission.

If we set the access rights of other users to "r–", the value is 4 0 0 = 4

Many beginners will be confused at first, but it is actually very simple. Treat rwx as a binary number. If it is present, it is represented by 1, and if it is not, it is represented by 0. Then rwx can be represented as: 111

, and 111 in binary is 7.

3. Let’s take a look at how to determine the permissions on 3 digits. If we want to set permissions for a file, the specific permissions are as follows:

The file owner has "read", "write", and "execute" permissions, group users have "read" permissions, and other users have "read" permissions. "Permissions, the corresponding letters are expressed as "rwx r– r–", and the corresponding numbers are 744

Generally, the highest digit represents the file owner permission value, the second digit represents the group user permission, and the lowest bit indicates other user permissions.

Let’s give some examples to get familiar with.

##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视频教程

Permission Value
rwx rw- r– 764
rw- r– r– 644

The above is the detailed content of What are the commands to modify files in Linux?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn