目录和文件管理

123 阅读3分钟

1.常见目录

微信截图_20230718185431.png

2.七类常见的linux的文件

  1. d 目录文件directory
  2. b 块设备文件block 块设备文件,就是保存大块数据的设备,比如最常见的硬盘。
  3. c 字符设备character 这些文件通常隐藏在 /dev/ 目录下,当进行设备读取或外设交互时才会被使用
  4. l 符号链接文件link
  5. p 管道文件pipe 主要用于进程间通信单向传输 一个发一个输管道文件
  6. s 套接字文件socket 套接字文件一般隐藏在 /var/run/ 目录下,用于进程间的网络通信
  7. -普通文件 普通文件,包括纯文本文件、二进制文件、各种压缩文件等

3.显示命令(cat)

微信截图_20230718185640.png

3.1显示文件前后内容

head

微信截图_20230718185759.png

tail

微信截图_20230718185845.png

4.基本功能转换(tr)

tr [选项]... SET1 [SET2]

SET 是一组字符串,一般都可按照字面含义理解

-d 删除

-s 压缩

-c 用字符串1中字符集的补集替换此字符集,要求字符集为ASCII。

微信截图_20230718190024.png

5.统计列数(wc)

统计列数,wc本身就是参数 word

  • -l:统计行数
  • -w:统计单词个数
  • -c:统计字节数

微信截图_20230718190206.png

6.过滤(grep)

  • -i:查找时忽略大小写
  • -v:反向查找,输出与查找条件不相符的行
  • -o 只显示匹配项
  • -f 对比两个文件的相同行
  • -c 匹配的行数([root@localhost ky15]# grep -c root passwd 2)

基本格式

  • 要查找的字符串以双引号括起来单引号也可以
  • “^……”表示以……开头,“……$”表示以……结尾
  • “^$”表示空行

7.合并文件(paste)

-d 指定分隔符

示例

微信截图_20230718190434.png

8.分割文件(split)

split [-b ][-C ][-][-l ][要切割的文件][输出文件名前缀][-a ]

最常用的选项,都在这里了: -b<字节>:指定按多少字节进行拆分,也可以指定 K、M、G、T 等单位。 -<行数>或-l<行数>:指定每多少行要拆分成一个文件。 输出文件名前缀:设置拆分后的文件的名称前缀,split 会自动在前缀后加上编号,默认从 aa 开始。 -a<后缀长度>:默认的后缀长度是 2,也就是按 aa、ab、ac 这样的格式依次编号。

示例如图

微信截图_20230718190614.png

9.压缩和解压缩

gzip和bzip都是压缩软件,比如windows里的好压和360 压缩或微软自带的等等

比较gzip和bzip之间的压缩比例,压缩时间等问题

gzip [-9] 文件名… 提高压缩比例,但是文件较大时效率会低 bzip2 [-9] 文件名... gzip -d .gz格式的压缩文件 d就是解压 bzip2 -d .bz2格式的压缩文件

9代表压缩比率,9最大1最小,使用以上两种压缩源文件不存在了

gzip的压缩率 要高于bzip2

不会使用 应为只能对文件操作

微信截图_20230718190733.png

10.归档(tar)

tar tape archive 磁带归档,磁带便宜磁带机很贵,慢永久保存,硬盘越来越便宜了

tar [选项] ... 归档文件名 源文件或目录 tar [选项] ... 归档文件名 [-C 目标目录]

此处选项有先后要求

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

微信截图_20230718190840.png