Linux操作系统配置与管理项目化教程(第二版)课件 项目6 管理文件_第1页
Linux操作系统配置与管理项目化教程(第二版)课件 项目6 管理文件_第2页
Linux操作系统配置与管理项目化教程(第二版)课件 项目6 管理文件_第3页
Linux操作系统配置与管理项目化教程(第二版)课件 项目6 管理文件_第4页
Linux操作系统配置与管理项目化教程(第二版)课件 项目6 管理文件_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目六

管理文件目录任务6.1了解Linux文件系统01任务6.2分析Linux文件系统目录结构02任务6.3管理文件权限03任务6.4Linux常用文件管理命令04任务6.1了解Linux文件系统016.1了解Linux文件系统

Linux文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。操作系统通过文件系统可以方便地查询和访问其中所包含的磁盘块。磁盘分区后并不能立即使用,而是需要建立文件系统。在Linux中建立文件系统的过程就是进行格式化的过程,一个分区只有建立了某种文件系统后,这个分区才能使用。

Linux最重要的特征之一就是支持多种文件系统,这样更加灵活,并且可以和许多其他操作系统共存。其几乎支持目前所有主流的文件系统,比如ext2、ext3、ReiserFS、HFS(MAC操作系统的文件系统)、swap交换分区、NTFS(只读)、FAT(可读可写)。下面对常用的Linux文件系统进行简单介绍。6.1了解Linux文件系统1.ext2ext2是可扩展的、高性能的文件系统,又被称为二级扩展文件系统。ext2于1993年发布,是Linux文件系统类型中使用最多的格式,并且在速度和CPU利用率上较为突出,是GNU/Linux系统中标准的文件系统。它存取文件的性能极好,对于中小型的文件更显示出优势,这主要得益于其簇快取层的优良设计。2000年以前几乎所有的Linux发行版都使用ext2作为默认的文件系统。6.1了解Linux文件系统2.ext3ext3是由开放资源社区开发的日志文件系统,被设计成ext2的升级版本,尽可能方便用户从ext2向ext3迁移。ext3在ext2的基础上加入了记录元数据的日志功能,着力保持向前和向后的兼容性,也就是在保有目前ext2的格式之下再加上日志功能。和ext2相比,ext3提供了更佳的安全性。由于文件系统都有快取层参与运作,如不使用时必须将文件系统卸下,以便将快取层的数据写回磁盘中。如果现在使用的是ext2文件系统,并且对数据安全性能要求很高,则建议考虑升级使用ext3。6.1了解Linux文件系统3.JFSJFS是一种提供日志的字节级文件系统。该文件系统主要是为满足服务器(从单处理器系统到高级多处理器和群集系统)的高吞吐量和可靠性能需求而设计开发的。JFS也是一个有大量用户安装使用的企业级文件系统,具有可伸缩性和健壮性。与非日志文件系统相比,它的突出优点是快速重启能力,能够在几秒或几分钟内就把文件系统恢复到一致状态。6.1了解Linux文件系统4.XFSXFS是一种非常优秀的日志文件系统,是由SGI于20世纪90年代初开发的。XFS推出后被业界称为先进的、最具升级性的文件系统技术。它是一个全64位、快速、稳固的日志文件系统。作为一个64位文件系统,XFS可以支持超大数量的文件(9000×1GB),可在大型2D和3D数据方面发挥显著的性能。XFS有能力预测其他文件系统的薄弱环节,同时提供了在不妨碍性能的情况下增强可靠性和快速事故恢复的能力。任务6.2分析Linux文件系统目录结构026.2.1文件目录结构Linux的文件系统采用分层结构,其顶层为根目录,根目录下面有很多分支,大的分支包括更多的分支,分支的末梢是普通的文件。目录描述/整个文件系统层次结构的根目录/bin/常用二进制命令所在的目录/bootLinux的内核及引导系统程序所需的文件目录/dev/设备的文件的目录,比如声卡、磁盘、光驱等/etc/二进制安装包的配置文件默认路径和服务启动命令存放的目录/etc/init.d/(yum,rpm)/home普通用户的家目录默认数据存放目录/lib/bin和/sbin/中二进制文件必要的库文件/media可移除媒体/lost+found存放当系统意外崩溃或机器意外关机时产生的一些文件碎片/mnt用于临时挂载存储设备的挂载目录/opt表示的是可选择的意思,有些软件包也会被安装在这里,也就是自定义软件包,我们自己编译的软件包就可以安装在这个目录中/proc存放/proc操作系统运行时的进程信息及内核信息/root超级用户的家目录/sbin存放超级权限用户root的可执行命令/srv站点的具体数据,由系统提供/tmp用来存放临时文件/usr系统存放程序的目录/var变量文件6.2.2子目录介绍1./etc/目录。用于保存所有管理文件和配置文件目录描述/etc/rc/etc/rc.*d启动或改变运行级时运行的脚本(scripts)或者这些脚本(scripts)的目录/etc/hosts本地域名解析文件/etc/motd设置认证后的输出信息/etc/mttab当前安装的文件系统列表。由scripts初始化,并由mount命令自动更新/etc/exports设置NFS系统用的配置文件路径/etc/init.d用来存放系统启动脚本/etc/issue认证前的输出信息,默认输出版本内核信息/etc/group类似/etc/passwd,但说明的不是用户而是组/etc/sudoessudo命令的配置文件/etc/syslog.conf系统日志参数设置/etc/securetty确认安全终端,即哪个终端允许root登录/etc/printcap类似/etc/termcap,但针对打印机,语法不同/etc/shells检查用户shell是否列在/etc/shells文件中,如果不是将不允许该用户登录/etc/xinetd.d如果服务器是通过xinetd模式运行的,它的脚本要放在这个目录下/etc/opt//opt/的配置文件/etc/x11X_Window系统(版本11)的配置文件/etc/sgmlSGML的配置文件/etc/xmlXML的配置文件/etc/skel默认创建用户时,把该目录拷贝到家目录下/etc/sysconfig/network配置修改主机名/etc/resolv.confDNS服务器配置/etc/fstab磁盘挂载列表/etc/inittab设定系统启动时init进程将把系统设置成什么样的runlevel及加载相关的启动文件配置6.2.2子目录介绍2./var/目录。/var包括系统一般运行时要改变的数据。每个系统是特定的,即不通过网络与其他计算机共享。目录描述/var/log/message日志信息,按周自动轮询/var/spool/cron/root定时器配置文件目录,默认按用户命令/var/log/secure记录登录系统存取信息的文件,不管认证成功还是认证失败都会记录/var/log/wtmp记录登录者信息的文件:last、who、w/var/spool/clientmqeue当邮件服务未开启时,所有信息将发到此目录中/var/spool/mail邮件目录/var/tmp比/tmp允许的大或需要存在较长时间的临时文件(虽然系统管理员可能不允许/var/tmp有很旧的文件)6.2.2子目录介绍2./var/目录。/var包括系统一般运行时要改变的数据。每个系统是特定的,即不通过网络与其他计算机共享。目录描述/var/log/message日志信息,按周自动轮询/var/spool/cron/root定时器配置文件目录,默认按用户命令/var/log/secure记录登录系统存取信息的文件,不管认证成功还是认证失败都会记录/var/log/wtmp记录登录者信息的文件:last、who、w/var/spool/clientmqeue当邮件服务未开启时,所有信息将发到此目录中/var/spool/mail邮件目录/var/tmp比/tmp允许的大或需要存在较长时间的临时文件(虽然系统管理员可能不允许/var/tmp有很旧的文件)6.2.2子目录介绍3./proc目录。虚拟文件系统,系统信息都存放在这个目录下,将内核与进程状态归档为文本文件。目录描述/proc/meminfo查看内存信息/proc/loadavg存放根据过去一段时间内CPU和I/O的状态得出的负载状态/proc/uptime存放uptime会出现的信息/proc/cpuinfo存放关于处理器的信息/proc/cmdline加载kernel时所下达的相关参数/proc/filesystems目前系统已经加载的文件系统/proc/interrupts目前系统上的IRQ分配状态/proc/ioports目前系统上各个装置所配置的I/O位址/proc/kcore内存的大小/proc/modules存放目前Linux已经加载的模块列表/proc/mount系统已经挂载的数据/proc/swaps存放使用掉的partition/proc/parttions存放使用fdisk-l会出现的所有partition/proc/pci在PCI汇流排上面每个装置的详细情况/proc/version核心的版本/proc/bus/*一些汇流排的装置和U盘的装置6.2.2子目录介绍4./usr/目录。这是系统存放程序的目录,当安装一些软件包时,基本上就安装在该目录中。目录描述/usr/lib存放一些常用的动态链接共享库和静态文件库/usr/man存放帮助文档/usr/X11R6存放X-Window的目录/usr/games存放XteamLinux自带的小游戏/usr/docLinux技术文档/usr/include存放Linux下开发和编译应用程序所需的头文件/usr/src存放Linux开放的源代码/usr/X11R6X-Window系统版本11,Release66.2.2子目录介绍5./dev/目录。/dev/目录下一般存放设备文件。目录描述/dev/hd[a-t]IDE设备/dev/random随机数设备/dev/loop[0-7]本地回环设备/dev/ram[0-15]内存/dev/null无限数据接收设备/dev/urandom随机数设备/dev/zero无限零资源/dev/tty[0-63]虚拟终端/dev/ttyS[0-3]串口/dev/lp[0-3]并口/dev/console控制台/dev/fb[0-31]framebuffer/dev/cdrom等价于/dev/hdc/dev/modem等价于/dev/ttyS[0-9]/dev/pilot等价于/dev/ttyS[0-9]/dev/sd[a-z]SCSI设备/dev/fd[0-7]标准软驱/dev/md[0-31]软raid设备任务6.3管理文件权限036.3.1

