Linux系统的文件和目录—测试工程师核心开发技术(4)

发表于:2020-1-13 11:16

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:51Testing教研团队    来源:51Testing软件测试网原创

  1.3.5  Linux系统的文件和目录
  目录就是Windows系统下的文件夹。Linux系统中的根目录为"/",这一点和Windows系统不同。Windows系统中有盘符的概念,如C盘、D盘,每个盘符下都有根目录,例如,C盘的根目录为c:\。Linux系统中没有盘符的概念,只有一个根目录"/"。
  1.根目录
  尝试执行如下命令。
  ls -l /
  根目录下的所有内容如图1-53所示。
  
图1-53  根目录下的所有内容
  下面介绍其中几个重要的目录。
  ●/etc:保存系统数据文件、启动文件和脚本等。
  ●/bin:存放普通用户常用的命令。
  ●/sbin:存放系统管理方面的常用命令。
  ●/boot:存放系统核心文件。
  ●/dev:存放与设备有关的文件。
  ●/lib:存放在编译某些程序时要用的函数库。
  ●/usr:存放用户安装的应用程序,类似于Windows系统中的program files目录。
  ●/var:存放系统数据文件。
  ●/root:系统管理员(root用户)的属主目录。
  ●/home:存放普通用户属主目录的目录。
  ●/media:在系统自动挂载存储设备时(如光驱、U盘)使用的目录。
  ●/mnt:在挂载设备时建议使用的目录,因为目前版本的Linux系统都使用自动挂载,所以该目录已很少使用,而被media目录取代了。
  在Linux系统中,目录呈现树状结构,带有分支,也就是各级子目录。这些目录的访问路径分绝对路径访问和相对路径访问两种,其原理和DOS系统中的是一样的。
  假设该CentOS中已经使用yum安装了tree(如果没有安装,则可以先参考1.4.4节的例1-49)。
  在根目录下执行以下命令。
  [root@CentOS2015 ~]# tree / |less
  之后,就会看到根目录下的树状结构(见图1-54),命令中的less参数用于分屏显示。
图1-54  根目录的树状结构
  需要注意的是,每个目录中还有两个特殊的目录-"."和".."。其中,"."目录表示当前目录,".."目录表示当前目录的上一层目录。可以借助这两个特殊目录来表示相对路径。例如,grub目录的相对路径可以表示为"../../grub"。
  属主目录还有特殊的表示方法,用"~"表示当前用户的属主目录。例如,"[root@CentOS~]#"中的"~"符号,就代表默认登录后都位于本用户的属主目录中,当执行ls -l命令后,用户看到的是属主目录的内容。
  2.vi编辑器
  vi命令用于编辑文本文件。其语法如下。
  vi 文件名
  vi是一个比较强大的编辑工具,类似于Windows系统下的记事本,但是其功能要强大得多。vi分为3种模式,分别是一般模式、编辑模式、命令行模式。
  ●一般模式:当用户编辑一个文件时,一进入该文件即进入一般模式了。在这个模式下,用户可以做的操作有上下移动光标(见表1-2),删除某个字符,删除某行,复制、粘贴一行或者多行(见表1-3),查找与替换文本(见表1-4)。
  ●编辑模式:在一般模式下是不可以修改某一个字符的,要修改某一个字符只能在编辑模式下进行。从一般模式进入编辑模式,只需要用户按一个键(i、I、a、A、o、O、r、R)即可,每个键的含义如表1-5所示。当进入编辑模式时,在屏幕的最下一行会出现"INSERT"或"REPLACE"的字样。从编辑模式回到一般模式只需要按Esc键即可。
  ●命令行模式:在一般模式下,输入":"或者"/"即可进入命令模式。在该模式下,用户可以搜索某个字符或者字符串,也可以保存、替换、退出、显示行号等(见表1-6)。
  别外,还有一个vim命令。它的作用与vi是一样的,可以把vim看成vi的加强版;区别在于vim是带颜色的,文档内容显示得更清晰。
  3.文件与目录操作命令
  1)cd
  cd是change directory的缩写,用于改变当前路径。其语法如下。
  cd [相对路径或绝对路径]
  例如,要进入根目录下的etc目录,用绝对路径表示的方法如下。
  cd /etc
  如果当前在/root目录下,要转到etc目录下,则用相对路径表示的方法如下。
  cd ../etc
  如果要回到自己的属主目录,则可以使用以下命令。
  cd ~
  2)pwd
  pwd命令用于显示当前所在的目录。其语法如下。
  pwd
  例如:
  [root@CentOS2015 ~]# cd /           //切换到根目录
  [root@CentOS2015 /]# pwd            //查看当前目录
  /                                   //显示/根目录
  [root@CentOS2015 /]# cd ~           //切换到属主目录
  [root@CentOS2015 ~]# pwd            //查看当前目录
  /root                               //显示当前root用户的目录
  3)mkdir
  mkdir命令用于创建目录,目录可以是相对路径,也可以是绝对路径。其语法如下。
  mkdir [-option] 目录名称
  当建立的目录的父目录不存在时,使用参数-p可以同时建立父目录。
  例如,要在当前目录下建立一个叫test的目录,可以先用pwd命令查看所在目录,然后建立test目录,最后用ls命令查看新建的目录,如图1-55所示。
  
