资源简介 (共37张PPT)项目3 管理用户、文件和磁盘Linux网络操作系统项目式教程(第二版)任务2文件与目录管理文件基本概念12文件与目录常用命令3文件所有者与属组4文件权限管理1文件基本概念1文件基本概念Linux中“文件”的概念被泛化硬件被抽象为“文件”目录也是一种“文件”ls -l 的输出中第1个字符表示文件类型文件类型普通文件(-)目录文件(d)链接文件(l)设备文件(b或c)管道文件(p)套接字文件(s)[zys@centos7 ~]$ ls -llrwxrwxrwx. 1 zys zys 12 3月 5 12:00 centos7 -> /mnt/centos7-rw-rw-r--. 1 zys zys 0 2月 12 09:38 file1drwx------. 5 zys zys 39 12月 6 11:02 Maildir1文件基本概念没有“扩展名”的概念,不强制使用后缀区分大小写,AB.txt 和 Ab.txt 是不同的文件以“.”开头的文件表示隐藏文件文件命名时避免使用特殊字符文件名* > < ; & ! [ ] | \ ‘ “ ` ( ) { } 空格根目录是顶层目录,用“/”表示目录中可以新建文件或子目录目录和文件形成一棵以根目录为根节点的倒置的目录树目录树1文件基本概念绝对路径以根目录为起点相对路径以当前工作目录为起点绝对路径是唯一的相对路径随当前工作目录而变绝对路径和相对路径1文件基本概念2文件与目录常用命令查看当前工作目录登录Shell后默认为用户主目录当前工作目录-pwd2文件与目录常用命令[zys@centos7 ~]$ pwd/home/zys在Linux中执行命令时,要知道自己身处何处更改当前工作目录可以使用绝对路径或相对路径不加参数表示切换到用户主目录切换工作目录-cd2文件与目录常用命令[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 [ 目标目录 ]特殊用法-cd2文件与目录常用命令[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/zyscd命令使用频繁,通过特殊符号简化操作查看目录中有哪些文件和子目录功能强大,选项众多查看目录内容-ls2文件与目录常用命令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文件类型文件权限引用计数用户和组文件大小文件创建或修改时间文件名显示文件全部内容可以同时打开多个文件查看文件内容-cat2文件与目录常用命令cat [-AbeEnstTuv] [文件列表]选项 功能说明-b 只显示非空行的行号-E 在每行结尾处显示“$”符号-n 显示所有行的行号-s 将连续的多个空行替换为一个空行-T 把 制表符TAB字符显示为“^I”[zys@centos7 ~]$ cat /etc/centos-releaseCentOS Linux release 7.9.2009 (Core)[zys@centos7 ~]$ cat -n /etc/centos-release1 CentOS Linux release 7.9.2009 (Core)[zys@centos7 ~]$ cat -E /etc/centos-releaseCentOS Linux release 7.9.2009 (Core)$t显示文件头部内容默认显示前10行可以按字节显示查看文件内容-head2文件与目录常用命令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选项,可以动态刷新文件内容查看文件内容-tail2文件与目录常用命令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 和 less2文件与目录常用命令选项 功能说明F键或空格键 向下翻一页D键或Ctrl+D 向下翻半页B键或Ctrl+B 向上翻一页U键或Ctrl+U 向上翻半页方向键 移动光标回车键 向下移动一行Q键 退出more命令[zys@centos7 ~]$ more /etc/aliases……games: rootgopher: root--More--(37%) <== 第1页显示37%的内容统计文件的行数、单词数和字节数可以同时统计多个文件统计文件内容-wc2文件与目录常用命令[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/aliaseswc [-clLw] 文件名新建文件修改文件时间戳新建文件-touch2文件与目录常用命令[zys@centos7 ~]$ touch /tmp/file1[zys@centos7 ~]$ ls -l /tmp/file1-rw-rw-r--. 1 zys zys 7 12月 3 03:24 /tmp/file1touch [-acmt] 文件名新建目录可连续创建多级目录新建目录-mkdir2文件与目录常用命令[zys@centos7 ~]$ mkdir dir1 // 创建一个新目录[zys@centos7 ~]$ ls -ld dir1drwxrwxr-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/subdirdrwxrwxr-x. 3 zys zys 20 12月 4 04:34 dir2drwxrwxr-x. 2 zys zys 6 12月 4 04:34 dir2/subdir/mkdir [-pm] 目录名删除文件使用-r选项可删除目录删除文件或目录-rm2文件与目录常用命令[zys@centos7 ~]$ touch file1 file2[zys@centos7 ~]$ rm file1[zys@centos7 ~]$ rm -i file2rm:是否删除普通空文件 "file2"?y <== 使用-i选项时有提示[zys@centos7 ~]$ mkdir dir1[zys@centos7 ~]$ rm dir1rm: 无法删除"dir1": 是一个目录[zys@centos7 ~]$ rm -r dir1[zys@centos7 ~]$rm [-dfirvR] 文件或目录复制文件使用-r选项复制整个目录复制文件或目录-cp2文件与目录常用命令[zys@centos7 ~]$ touch file1 file2[zys@centos7 ~]$ mkdir dir1[zys@centos7 ~]$ cp file1 file2 dir1 // 复制文件file1和file2到目录dir1中[zys@centos7 ~]$ ls dir1file1 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 dir2file1 file2移动文件或目录重命名文件或目录移动或重命名-mv2文件与目录常用命令[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中已经有文件file1mv:是否覆盖"dir1/file1"? y <== 使用-i选项会有提示[zys@centos7 ~]$ mv file2 file3 // 把文件file2重命名为file3打包:将多个文件合并为一个文件压缩:对文件进行处理以减少其占用空间打包和压缩文件-tar 和 gzip2文件与目录常用命令[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.gztar命令可同时对文件进行打包和压缩支持gz和bz2等压缩格式同时打包和压缩文件-tar2文件与目录常用命令[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 <== 文件属组变为sie3文件所有者与属组分别或同时修改所有者及属组使用-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.filechown [-R] 用户名 : 属组 文件或目录4文件权限管理每种用户的权限都分为读、写、执行3种分别用“r”“w”“x”表示没有相应的权限就用“-”代替修改所有者及属组-chown[zys@centos7 tmp]$ ls -l file1-rwxrw-r--. 1 zys zys 8 1月 20 20:27 file14文件权限管理所有者:对该文件可读、可写、可执行属 组:对该文件可读、可写,但不可执行其他人:对该文件可读,但不可写,也不可执行读:可以读取文件的实际内容(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 file2drwxrw----. 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组合后的数字是 754umask 的值表示要移除的权限文件和目录的实际权限是默认权限移除 umask 的结果文件默认权限-umask4文件权限管理[zys@centos7 tmp]$ umask0002[zys@centos7 ~]$ mkdir dir1.default[zys@centos7 ~]$ touch file1.default[zys@centos7 ~]$ ls -ld *defaultdrwxrwxr-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修改文件默认权限-umask4文件权限管理[zys@centos7 ~]$ umask 245 // 设置umask的值[zys@centos7 ~]$ mkdir dir2.default[zys@centos7 ~]$ touch file2.default[zys@centos7 ~]$ ls -ld dir2.default file2.defaultdr-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 // 用数字表示即422umask=245 展开更多...... 收起↑ 资源预览