了解文件访问权限

在Linux中,将文件访问权限分为3类用户来进行设置:文件所有者(u)、同组用户(g)和其他用户(o),可分别为这3类用户设置不同的操作权限。不同的用户有着不同的访问权限,通过访问权限确定用户可以用何种方式对文件和目录进行访问和操作。访问权限规定了不同用户的3种访问文件或目录的方式:读、写、执行。创建一个文件时,系统会自动地赋予文件所有者读和写的权限,这样可以允许所有者查看和修改文件。文件所有者可以修改这些权限。读(r)权限表示只允许指定用户读取相应文件的内容,而不能更改文件的内容。写(w)权限表示允许指定用户打开并修改文件。执行(x)权限表示允许指定用户将该文件作为一个程序执行。6.3.1

了解文件访问权限1.字符表示法在字符表示法中,使用字符r表示读权限,使用字符w表示写权限,使用字符x表示执行权限。

权限对应字符文件目录读权限r可查看文件内容可以列出目录中的内容写权限w可修改文件内容可以在目录中创建、删除文件执行权限x可执行该文件可以进入目录6.3.1

了解文件访问权限2.数字表示法在数字表示法中,用户对文件/目录权限可以用一个3位二进制数表示。如果用户具有某一项权限,则对应位置为1,否则为0,这样用户对文件/目录的访问权限就可以表示为一个3位的二进制数。表示法不同用户的权限文件所有者同组用户其他用户字符表示法rw-rw-r--数字表示法1101101006.3.2

