Linux文件与权限基本操作,请牢记这12个命令(附英文全称)

我发现如果能够知道linux命令的英文全称可以更好的记忆命令本身,本篇涉及的全部linux命令的英文全称可见文章结尾表格,希望可以帮助需要的朋友。

1、ls:list files用于显示指定工作目录下的内容

格式:ls [参数] [目录名]

参数说明:

参数

说明

-a

显示所有文件及目录(包括隐藏文件)

-l

将文件的权限、拥有者、文件大小等详细信息列出(ll等同于ls -l

-r

将文件反序列出(默认按英文字母正序)

-t

将文件按创建时间正序列出

-R

递归遍历目录下文件

示例:

查看当前目录下的所有文件(包括隐藏文件)

ll -a

2、pwd:print working directory获取当前工作目录的绝对路径

3、cd:change directory切换工作目录

在路径表示中:

  • 一个半角句号(.)表示当前目录,例如路径./app/log等同于app/log。
  • 两个半角句号(..)表示上级目录,例如路径/usr/local/../src等同于/usr/src,其中local和src目录同级。

cd命令的默认参数为~,符号~表示当前用户的家目录,即在root用户登录时,命令cdcd ~cd /root执行效果相同。

3、touch:修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件

格式:touch [参数] [文件]

参数说明:

参数

说明

-c

如果指定文件不存在,不会建立新文件

-r

使用参考文件的时间记录

-t

设置文件的时间记录

示例:

创建两个空文件

touch demo1.txt demo2.txt

更新demo2.txt的时间记录,使其和demo1.txt的时间记录相同。

touch -r demo1.txt demo2.txt

验证:ll

4、mkdir:make directory命令用于新建子目录。-p参数确保目录名称存在,不存在的就新建一个

新建目录a/b/c/d

mkdir -p a/b/c/d

使用tree命令查看创建后的目录结构

tree

5、rm:romove files用于删除一个文件或者目录

格式:rm [参数] [文件]

参数说明:

参数

说明

-i

删除前逐一询问确认

-f

无需确认,直接删除

-r

删除目录下所有文件

示例:

无需确认直接删除文件

rm -rf demo*

无需确认直接删除目录a及其目录下所有子目录和文件。

rm -rf a

6、cp:copy file用于复制文件或目录

格式:cp [参数] [源文件] [目标文件]

参数说明:

参数

说明

-d

复制时保留链接

-f

覆盖已经存在的目标文件而不给出提示

-i

覆盖前询问

-p

除复制文件的内容外,还把修改时间和访问权限也复制到新文件中

-r

复制目录及目录内的所有项目

示例:

将目录c/d中的所有内容复制到目录a/b下

mkdir -p a/b

mkdir -p c/d

tree 

cp -r c a/b/

7、mv:move file为文件或目录改名、或将文件或目录移入其它位置

格式:mv [参数] [源文件] [目标文件]

参数说明:

参数

说明

-i

若指定目录已有同名文件,则先询问是否覆盖旧文件

-f

如果目标文件已经存在,不会询问而直接覆盖

示例:

将文件名a.txt改为b.txt

touch a.txt

ls

mv a.txt b.txt

ls

将c目录移动到a/b/c/d/下

mv c a/b/c/d/

tree

将当前目录内容全部移动到/tmp目录中。

mv ./* /tmp

8、rename:用字符串替换的方式批量改变文件名。rename命令有C语言和Perl语言两个版本,这里介绍C语言版本的rename命令,不支持正则表达式

示例:

将当前目录下所有文件名中的字符串demo改为大写的字符串DEMO

touch demo1.txt demo2.txt

ls

rename demo DEMO *

ls

将当前目录下所有.txt文件后缀都改为text

rename .txt .text *

9、权限ls -l

显示的第一列就是文件权限信息,共11位字符,分5部分。

  • 第1位表示存档类型,d表示目录,-表示一般文件。
  • 第2~4位表示当前用户的权限(属主权限)。
  • 第5~7位表示同用户组的用户权限(属组权限)。
  • 第8~10位表示不同用户组的用户权限(其他用户权限)。
  • 第11位是一个半角句号.,表示SELinux安全标签。

用户权限每组三位,rwx分别表示读、写、执行权限,对应八进制表示为4、2、1

示例:

efi目录的root用户权限为drwxr-xr-x.

  • 该目录对root用户具有读写和执行所有权限。
  • 该目录对root组其他用户有读和执行权限。
  • 该目录对其他用户有读和执行权限。

所以该权限表示对应八进制权限表示为:

  • 属主权限:4+2+1=7
  • 属组权限:4+1=5
  • 其他用户权限:4+1=5

即755。

10、chmod:change mode修改文件权限mode,-R参数以递归方式对子目录和文件进行修改

示例:

新建名为hello.sh的Shell脚本,该脚本将会输出Hello World。用ll命令可以看到新建的脚本没有执行权限,其权限用八进制表示为644。

echo "echo 'Hello World'" > hello.sh

ll

将hello.sh文件增加属主的执行权限

chmod u+x hello.sh

ll

将hello.sh文件撤销属主的执行权限

chmod u-x hello.sh

将hello.sh文件权限修改为八进制表示的744权限

chmod 744 hello.sh

ll

使用bash命令解释器执行hello.sh脚本文件

/bin/bash hello.sh

其中,u+x表示增加属主的执行权限,u表示属主,g表示属组,o表示其他,a表示所有用户

11、chown:change owner命令修改文件的属主和属组;-R参数以递归方式对子目录和文件进行修改;ls -l命令显示的第三列和第四列就是文件的属主和属组信息。

示例:

新建一个文本文件test.txt,用ll命令可以看到该文件的属主和属组是root。whoami命令可以查看当前Shell环境登录的用户名

whoami

创建两个用户

adduser test

passwd test

adduser admin

passwd admin

修改test.txt文件的属主用户为test

chown test test.txt

修改test.txt文件的属主和属组为admin

chown admin test.txt

12、chgrp:change group修改文件的属组

示例:

change root test.txt

ll

小结:

本文命令及全称和中文对照表

命令

全称

中文释义 *

ls

list files

显示工作目录下的内容

pwd

print working directory

获取当前目录绝对路径

cd

change directory

切换工作目录

mkdir

make directory

新建目录

rm

romove files

删除文件

cp

copy file

复制文件

mv

move file

移动文件

chmod

change mode

修改文件权限

chown

change owner

修改文件属性和属组

chgrp

change group

修改文件属组

注:linux一切都是文件,中文释义部分rm、cp等包括文件夹类文件。

上一篇:云起实验室-冬季实战营第四期实验总结


下一篇:云起实验室-冬季实战营第一期实验总结