Linux的目录和文件管理基础命令

目录

一、Linux目录结构

二、Linux查看文件内容

1、cat命令

2、more命令

3、less命令

4、head命令

5、tail命令

三、Linux统计和检索文件内容

1、wc命令

2、grep命令*

四、Linux备份恢复文档

1、gzip/gunzip命令

2、bzip2/bunzip2命令

3、tar命令*

五、vi文本编辑器

1、工作模式切换

2、命令模式基本操作

3、末行模式基本操作


一、Linux目录结构

Linux是树形目录结构,如下图所示:

Linux 目录结构是从 Unix 系统继承而来的,有一些标准的目录用途,例如:

目录介绍
/bin存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里;
/etc存放系统管理配置文件;
/home存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user:可以用~user表示;
/usr用于存放系统应用程序:
/opt额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把tomcat等都安装到这里:
/proc虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息;
/root超级用户(系统管理员)的主目录(特权阶级):
/sbin存放二进制可执行文件,只有root才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如ifconfig等;
/dev用于存放设备文件;
/mnt系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其他的文件系统;
/boot存放用于系统引导时使用的各种文件;
/lib存放着和系统运行相关的库文件;
/tmp用于存放各种临时文件,是公用的临时文件存储点;
/var用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等。)等;
/lost+found这个目录平时是空的,系统非正常关机而留下“无家可归“的文件(windows下叫什么.chk)就在这里

二、Linux查看文件内容

1、cat命令

在Linux中,cat命令是一个用于连接文件并打印它们的内容的命令。cat是"concatenate(连接)"的缩写。虽然它的主要功能是连接文件,但它也可以用于显示文件的内容,创建新文件,以及将文件内容重定向到其他文件或命令。

  • -n:显示文件所有内容的行号
  • -b:空行不显示行号
  • -s:多行空行合并一行空行显示。

以下是cat命令的一些常见用法:

  1. 显示文件内容

    cat filename

    这将打印指定文件的内容到标准输出(通常是终端)。

  2. 连接多个文件

    cat file1 file2 file3 > merged_file

    这将把file1file2file3的内容连接起来,并将结果输出到merged_file文件中。

  3. 从标准输入读取内容

    cat > new_file

    这将允许你从键盘输入内容,直到按下Ctrl + D结束输入,然后将输入的内容保存到new_file中。

  4. 显示非打印字符

    cat -v filename

    通过-v选项,cat命令会显示非打印字符(例如制表符、行尾符等)的可视化表示。

  5. 将文件内容附加到另一个文件

    cat file_to_append >> destination_file

    这将把file_to_append的内容附加到destination_file的末尾。

cat命令虽然简单,但在Linux系统中非常实用,特别是在文件处理和重定向操作中。

2、more命令

more 命令是一个基于命令行的文本文件查看器,通常用于浏览文本文件的内容。它允许用户一页一页地查看文本文件,并提供一些基本的导航和搜索功能。下面是一些 more 命令的常见用法和功能:

  1. 基本用法: 在终端中输入 more filename 可以打开名为 filename 的文件,并将其内容逐页显示在终端中。例如:more example.txt

  2. 浏览文件内容: 使用 more 命令可以逐页查看文件的内容。按下空格键可向下滚动一页,按下 Enter可向下滚动一行,按下 q可以退出 more 命令。

总的来说,more 命令是一个简单而实用的文本文件查看器,在处理较小的文本文件或需要快速查看文件内容时非常方便。

注:more可以支持管道符“|”去使用,例如:cat example.txt | more

3、less命令

less 命令是类似于 more 的另一个用于查看文本文件内容的命令行工具,但相比 more,它具有更多的功能和优点。以下是 less 命令的一些主要特点和用法:

  1. 逐页浏览: 与 more 类似,less 也可以用于逐页浏览文本文件的内容。您可以通过按下空格键来向下滚动一页,按下 b 键来向上滚动一页,或者按下 Enter来向下滚动一行。

  2. 搜索功能less 允许您在文件中进行搜索。按下 "/ "键,然后输入您要搜索的内容,按下 Enter 键即可开始搜索。使用 n可以继续向下搜索下一个匹配项,而使用 N则可以向上搜索上一个匹配项。

  3. 前后翻页: 使用 f可以向前翻页,而使用 b可以向后翻页,这使得在浏览较大文件时更加方便。

  4. 显示行号: 按下 -N 可以在左侧显示行号,这在需要定位特定行时非常有用。

  5. 跳转到特定行: 您可以按下 :,然后输入要跳转到的行号,然后按下 Enter 键即可跳转到该行。

  6. 执行外部命令: 在 less 中,您可以按下 !,然后输入要执行的外部命令,例如在查看文件时执行一些辅助操作。

  7. 退出: 您可以按下 q来退出 less,返回到命令行提示符。