了解目录访问权限

读权限表示可以列出存储在该目录下的文件,即读目录内容。写权限表示允许从目录中删除或创建新的文件或目录。执行权限表示允许在目录中查找,并能用cd命令将工作目录切换到该目录。用chmod命令可改变文件或目录的访问权限。一般来说,给定目录r权限的同时要给定x权限。6.3.3

修改文件权限使用chmod命令可以修改文件的权限。命令格式如下:紧跟在用户类型后面的是操作符,意义如下:

+:添加某个权限。

-:取消某个权限。

=:赋予给定权限并取消其他所有权限。chmod[用户类型][+|-|=][权限字符]文件名文件或目录的9个属性分别属于文件所有者、同组用户、其他用户这3类用户。“用户类型”可以用以下字母中的一个或者它们的组合来表示需要设置权限的部分:

u(user):表示文件的所有者。

g(group):表示文件的所属组。

o(others):表示其他用户。

a(all):代表所有用户,即u+g+o。权限字符的含义:r表示读权限,w表示写权限,x表示执行权限。最后要指明是增加(+)还是取消(-)权限,或是只赋予权限(=)。6.3.3

修改文件权限使用chmod命令可以修改文件的权限。命令格式如下:紧跟在用户类型后面的是操作符,意义如下:

+:添加某个权限。

