1. Linux基础命令:find

查找文件或目录find:采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找。

1,1 -name 按名称查找

find /etc -name "resol*.conf"
find   /data/    -name   "*.txt"      #查找/data/目录以.txt结尾的文件;
find   /data/    -name   "[A-Z]*"     #查找/data/目录以大写字母开头的文件;
find   /data/    -name   "test*"      #查找/data/目录以test开头的文件;


1.2 -size 按大小查找

find   /data/    -size   +1M              #查文件大小大于1Mb的文件;
find   /data/    -size   4M               #查文件大小为10M的文件;
find   /data/    -size   -1M             #查文件大小小于1Mb的文件;


1.3-type 按类型查找

普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)、链接(l)
find /boot -type d
find   /data/    -type d    #查找/data/目录下的文件夹;
find   /data/    !   -type   d     #查找/data/目录下的非文件夹;
find   /data/    -type  l    #查找/data/目录下的链接文件。

1.4 -user 按文件属主

find /home -user 用户名
find /home -user 用户名  -group 组名

1.5 多条件查找

-a:并且

-o:或者

2. Linux目录和文件管理

2.1 Linux目录结构

  Linux 操作系统中的目录和文件数据被组织为一个树形目录结构。——根目录。Linux 操作系统中只有一个根目录,而 Windows 操作系统中每个分区都有一个根目录

2.1.1 根目录

  •   所有的分区、目录、文件等的位置起点
  • 整个树形目录结构中,使用独立的一个“/”表示

2.1.2 常见的子目录及作用

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

2.2 查看及检索文件

  在 Linux 操作系统中,绝大多数的配置文件是以普通文本格式保存的,这些配置文件决定着系统及相关服务、程序的运行特性。

2.2.1 查看文件内容

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

  cat 命令本来用于连接(Concatenate)多个文件的内容,但在实际使用中更多地用于查看文件内容。cat 命令是应用最为广泛的文件内容查看命令。使用该命令时,只需要把 要 查 看 的 文 件 路 径 作 为 参 数 即 可 。 

  2. more 和 less :分页查看文件内容
  • 全屏方式分页显示文件内容
  • 交互操作方法

  more:可以按 Enter 键向下逐行滚动查看,按 Space 键可以向下翻一屏,按 b 键向上翻一屏,按 q 键退出并返回原来的命令环境。

  less:可向上下翻页,其余功能与more命令类似。

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

  head 和 tail 是一对作用相反的命令,前者用于显示文件开头的一部分内容,后者用于显示文件末尾的一部分内容。可以使用“-n”选项(n 为具体的行数)指定需要显示多少行的内容,若不指定行数,默认只显示十行。
执行“head -4 /etc/passwd”命令,可以查看用户账号文件/etc/passwd 开头第一行至第四行的内容。

2.2.2 统计和检索文件内容

  在维护 Linux 操作系统的过程中,除了查看文件内容以外,有时还需要对文件内容进行统计,或者查找符合条件的文本内容。

  1. wc :统计文件内容中的单词数量(Word Count)、行数等信息
 

  wc 命令用于统计文件内容中包含的行数、单词数、字节数等信息,使用文件名作为参数,可以同时统计多个文件。较常用的选项如下所述。

若将 wc 命令与管道符号一起使用,还可以对命令输出结果进行统计。

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

  2. grep:检索、过滤文件内容

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

  • -l:统计文件内容中的行数。
  • -w:统计文件内容中的单词个数(以空格或制表位作为分隔)。
  • -c:统计文件内容中的字节数。

  grep [选项]… 查找条件 目标文件
-i:查找内容时忽略大小写(Ignore Case)。
-v:反转查找(Invert),即输出与查找条件不相符的行。

  • “^……”表示以……开头
  • “……$”表示以……结尾
  • “^$”表示空行

2.3 备份及恢复文档

2.3.1使用压缩和解压缩工具

  1. 制作压缩文件

  gzip  [选项]  文件名…  制作的压缩文件默认的扩展名为“.gz”

  bzip2  [选项]  文件名...  制作的压缩文件默认的扩展名为“.bz2”

  2. 解开压缩文件

  gzip  -d  .gz格式的压缩文件   =  gunzip .gz格式的压缩文件 

  bzip2  -d  .bz2格式的压缩文件   =  bunzip .bz2格式的压缩文件 

  3. 常用命令选项
  •   -9 选项可以提高压缩的比率,但文件较大时会需要更多的时间
  •   -d 解压

