02、目录和文件管理

目录

2.1Linux系统结构

2.2查看及检索文件

cat命令——显示并连接(Concatenate)文件的内容        

more和less命令——分页查看文件内容

head和tail命令——查看文件开头或末尾的部分内容

2.2.2 统计和检索文件内容

wc命令——统计文件内容中的单词数量(Word Count)、行数等信息

grep命令——检索、过滤文件内容

2.3  备份与恢复文档

2.3.1 使用压缩和解压缩工具

gzip和gunzip命令

bzip2和bunzip2命令

2.3.2 使用tar归档和释放工具

1、制作归档备份文件

2、从归档文件中恢复数据

2.4   使用vi文本编辑器

2.4.1  vi编辑器的工作模式

2.4.2  命令模式中的基本操作

模式切换

移动光标

复制粘贴操作

查找文件内容

撤销编辑及保存和退出

2.4.3 末行模式中的基本操作

保存文件及退出vi编辑器

打开新文件或读入其他文件内容

替换文件内容


2.1Linux系统结构

        Linux 操作系统中的目录和文件数据被组织为一个树形目录结构,所有的分区、目录、文件等都具有一个相同的位置起点--根目录 

         Linux操作系统在定位文件或目录位置时,使用“/”进行分隔(区别在于Windows中的反斜杠“\”)。整个树形目录结构中,使用单独的一个“/”表示根目录,根目录是Linux操作系统的起点,所在分区称为根分区,Linux还存在一些特殊的子目录

  •  /boot:此目录是系统内核存放的目录,同时也是系统启动时所需文件的存放目录如 vmlinuz 和 initrd.img。在安装 Linux 操作系统时,为 boot 目录创建一个分区有利于对系统进行备份
  • /bin:bin 是 binary 的缩写。这一目录存放了所有用户都可执行的且经常使用的命令,如 cp、ls 等。
  • /dev:此目录保存了接口设备文件,如/dev/hda1、/dev/cdrom等。
  • /etc:系统主要的配置文件几乎都放置到这个目录内,例如人员的账号密码文件、各种服务的起始文件等。
  • /home:存放所有普通系统用户的默认工作文件夹(即宿主目录、家目录),如用户账号“teacher"对应的宿主目录位于“/home/teacher!”。如果服务器需要提供给大量的普通用户使用,建议将“/home”目录也划分为独立的分区,以方便用户数据的备份。
  • /root:该目录是 Linux 操作系统管理员(超级用户)root 的宿主目录,默认情况下只有 root用户的宿主目录在根目录下而不是在“/home”目录下。
  • /sbin:存放 Linux 操作系统中最基本的管理命令,一般管理员用户才有权限执行。
  • /usr:存放其他的用户应用程序,通常还被划分成很多子目录,用于存放不同类型的应用程序。
  • /var:存放系统中经常需要变化的一些文件,如系统日志文件、用户邮箱目录等,在实际应用系统中,“/var”目录通常也被划分为独立的分区。

2.2查看及检索文件

  1. cat命令——显示并连接(Concatenate)文件的内容        

    1. cat 命令本来用于连接(Concatenate)多个文件的内容,但在实际使用中更多地用于查看文件内容。cat命令是应用最为广泛的文件内容查看命令。
  2. more和less命令——分页查看文件内容

    1.    使用 cat 命令可以非常简单地直接显示整个文件的内容,但是当文件中的内容较多时,很可能只能看到最后一部分信息,文件前面的大部分内容都来不及看到。而more 和less命令通过采用全屏的方式分页显示文件,便于我们从头到尾仔细地阅读文件内容。
    2.   more 命令是较早出现的分页显示命令,表示文件内容还有更多(more)的意思,less命令是较晚出现的分页显示命令,提供了比早期more 命令更多的一些扩展功能。两个命令的用法基本相同。
  3. head和tail命令——查看文件开头或末尾的部分内容

    1.     head 和 tai 是一对作用相反的命令,前者用于显示文件开头的一部分内容,后者用于显示文件末尾的一部分内容。可以使用“-n”选项(n为具体的行数)指定需要显示多少行的内容,若不指定行数,默认只显示十行。
    2.     tail 命令则正好相反,用于查看文件末尾的内容。tail 命令通常用于查看系统日志(因为较新的日志记录总是添加到文件最后),以便观察网络访问、服务调试等相关信息。配合"-f"选项使用时,还可以跟踪文件尾部内容的动态更新,便于实时监控文件内容的变化.