-:取消某个权限。

=:赋予给定权限并取消其他所有权限。chmod[用户类型][+|-|=][权限字符]文件名文件或目录的9个属性分别属于文件所有者、同组用户、其他用户这3类用户。“用户类型”可以用以下字母中的一个或者它们的组合来表示需要设置权限的部分:u(user):表示文件的所有者。g(group):表示文件的所属组。o(others):表示其他用户。a(all):代表所有用户,即u+g+o。权限字符的含义:r表示读权限,w表示写权限,x表示执行权限。最后要指明是增加(+)还是取消(-)权限,或是只赋予权限(=)。示例0102[root@localhost~]#chmod-Ra+rw-class-R:同时设置子目录的权限。将目录class及其下面的所有子目录和文件的权限改为所有用户对其都有读、写权限。[root@localhost~]#chmodgo+wfile.txtfile.txt文件的权限是rw-r—r--,编写指令实现允许同组用户和其他用户也具有修改权限。示例使用数字设置权限的格式:03

使用数字设置权限。由于3类用户的这9个属性是每3个一组的,因此可以使用数字来代表各个属性,各属性的对照如下:r:对应数值4。w:对应数值2。x:对应数值1。-:对应数值0。同类用户权限组合可以是数字的相加。chmod[数字组合]文件名6.3.4

更改文件或目录的所有者

在Linux中,可以使用chown命令更改文件或目录的所有者(Owner)和所属组(Group)

。只有root用户可以更改文件的所有者。只有root用户或文件所有者可以更改文件的组。如果是文件所有者但不是root用户,则只能将组更改为当前用户所在组。该命令格式如下:chown[选项][新所有者][:新所属组]文件或目录新所有者:用户名(如root)或用户ID(UID)。新所属组:组名(如www-data)或组ID(GID),用冒号:分隔(可省略组,仅更改所有者)。选项:常用-R(递归更改目录及其内容)、-v(显示详细信息)等。示例01[root@localhost~]#chownuser1:user1file1.txt将file1.txt文件的所有者修改为user1。02[root@localhost~]#chown-Rsyslog:adm/var/log将/var/log目录的所有权交给syslog用户和adm组:6.3.5

更改文件或目录的所属组

在Linux中,更改文件或目录的所属组(Group)可以通过chgrp命令实现。只有文件所有者和root用户才可以使用该命令。同时改变文件所有者和文件所属的组时,用户名和用户组名由冒号分开。在文件名中可以包含通配符。命令格式:chgrp[选项]新组名

文件或目录新组名:可以是组数据库中的组名或数字形式的组标识(GID)。文件或目录:指定需要更改组所有权的文件或目录,可同时指定多个文件或使用通配符。选项参数:

-c:当发生改变时输出调试信息。

-f:不显示错误信息。

-R:处理指定目录以及其子目录下的所有文件。

-v:运行时显示详细的处理信息。

--dereference:作用于符号链接的指向,而不是符号链接本身。

--no-dereference:作用于符号链接本身。6.3.6

设置默认权限

