Linux--目录和文件管理(Linux的目录结构+查看及检索文件+备份及恢复文档+文本编辑器vi/vim)

前言

对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统只管重要,下面我们就开始了解一下linux目录结构的相关知识。

一、Linux的目录结构

1.1树形目录结构

在这里插入图片描述

  • 根目录
    所有分区、目录、文件等的位置起点
    整个树形目录结构中,使用独立的一个"/"表示
  • 常见的子目录
    /root    /bin   /boot     /dev     /etc
    /home    /var   /usr    /sbin

1.2常见子目录的作用

/root: 系统管理员root的宿主目录
/home:普通用户的宿主目录
/boot:系统内核、启动文件
/dev:设备文件
/etc: 配置文件
/bin: 所有用户可执行的命令
/sbin: 管理员可执行的管理命令
/usr: 应用程序
/var: 日志文件等

二、查看及检索文件

上一篇有介绍过两个查看文件命令cat和more,在Linux中有更多功能的查看和检索文件命令

2.1查看文件内容-less

less命令交互操作方法 解释
Page Up键/Page Down键 向上翻页/向下翻页
/ 查找内容
n键 下一个命令
N键 上一个内容

其他命令与more命令基本类似

less命令的基本使用格式
less [选项]文件名
例如:分屏查看 /etc/passwd 的内容
[root@localhost ~]# less /etc/passwd

2.2查看文件内容-head

查看文件开头的一部分内容(默认为10行),可以使用“n”选项(n为具体的行数)指定需要显示多少行的内容

head命令的基本使用格式
head -n 文件名
例如显示目标文件“/etc/passwd的头四行”
[root@localhost ~]# head -4 /etc/passwd

2.3查看文件内容-tail

tail命令与head命令正好相反,用户查看文件末尾的内容。tail命令通常用来查看系统日志(因为较新的日志记录总是添加到文件最后),以便观察网络访问,服务调试等相关信息。配合“-f”选项使用时,还可以跟踪文件尾部内容 的动态更新,便于实时监控文件内容的变化。
例如,一下操作可以查看系统公共日志文件/var/log/message的最后十行内容,并在末尾跟踪显示改文件中的新纪录的内容。(按Ctrl + C 组合键终止)。

[root@localhost ~]# tail -f /var/log/messages
tail命令的基本使用格式
例如显示目标文件“/etc/passwd的最后四行”
tail -4 /etc/passwd
或者
跟踪文件尾部内容 的动态更新
tail -f  /var/log/message

2.4统计文件内容-wc

wc命令用于统计文件内容中包含的行数,单词数,字节数等信息,使用文件名作为参数,可以同时统计多个文件

wc命令交互操作方法 解释
-c 统计文件中内容的字节数
-l 统计文件内容中的行数
-w 统计文件内容中的单词个数(以空格或制表位作为分隔)

使用不带任何选项的wc命令时,默认将统计指定文件的字节数,行数,单词个数(相当于同时使用-c , -l , -w 三个选项)

例如 
[root@localhost ~]# wc /etc/passwd
  41   79 2136 /etc/passwd
wc命令使用基本格式
wc [选项] 目标文件

当文件的行数,单词数或字节数具有特定的意义时,使用wc命令可以巧妙的获得一些特殊信息。

例如,Linux系统中的用户账号数据保存在/etc/passwd文件中,其中每一行记录对应一个用户,则我们可以统计出当前Linux系统中拥有的用户账号数量

[root@localhost ~]# wc -l /etc/passwd
41 /etc/passwd

若将wc命令与管道符号一起使用,还可以对命令输出结果进行统计,例如,若要统计/etc/目录下包含多少个扩展名为“.conf"的文件,可以先通过”find /etc-name"*conf 命令找出符合条件的文件位置,由于find命令输出结果也是每行一个文件记录,因此只需结合管道符号执行“wc -l”操作即可的粗符合条件的文件数量。

[root@localhost ~]# find /etc-name"*.conf" | wc -l

2.5检索和过滤文件内容-grep

grep命令用于在文件中查找并显示包含指定字符串的行,可以直接指定关键字符串作为查找条件,也可以使用复杂的条件表达式。

grep命令的使用基本格式
grep [选项] 查找条件目标文件
例如:在文件中查找包含“a”字符串的行
[root@localhost ~]# grep "a" /etc/passwd  
grep命令交互操作方法 解释
-i 查找内容时忽略大小写
-v 反转查找,即显示与查找条件不符的行
查找条件设置(要查找的字符占以双引号括起来) 解释
“^…"" 表示以…开头
”…$“ 表示以…结尾
“^$” 表示空行
例如:显示 /etc/passwd文件中以“a”开头和空行以外的内容
[root@localhost ~]# grep -v "^a" /etc/passwd  | grep -v "^$"

三、备份及恢复文档

在Linux系统中,最简单的文件和目录备份工具就是cp复制命令。但是当需要备份的文件,目录数量较多时,仅仅使用cp命令就力不从心,且备份出来的文件数量及空间都会对服务器你产生不小的压力。面对这种情况,我们选择压缩和归档。

gzip和bzip2是Linux系统中使用最多的两个压缩工具,这两个命令都可以压缩指定的文件,或者将已经压缩过的文件进行解压。

3.1压缩命令-gzip、bzip2

gzip bzip2 都是压缩程序,区别是:gzip的速度快一些,而bzip2要压得狠一些
使用gzip制作的压缩文件默认的扩展名为“.gz”,使用bzip2制作的压缩文件默认的扩展名为“.bz2”