2.2.2 统计和检索文件内容

  1. wc命令——统计文件内容中的单词数量(Word Count)、行数等信息
    1. -l:统计文件内容的行数
    2. -w:统计文件内容中的单词个数
    3. -c:统计文件内容中的字数
    4. 若将 wc 命令与管道符号一起使用,还可以对命令输出结果进行统计。
    5. 使用不带任何选项的wc命令时,默认将统计指定文件的行数、单词数、字节数(相当于同时使用“-[""-w""-c"三个选项)
  2. grep命令——检索、过滤文件内容
    1. grep 命令用于在文件中查找并显示包含指定字符串的行,可以直接指定关键字符串作为查找条件,也可以使用复杂的条件表达式(例如,“^word"表示以 word 开头,"word$”表示以 word 结尾,“^$”表示空行)
    2. 常用命令
      1. -i:查找内容时忽略大小写(lgnore Case)
      2. -v:反转查找(Invert),即输出与查找条件不相符的行
    3. 在维护 Linux 操作系统的过程中,经常会遇到包含大量内容的配置文件,而其中往往包含了许多空行和以“#"开头的注释文字,当只需要分析其中的有效配置信息时,这些空行和注释文字的存在不利于快速浏览。使用 grep 命令可以过滤掉这些无关信息。

2.3  备份与恢复文档

        在 Linux 操作系统中,最简单的文件和目录备份工具就是 cp(复制)命令。但是当需要备份的文件、目录数量较多时,仅仅使用 cp 命令就显得“力不从心”,并且备份的文件数量及其所占用的磁盘空间都可能会对服务器产生不小的压力。因此,有必要对需要备份的数据进行归档和压缩。

2.3.1 使用压缩和解压缩工具
  1. gzip和gunzip命令
    1.    使用 gzip 制作的压缩文件默认的扩展名为“.gz”。制作压缩文件时,使用“-9”选项可以提高压缩的比率,但文件较大时会需要更多的时间。
    2. 当需要解压缩经 gzip 压缩的文件时,只需使用带“-d"选项的 gzip 命令即可,或者直接使用gunzip 命令。
  2. bzip2和bunzip2命令
    1. bzip2和bunzip2命令的用法与gzip、gunzip命令基本相同,使用bzip2制作的压缩文件默认拓展名为“.bz2"
    2. 与gzip、gunzip命令相同,当需要解压缩bzip2压缩文件时,只需要使用带”-d“选项的bzip2命令即可,或者直接使用bunzip2命令
2.3.2 使用tar归档和释放工具

        tar命令主要对于目录和文件进行归档。实际备份中,通常在归档的同时会将包文件进行压缩,节省磁盘空间,常用选项如下

  • -c:创建(Create).tar格式的包文件
  • -C:解压时指定释放的文件夹
  • -f:表示使用归档文件
  • -j:调用bzip2程序进行压缩或解压
  • -p:打包时保留文件及目录的权限
  • -P:打包时保留文件及目录的绝对路径
  • -t:列表查看包内文件
  • -v:输出详细信息(Verbose)
  • -x:解开.tar格式的包文件
  • -z:调用gzip程序进行压缩或解压。
1、制作归档备份文件

        制作归档及压缩包(备份)文件时,tar命令的基本格式如下:

        如果需要对制作的归档文件进行压缩,可以通过“-"或“-"选项自动调用压缩工具(分别对应 gzip、bzip2 命令程序)进行压缩。

        若需要制作“.tar.bz2”格式的归档压缩包,则将“-z”选项改为“-i”选项使用即可

2、从归档文件中恢复数据

        解压并释放(恢复)归档压缩包文件时,tar 命令的基本格式:

        类似地,当从“.tar.gz”格式的归档压缩包恢复数据时,需要结合“-z"选项来自动调用压缩工具,而对于“.tar.bz2”格式的归档压缩包,对应的是"-"选项。默认情况下,恢复的数据将释放到当前目录中,如果需要恢复到指定文件夹,还需要结合“-C”选项来指定目标目录。

        在大部分的备份及恢复工作中,只使用tar 命令就可以很好地结合 gzip、bzip2 工具协同工作,无须再执行 gzip 或 bzip2 命令。但是要注意这两个压缩工具的命令程序必须存在。


2.4   使用vi文本编辑器

        vi是一个功能强大的全屏幕文本编辑工具,一直以来都作为类 UNIX 操作系统的默认文本编辑器。vim 是文本编辑器(简称编辑器)的增强版本,在 编辑器的基础上扩展了很多实用的功能,但是习惯上也将 vim 称为 vi。

2.4.1  vi编辑器的工作模式

在vi编辑界面中可以使用三种不同的工作模式,即命令模式、输入模式和末行模式

  • 命令模式:启动v编辑器后默认进入命令模式。该模式中主要完成如光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作。
  • 输入模式:该模式中主要的操作就是录入文件内容,可以对文本文件正文进行修改或添加新的内容。处于输入模式时,编辑器的最后一行会出现“--INSERT--”的状态提示信息。
  • 末行模式:该模式中可以设置编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处于末行模式时,v编辑器的最后一行会出现冒号“:”提示符。

        命令模式、输入模式和末行模式是编辑环境的三种状态,通过不同的按键操作可以在不同的模式间进行切换。例如,从命令模式按:(冒号)键可以进入末行模式,按a、i、0等键可以进入输入模式:在输入模式、末行模式均可按 ESc 键返回命令模式

2.4.2  命令模式中的基本操作
  1. 模式切换
    1. a:在当前光标位置之后插入内容
    2. A:在光标所在行的末尾(行尾)插入内容
    3. i:在当前光标位置之前插入内容
    4. I:在光标所在行的开头(行首)插入内容
    5. o:在光标所在行的后面插入一个新行
    6. O:在光标所在行的前面插入一个新行
  2. 移动光标
    1. 光标方向的移动。直接按⬆、↓、←、→四个方向键完成相应的光标移动。
    2. 翻页移动
      1. 按 Page Down 键或 Ctr+F 组合键向下翻动一整页内容。
      2. 按 Page Down 键或 Ctr+F 组合键向下翻动一整页内容。
    3. 行内快速跳转
      1. 按 Home 键或^键、数字0键将光标快速跳转到本行的行首,
      2. 按 End 键或$键将光标快速跳转到本行的行尾。
    4. 上述按键可以在vi的模式下使用
    5. 行间快速跳转
      1. 使用按键命令 1G 或者 g9 可跳转到文件内容的第1行。
      2. 使用按键命令 G 可跳转到文件的最后一行。
      3. 使用按键命令#G 可跳转到文件中的第#行(其中“#”号用具体数字替换)
  3. 复制粘贴操作
    1. 删除操作
      1. 按x键或 Delete 键删除光标处的单个字符。
      2. 使用按键命令 dd 删除当前光标所在行,使用#dd 的形式还可以删除从光标处开始的#行内容(其中“#”号用具体数字替换)。
      3. 使用按键命令 d^删除当前光标之前到行首的所有字符。
      4. 使用按键命令 d$删除当前光标处到行尾的所有字符。
    2. 复制操作
      1. 使用按键命令yy 复制当前行整行的内容到剪贴板,使用#yy 的形式还可以复制从光标处开始的#行内容(其中“#”号用具体数字替换)。复制的内容需要粘贴后才能使用。
    3. 粘贴操作
      1. 在编辑器中,前一次被删除或复制的内容将会保存到剪切板缓冲区中,按p键即可将缓冲区中的内容粘贴到光标位置处之后,按P键则会粘贴到光标位置处之前。
  4. 查找文件内容
    1. 在命令模式中,按/键后可以输入指定的字符串,从当前光标处开始向后进行查找(按?键则向前查找)。完成查找后可以按n、N键在不同的查找结果中进行选择
  5. 撤销编辑及保存和退出
    1. 在对文件内容进行编辑时,有时候需要对一些失误的编辑操作进行撤销,这时可以使用按键命令 u、U 键。其中,u键命令用于取消最近一次的操作,并恢复操作结果,可以多次重复按u键恢复已进行的多步操作;U键命令用于取消对当前行所做的所有编辑。
    2. 当需要保存当前的文件内容并退出v编辑器时,可以使用按键命令ZZ。
2.4.3 末行模式中的基本操作

        在命令模式中按:键可以切换到末行模式, 编辑器的最后一行中将显示":"提示符,用户可以在该提示符后输入特定的末行命令,完成如保存文件、退出编辑器、打开新文件、读取其他文件内容及字符串替换等丰富的功能操作。

  1. 保存文件及退出vi编辑器
    1. 保存文件:对文件内容进行修改并确认以后,需要执行如下的“:w"命令进行保存。
    2. 退出编辑器:需要退出 v编辑器时,可以执行“g”命令。若文件内容已经修改却没有保存,则仅使用“:g”命令将无法成功退出,这时需要使用如下的“:q!"命令强行退出(不保存即退出)。
    3. 保存并退出:既要保存文件又要退出vi编辑器可以使用一条末行命令“:wq"或“:x实现,其 效果与命令模式中的 ZZ命令相同
  2. 打开新文件或读入其他文件内容
    1. 打开新的文件进行编辑。在当前 编辑器中,执行“:e 新的文件”形式的末行命令可以编辑(Edit)新文件
    2. 在当前文件中读入其他文件内容。执行“:r其他文件”形式的末行命令可以读入(Read)其他文件中的内容,并将其复制到当前光标所在位置
  3. 替换文件内容
    1. 在编辑器的末行模式中,能够将文件中特定的字符串替换成新的内容,当需要大批量修改同一内容时,使用替换功能将大大提高编辑效率
    2.  主要关键字为sub(Substitute,替换),也可以简写为s。替换范围是可选部分,默认时只对当前行内的内容进行替换,一般可以表示为以下两种形式。
      1. %:在整个文件内容中进行查找并替换。
      2. n,m:在指定行数范围内的文件内容中进行查找并替换。

        替换格式中最末尾的“/g”部分也是可选内容,表示对替换范围内每一行的所有匹配结果都进行替换,省略“/g"时将只替换每行中的第一个匹配结果

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Small Cow

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值