新建文件或者目录的默认权限是通过umask命令来设置的。在Linux系统中,新建文件的权限由系统默认权限和默认权限掩码共同确定,它等于系统默认权限减去默认权限掩码。Linux系统中目录的默认权限是777,文件的默认权限是666。文件:666(rw-rw-rw-,即所有者和组及其他用户均有读写权限,无执行权限)。目录:777(rwxrwxrwx,即所有者和组及其他用户均有读、写、执行权限)。

当创建文件时,文件的权限就设置为创建程序请求的任何权限去掉umask屏蔽的权限。umask是一个掩码值,用于屏蔽系统默认权限中的某些位。

最终权限=系统默认权限&(~umask)

说明:&表示按位与,~表示按位取反

任务6.4Linux常用文件管理命令046.4.1定位文件和目录1.显示用户所在的位置在Linux系统中,定位文件和目录是日常操作的核心任务之一。pwd命令用于显示当前工作目录的完整路径。命令格式:

pwd[选项]。选项说明:

-L或--logical:显示逻辑路径(默认选项),遵循符号链接。

-P或--physical:显示物理路径,不遵循符号链接示例查看当前所在路径[root@localhost~]#pwd/root6.4.1定位文件和目录2.切换当前工作目录切换工作目录使用cd命令。

cd/path/to/dir#切换到绝对路径cd..#返回上级目录cd~#切换到用户家目录cd-#返回上一个工作目录示例(1)改变当前所处的目录。用户当前处于/root目录,想进入/etc目录。

(2)回到用户主目录。返回到用户主目录也可以直接执行命令cd。[root@localhost~]#cd..[root@localhost~]#pwd/(3)返回上级目录[root@localhost~]#cd~[root@localhost~]#pwd/root[root@localhost~]#cd/etc[root@localhost/etc]#pwd/etc6.4.1定位文件和目录3.搜索文件或者目录find命令是Linux中功能最为强大,使用较为复杂的命令。find命令的使用格式如下:find[搜索路径][选项][匹配条件]说明:(1)搜索路径:希望查询文件或文件集的目录列表,目录间用空格分隔。(2)匹配条件:希望查询的文件的匹配标准或说明。匹配条件常用命令选项如下:

-name:按照文件名来查找文件(支持通配符

*、?)。

-perm:按照文件权限来查找文件。

-prune:使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。

-user:按照文件属主来查找文件。

-group:按照文件所属的组来查找文件。

录中查找。6.4.1定位文件和目录-mtime-n+n:按照文件的更改时间来查找文件,-n表示文件更改时间距现在n天以内,+n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime选项,也可以按照属性查找文件,与-mtime选项不同的是,它们分别对应的是“是近一次访问时间”和“最近一次属性修改时间”。-nogroup:查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。-nouser:查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。-newerfile1!file2:查找更改时间比文件file1新但比文件file2旧的文件。-typeb/d/c/p/l/f:查找块设备文件、目录、字符设备文件、管道文件、符号链接文件、普通文件。-sizen[c]:查找文件长度为n块的文件,带有c时表示文件长度以字节计。-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目示例(1)从根目录开始查找文件名为passwd的文件。(2)查找/usr目录下前10天访问过的文件(仅第10天这一天)。(3)查找/usr目录下前10天之后访问过的文件。

[root@localhost~]#find/-namepasswd[root@localhost~]#find/usr-atime+10[root@localhost~]#find/usr-atime-106.4.1定位文件和目录4.定位文件或目录

与find命令相比,locate命令是从数据库中查找,而不是每次搜索文件系统。因为是从数据库中查找,locate命令的执行速度远远快于find命令。但是,使用locate命令查找的结果仅仅是在当前数据库,而且可能会没有find准确。locate命令的格式如下:locate选项

文件名选项说明:

-f:将特定的文件系统排除在外。例如我们没有道理要把proc文件系统中的文件放在数据库中。

-q:安静模式,不会显示任何错误信息。

-n:至多显示n个输出。

-r:使用正规运算式作查找的条件。

