3.2文件与目录管理 课件(共37张PPT)-《Linux网络操作系统项目教程》同步教学(人民邮电版)

资源下载
  1. 二一教育资源

3.2文件与目录管理 课件(共37张PPT)-《Linux网络操作系统项目教程》同步教学(人民邮电版)

资源简介

(共37张PPT)
项目3 管理用户、文件和磁盘
Linux网络操作系统项目式教程(第二版)
任务2
文件与目录管理
文件基本概念
1
2
文件与目录常用命令
3
文件所有者与属组
4
文件权限管理
1
文件基本概念
1
文件基本概念
Linux中“文件”的概念被泛化
硬件被抽象为“文件”
目录也是一种“文件”
ls -l 的输出中第1个字符表示文件类型
文件类型
普通文件(-)
目录文件(d)
链接文件(l)
设备文件(b或c)
管道文件(p)
套接字文件(s)
[zys@centos7 ~]$ ls -l
lrwxrwxrwx. 1 zys zys 12 3月 5 12:00 centos7 -> /mnt/centos7
-rw-rw-r--. 1 zys zys 0 2月 12 09:38 file1
drwx------. 5 zys zys 39 12月 6 11:02 Maildir
1
文件基本概念
没有“扩展名”的概念,不强制使用后缀
区分大小写,AB.txt 和 Ab.txt 是不同的文件
以“.”开头的文件表示隐藏文件
文件命名时避免使用特殊字符
文件名
* > < ; & ! [ ] | \ ‘ “ ` ( ) { } 空格
根目录是顶层目录,用“/”表示
目录中可以新建文件或子目录
目录和文件形成一棵以根目录为根节点的倒置的目录树
目录树
1
文件基本概念
绝对路径以根目录为起点
相对路径以当前工作目录为起点
绝对路径是唯一的
相对路径随当前工作目录而变
绝对路径和相对路径
1
文件基本概念
2
文件与目录常用命令
查看当前工作目录
登录Shell后默认为用户主目录
当前工作目录-pwd
2
文件与目录常用命令
[zys@centos7 ~]$ pwd
/home/zys
在Linux中执行命令时,
要知道自己身处何处
更改当前工作目录
可以使用绝对路径或相对路径
不加参数表示切换到用户主目录
切换工作目录-cd
2
文件与目录常用命令
[zys@centos7 ~]$ pwd
/home/zys <== 当前工作目录
[zys@centos7 ~]$ cd /tmp
[zys@centos7 tmp]$ pwd
/tmp <== 当前工作目录切换为/tmp
[zys@centos7 tmp]$ cd // 不加参数,返回用户zys的主目录
[zys@centos7 ~]$ pwd
/home/zys <== 当前工作目录切换为zys主目录
cd [ 目标目录 ]
特殊用法-cd
2
文件与目录常用命令
[zys@centos7 tmp]$ pwd
/tmp
[zys@centos7 tmp]$ cd . // 进入当前目录
[zys@centos7 tmp]$ pwd
/tmp
[zys@centos7 tmp]$ cd .. // 进入上一级目录
[zys@centos7 /]$ pwd
[zys@centos7 /]$ cd - // 进入上次所在的目录
/tmp
[zys@centos7 tmp]$ pwd
/tmp
[zys@centos7 tmp]$ cd ~ // 进入当前用户主目录
[zys@centos7 ~]$ pwd
/home/zys
cd命令使用频繁,通过特殊符号简化操作
查看目录中有哪些文件和子目录
功能强大,选项众多
查看目录内容-ls
2
文件与目录常用命令
ls [-CFRacdilqrtu] [ 目录名称 ]
选项 功能说明
-a 列出所有文件,包括以 "." 开头的隐藏文件
-d 将目录像其它普通文件一样列出,而不是列出它们的内容
-f 将文件按磁盘存储顺序列出,而不是按文件名排序输出
-i 显示文件的inode编号
-l 显示文件的详细信息,而且一行显示一个文件
-u 将文件按其最近访问时间排序
-t 将文件按其最近修改时间排序
-c 将文件按其状态修改时间排序
-r 将输出结果逆序排列,和-t、-S等选项配合使用
-R 将目录及其所有子目录的内容全部显示出来
-S 按文件大小排序,默认大文件在前
2
文件与目录常用命令
ls示例
[zys@centos7 tmp]$ pwd
/tmp
[zys@centos7 tmp]$ ls // 默认按文件名排序,只显示非隐藏文件
anaconda.log file1
[zys@centos7 tmp]$ ls -a // 显示隐藏文件
. .. anaconda.log .esd-1000
[zys@centos7 tmp]$ ls -l // 使用长格式显示文件信息
- rw-r--r--. 1 root root 1925 12月 1 02:36 anaconda.log
- rw-rw-r--. 1 zys zys 7 12月 1 23:11 file1
文件
类型
文件权限
引用计数
用户和组
文件大小
文件创建或修改时间
文件名
显示文件全部内容
可以同时打开多个文件
查看文件内容-cat
2
文件与目录常用命令
cat [-AbeEnstTuv] [文件列表]
选项 功能说明
-b 只显示非空行的行号
-E 在每行结尾处显示“$”符号
-n 显示所有行的行号
-s 将连续的多个空行替换为一个空行
-T 把 制表符TAB字符显示为“^I”
[zys@centos7 ~]$ cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)
[zys@centos7 ~]$ cat -n /etc/centos-release
1 CentOS Linux release 7.9.2009 (Core)
[zys@centos7 ~]$ cat -E /etc/centos-release
CentOS Linux release 7.9.2009 (Core)$t
显示文件头部内容
默认显示前10行
可以按字节显示
查看文件内容-head
2
文件与目录常用命令
head [-cnqv] 文件名
[zys@centos7 ~]$ head /etc/aliases
#
# Aliases in this file will NOT be
…… <== 默认显示10行
[zys@centos7 ~]$ head -c 8 /etc/aliases // 显示文件file1的前8字节
# <== 注意,下一行命令提示符前的字符“# Ali”也是本条命令的输出
# Ali[zys@centos7 ~]$ head -n 2 /etc/aliases // 显示文件file1的前2行
#
# Aliases in this file will NOT be expanded in the header from
注意,在Linux文件中,
换行符占1个字节
显示文件尾部内容
默认显示后10行
使用-f选项,可以动态刷新文件内容
查看文件内容-tail
2
文件与目录常用命令
tail [-cnqv] 文件名
[zys@centos7 ~]$ tail -c 9 /etc/aliases // 显示文件file1的后9字节
t: marc
[zys@centos7 ~]$ tail -n 3 /etc/aliases // 显示文件file1的后3行
# Person who should get root's mail
#root: marc
分页显示文件内容
less是more的增强版
查看文件内容-more 和 less
2
文件与目录常用命令
选项 功能说明
F键或空格键 向下翻一页
D键或Ctrl+D 向下翻半页
B键或Ctrl+B 向上翻一页
U键或Ctrl+U 向上翻半页
方向键 移动光标
回车键 向下移动一行
Q键 退出more命令
[zys@centos7 ~]$ more /etc/aliases
……
games: root
gopher: root
--More--(37%) <== 第1页显示37%的内容
统计文件的行数、单词数和字节数
可以同时统计多个文件
统计文件内容-wc
2
文件与目录常用命令
[zys@centos7 ~]$ wc /etc/aliases // 显示文件行数、单词数和字节数
97 239 1529 /etc/aliases
[zys@centos7 ~]$ wc -c /etc/aliases // 显示文件字节数
1529 /etc/aliases
[zys@centos7 ~]$ wc -l /etc/aliases // 显示文件行数
97 /etc/aliases
[zys@centos7 ~]$ wc -L /etc/aliases // 显示文件最长的行的长度
66 /etc/aliases
[zys@centos7 ~]$ wc -w /etc/aliases // 显示文件单词数
239 /etc/aliases
wc [-clLw] 文件名
新建文件
修改文件时间戳
新建文件-touch
2
文件与目录常用命令
[zys@centos7 ~]$ touch /tmp/file1
[zys@centos7 ~]$ ls -l /tmp/file1
-rw-rw-r--. 1 zys zys 7 12月 3 03:24 /tmp/file1
touch [-acmt] 文件名
新建目录
可连续创建多级目录
新建目录-mkdir
2
文件与目录常用命令
[zys@centos7 ~]$ mkdir dir1 // 创建一个新目录
[zys@centos7 ~]$ ls -ld dir1
drwxrwxr-x. 2 zys zys 6 12月 4 04:33 dir1
[zys@centos7 ~]$ mkdir dir2/subdir // 不使用-p选项连续创建两级目录
mkdir: 无法创建目录"dir2/subdir": 没有那个文件或目录
[zys@centos7 ~]$ mkdir -p dir2/subdir // 使用-p选项连续创建两级目录
[zys@centos7 ~]$ ls -ld dir2 dir2/subdir
drwxrwxr-x. 3 zys zys 20 12月 4 04:34 dir2
drwxrwxr-x. 2 zys zys 6 12月 4 04:34 dir2/subdir/
mkdir [-pm] 目录名
删除文件
使用-r选项可删除目录
删除文件或目录-rm
2
文件与目录常用命令
[zys@centos7 ~]$ touch file1 file2
[zys@centos7 ~]$ rm file1
[zys@centos7 ~]$ rm -i file2
rm:是否删除普通空文件 "file2"?y <== 使用-i选项时有提示
[zys@centos7 ~]$ mkdir dir1
[zys@centos7 ~]$ rm dir1
rm: 无法删除"dir1": 是一个目录
[zys@centos7 ~]$ rm -r dir1
[zys@centos7 ~]$
rm [-dfirvR] 文件或目录
复制文件
使用-r选项复制整个目录
复制文件或目录-cp
2
文件与目录常用命令
[zys@centos7 ~]$ touch file1 file2
[zys@centos7 ~]$ mkdir dir1
[zys@centos7 ~]$ cp file1 file2 dir1 // 复制文件file1和file2到目录dir1中
[zys@centos7 ~]$ ls dir1
file1 file2
[zys@centos7 ~]$ cp file1 file3 // 复制文件file1为file3,保存在当前目录中
[zys@centos7 ~]$ cp file2 /tmp/file2 // 复制文件file2为file4,保存在/tmp主目录中
[zys@centos7 ~]$ cp -r dir1 dir2 // 自动创建目录dir2并复制源目录的内容
[zys@centos7 ~]$ ls dir2
file1 file2
移动文件或目录
重命名文件或目录
移动或重命名-mv
2
文件与目录常用命令
[zys@centos7 ~]$ touch file1 file2
[zys@centos7 ~]$ mkdir dir1
[zys@centos7 ~]$ mv file1 dir1 // 把文件file1移动到目录dir1中
[zys@centos7 ~]$ touch file1 // 在当前目录中重新创建文件file1
[zys@centos7 ~]$ mv -i file1 dir1 // 此时目录dir1中已经有文件file1
mv:是否覆盖"dir1/file1"? y <== 使用-i选项会有提示
[zys@centos7 ~]$ mv file2 file3 // 把文件file2重命名为file3
打包:将多个文件合并为一个文件
压缩:对文件进行处理以减少其占用空间
打包和压缩文件-tar 和 gzip
2
文件与目录常用命令
[zys@centos7 ~]$ touch file1 file2 file3
[zys@centos7 ~]$ tar -cf test.tar file1 file2 // 使用-c选项创建打包文件
[zys@centos7 ~]$ tar -xf test.tar -C /tmp // 将文件包内容展开到/tmp目录中
[zys@centos7 ~]$ tar -rf test.tar file3
[zys@centos7 ~]$ gzip test.tar // 压缩test.tar文件
[zys@centos7 ~]$ gunzip test.tar.gz // 也可以使用命令gzip -d test.tar.gz
tar命令可同时对文件进行打包和压缩
支持gz和bz2等压缩格式
同时打包和压缩文件-tar
2
文件与目录常用命令
[zys@centos7 ~]$ touch file3 file4
[zys@centos7 ~]$ tar -zcf gzout.tar.gz file3 file4 // -z和-c选项结合使用
[zys@centos7 ~]$ tar -zxf gzout.tar.gz -C /tmp // -z和-x选项结合使用
[zys@centos7 ~]$ touch file5 file6
[zys@centos7 ~]$ tar -jcf bz2out.tar.bz2 file5 file6 // -j和-c选项结合使用
[zys@centos7 ~]$ tar -jxf bz2out.tar.bz2 -C /tmp // -j和-x选项结合使用
3
文件所有者与属组
3
文件所有者与属组
所有者(user):创建文件的用户
属组(group):某个用户组的成员
其他人(others):除了前两种以外的其他用户
用户的分类
虽然新建文件时会默认指定,
所有者和属组都可以修改
3
文件所有者与属组
新属组必须已存在
使用-R选项递归修改
以root用户执行
修改文件属组-chgrp
[zys@centos7 ~]$ touch /tmp/own.file
[zys@centos7 ~]$ ls -l /tmp/own.file
-rw-rw-r--. 1 zys zys 0 12月 4 04:45 /tmp/own.file <== 文件原属组为zys
[zys@centos7 ~]$ su - root // chgrp命令要用root用户执行
[root@centos7 ~]# chgrp sie /tmp/own.file // 将文件属组改为sie
[root@centos7 ~]# ls -l /tmp/own.file
-rw-rw-r--. 1 zys sie 0 12月 4 04:45 /tmp/own.file <== 文件属组变为sie
3
文件所有者与属组
分别或同时修改所有者及属组
使用-R选项递归修改
修改所有者及属组-chown
[root@centos7 ~]# ls -l /tmp/own.file
-rw-rw-r--. 1 zys sie 0 12月 4 04:45 /tmp/own.file
[root@centos7 ~]# chown root /tmp/own.file // 只修改文件所有者
[root@centos7 ~]# ls -l /tmp/own.file
-rw-rw-r--. 1 root sie 0 2月 4 04:45 /tmp/own.file
[root@centos7 ~]# chown zys:zys /tmp/own.file // 同时修改所有者和属组
[root@centos7 ~]# ls -l /tmp/own.file
-rw-rw-r--. 1 zys zys 0 12月 4 04:45 /tmp/own.file
[root@centos7 ~]# chown .sie /tmp/own.file // 只修改文件属组,注意属组前有“.”
[root@centos7 ~]# ls -l /tmp/own.file
-rw-rw-r--. 1 zys sie 0 12月 4 04:45 /tmp/own.file
chown [-R] 用户名 : 属组 文件或目录
4
文件权限管理
每种用户的权限都分为读、写、执行3种
分别用“r”“w”“x”表示
没有相应的权限就用“-”代替
修改所有者及属组-chown
[zys@centos7 tmp]$ ls -l file1
-rwxrw-r--. 1 zys zys 8 1月 20 20:27 file1
4
文件权限管理
所有者:对该文件可读、可写、可执行
属 组:对该文件可读、可写,但不可执行
其他人:对该文件可读,但不可写,也不可执行
读:可以读取文件的实际内容(cat、head、tail)
写:可以新增、修改或删除文件内容(vim)
执行:文件作为一个可执行程序被执行(bash)
权限的含义-文件
4
文件权限管理
注意,若对文件具有写权限,
可以删除文件内容,但不能删除文件
读:读取目录的内容列表(ls)
写:可以在目录中进行以下操作
新建文件和子目录(touch,mkdir)
删除该目录下已有的文件和子目录(rm、rmdir)
移动或重命名该目录下已有的文件和子目录(mv)
执行:进入该目录(cd)
权限的含义-目录
4
文件权限管理
想一想,
删除一个文件需要什么权限?
文件权限用“r”“w”“x”表示
用户身份用“u”“g”“o”“a”表示
权限修改类型用“+”“-”“=”表示
修改文件权限-符号法
4
文件权限管理
[zys@centos7 ~]$ chmod g-x,o-rx dir1 // 注意,逗号左右不能有空格
[zys@centos7 ~]$ chmod u-x,go=r file1
[zys@centos7 ~]$ chmod g+w,a+x file2
[zys@centos7 ~]$ ls -ld dir1 file1 file2
drwxrw----. 2 zys zys 6 12月 3 05:21 dir1
-rw-r--r--. 1 zys zys 0 12月 3 05:21 file1
-rwxrwxr-x. 1 zys zys 0 12月 3 05:21 file2
把3种权限分别用数字表示
把每种用户的3种权限分别相加
可以一次性修改所有用户的权限
修改文件权限-数字法
4
文件权限管理
[zys@centos7 ~]$ ls -l file1
-rw-r--r--. 1 zys zys 0 12月 3 05:21 file1
[zys@centos7 ~]$ chmod 754 file1
[zys@centos7 ~]$ ls -l file1
-rwxr-xr--. 1 zys zys 0 12月 3 05:21 file1
组合后的数字是 754
umask 的值表示要移除的权限
文件和目录的实际权限是默认权限移除 umask 的结果
文件默认权限-umask
4
文件权限管理
[zys@centos7 tmp]$ umask
0002
[zys@centos7 ~]$ mkdir dir1.default
[zys@centos7 ~]$ touch file1.default
[zys@centos7 ~]$ ls -ld *default
drwxrwxr-x. 2 zys zys 6 12月 3 05:28 dir1.default <== 默认权限是775
-rw-rw-r--. 1 zys zys 0 1 2月 3 05:28 file1.default <== 默认权限是664
修改文件默认权限-umask
4
文件权限管理
[zys@centos7 ~]$ umask 245 // 设置umask的值
[zys@centos7 ~]$ mkdir dir2.default
[zys@centos7 ~]$ touch file2.default
[zys@centos7 ~]$ ls -ld dir2.default file2.default
dr-x-wx-w-. 2 zys zys 6 12月 3 05:29 dir2.default // 用数字表示即532
-r---w--w-. 1 zys zys 0 12月 3 05:29 file2.default // 用数字表示即422
umask=245

展开更多......

收起↑

资源预览