linux命令(cat.head.tail.wc.grep.tar.vim) {gzip.bzip2}

635 阅读2分钟

1.重要的目录

  1. /usr/share/ 帮助文档、说明文档
  2. /var/log/ 日志
  3. /var/run/ 运行中程序
  4. /var/tmp/ 临时文件
1.根(/)相当于一个入口,文件的总入口,也是唯一入口</font>
2. bin (sbin) 二进制文件,可执行文件,也可能存在别处,默认使用较多所有用户软连接文件 --------命令
3. sbin 管理员可使用的二进制文件--------命令ls cd useradd
4. boot 系统内核、启动文件
5. dev 硬件文件(黄色)
6. etc 配置文件等同于windows 注册表,一般都是文本文件
7. usr应用程序和操作系统相关的文件 bin sbin
8. var/log日志文件,数据变化的
9. proc 主要保存系统的内核、进程、外部设备状态和网络状态等
10. mnt 默认挂载点
11. opt 第三方应用程序安装所在目录程序

2.命令

cat  查看文件内容
[root@localhost data]#cat passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
-n 显示行号
[root@localhost data]#cat -n passwd
     1	root:x:0:0:root:/root:/bin/bash
     2	bin:x:1:1:bin:/bin:/sbin/nologin
     3	daemon:x:2:2:daemon:/sbin:/sbin/nologin
     4	adm:x:3:4:adm:/var/adm:/sbin/nologin
-A  显示隐形字符
[root@localhost data]#cat -A 1.txt
^I tab 制表符
空格
$ 换行
三个符号 在一些脚本不能混用
-b 空行不标序号
-s 压缩空行 将多个空行 压缩成一个空行
Cat 可以一次看多个文件,谁在前面是先显示

Cat 的缺陷
只能显示一个屏幕的内容
more 文件名
空格 向下 一页
回车 向下一行
b 向上 q 退出
less
空格 向下 一页
回车 向下一行
b 向上 q 退出
/ 查找内容 n 向下 大N 向上查找
head tail
-n 指定看的行数
[root@localhost data]#head -n2  httpd.conf   我只想看前2行

tail  -f    实时动态跟踪 默认没秒刷新后10行
管道符 将前面命令的结果 交给后面的命令执行
只要看第二行
[root@localhost data]#ifconfig ens33|head -n 2
[root@localhost data]#ifconfig ens33|head -n 2|tail -n 1
wc统计文件中的信息  (wc不加选项)
[root@localhost data]#wc passwd
   41   81 2104 passwd
41行数   81单词数  2104字节数
-l  显示行
-w  单词数 (不是真正的单词数) (空格 tab  回车 都占字节数)
-c  字节数
作练习之前把这两个文件复制出来进行练习 否则弄错无法修复
/etc/passwd
/etc/fstab

grep  过滤文本中的内容  文本三剑客  sed   awk
配合正则表达式使用
通配符核正则的区别
通配符:匹配文件名字
则表达式: 匹配文本中的内容
用法:[root@localhost data]#grep
 grep [选项]... PATTERN [FILE]...
PATTERN:正则表达式 (明确的条件 root )
选项(选项均可以组合使用  有-的时候f必须在最后  没有-的时候可以随机放)
- i查找时 忽略条件的大小写
-v反向查找
-n显示行号
-r 递归过滤文件夹中的所有文件
-o 只匹配你要的东西
基础用法:
[root@localhost data]#grep root passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
(命令grep+root想找的内容+passwd执行文件)
标准输入 :你用键盘输入的 字符
标准输出: 屏幕上返回显示的结果
管道符后面的命令 哟啊支持标准输出

^ 以什么开头 放最前
$ 以什什么结尾 放最后
分区 0726 的第 15$ 以什么什么结尾 放最后
^$ 中间什么都没有表示空白

显示以bash结尾的行号
[root@localhost data]#grep -n 'bash$' passwd
1:root:x:0:0:root:/root:/bin/bash
41:wang:x:1000:1000:wang:/home/wang:/bin/bash
显示空白行
[root@localhost data]#grep -n '^$' passwd
显示非空白行
[root@localhost data]#grep -nv '^$' passwd
1:root:x:0:0:root:/root:/bin/bash
2:bin:x:1:1:bin:/bin:/sbin/nologin
3:daemon:x:2:2:daemon:/sbin:/sbin/nologin
4:adm:x:3:4:adm:/var/adm:/sbin/nologin
5:lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

扩充:

如何单独显示一行自己需要的信息 QQ截图20220726185155.png

压缩打包 (gzip   bzip2gzipgzip -d 解压)
先把一个名字方便使用
[root@localhost data]#cp passwd m
cp:是否覆盖"m"? y
[root@localhost data]#ls
1.txt  fstab  m  passwd
[root@localhost data]#gzip m
[root@localhost data]#ls
1.txt  fstab  m.gz  passwd
[root@localhost data]#gzip -d m.gz
[root@localhost data]#ls
1.txt  fstab  m  passwd

bzip2   (bzip2 -d 解压)
[root@localhost data]#bzip2 m
[root@localhost data]#ls
1.txt  fstab  m.bz2  passwd
[root@localhost data]#bzip2 -d m.bz2
[root@localhost data]#ls
1.txt  fstab  m  passwd
用什么格式压缩的一定要用什么格式去解压

bzip2
-k 保留源文件
压缩比gzip 要好一点

tar 归档

选项:如果加- f必须在最后面  如果不加-可随便放
-f 代表使用归档
-c 建立归档文件
-x 解开归档文件
-p 保留源文件权限
-v 显示归档过程 , 解归档过程
-C 指定解压目录
-z 代表使用 gzip 压缩
-j 代表使用 bzip2 压缩
-t 不解开归档文件 只查看归档文件中的内容
[root@localhost data]#tar zvcf all.tar.gz m
[root@localhost data]#tar -jcvf passwd.tar.bz2 passwd

QQ截图20220727135600.png

解压(xf)

[root@localhost data]# tar xf passwd.tar.bz2

vim (文本编辑器)

vim  基本用法:
vim 文件
!vim 打开上一次的文件
vim  #(行号) 文件名
快捷键:
1.移动光标  上下左右
2.一行里面跳转   开头(end)   末尾(03.多行跳转   第一行(G)   最后一行(gg)   第多少行(数字+G)
4.复制整行(yy)   复制多少行(数字+yy)  一个单词(yw\)
5.粘贴  粘贴到光标坐在位置的下一行(p)  粘贴到光标所在位置的上一行(P大写)
6.剪切整行(dd)   剪切多少行(数字+dd7.删除
删除单个字母(x)
删除光标处 到 开头(d^)
删除光标处 到 末尾(d$)
删除单个单词  (dw)
8.撤销一次(u)  撤销全部(U大写)
9.替换模式(r)可以替换一个字符   
10.可以任意增加删除(R)
11查找 内容 /你要的字符   向下(n) 向上(N)

总结

显示行号(一定是英文状态下)

1.按ETC

2.shlft+:

3.set nu

退出vim(英文状态)

1.q 退出

2.w保存

3.!强制执行

面试题:
如何在一个拥有大量文件的文件夹中 过滤出你想要的文本的信息?
[root@localhost data]#grep -r root /data
/data/fstab:/dev/mapper/centos-root /                       xfs     defaults        0 0
/data/m:root:x:0:0:root:/root:/bin/bash
/data/m:operator:x:11:0:operator:/root:/sbin/nologin
匹配到二进制文件 /data/.passwd.swp
/data/passwd:root:x:0:0:root:/root:/bin/bash
/data/passwd:operator:x:11:0:operator:/root:/sbin/nologin