-o:指定数据库的名称。

-d:指定数据库的路径。

-h:显示辅助信息。

-v:显示程序的版本信息。示例查找apt.conf文件。[root@localhost~]#locateapt.conf6.4.2浏览文件和目录1.显示用户当前目录或指定目录的内容ls命令可以列出当前目录下的文件和目录(含隐藏文件)。此外,dir命令是ls命令的一个别名。ls命令的格式如下:ls[选项]目录或文件名选项说明:

-a:-all列出目录下的所有文件,包括以“.”开头的隐含文件。

-A:同-a,但不列出“.”(表示当前目录)和“..”(表示当前目录的父目录)。

-c:按文件的最后修改时间排序。

-C:分成多列显示。

-d:将目录像文件一样显示,而不是显示其下的文件。

-f:对输出的文件不进行排序,-aU选项生效,-lst选项失效。

-l:除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。

-R:-recursive同时列出所有子目录层。

-s:-size以块大小为单位列出所有文件的大小。

-t:以文件修改时间排序。示例(1)输出根目录下文件或目录的详细信息,输入下面语句,运行。运行结果可以看做七组数据,也就是7列。各组之间使用空格分开。[root@localhost/]#ls-l总用量84drwxr-xr-x2rootroot40962025-05-1905:00bindrwxr-xr-x3rootroot40962025-05-1905:45bootlrwxrwxrwx1rootroot112025-05-1904:26cdrom->media/cdromdrwxr-xr-x12rootroot137202025-07-2023:55dev…示例(2)列出当前目录下的所有文件(包括隐含文件),输入下面语句,运行。Linux系统的隐含文件的文件名以点开头。[root@localhost~]#ls-a..evolution.ICEauthority.2...gconf.java.profile.aptitude.gconfd.kde.qt.bash_history.gimp-2.2.lesshst.recently-used…示例(3)列出目录下所有文件或目录的详细信息,输入下面语句,运行。[root@localhost~]#ls-ladrwxr-xr-x35rootroot40962025-07-0116:16.drwxr-xr-x21rootroot40962025-07-0115:51..drwx------2rootroot40962025-06-2420:03.aptitudedrwxr-xr-x2rootroot40962025-06-1121:09Desktop-rw-------1rootroot472025-05-1916:35.dmrcdrwxr-xr-x2rootroot40962025-06-0316:00Downloads…示例(4)列出子目录下的所有文件。对于每个目录都显示对应目录下的内容。[root@localhost~]#ls-R.:DesktopDownloads./Desktop:ArlandCatalogue1.xlsScreenshot-Index./Downloads:6.4.2浏览文件和目录2.查看文件的前几行head命令用来查看文件的前几行。命令格式如下:head[-nnumber]文件-n:后面接数字,代表显示几行的意思。headfilename.txt#默认显示文件前10行。查看文件/etc/profile的前5行。[root@localhost~]#head-n5/etc/profile#/etc/profile:system-wide.profilefilefortheBourneshell(sh(1))#andBournecompatibleshells(bash(1),ksh(1),ash(1),...).if["$PS1"];thenif["$BASH"];then6.4.2浏览文件和目录3.查看文件后几行tail命令用于查看文件后几行。命令格式如下:tail[-nnumber]文件-n后面接数字,代表显示几行的意思。tail-n5filename.txt#显示文件后5行。在默认状态下,tail命令用于查看文件结尾的10行。tailfilename.txt#filename.txt是文件名-f:表示持续侦测后面所接的文件名,要等到按下Ctrl+C组合键才会结束tail的侦测,常用于监控日志。tail-ffilename.log#实时跟踪文件追加的内容,filename.log是日志。

示例(1)即时观察/var/log/messages的变化。[root@localhost~]#tail-f/var/log/messages

使用此命令,/var/log/messages文件内容出现变化将马上在屏幕上显示出来。(2)显示文件/etc/profile最后4行。[root@localhost~]#tail-4/etc/profile6.4.2浏览文件和目录4.合并文件或者显示文件的内容cat(concatenate,合并文件)命令可以显示文件的内容,或者是将多个文件合并成一个文件。命令格式如下:cat选项