2.3.2使用tar 归档和释放工具

  tar 命令主要用于对目录和文件进行归档。在实际的备份工作中,通常在归档的同时也会将包文件进行压缩(需要调用前面的 gzip 或 bzip2 命令),以节省磁盘空间。使用 tar 命令时,选项前的“-”号可以省略。常用的几个选项如下所述。

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

  tar [选项] … 归档及压缩文件名 需要归档的源文件或目录…

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

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

  tar [选项] … 归档及压缩文件名 [-C 目标目录]
 

2.4 vi文本编辑器

  • 安装与别名设置:可通过yum install vim -y安装 vim,vim 是 vi 的升级版,为方便使用可设置别名alias vi='/usr/bin/vim',习惯上也将 vim 称为 vi。
  • 工作模式
    • 命令模式:启动 vi 后默认进入,可进行光标移动、字符串查找、删除、复制、粘贴等操作。
    • 输入模式:用于录入文件内容,可修改或添加文本,界面最后一行会出现 “-- INSERT --” 提示,按 a、i、o 等键从命令模式进入,按 Esc 键返回命令模式。
    • 末行模式:可设置编辑环境、保存文件、退出编辑器、查找替换等,界面最后一行会出现冒号 “:” 提示符,按:键从命令模式进入,按 Esc 键返回命令模式。

2.4.1 命令模式中的基本操作

  1. 模式切换
    • a:在当前光标位置之后插入内容。
    • A:在光标所在行的末尾插入内容。
    • i:在当前光标位置之前插入内容。
    • I:在光标所在行的开头插入内容。
    • o:在光标所在行的后面插入一个新行。
    • O:在光标所在行的前面插入一个新行。
  2. 移动光标
    • 方向键:移动光标方向。
    • 翻页:Page Down 或 Ctrl+F 向下翻一整页,Page Up 或 Ctrl+B 向上翻一整页。
    • 行内跳转:Home 或 ^、0 键跳转到行首,End 或 $ 键跳转到行尾。
    • 行间跳转:1G 或 gg 跳转到第 1 行,G 跳转到最后一行,#G 跳转到第 #行(# 为具体数字)。可在末行模式执行 “:set nu” 显示行号,“:set nonu” 取消显示。
  3. 复制、粘贴和删除
    • 删除:x或 Delete 键删除光标处单个字符;dd删除当前行,#dd 删除从光标处开始的 #行;d^删除光标之前到行首的字符;d$删除光标处到行尾的字符。
    • 复制:yy复制当前行,#yy 复制从光标处开始的 #行。
    • 粘贴:p将缓冲区内容粘贴到光标后,P粘贴到光标前。
  4. 查找文件内容:按/键输入字符串向后查找,按?键向前查找,按 n、N 键在查找结果中选择。
  5. 撤销编辑及保存和退出u键取消最近一次操作,可多次使用;U键取消对当前行的所有编辑;ZZ保存内容并退出。

2.4.2 末行模式中的基本操作

  1. 保存文件及退出
    • 保存::w保存,:w /root/newfile另存为 /root 目录下的 newfile。
    • 退出::q退出,文件修改未保存时:q!强行退出。
    • 保存并退出::wq:x,与命令模式的 ZZ 命令效果相同。
  2. 打开新文件或读入其他文件内容:e 新的文件编辑新文件;:r 其他文件将其他文件内容复制到当前光标位置。
  3. 替换文件内容:命令格式为: [替换范围] sub /旧的内容/新的内容[/g],sub 可简写为 s。替换范围可选,%表示整个文件,n,m 表示指定行数范围,/g表示替换每行所有匹配结果,省略则只替换每行第一个匹配结果。

3.总结

  • 查看文件内容(cat、more、less、head、tail)
  • 统计和检索文件内容(wc、grep)
  • 备份恢复文档(gzip/gunzip、bzip2/bunzip2、tar)
  • vi文本编辑器工作模式与不同工作模式之间的切换
  • vi文本编辑器命令模式与末行模式的基本操作
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