gzip 和 bzip 2命令交互操作方法 解释
-9 最佳的压缩比压缩
-d 解压文件
gunzip= gzip -d 解压文件
gzip命令的使用基本格式
gzip [-9] 文件名              最佳的压缩比压缩文件
gzip [-d] .gz格式的压缩文件     解压文件
bzip2命令的使用基本格式
bzip [-9] 文件名                最佳的压缩比压缩文件
bzip [-d] .bz2格式的压缩文件     解压文件

3.2归档命令-tar

tar命令可以为linux的文件和目录创建档案。利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。

tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。

命令 解释
-c 建立新的备份文件
-x 解压
-v 显示详细信息
-f 指定备份文件
-p 保留原有权限
-t 列表查看包内的文件
-C 解压到目标地址
-z gzip格式
-j bzip2格式
tar命令的基本使用格式
tar [选项] 归档及压缩文件名需要归档的源文件或目录         制作归档及压缩包
tar [选项] 归档文件名[-C 目标目录]                     解压并释放(恢复)归档压缩包文件

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

例如:用tar命令压缩文件(将1.txt文件用tar压缩)
[root@localhost opt]# tar czvf 222.tar.gz 1.txt

例如:用tar命令解压文件(将222.tar.gz解压到/opt/中)
[root@localhost opt]# tar xzvf 222.tar.gz -C /opt/

四、文本编辑器-vi/vim

4.1文本编辑器-vi、vim

vi在是Unix平台上历史悠久的编辑器,它的命名是取“visual”(可视化的)这个单词的前两个字母,vi是Unix平台上可视化编辑器(或者说基于屏幕的编辑器)的代表,由加州大学和伯克利大学等机构,以原来的Unix行编辑器ed等为基础开发出来的,是一个使用多年,流传非常广泛的编辑工具。在Linux诞生的时候,vi与基本Unix应用程序一样被保留下来,成为我们管理系统的好帮手。

vim意为“vi iMproved”,改进了的vi,由Bram Moolenaar编写。Bram于1989年新买了一台计算机,在上面使用vi的时候觉得很多地方都不太方便,所以他找到了Stevie的源代码,在上面进行改进。在这期间还有Sven等很多人的加入,持续地改进,直到我们现在使用得很广泛的6.x版本。

vim与vi相比,增加了更多的特性,如彩色与高亮显示,可以使我们的编辑工作更轻松。通过设置,vim会自动检测文件中内容的类型,并以不同的颜色进行高亮显示,如注释变成蓝色,关键字变成褐色,而字符串变成红色等,与vi传统的黑白显示模式相比,vim更易读易用。另一个有趣的功能是vim支持从右到左输入字符,这在使用一些特殊语言(如Farsi)进行编程时是比较有用的。在vim中,我们还可以使用多窗口显示,在一个屏幕中同时对多个文件进行操作。我们还可以通过.vimrc文件定制的方法,来使用户在打开vi的时候获得自己熟悉的和适用于自己特殊目的的环境。

在编辑那些比较大的文件特别是程序文件的时候,vim比vi更方便一些。

4.2vi编辑器的工作模式

vi编辑器有三种工作模式
命令模式、输入模式、末行模式

[root@localhost opt]# vi 文件名

在这里插入图片描述

4.3vi编辑器命令

文本编辑器–vi命令

  • 命令模式 (vi 文件名,就进入了命令模式。退出命令模式,可以在未行模式中输入q)
    可以使用以下命令:
    dd:删除一行
    u:撤回
    yy:复制一行
    P:小写的p,将复制的行粘贴在光标所在行的下一行
    P:大写的p,将复制的行粘贴在光标所在行的上一行
    x:删除光标所在处字符(按着不动,先删光标后面,在删前面)
    r:替换光标所在处字符
    ZZ:保存退出 ##shift +z+z
  • 编辑模式 (i、I、a、A,就进入了编辑模式。退出编辑模式,按ESC退到命令模式)
    在此模式下可像在记事本中一样,修改文件内容。
    a: 将在光标所在位置之后插入文本(append)
    A: 将在光标所在行末插入文本
    i: 将在光标所在位置之前插入文本(insert)
    I: 将在光标所在行的第一个非空字符前插入文本 #通常是用来插入#键的
    o: 将在光标所在行的下一行开始插入文本(open)
    O: 将在光标所在行的上一行开始插入文本
    g: 按2次,光标移动到文本首行
    G: 按1次,光标移动到文本末行
  • 末行模式 (在命令模式中输入:就进入了末行模式。退出编辑模式,按ESC退到命令模式)
    可以使用以下命令:
    :q退出命令模式
    :w保存修改内容
    :wq保存退出
    :q!不保存退出
    :set nu显示行号
    :/abc查找abc这个字符,按n查找下一个,按N查找上一个
    :S /old/new
    将当前行中查找到的第一个字符"old" 串替换为"new"
    :S /old/new/g
    将当前行中查找到的所有字符串"old" 替换为"new"
    :#,# s/old/new/g
    在行号"#,#" 范围内替换所有的字符串"old" 为"new’
    :% s/old/new/g
    在整个文件范围内替换所有的字符串"old" 为"new"
    :S /old/new/c
    在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认

猜你喜欢

转载自blog.csdn.net/weixin_47153988/article/details/106680948
今日推荐