文件名其中各选项意义如下:

n或--number:由1开始对所有输出的行数编号。

-b或--number-nonblank:和-n相似,只不过对空白行不编号。

-s或--squeeze-blank:当遇到有连续两行以上的空白行时就代换为一行的空白行。

-v或--show-nonprinting:使用^和M-符号,除了LFD和Tab之外。

-E或--show-ends:在每行结束处显示$。

-T或--show-tabs:将Tab字符显示为^I。

-e:等价于-vE。

-A,--show-all:等价于-vET。

-e:等价于-vE选项。

-t:等价于-vT选项。示例(1)使用cat命令阅读短文。[root@localhost~]#cat/etc/profile(2)建立两个文件并重定向到file1与file2。[root@localhost~]#cat>file1hello,student!

首先进入cat编辑环境,输入“hello,student!”后,按Ctrl+D组合键结束输入,输入文本并保存到文件file1。[root@localhost~]#cat>file2Thisisgreat

继续建立文件file2,按Ctrl+D组合键结束输入。示例(3)追加file2文件到file1。[root@localhost~]#catfile2>>file1[root@localhost~]#catfile1hello,student!Thisisgreat(4)合并file2与file1文件到file3。[root@localhost~]#catfile2file1Thisisgreathello,student!Thisisgreat[root@localhost~]#catfile2file1>file3[root@localhost~]#catfile3Thisisgreathello,student!Thisisgreat6.4.2浏览文件和目录5.显示文件的内容Linux的more命令类似于cat命令,但它以一页一页的形式显示文件内容,使得逐页阅读更加方便。使用more命令时,,按空格键可继续显示下一个画面,按B键就会返回上一页显示,按Q键停止显示。命令格式如下:more[选项]文件交互式命令:

Enter:向下移动n行,默认为1行。

Ctrl+F:向下滚动一屏。

空格键:向下滚动一屏。

Ctrl+B:返回上一屏。

V:调用vi编辑器。

q:退出more。选项说明:

-num:指定一次显示的行数。

-d:在画面下方显示提示信息,并在用户按错键时给出说明。

-l:取消遇见特殊字元^L(送纸字元)时会暂停的功能。

-p:不以卷动的方式显示每一页,而是先清除萤幕后再显示内容。

-c:与-p相似,但先显示内容再清除其他旧资料。

-s:当遇到有连续两行以上的空白行,就代换为一行的空白行。

+/pattern:在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示。

+linenum:从第linenum行开始显示。6.4.2浏览文件和目录5.显示文件的内容Linux的more命令类似于cat命令,但它以一页一页的形式显示文件内容,使得逐页阅读更加方便。使用more命令时,,按空格键可继续显示下一个画面,按B键就会返回上一页显示,按Q键停止显示。命令格式如下:more[选项]文件交互式命令:

Enter:向下移动n行,默认为1行。

Ctrl+F:向下滚动一屏。

空格键:向下滚动一屏。

Ctrl+B:返回上一屏。

V:调用vi编辑器。

q:退出more。选项说明:

-num:指定一次显示的行数。

-d:在画面下方显示提示信息,并在用户按错键时给出说明。

-l:取消遇见特殊字元^L(送纸字元)时会暂停的功能。

-p:不以卷动的方式显示每一页,而是先清除萤幕后再显示内容。

-c:与-p相似,但先显示内容再清除其他旧资料。

-s:当遇到有连续两行以上的空白行,就代换为一行的空白行。

+/pattern:在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示。

+linenum:从第linenum行开始显示。示例(1)显示/etc/profile文本文件的内容。[root@localhost~]#more/etc/profile

在显示满一屏时暂停,此时可按空格键继续显示下一屏,不像cat命令那样对不能一屏显示的就一闪而过到最后一屏。(2)当用ls命令查看文件列表时,如果文件太多,则可配合more命令使用。[root@localhost~]#ls-al|more