总的来说,less 是一个功能强大而灵活的文本文件查看器,它提供了许多有用的功能,使您能够高效地浏览和处理文本文件。

4、head命令

在Linux中,head命令用于显示文件的开头部分,默认情况下它会显示文件的前10行。head命令通常用于快速查看文件的开头内容。

以下是head命令的一些常见用法:

  1. 显示文件开头内容

    head filename

    这将显示指定文件的前10行内容。

  2. 显示文件指定行数的开头内容

    head -n num_lines filename

    这将显示指定文件的前num_lines行内容,其中num_lines是一个整数。

  3. 显示多个文件的开头内容

    head file1 file2 file3

    这将依次显示多个文件的开头内容,每个文件默认显示前10行。

  4. 显示标准输入的开头内容

    command | head

    这将显示通过管道传递给head命令的标准输入的前10行内容。

head命令是一个简单而实用的工具,通常用于快速查看文件的开头部分。如果需要查看文件的前几行内容,或者了解文件的结构和格式,head命令是一个非常有用的工具。

5、tail命令

在Linux中,tail命令用于显示文件的末尾内容,默认情况下它会显示文件的最后10行。tail命令常用于监视日志文件的变化,或者查看文件的最新内容。

以下是tail命令的一些常见用法:

  1. 显示文件末尾内容

    tail filename

    这将显示指定文件的最后10行内容。

  2. 显示文件指定行数的末尾内容

    tail -n num_lines filename

    这将显示指定文件的最后num_lines行内容,其中num_lines是一个整数。

  3. *持续监视文件内容变化

    tail -f filename

    这将持续监视指定文件的内容变化,并将新添加到文件末尾的内容实时输出到终端。这对于监视日志文件的变化特别有用。

  4. 以逆序显示文件内容

    tail -r filename

    这将以逆序(从最后一行到第一行)显示指定文件的内容。

  5. 显示文件的末尾内容并跟踪新内容

    tail -n +0 -f filename

    这将显示指定文件的全部内容,并持续跟踪新内容的添加。

tail命令是一个非常实用的工具,特别是在需要查看文件的最后几行内容或者持续监视文件变化时。

head -n与tail -n的区别:

三、Linux统计和检索文件内容

1、wc命令

wc 命令用于统计文本文件中的字数、行数和字符数。其名称是 "word count"(单词计数)的缩写,但它实际上可以做更多的统计工作。下面是 wc 命令的基本格式和用法:

基本格式:

wc [选项] 文件名
  • 选项
    • -c :统计字节数。
    • -m :统计字符数。
    • -l :统计行数。
    • -w :统计单词数。

示例用法:

  1. 统计文件中的行数、单词数和字节数

    wc file.txt
  2. 只统计文件中的行数

    wc -l file.txt
  3. 只统计文件中的单词数

    wc -w file.txt
  4. 只统计文件中的字节数

    wc -c file.txt
  5. 使用管道操作符

    cat file.txt | wc

显示目录下文件行号:ls <目录> | wc -l

2、grep命令*

grep 是 Linux 中用于搜索文本的强大命令行工具。它可以在文件或标准输入中查找匹配指定模式的行,并将匹配的行输出到标准输出,从而使用户能够快速定位所需信息。下面是 grep 命令的基本格式和用法:

基本格式:

grep [选项] 模式 文件名
  • 选项
    • -i :忽略大小写进行匹配。
    • -v反向搜索,输出不匹配模式的行。
    • -n :显示匹配行的行号
    • -r :递归搜索指定目录及其子目录中的文件。
    • -w :只匹配整个单词,而不是包含在其他单词中的部分。
    • -c:只输出匹配到的总行数(不是匹配到的次数)
    • -e:实现可多个查询条件的匹配,逻辑or关系
    • -E:支持使用扩展正则表达式,相当于使用egrep命令
    • -o:精确匹配,即仅匹配的意思
    • -A n:显示匹配行和它后面的n行
    • -B n:显示匹配行和它前面的n行
    • -C n:匹配行和它前后各n行

示例用法:

  1. 反向搜索,显示不匹配的行

    grep -v "pattern" file.txt
  2. 递归搜索指定目录中的文件

    grep -r "pattern" directory/
  3. 只匹配整个单词

    grep -w "pattern" file.txt
  4. 从标准输入中搜索

    cat file.txt | grep "pattern"

四、Linux备份恢复文档

1、gzip/gunzip命令

gzip 是 Linux 中用于文件压缩和解压缩的常用工具之一。它通常能够显著减小文件的大小,从而节省存储空间并加快文件传输速度。格式:gzip [压缩比] <压缩文件名.gz> <文件或目录名>,压缩比为-1到-9。

以下是 gzip 的主要特点和用法:

  1. 压缩文件: 若要压缩文件,只需在命令行中输入 gzip 命令,后跟要压缩的文件名。例如:

    gzip filename.txt

    这将压缩 filename.txt 文件,并生成一个具有 .gz 扩展名的压缩文件,即 filename.txt.gz

  2. 解压缩文件: 要解压缩文件,只需在命令行中输入 gzip 命令,后跟要解压缩的文件名。例如:

    gzip -d filename.txt.gz   #这将解压缩 filename.txt.gz 文件,并恢复为原始的 filename.txt 文件。

    注:gunzip=gzip -d

  3. 查看压缩文件内容: 若要查看压缩文件的内容,可以使用 zcatzless 命令。例如:

    zcat filename.txt.gz    #这将显示 filename.txt.gz 文件的内容,而无需先解压缩它。
  4. 合并文件: 使用 -c 选项可以将多个文件合并为一个压缩文件。例如:

    gzip -c file1.txt file2.txt > combined.gz

    这将 file1.txtfile2.txt 合并为一个压缩文件 combined.gz

gzip 命令提供了一种简单而有效的方法来压缩和解压文件,它通常与其他命令和工具一起使用,以提高文件处理的效率和性能。

2、bzip2/bunzip2命令

bzip2 是 Linux 中用于文件压缩和解压缩的另一种常用工具。与 gzip 类似,bzip2 也是通过应用一种压缩算法来减小文件大小,从而节省存储空间和传输时间。

以下是 bzip2 的主要特点和用法:

  1. 压缩文件: 若要压缩文件,只需在命令行中输入 bzip2 命令,后跟要压缩的文件名。例如:

    bzip2 filename.txt

    这将压缩 filename.txt 文件,并生成一个具有 .bz2 扩展名的压缩文件,即 filename.txt.bz2

  2. 解压缩文件: 要解压缩文件,只需在命令行中输入 bzip2 命令,后跟要解压缩的文件名。例如:

    bzip2 -d filename.txt.bz2   #这将解压缩 filename.txt.bz2 文件,并恢复为原始的 filename.txt 文件。

    注:bunzip2=bzip2 -d

  3. 压缩比bzip2 通常能够产生更高的压缩比,因此生成的压缩文件可能比 gzip 生成的更小,但相应的压缩和解压缩过程可能会稍慢一些。

  4. 合并文件: 使用 -c 选项可以将多个文件合并为一个压缩文件。

bzip2 是一种常用的文件压缩工具,尤其适用于那些需要更高压缩比的情况。它的压缩算法通常能够在相同条件下产生比较小的压缩文件,但也需要更长的时间来完成压缩和解压缩过程。

补充:zip命令也可以用来压缩解压缩:zip [选项] <压缩文件名.zip> <文件或目录名>

                                                              unzip <压缩文件名.zip> -d <指定目录>

3、tar命令*

在Linux中,tar命令是一个用于创建、查看、提取和压缩归档文件的工具。归档文件通常以.tar扩展名结尾,它可以包含一个或多个文件或目录。tar命令最常用于创建备份、打包和分发文件和目录。