图1-55  创建一个目录
  如果要同时建立多个目录,操作如图1-56所示。
  
图1-56  创建多个目录
  4)rmdir
  rmdir命令用于删除目录,目录可以是相对路径,也可以是绝对路径,但是需要注意,目录必须为空目录。其语法如下。
  rmdir  目录名称
  例如,在当前目录下要删除test目录,可以先用ls命令查看当前目录下的内容,再执行rmdir test命令,最后用ls命令查看删除的效果,如图1-57所示。
  
图1-57  删除一个目录
  如果要在当前目录下删除test1、test2、test3这3个目录,操作如图1-58所示。
  
图1-58  删除多个目录
  5)cp
  cp命令用于复制文件。其语法如下。
  cp [-option] 源 目标
  常用参数如下。
  ●-r:递归处理,将指定目录下的文件与子目录一并处理。
  ●-u:如果源文件较新,或者没有目标文件,才进行复制,常用于备份。
  【例 1-1】 属主目录下有一个test文件夹,其下面有一个testfile文件,现在要把testfile从test目录下复制到属主目录下,如图1-59所示。
  对复制以后的文件还能进行重命名。
  【例1-2】 将当前目录下的testfile文件复制到test目录下并重命名为copy_testfile,如图1-60所示。
  
图1-59  复制文件
  
图1-60  复制文件并重命名
  如果需要将一个目录下的文件全部复制到另一个目录下,则可以在目录的路径后面加"*"号。
  【例 1-3】 将当前目录下的test目录的所有内容复制到test1目录下,如图1-61所示。
  
图1-61  复制某个目录下的所有文件
  如果需要将多个目录及下面的文件一次复制到另一个目录下,则可以使用参数-r。
  【例 1-4】 有一个空的test2目录,现要将test、test1目录及子目录下的文件一并复制到test2目录中,如图1-62所示。
  
图1-62  复制多个目录
  6)rm
  rm命令用于删除文件。其语法如下。
  rm [-option] 文件名
  常用参数如下。
  ●-f:强制删除,不提示用户是否需要删除的信息。
  ●-r:循环删除,常用于删除目录。
  【例 1-5】 删除test目录下的copy_testfile文件,如图1-63所示。
  
图1-63  删除普通文件
  当利用rmdir命令删除文件夹时,文件夹必须是空的。一旦目录非空,先逐层删除文件再删文件夹就非常麻烦。这里可以使用rm -rf命令。
  【例 1-6】 现要删除当前目录下的test1目录及test1目录下所有文件与子目录。为了不显示提示信息,需要加上-f参数,这样就可以跳出太多的确认提示信息,如图1-64所示。
  
图1-64  强制删除文件
  7)mv
  mv命令用于移动文件或目录。其语法如下。
  mv 源 目标
  【例1-7】 将当前目录下的test目录移动到test1目录下,如图1-65所示。
  
图1-65  移动文件
  我们经常用mv命令来进行文件或者目录的重命名操作,如图1-66所示。
  
图1-66  重命名文件
  4.管道命令
  管道命令(|)可以把一个命令的输出作为其他命令的输入。其语法如下。
  command 1 | command 2
  它的功能是把command 1执行的结果作为command 2的输入。
  【例 1-8】 列出当前目录中的任何文档,并把输出作为more命令的输入,more命令用于分页显示文件列表。
  ls -l | more
  5.查看文件内容命令
  1)cat
  cat是concatenate的简写,用于将一个文件的内容连续输出到屏幕上。其语法如下。
  cat [-option] 文件名
  常用参数如下。
  ●-n:连行号一起显示在屏幕上。
  ●-b:连行号一起显示在屏幕上,但空行不算。
  ●-v:显示控制符号。
  【例 1-9】 将 etc 目录下 inittab 文件的内容显示出来,并显示行号,如图 1-67所示。
  
图1-67  使用cat命令显示文件内容
  2)more
  more命令的作用和cat命令类似,同样用于在屏幕上显示文件内容,但是如果文件内容太多(超过40行),则使用cat命令会一闪而过,而使用more命令则会在显示完一屏内容后暂停,等待用户往下翻。其语法如下。
  more 文件名
  常用参数如下。
  ●+n:从第n行开始显示。
  ●?n:定义屏幕大小为n行。
  下翻命令可以用Enter键(单行下翻)、Ctrl+F组合键(整页下翻)、空格键(整页下翻)。如果要退出则按Q键。


查看《测试工程师核心开发技术》全部连载内容>>
版权声明:51Testing软件测试网获得人民邮电出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号