Linux文件管理相关命令

记录Linux对文件/目录/权限的增删改查命令

1. ls

查看目录下的所有文件信息

ls [参数] [目录]

目录不穿默认当前目录下

1.1 参数

参数

说明

-a

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

-l

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

-r

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

-t

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

-R

递归遍历目录下文件

1.2 示例

# 查看当前目录下所有文件
ls -a
# 将文件的详细信息列出 ll是ls -l的软连接 
ll -a

Linux文件管理相关命令


2. pwd

查看当前所在目录的绝对路径

pwd

Linux文件管理相关命令


3. cd

切换工作目录

cd [目录路径]

目录路径可以为绝对路径,也可以为相对路径

当不穿目录路径时,默认回到~ ~代表当前用户home目录,比如root用户就回到/root目录

3.1 示例

# 切换/var目录
cd /var
# 获取当前工作目录
pwd

Linux文件管理相关命令

4. touch

修改文件时间属性,如果文件不存在,会新建文件,如果文件存在修改文件时间

touch [参数] [文件]

4.1 参数

参数

说明

-c

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

-r

使用参考文件的时间记录

-t

设置文件的时间记录

4.2 示例

# 创建文件(文件不存在)
touch demo1.txt demo2.txt
# 查看文件及文件时间
ll
# 修改demo1.txt 文件时间 与系统时间保持一致
touch demo1.txt
# 修改demo2.txt 文件时间 与demo1.txt时间保持一致
touch -r demo1.txt demo2.txt

Linux文件管理相关命令

5.mkdir

创建目录命令

mkdir [-p] [目录名/目录路径]

-p参数如果目录路径中某个路径不存在,就会层级创建

5.1 示例

# 当前目录下创建目录hhh
mkdir hhh
# 创建多级目录 不加-p参数时报错
mkdir a/b/c/d
mkdir -p a/b/c/d
# tree查看目录结构
tree

Linux文件管理相关命令


6. rm

删除文件

rm [参数] [文件/目录]

6.1 参数

参数

说明

-i

删除前逐一询问确认

-f

无需确认,直接删除

-r

删除目录下所有文件

6.2 示例

# 常用删除命令 删除a及a下所有子目录 并且不需要确认
rm -rf a

Linux文件管理相关命令

7. cp

cp [参数] [源文件] [目标文件/路径]

复制文件/目录

7.1 参数

参数

说明

-d

复制时保留链接

-f

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

-i

覆盖前询问

-p

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

-r

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

7.2 示例

# 创建 a/b目录 c/d目录
mkdir -p a/b
mkdir -p c/d
# 将c/d 复制到 a/b下 包含子目录使用-r参数递归复制
cp -r c a/b

Linux文件管理相关命令



8. mv

移动文件到指定位置,也可以当作修改文件/目录名的命令

mv [参数] [源文件] [目标文件位置]

8.1 参数

参数

说明

-i

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

-f

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

8.2 示例

# 修改文件名 其实就是把源文件移动到同样的位置 文件名字改掉
touch a.txt
mv a.txt b.txt
# 移动当前目录下的所有文件到 tmp目录
mv ./* /tmp

Linux文件管理相关命令


9. rename

批量修改文件名

rename [原字符串] [新字符串] 文件

9.1 示例

# 创建两个文件
touch demo1.txt demo2.txt
ll
# 修改当前目录下所有文件名字 把文件名中的demo替换为DEMO
rename demo DEMO *

Linux文件管理相关命令


10. 文件权限详解

文件权限分为三种

  1. 读 r 用数字表示为4
  2. 写 w 用数字表示为2
  3. 执行 x 用数字表示为1

所以拥有读写执行的权限就可以简写为4+2+1=7

7就是最大的权限

文件权限角色分为三类 文件所属用户权限、所属用户组权限、其他组权限

ll 

Linux文件管理相关命令

其中第一个-后的rw就是文件所属用户权限

第二个-后的就是所属用户组的权限

第三个-后的就是其他组的权限

结合后面的文件所属用户及用户组,可以得出

DEMO1.ttt文件由root用户持有

权限为 root用户拥有读写权限 root用户组拥有读权限 其他组用户拥有读权限

10.1 chmod

修改文件权限

chmod [-R] [文件]

-R代表递归,即是否同时修改子目录的文件权限

10.1.1 示例

# DEMO1.ttt添加root用户执行权限 u代表用户 g代表用户组 o代表其他组用户
chmod u+x DEMO1.ttt
# 上面命令等价于 744 第一位为用户权限7 第二位为用户组权限4 第三位为其他组用户权限4  7/4/4就是读写执行权限的数字表示之和
chmod 744 DEMO2.ttt

Linux文件管理相关命令

10.2 chown

修改文件拥有者及用户组

chown [用户名:用户组名] [-R] 文件

-R同chmod一样,代表递归更新子目录

10.2.1 示例

# 创建用户test
adduser test
passwd test
# 修改文件用户为test
chown test DEMO1.ttt
ll

Linux文件管理相关命令


10.3 chgrp

修改文件用户组

chgrp [组名] [-R] [文件]

10.3.1 示例

chgrp test DEMO1.ttt

Linux文件管理相关命令


11. find

查找文件

find [路径] [参数] [匹配字符串] [一些操作]

11.1 参数

常用的几个参数

参数

描述

-name

按文件名查找

-perm

按文件权限查找

-user

按文件用户查找

-group

按用户组查找

-mtime/-atime/-ctime +/-n

按文件更新/访问/创建时间查找文件 +n是n天以前 -n是n天以内

-size

按文件大小查找

-type

按文件类型查找

11.2 示例

# 按文件名查找后缀是.txt的文件
find ./ -name "*.txt"


上一篇:Tablestore入门指南-GetRange范围查询详解


下一篇:hadoop-HA集群搭建,启动DataNode,检测启动状态,执行HDFS命令,启动YARN,HDFS权限配置,C++客户端编程,常见错误