以下是tar命令的一些常见用法:

  • -c创建归档文件。(压缩)
  • -x:从归档文件中提取文件。(解压缩)
  • -t:列出归档文件的内容
  • -v:在处理文件时显示详细信息(通常是文件名)。
  • -f <归档文件名>:指定归档文件的名称。(必须加上)
  • -z:通过gzip压缩或解压缩归档文件。
  • -j:通过bzip2压缩或解压缩归档文件。
  • -J:通过xz压缩或解压缩归档文件。
  • -C <目录>:在指定目录下进行操作,例如解压文件到指定目录。
  1. 创建归档文件

    tar -cvf archive.tar file1 file2 directory1

    这将创建一个名为archive.tar的归档文件,并包含file1file2directory1

  2. 查看归档文件内容

    tar -tvf archive.tar

    这将列出archive.tar中包含的文件和目录。

  3. 提取归档文件内容

    tar -xvf archive.tar

    这将从archive.tar中提取所有文件和目录到当前目录。

  4. 将归档文件解压到指定目录

    tar -xvf archive.tar -C /path/to/destination

    这将从archive.tar中提取所有文件和目录,并将它们解压到指定的目录。

  5. 使用gzip进行压缩

    tar -czvf archive.tar.gz file1 file2 directory1

    这将创建一个使用gzip压缩的归档文件archive.tar.gz,其中包含file1file2directory1

  6. 使用xz进行压缩

    tar -cJvf archive.tar.xz file1 file2 directory1

    这将创建一个使用xz压缩的归档文件archive.tar.xz,其中包含file1file2directory1

tar命令是Linux系统中一个非常强大和常用的工具,它提供了对文件和目录进行归档、压缩和解压缩的便捷方式。

五、vi文本编辑器

1、工作模式切换

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

1)命令模式  ----> 输入模式

  • i:进入插入模式(Insert Mode),光标会在当前位置插入文本
  • a:进入插入模式(Append Mode),光标会在当前位置的下一个字符处插入文本
  • o:进入插入新行模式(Open Line Mode),在当前行的下面插入一个新行
  • O:进入插入新行模式(Open Line Mode),在当前行的上面插入一个新行
  • A:进入插入模式(Append to Line Mode),光标会移动到当前行的末尾。
  • I:进入插入模式(Insert at Beginning of Line Mode),光标会移动到当前行的开头。

注:R:命令模式切换到替换模式。s:删除光标所在位的字符。

2)命令模式  ----> 末行模式

  • 按下冒号键(:):在命令模式下按下冒号键会立即切换到末行模式。然后你可以在底部的命令行中输入相应的命令。

:set nu      显示行号
:set nonu    不显示行号

2、命令模式基本操作

G切换到最后一行
1G gg切换到第一行
#G切换到第 # 行
dd删除光标处所在的行
#dd   删除光标处开始的 # 行
#dd + p/P剪切 + 粘贴,p在光标行下面粘贴,P在光标行上面粘贴
yy复制光标处所在的行
#yy复制光标处开始的 # 行
#yy + p/P复制 + 粘贴
u撤销上一步操作
ctrl + r键恢复上一步撤销的操作
U撤销光标处所在行的所有操作
x del键删除光标处所在的字符
查找字符串nN
/从上往下找从下往上找
?从下往上找从上往下找

3、末行模式基本操作

  • :wq——保存并退出。
  • :x——保存并退出。
  • ZZ——保存并退出。
  • :q!——不保存退出。
  • :w——保存不退出。
  • :set nu——显示行号
  • :set nonu——不显示行号
  • :s/OLD/NEW/g——将光标处所在行的所有OLD字符串替换成NEW字符串
  • :% s/OLD/NEW/g——将所有行的所有OLD字符串替换成NEW字符串
  • :N,M s/OLD/NEW/g——将第 N 行到第 M 行的所有OLD字符串替换成NEW字符串
  • :r 文件路径    在光标处所在行下面插入指定的文件内容
  • :N,M co #——将第 N 行到第 M 行的内容复制到第 # 行下面
  • :N,M m #——将第 N 行到第 M 行的内容剪切到第 # 行下面
  • 45
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值