参数 | 参数说明 |
---|---|
-l | 使用长格式列出文件即目录信息 相当于直接使用ll |
-a | 显示目录下的所有文件,包括.开头的隐藏文件 |
-t | 根据最后修改时间(time)排序,默认是按文件名排序的 |
-r | 以相反次序排序 |
-F | 在条目后加上文件类型的只是符号(*、/、=、@、 |
-d | 当遇到目录时,列出目录本身而非目录内文件 |
-h | 以人类可读信息显示文件或目录大小,如1KB,23M,3GB等 |
4、实践操作
① 直接使用ls命令,不带参数,显示当前目录下的文件和路径
[root@xiezhr test]# ls
a.txt b.txt c.txt dir1 dir2 dir3
②加上【-a】参数,显示所有文件,包含隐藏文件("."开头的为隐藏文件),如下所示,ls没有显示隐藏文件,ls -a 显示了隐藏文件.d.txt
[root@xiezhr test]# ls
a.txt b.txt c.txt dir1 dir2 dir3
[root@xiezhr test]# ls -a
. .. a.txt b.txt c.txt dir1 dir2 dir3 .d.txt
③ 加上【-l】参数,显示文件目录的详细信息
这个参数时我们最常用的,这个命令会列出文件或目录类型、权限、所属组、创建修改时间(最后一次修改时间,如果时新创建的文件则为创建时间),需要熟练掌握
[root@xiezhr test]# ls -l
total 12
-rw-r--r-- 1 root root 0 Mar 10 23:39 a.txt
-rw-r--r-- 1 root root 0 Mar 10 23:39 b.txt
-rw-r--r-- 1 root root 0 Mar 10 23:39 c.txt
drwxr-xr-x 2 root root 4096 Mar 10 23:38 dir1
drwxr-xr-x 2 root root 4096 Mar 10 23:38 dir2
drwxr-xr-x 2 root root 4096 Mar 10 23:38 dir3
小技巧:上面的命令我们会发现,时间没显示年份,那么怎么才能显示出我们肉眼既可以看懂的时间呢?
[root@xiezhr test]# ls -l --time-style=long-iso
total 16
-rw-r--r-- 1 root root 22 2022-03-10 23:44 a.txt
-rw-r--r-- 1 root root 0 2022-03-10 23:39 b.txt
-rw-r--r-- 1 root root 0 2022-03-10 23:39 c.txt
drwxr-xr-x 2 root root 4096 2022-03-10 23:38 dir1
drwxr-xr-x 2 root root 4096 2022-03-10 23:38 dir2
drwxr-xr-x 2 root root 4096 2022-03-10 23:38 dir3
哇哦,上面命令这么长,使用起来真的不方便,我们给它起个别名吧,这样叫起来也比较方便
[root@xiezhr test]# alias lst='ls -l --time-style=long-iso'
[root@xiezhr test]# alias |grep lst
alias lst='ls -l --time-style=long-iso'
[root@xiezhr test]# lst
total 16
-rw-r--r-- 1 root root 22 2022-03-10 23:44 a.txt
-rw-r--r-- 1 root root 0 2022-03-10 23:39 b.txt
-rw-r--r-- 1 root root 0 2022-03-10 23:39 c.txt
drwxr-xr-x 2 root root 4096 2022-03-10 23:38 dir1
drwxr-xr-x 2 root root 4096 2022-03-10 23:38 dir2
drwxr-xr-x 2 root root 4096 2022-03-10 23:38 dir3
④ 加上【-F】参数,F是大写,在文件尾部加上文件类型符号(、/、=、@、|)中一个
**"“表示普通可执行文件、”/“表示目录、”=“表示套接字、”@“表示符号链接、”|"表示FIFOs**
具体文件类型可以参照【文件类型】这篇文章
[root@xiezhr test]# ls -F
a.txt b.txt c.txt dir1/ dir2/ dir3/ # 三个目录尾部加上了/
小技巧:通过【-F】参数,可以过滤出所有目录和普通文件
[root@xiezhr test]# ls -F # 当前路径下一共包含三个文件和三个目录
a.txt b.txt c.txt dir1/ dir2/ dir3/
[root@xiezhr test]# ls -F|grep / # 过滤出所有路径
dir1/
dir2/
dir3/
[root@xiezhr test]# ls -F|grep -v / #过滤出普通文件
a.txt
b.txt
c.txt
⑤ 假设一个目录下面有很多很多个文件,我们忘记了最近改过的文件的名字(年纪大了,记性越来越不好),这时候要找出它,可以用如下命令
[root@xiezhr test]# touch xiezhr.txt
[root@xiezhr test]# ls -lt
total 16
-rw-r--r-- 1 root root 0 Mar 11 23:02 xiezhr.txt
-rw-r--r-- 1 root root 0 Mar 11 22:52 tt.txt
-rw-r--r-- 1 root root 22 Mar 10 23:44 a.txt
-rw-r--r-- 1 root root 0 Mar 10 23:39 c.txt
-rw-r--r-- 1 root root 0 Mar 10 23:39 b.txt
drwxr-xr-x 2 root root 4096 Mar 10 23:38 dir3
drwxr-xr-x 2 root root 4096 Mar 10 23:38 dir2
drwxr-xr-x 2 root root 4096 Mar 10 23:38 dir1
我们最近创建或修改的文件就排在最前面了,有没有很方便哦
当然了,可以让你最显目,也可以让你排到最后去。ls -lrt 即可按照时间倒序排。-r 是倒序的意思
mkdir 创建目录
1、简介
mkdir 是"make directoy" 英文单词的缩写,功能是创建目录。如果目录存在则提示已存在,不会继续创建
2、语法格式
mkdir [参数选项] [目录]
3、参数说明
参数 | 参数说明 |
---|---|
-p | 递归创建目录。即可以父目录儿子目录孙子目录重孙目录…等一起创建 |
-m | 创建目录的同时授予权限 |
4、实践操作
① mkdir 不带任何参数
[root@xiezhr test]# ls
a.txt b.txt c.txt dir1 dir2 dir3 tt.txt xiezhr.txt
[root@xiezhr test]# mkdir xiezhr
[root@xiezhr test]# ls
a.txt b.txt c.txt dir1 dir2 dir3 tt.txt xiezhr xiezhr.txt
② 同时创建多个目录
[root@xiezhr test]# ls
a.txt b.txt c.txt dir1 dir2 dir3 tt.txt xiezhr xiezhr.txt
[root@xiezhr test]# mkdir dir4 dir5 dir6
[root@xiezhr test]# ls
a.txt b.txt c.txt dir1 dir2 dir3 dir4 dir5 dir6 tt.txt xiezhr xiezhr.txt
③ 使用【-p】参数递归创建目录
[root@xiezhr test]# ls
a.txt b.txt c.txt dir1 dir2 dir3 tt.txt xiezhr.txt
[root@xiezhr test]# mkdir -p xiezhr/test
[root@xiezhr test]# tree
.
├── a.txt
├── b.txt
├── c.txt
├── dir1
├── dir2
├── dir3
├── tt.txt
├── xiezhr
│ └── test
└── xiezhr.txt
5 directories, 5 files
④ 使用【-m】参数,创建目录同时授权
[root@xiezhr test]# mkdir -m 755 dir
tree 以树形结构显示目录下的内容
1、简介
tree 一看到这个命令,我们就知道是树的意思,当然了这里的树并非种的树,而是以树形结构显示目录下内容。
2、语法格式
tree [参数选项] [目录]
3、参数说明
参数 | 参数说明 |
---|---|
-d | 只显示目录 |
-L level | 遍历目录的最大层数,level为大于0的整数 |
4、实践操作
注意:个别Linux版本可能没有默认安装tree,大家也不用慌,我们按照如下步骤安装即可
- 下载安装包
wget http://mama.indstate.edu/users/ice/tree/src/tree-1.7.0.tgz
- 解压安装包
tar -zxvf tree-1.7.0.tgz
- 切换到解压后的目录
cd tree-1.7.0
- 编译安装
make install
- 大功告成,输入tree 命令回车
① 不带参数的tree
[root@xiezhr test]# tree
.
├── a.txt
├── b.txt
├── c.txt
├── dir
├── dir1
├── dir2
├── dir3
├── tt.txt
├── xiezhr
│ └── test
└── xiezhr.txt
6 directories, 5 files
② 加上【-d】参数,只显示目录
[root@xiezhr test]# tree -d
.
├── dir
├── dir1
├── dir2
├── dir3
└── xiezhr
└── test
6 directories
③ 加上【-L leave】 列出目录下第leave层结构
[root@xiezhr test]# tree -L 1
.
├── a.txt
├── b.txt
├── c.txt
├── dir
├── dir1
├── dir2
├── dir3
├── tt.txt
├── xiezhr
└── xiezhr.txt
5 directories, 5 files
④ 加上【-f】显示完整的路径名称 加上【-i】则不显示树枝部分
[root@xiezhr test]# tree -f
.
├── ./a.txt
├── ./b.txt
├── ./c.txt
├── ./dir
├── ./dir1
├── ./dir2
├── ./dir3
├── ./tt.txt
├── ./xiezhr
│ └── ./xiezhr/test
└── ./xiezhr.txt
6 directories, 5 files
[root@xiezhr test]# tree -i
.
a.txt
b.txt
c.txt
dir
dir1
dir2
dir3
tt.txt
xiezhr
test
xiezhr.txt
6 directories, 5 files
[root@xiezhr test]# tree -fi
.
./a.txt
./b.txt
./c.txt
./dir
./dir1
./dir2
./dir3
./tt.txt
./xiezhr
./xiezhr/test
./xiezhr.txt
6 directories, 5 files
⑤ 加上【-F】参数区分目录和文件
[root@xiezhr test]# tree -F
.
├── a.txt
├── b.txt
├── c.txt
├── dir/
├── dir1/
├── dir2/
├── dir3/
├── tt.txt
├── xiezhr/
│ └── test/
└── xiezhr.txt
6 directories, 5 files
尾部带/的为目录
touch 创建空白文件或改变文件的时间戳属性
1、简介
touch 是触摸的意思,摸一下文件可以创建空白文件或改变文件时间属性
touch 不能创建目录但是能改变目录的时间戳属性
2、语法格式
touch [参数选项] [文件]
3、参数说明
参数 | 参数说明 |
---|---|
-a | 只更改文件最后访问时间 |
-m | 只更改文件最后修改时间 |
-d string | 使用字符串string代表的时间模板设置指定文件的时间属性 |
4、实践操作
① 不带任何参数
[root@xiezhr test]# touch xiezhr.txt
[root@xiezhr test]# ls
a.txt b.txt c.txt dir dir1 dir2 dir3 tt.txt xiezhr xiezhr.txt
②更改文件时间戳属性(文件的时间戳属性:访问时间、修改时间、状态改变时间)
- stat 查看文件时间戳属性
- -m 更改文件修改时间
- -a 更改文件的访问时间
[root@xiezhr test]# stat xiezhr.txt
File: ‘xiezhr.txt’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd01h/64769d Inode: 2661 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2022-03-12 21:04:32.681919249 +0800
Modify: 2022-03-12 21:04:32.681919249 +0800
Change: 2022-03-12 21:04:32.681919249 +0800
Birth: -
[root@xiezhr test]# touch -m xiezhr.txt
[root@xiezhr test]# stat xiezhr.txt
File: ‘xiezhr.txt’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd01h/64769d Inode: 2661 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2022-03-12 21:04:32.681919249 +0800
Modify: 2022-03-12 21:08:22.344330251 +0800
Change: 2022-03-12 21:08:22.344330251 +0800
Birth: -
[root@xiezhr test]# touch -a xiezhr.txt
[root@xiezhr test]# stat xiezhr.txt
File: ‘xiezhr.txt’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: fd01h/64769d Inode: 2661 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2022-03-12 21:08:42.528893719 +0800
Modify: 2022-03-12 21:08:22.344330251 +0800
Change: 2022-03-12 21:08:42.528893719 +0800
Birth: -
cp 复制文件或目录
1、简介
cp 是copy 英文单词的缩写,功能是复制文件或目录
2、语法格式
cp [参数选项] [源文件] [目标文件]
3、参数说明
参数 | 参数说明 |
---|---|
-p | 复制时保持源文件的权限、时间属性 |
-d | 如果复制的文件时符号链接,那么仅赋值符号链接本身,而且保留符号链接所指向的目标文件或目录 |
-r | 递归复制目录,即复制目录下所有层级的子目录及文件 |
-a | 等同于-p、-d、-r三个命令总和 |
-i | 覆盖已有文件提示用户确认 |
4、实践操作
① 将文件a.txt 复制为 aaa.txt
[root@xiezhr test]# cp a.txt aaa.txt
[root@xiezhr test]# ls
aaa.txt a.txt b.txt c.txt dir dir1 dir2 dir3 dir_bak tt.txt xiezhr xiezhr.txt
②复制目录,将dir 目录复制为dir_bak
[root@xiezhr test]# ls
aaa.txt a.txt b.txt c.txt dir dir1 dir2 dir3 tt.txt xiezhr xiezhr.txt
[root@xiezhr test]# cp -r dir dir\_bak
[root@xiezhr test]# ls
aaa.txt a.txt b.txt c.txt dir dir1 dir2 dir3 dir_bak tt.txt xiezhr xiezhr.txt
mv 移动或重命名文件
1、简介
mv 是 move 的缩写,功能是移动重命名文件
2、语法格式
mv [参数选项] [源文件] [目标文件]
3、参数说明
参数 | 参数说明 |
---|---|
-f | 若目标文件已经存在,则不会询问直接覆盖 |
-i | 若目标文件已存在,则会询问是否覆盖 |
-n | 不覆盖已经存在的文件 |
-u | 在源文件比目标文件新,或目标文件不存在时才进行移动 |
4、实践操作
① 给文件改名(如果a1.txt 不存在,则将aaa.txt 重命名为a1.txt)
[root@xiezhr test]# ls
aaa.txt b.txt c.txt dir dir1 dir2 dir3 dir_bak tt.txt xiezhr xiezhr.txt
[root@xiezhr test]# mv aaa.txt a1.txt
[root@xiezhr test]# ls
a1.txt b.txt c.txt dir dir1 dir2 dir3 dir_bak tt.txt xiezhr xiezhr.txt
② 给文件重命名(如果a2.txt存在,则将a1.txt 覆盖为a2.txt)
[root@xiezhr test]# ls
a1.txt a2.txt b.txt c.txt dir dir1 dir2 dir3 dir_bak tt.txt xiezhr xiezhr.txt
[root@xiezhr test]# mv a1.txt a2.txt
mv: overwrite ‘a2.txt’? y
[root@xiezhr test]# ls
a2.txt b.txt c.txt dir dir1 dir2 dir3 dir_bak tt.txt xiezhr xiezhr.txt
③ 移动单个文件或多个文件
[root@xiezhr test]# ls
a2.txt b.txt c.txt dir dir1 dir2 dir3 dir_bak tt.txt xiezhr xiezhr.txt
[root@xiezhr test]# mv a2.txt dir/
[root@xiezhr test]# ls
b.txt c.txt dir dir1 dir2 dir3 dir_bak tt.txt xiezhr xiezhr.txt
[root@xiezhr test]# mv b.txt c.txt dir/
[root@xiezhr test]# ls
dir dir1 dir2 dir3 dir_bak tt.txt xiezhr xiezhr.txt
④移动目录 如果目录存在则将文件移动到目录中,如果不存在则将目录改名
[root@xiezhr test]# ls
a2.txt b.txt c.txt dir dir1 dir2 dir3 dir_bak tt.txt xiezhr xiezhr.txt
[root@xiezhr test]# mv a2.txt dir/
[root@xiezhr test]# ls
b.txt c.txt dir dir1 dir2 dir3 dir_bak tt.txt xiezhr xiezhr.txt
[root@xiezhr test]# mv b.txt c.txt dir/
[root@xiezhr test]# ls
dir dir1 dir2 dir3 dir_bak tt.txt xiezhr xiezhr.txt
[root@xiezhr test]# mv dir1 dir
[root@xiezhr test]# ls
dir dir2 dir3 dir_bak tt.txt xiezhr xiezhr.txt
[root@xiezhr test]# mv dir2 dir5
[root@xiezhr test]# ls
dir dir3 dir5 dir_bak tt.txt xiezhr xiezhr.txt
rm 删除文件或目录
1、简介
rm 时rmove 英文单词的缩写,功能时删除一个或多个文件、目录。rm是Linux中最危险的命令。如果删错了那只有跑路了~ 慎重慎重慎重😂
2、语法格式
rm [参数选项] [文件或目录]
3、参数说明
参数 | 参数说明 |
---|---|
-f | 强制删除,忽率不存在的文件,不提示确认 |
-r | 递归删除目录及其内容 |
4、实践操作
① 不带参数的删除,删除需要确认
[root@xiezhr test]# ls
a.txt b.txt c.txt dir dir3 dir5 dir_bak tt.txt xiezhr xiezhr.txt
[root@xiezhr test]# rm a.txt
rm: remove regular empty file ‘a.txt’? y
[root@xiezhr test]# ls
b.txt c.txt dir dir3 dir5 dir_bak tt.txt xiezhr xiezhr.txt
②强制删除文件,不需要确认
[root@xiezhr test]# ls
b.txt c.txt dir dir3 dir5 dir_bak tt.txt xiezhr xiezhr.txt
[root@xiezhr test]# rm -f b.txt
[root@xiezhr test]# ls
c.txt dir dir3 dir5 dir_bak tt.txt xiezhr xiezhr.txt
③ 递归删除目录文件
[root@xiezhr test]# tree dir1/
dir1/
└── a
└── b
└── t.txt
2 directories, 1 file
[root@xiezhr test]# rm -rf dir1/
[root@xiezhr test]# ls
c.txt dir dir3 dir5 dir_bak tt.txt xiezhr xiezhr.txt
注意:数据无价,慎重、慎重、慎重
- 尽量用mv代替rm ,先将文件移动到其他目录/tmp,类似于windows的垃圾回收站
- 删除前必须备份,即使只是删除一个很不起眼的文件
- 如果非要用到“rm -rf”,一定要确认好路径,别来个rm -rf/ 那就真的玩完了,跑路都是小事,如果造成损失可能要负法律责任。
chown 改变文件或目录的用户用户组
1、简介
chown 是change owner 英文的缩写,用于改变文件或目录的所属用户和用户组
2、语法格式
chown [参数选项] [用户:用户组] [文件或目录]
chown 用户 文件或目录 # 仅仅授权用户
chown :组 文件或目录 # 仅仅授权组
chown 用户:组 文件或目录 # 不仅授权用户,还授权组
3、参数说明
参数 | 参数说明 |
---|---|
-R | 递归更改目录的用户和用户组 |
4、实践操作
① 更改文件的用户和组
[root@xiezhr test]# ll c.txt
-rw-r--r-- 1 root root 0 Mar 14 22:37 c.txt
[root@xiezhr test]# chown xiezhr:xiezhr c.txt
[root@xiezhr test]# ll c.txt
-rw-r--r-- 1 xiezhr xiezhr 0 Mar 14 22:37 c.txt
② 递归更改目录即目录下所有目录及文件的用户和用户组属性
[root@xiezhr test]# ll -d dir
drwxr-xr-x 3 root root 4096 Mar 13 16:08 dir
[root@xiezhr test]# chown -R xiezhr.xiezhr dir/
[root@xiezhr test]# ll -d dir
drwxr-xr-x 3 xiezhr xiezhr 4096 Mar 13 16:08 dir
chmod 改变文件或目录的权限
1、简介
chmod 是change mode 英文单词的缩写,用户改变文件或目录的权限。该命令只有文件的属主和root用户可以使用
2、语法格式
chmod [参数选项] [模式选项] [文件或目录]
我们输入如下命令后,会显示文件或目录的详细信息。那么开头的一堆东西代表什么呢?
[root@xiezhr test]# ll
total 20
-rw-r--r-- 1 xiezhr xiezhr 0 Mar 14 22:37 c.txt
drwxr-xr-x 3 xiezhr xiezhr 4096 Mar 13 16:08 dir
drwxr-xr-x 2 root root 4096 Mar 10 23:38 dir3
如上图所示,
- Linux权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)
- 第一位代表文件类型,-表示普通文件 d 表示目录
- r是read的缩写,代表可读权限 对应4
- w是write的缩写,代表可写权限 对应2
- x是execute的缩写,代表可执行权限 对应1
- -没有任何权限 对应0
- a 是all 的缩写,代表所有等于u、g、o的综合
- u 是user的缩写,代表文件拥有者
- g 是group的缩写,代表用户组
- o 是other的缩写,代表其他用户
3、参数说明
参数 | 参数说明 |
---|---|
-R | 递归处理指定目录及其子目录下的所有文件 |
4、实践操作
① 设置所有权限为空
[root@xiezhr test]# ll c.txt
-rw-r--r-- 1 xiezhr xiezhr 0 Mar 14 22:37 c.txt
[root@xiezhr test]# chmod a= c.txt
[root@xiezhr test]# ll c.txt
---------- 1 xiezhr xiezhr 0 Mar 14 22:37 c.txt
② 设置文件拥有者具有文件可执行属性
[root@xiezhr test]# ll c.txt
---------- 1 xiezhr xiezhr 0 Mar 14 22:37 c.txt
[root@xiezhr test]# chmod u+x c.txt
[root@xiezhr test]# ll c.txt
---x------ 1 xiezhr xiezhr 0 Mar 14 22:37 c.txt
②设置文件组具有文件可写权限
[root@xiezhr test]# ll c.txt
---x------ 1 xiezhr xiezhr 0 Mar 14 22:37 c.txt
[root@xiezhr test]# chmod g+w c.txt
[root@xiezhr test]# ll c.txt
---x-w---- 1 xiezhr xiezhr 0 Mar 14 22:37 c.txt
③ 设置其他用户具有文件可读权限
[root@xiezhr test]# ll c.txt
---x-w---- 1 xiezhr xiezhr 0 Mar 14 22:37 c.txt
[root@xiezhr test]# chmod o+r c.txt
[root@xiezhr test]# ll c.txt
---x-w-r-- 1 xiezhr xiezhr 0 Mar 14 22:37 c.txt
④ 多个权限一起
[root@xiezhr test]# ll c.txt
---x-w-r-- 1 xiezhr xiezhr 0 Mar 14 22:37 c.txt
[root@xiezhr test]# chmod ugo+x c.txt
[root@xiezhr test]# ll c.txt
---x-wxr-x 1 xiezhr xiezhr 0 Mar 14 22:37 c.txt
⑤ 撤销其他用户可执行权限
[root@xiezhr test]# ll c.txt
---x-wxr-x 1 xiezhr xiezhr 0 Mar 14 22:37 c.txt
[root@xiezhr test]# chmod o-x c.txt
[root@xiezhr test]# ll c.txt
---x-wxr-- 1 xiezhr xiezhr 0 Mar 14 22:37 c.txt
⑥ 通过数字设置文件拥有者可读可写可执行、用户组可读可执行、其他用户可读可执行
[root@xiezhr test]# ll c.txt
---x-wxr-- 1 xiezhr xiezhr 0 Mar 14 22:37 c.txt
[root@xiezhr test]# chmod 755 c.txt
[root@xiezhr test]# ll c.txt
-rwxr-xr-x 1 xiezhr xiezhr 0 Mar 14 22:37 c.txt
⑦使用【-R】参数递归授予dir目录下所有文件权限
[root@xiezhr test]# ll dir
total 8
-rw-r--r-- 1 xiezhr xiezhr 90 Mar 13 15:24 a2.txt
-rw-r--r-- 1 xiezhr xiezhr 0 Mar 10 23:39 b.txt
-rw-r--r-- 1 xiezhr xiezhr 0 Mar 10 23:39 c.txt
drwxr-xr-x 2 xiezhr xiezhr 4096 Mar 10 23:38 dir1
[root@xiezhr test]# chmod -R 755 dir/
[root@xiezhr test]# ll dir
total 8
-rwxr-xr-x 1 xiezhr xiezhr 90 Mar 13 15:24 a2.txt
-rwxr-xr-x 1 xiezhr xiezhr 0 Mar 10 23:39 b.txt
-rwxr-xr-x 1 xiezhr xiezhr 0 Mar 10 23:39 c.txt
drwxr-xr-x 2 xiezhr xiezhr 4096 Mar 10 23:38 dir1
chgrp 更改文件用户组
1、简介
chgrp 是change group 的缩写,仅仅用于改变文件的用户组。chgrp 允许普通用户改变文件所属的组,只要该用户是该组的一员。一般我们都使用chown 命令
2、语法格式
chgrp [参数选项] [用户组] [文件或目录]
3、参数说明
参数 | 参数说明 |
---|---|
-R | 递归更改文件的用户组 |
4、实践操作
①修改文件组属性
[root@xiezhr test]# ll a.txt
-rw-r--r-- 1 root root 0 Mar 15 21:35 a.txt
[root@xiezhr test]# chgrp xiezhr a.txt
[root@xiezhr test]# ll a.txt
-rw-r--r-- 1 root xiezhr 0 Mar 15 21:35 a.txt
② 递归改变文件用户组属性
[root@xiezhr test]# ll dir3/
total 0
-rw-r--r-- 1 root root 0 Mar 15 21:37 a.txt
-rw-r--r-- 1 root root 0 Mar 15 21:37 b.txt
[root@xiezhr test]# chgrp -R xiezhr dir3/
[root@xiezhr test]# ll dir3/
total 0
-rw-r--r-- 1 root xiezhr 0 Mar 15 21:37 a.txt
-rw-r--r-- 1 root xiezhr 0 Mar 15 21:37 b.txt
ln 硬链接与软连接
1、简介
ln 是link英文单词缩写,功能是创建文件间的链接(链接分为软链接和硬链接)
当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。
那么什么是硬链接?什么又是软链接呢?
【软链接】
- 1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
- 2.软链接可以 跨文件系统 ,硬链接不可以
- 3.软链接可以对一个不存在的文件名进行链接
- 4.软链接可以对目录进行链接
【硬链接】
- 1.硬链接,以文件副本的形式存在。但不占用实际空间。
- 2.不允许给目录创建硬链接
- 3.硬链接只有在同一个文件系统中才能创建
2、语法格式
3、参数说明
参数 | 参数说明 |
---|---|
无参数 | 创建硬链接 |
-s | 创建硬链接 |
4、实践操作
①为a.txt 创建软连接linka。如果a.txt丢失,linka失效
[root@xiezhr dir]# ll
total 4
-rw-r--r-- 1 root root 17 Mar 15 22:25 a.txt
[root@xiezhr dir]# ln -s a.txt linka
[root@xiezhr dir]# ll
total 4
-rw-r--r-- 1 root root 17 Mar 15 22:25 a.txt
lrwxrwxrwx 1 root root 5 Mar 15 22:28 linka -> a.txt
② 给文件a.txt创建硬链接,lna,a.txt与lna的各项属性相同
[root@xiezhr dir]# ll
total 4
-rw-r--r-- 1 root root 17 Mar 15 22:25 a.txt
lrwxrwxrwx 1 root root 5 Mar 15 22:28 linka -> a.txt
[root@xiezhr dir]# ln a.txt lna
[root@xiezhr dir]# ll
total 8
-rw-r--r-- 2 root root 17 Mar 15 22:25 a.txt
lrwxrwxrwx 1 root root 5 Mar 15 22:28 linka -> a.txt
-rw-r--r-- 2 root root 17 Mar 15 22:25 lna
总结:
- 【删除软连接文件,对源文件及硬链接文件无影响】删除软连接linka,对a.txt和lna无影响
- 【删除硬链接文件,对源文件及软链接文件无影响】删除硬链接lna,对a.txt和linka无影响
- 【删除源文件,对硬链接文件无影响,但会导致软链接失效】 删除a.txt,对lna无影响,linka链接失效
- 【只有同事删除源文件、硬链接文件才会真正删除整个文件】删除lna、a.txt 整个文件才会被删除
redlink 查看符号连接文件的内容
1、简介
我们使用cat/more 查看软链接文件时,只能查看源文件内容,不能查看软链接的时哪个文件。这时候readlink就派上用场了
2、语法格式
readlink [参数选项] [文件]
3、参数说明
一般不加参数
4、实践操作
① 查看软链接linka
最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
资料预览
给大家整理的视频资料:
给大家整理的电子书资料:
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
ir]# ll
total 4
-rw-r–r-- 1 root root 17 Mar 15 22:25 a.txt
lrwxrwxrwx 1 root root 5 Mar 15 22:28 linka -> a.txt
② 给文件a.txt创建硬链接,lna,a.txt与lna的各项属性相同
[root@xiezhr dir]# ll
total 4
-rw-r–r-- 1 root root 17 Mar 15 22:25 a.txt
lrwxrwxrwx 1 root root 5 Mar 15 22:28 linka -> a.txt
[root@xiezhr dir]# ln a.txt lna
[root@xiezhr dir]# ll
total 8
-rw-r–r-- 2 root root 17 Mar 15 22:25 a.txt
lrwxrwxrwx 1 root root 5 Mar 15 22:28 linka -> a.txt
-rw-r–r-- 2 root root 17 Mar 15 22:25 lna
**总结:**
* 【删除软连接文件,对源文件及硬链接文件无影响】删除软连接linka,对a.txt和lna无影响
* 【删除硬链接文件,对源文件及软链接文件无影响】删除硬链接lna,对a.txt和linka无影响
* 【删除源文件,对硬链接文件无影响,但会导致软链接失效】 删除a.txt,对lna无影响,linka链接失效
* 【只有同事删除源文件、硬链接文件才会真正删除整个文件】删除lna、a.txt 整个文件才会被删除
#### redlink 查看符号连接文件的内容
1、简介
我们使用cat/more 查看软链接文件时,只能查看源文件内容,不能查看软链接的时哪个文件。这时候readlink就派上用场了
2、语法格式
readlink [参数选项] [文件]
3、参数说明
一般不加参数
4、实践操作
① 查看软链接linka
### 最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
### 资料预览
给大家整理的视频资料:
[外链图片转存中...(img-UAFNm6X6-1719260054135)]
给大家整理的电子书资料:
[外链图片转存中...(img-XUUInW9w-1719260054136)]
**如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!**