以长格形式显示当前目录下的文件列表,显示满一屏便暂停,可按空格键继续显示下一屏内容,或按Q键退出。6.4.3搜索文件内容

搜索文件内容可以使用grep命令,该命令的功能是在文件中查找指定的字符串。grep除了可以查找固定的字符串,还可以使用较为复杂的匹配模式。要实现复杂的匹配模式,需要使用如下表达符号:

?:匹配字符串中的一个字符。

*:匹配任意字符。

\*:匹配“*”字符。

\?:匹配“?”字符。

\):匹配“)”字符。6.4.3搜索文件内容命令格式:grep参数

查找条件

文件名其中各参数意义如下:

-c:只输出匹配行的计数。

-I:不区分大小写,只适用于单字符。

-l:查询多文件时只输出包含匹配字符的文件名。

-n:显示匹配行及行号。

-s:不显示不存在或无匹配文本的错误信息。

-v:显示不包含匹配文本的所有行。示例

(1)搜索profile文件中包含字符串“then”的行并输出。[root@localhost~]#grepthen/etc/profileif["$PS1"];theniif["$BASH"];thenif[-f/etc/bash.bashrc];thenif["'id-u'"-eq0];then示例(2)搜索profile文件中包含字符串“then”的行并显示对应行数。显示结果说明在/etc/profile文件的4、5、7、11行包含then字符串。[root@localhost~]#grep-nthen/etc/profile4:if["$PS1"];then5:if["$BASH"];then7:if[-f/etc/bash.bashrc];then11:if["'id-u'"-eq0];then6.4.4操作文件和目录1.创建目录

通过mkdir命令可以实现在指定位置创建以DirName(指定的文件名)命名的文件夹或目录。要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限。并且,所创建的文件夹(目录)不能与其父目录(即父文件夹)中的文件重名,即同一个目录下不能有同名的文件(区分大小写)。

命令格式:mkdir[选项]目录

选项说明:

-p 递归创建多级目录(父目录不存在时自动创建)。

-m 设置目录权限

-v 显示创建过程的详细信息--help:显示此帮助信息并退出。示例(1)创建单个目录。[root@localhost~]#mkdirmy_folder(2)创建多级目录。[root@localhost~]#mkdir-pparent/child/grandchild说明:

递归创建嵌套目录,如果parent或child不存在,则会自动创建。6.4.4操作文件和目录3.删除目录rmdir命令用来删除目录,加上-p参数表示如果删除一个目录后其父目录为空,则将其父目录一同删除。

命令格式:rmdir[选项]目录

选项说明:

-p:递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。

-v,--verbose:显示指令执行过程。

--version:输出版本信息并退出。示例(1)删除目录

[root@localhost~]#rmdirdir1(2)删除当前目录下的book/Linux子目录,如果book目录为空,也删除该目录。[root@localhost~]#rmdir-pbook/Linuxbook目录不为空则保留book目录。6.4.4操作文件和目录4.复制文件或目录

在Linux系统中,cp命令是一个非常基础且重要的工具,用于复制文件和目录。。命令格式:cp[选项]源文件或目录

目标位置选项说明:

-a:通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。

-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。

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

-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。

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

-r、-R:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。

-l:不复制文件,只生成链接文件。示例(1)将file.txt文件复制为newfile.txt。[root@localhost~]#cpfile.txtnewfile.txt(2)复制文件/etc/profile到当前目录。[root@localhost~]#cp/etc/profile.(3)复制/etc/apt目录下所有的内容(包括所有子目录)到当前目录。[root@localhost~]#cp-R/etc/apt.(4)使用通配符复制etc目录下mail开头的所有文件到当前目录。[root@localhost~]#cp/etc/mail*.注意:在上面的命令中,目标位置用一个点“.”表示当前工作目录。6.4.4操作文件和目录5.移动文件mv命令用于文件或目录的重命名和移动操作

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论