目录
目录和文件管理
对目录和文件的操作
查看
linux目录结构
常见的子目录
/root
/bin
/sin
/boot
cat
作用
查看文件的内容
支持标准输入
选项
-n 显示行号(number),包括空行
-A 显示隐藏字符
-b 跳过空行(空行有回车,其他不可见特殊字符不会跳过)
-s 将多个空行压缩成一个空行(回车产生空行,空格是有东西)
语法格式
cat [选项]..[选项] 文件名..文件名
用法
# 查看文件中隐藏字符,查看文件中不可见字符
# $ 回车
# ^I 制表符,tab键
# 空格还是空格,看不见
[root@localhost test]# cat -A t2 # cat -A 输出时,显示不可见字符
grsgdggt$
$
12314$
$
5787h$
^I^I$
gtg$
[root@localhost test]#
# 查看时,显示行号
[root@localhost test]# cat -n t1 # cat -n 输出时,显示行号
1 abarse
2 1542567654
3 adft
4 vdhy
5 2343
[root@localhost test]#
# 只需要查看有效行有多少行
[root@localhost test]# cat -Ab t3 # cat -b 输出时跳过空行,对其他行编号
1 grgdtth$
$
$
2 24452$
3 $
4 ^I^I^I$
5 gthyjjft$
[root@localhost test]#
# 查看时,将连续多行空格合并成一行
[root@localhost test]# cat -n t4
1 gthyhgt
2
3
4 245433546
5
6 gthy
7
8
9
10
11 gtg66
[root@localhost test]#
[root@localhost test]# cat -s t4 # cat -s 输出时,将多行空行压缩成一行
gthyhgt
245433546
gthy
gtg66
[root@localhost test]#
# 将a1和a2两个文件进行上下合并
a1文件
aaa
bbb
a2文件
111
222
[root@localhost test]# ls
a1 a2 passwd t1 t2 t3 t4
[root@localhost test]# cat a1 a2 > a3 # 使用cat命令+重定向“>” 可以完成上下合并两个文件,放到一个新文件中
[root@localhost test]# cat a3
aaa
bbb
111
222
[root@localhost test]#
# 作为标准输入
[root@localhost test]# cat # 直接输入cat 回车,cat会变成标准输入;从键盘输入什么,cat显示什么
wuyao
wuyao
111
111
^C
[root@localhost test]#
用途
正常查看一个文件的内容 cat 文件名
查看时,显示行号 cat -n
在写脚本时,可以查看隐藏字符,检查脚本是否有错误 cat -A
查看时,将连续多行压缩成一行 cat -s
完成文件的上下合并 cat >
注意事项
cat的局限性:只能查看一屏幕的内容
支持标准输入
cat支持多个选项,支持同时显示多个文件
tac
作用
反方向查看,跟cat相反查看文件内容
语法格式
tac 文件名
用法
# 从下往上查看文件内容
[root@localhost test]# cat a1 # 从上往下看
aaa
bbb
[root@localhost test]# tac a1 # 从下往上看
bbb
aaa
[root@localhost test]#
用途
从下往上查看文件内容 tac 文件名
rev
作用
将同一行文件内容倒过来看
语法格式
rev 文件名
用法
[root@localhost test]# echo {1..10} | rev # 同一行的内容倒过来显示
01 9 8 7 6 5 4 3 2 1
[root@localhost test]#
[root@localhost test]# cat a4
abcd
1234
[root@localhost test]# rev a4 # 将每一行的内容倒过来显示
dcba
4321
[root@localhost test]#
用途
将每一行的内容倒过来显示 rev 文件名
hexdump
含义
查看非文本文件,比如十六进制文件
选项
-C 转换成十六进制的ASCII码
-n 输出前n个字节
语法格式
hexdump [选项] 文件路径
用法
hexdump -c -n 128 /dev/sda # 选项-n不加,它会全部输出/dev/sda的内容
用途
查看硬盘的内容 hexdump
more
作用
查看文件内容
语法
more 文件名
用法
# 分页查看文件内容
[root@localhost test]# more passwd
more的基本操作
按“回车” 一行一行查看
按“空格” 一页一页查看
注意事项
只能查看,不能进行其他操作
看完立刻退出,或者按“q”立刻退出
less
作用
多功能查看文件内容
语法
less 文件名
用法
less passwd
less的基本操作
按“回车” 一行一行查看
按“空格” 一页一页查看
按“上下左右” 查看文件内容
不仅可以查看内容,还可以进行搜索,按“/”进入搜索模式,再输入要搜索的关键词
搜索成功,按“n”,向下查看搜索到的内容;按“N”,向上查看搜索到的内容;
看完需要用户手动按“q”退出,或者按“q”立刻退出
head
含义
默认查看文件内容的前10行
选项
-n N 查看指定行数
-c N 取前几个字符
+ N 查看前N行,和-n联用
- N 尾部N行不看,和-n联用
语法格式
head [选项] 文件名
用法
# 查看文件内容
[root@localhost test]# head t1 # 查看文件内容,默认查看前10行
12345
abcd
g5y6
gthy
fgth
fg6h
456
h77u6
jut
u76u
[root@localhost test]#
# 指定查看前2行内容
[root@localhost test]# head -n 2 t1 # head -n 2 指定查看前2行内容
12345
abcd
[root@localhost test]#
# head -n +
[root@localhost test]# head -n +2 t1 # head -n + == head -n 2 查看前2行内容
12345
abcd
[root@localhost test]#
# 我不想看最后10行
[root@localhost test]# cat -n t1
1 12345
2 abcd
3 g5y6
4 gthy
5 fgth
6 fg6h
7 456
8 h77u6
9 jut
10 u76u
11 y7u
12 5555
13 44444
[root@localhost test]# head -n -10 t1 # 一共13行,不看前10行,等于看前3行
12345
abcd
g5y6
[root@localhost test]#
# 我只想取前3个字符
[root@localhost test]# head -n 2 t1
12345
abcd
[root@localhost test]# head -c 3 t1 # head -c 3 取前3个字符
123[root@localhost test]#
# 一个中文汉字占3个字符
[root@localhost test]# echo "你好呀" | head -c 3 # 一个中文汉字占3个字符
你[root@localhost test]#
[root@localhost test]# echo "你好呀" | head -c 6 # 取6个字符等于中文2个字
你好[root@localhost test]#
# 随机生成密码
[root@localhost test]# cat /dev/urandom | tr -cd "[:alnum:]" | head -c 10 #
IOTCebnHdo[root@localhost test]#
用途
查看前3行内容 head -n 3 t1
随机生成密码(取字符) head -c 3 t1
我不想看最后5行内容 head -n -5 t1
tail
含义
默认查看文件内容的后10行
选项
-f 实时跟踪,实时查看,动态查看常用于日志监控
-n 查看倒数指定行
- N 查看倒数2行,和-n联用
+ N 从第N行开始看,和-n联用
语法格式
tail [选项] 文件名
用法
# 从尾部开始查看,默认看10行,查看倒数10行
[root@localhost test]# tail t1
gthy
fgth
fg6h
456
h77u6
jut
u76u
y7u
5555
44444
[root@localhost test]#
# tail -n -
# tail -n
[root@localhost test]# tail -n 2 t1 # 查看倒数两行内容
5555
44444
[root@localhost test]#
# tail -n -
[root@localhost test]# tail -n -2 t1 # tail -n -2 == tail -n2 查看倒数2行内容
5555
44444
[root@localhost test]#
# 查看日志文件
tail -f /var/log/messages
tailf /var/log/messages
# +号用法
[root@localhost test]# tail -n +10 t1 # 从第10行开始看
u76u
y7u
5555
44444
[root@localhost test]#
用途
查看日志文件 tail -f /var/log/messages
查看倒数5行内容 tail -n 5 t1
从第5行开始看 tail -n +5 t1
tr
含义
本意是替换,用的最多的是压缩
选项
-d
-s
语法格式
tr [选项]
用法
# 将我标准输入的字符s替换成a
[root@localhost test]# tr s a # 只要遇到s,就把s替换成a tr s a == tr -t s a 都是替换
sdsdsds
adadada
^C
[root@localhost test]#
# 将我标准输入的连续a压缩成一个a
[root@localhost test]# tr -s a # tr -s 压缩,将连续的指定字符压缩成一个字符
ffffaaaaaf
ffffaf
^C
[root@localhost test]#
# 将标准输入的指定字符删除
[root@localhost test]# tr -d a # del tr -d 删除标准输入中指定的字符
ababaab
bbb
^C
[root@localhost test]#
wc
含义
统计文件内容
选项
-l 统计行数(line)
-w 统计单词个数(单词不是真正的单词,只要用空格隔开,系统就认为是一个单词)(word)
-c 统计字节数
grep
含义
过滤文本内容
选项
-n 显示行号
-i 不区分大小写
-v 反向查看
-o 只显示匹配的内容
-f 查找file1,file2中相同的内容
-c 匹配的行数,匹配成功多少行
-r 递归过滤,支持过滤文件夹,不查找软连接
-R 递归过滤,支持过滤文件夹,查找软连接
-e 逻辑或,支持多个选项之间的或关系
语法格式
grep [选项] 正则表达式 文件或标准输出
用法
# 匹配指定关键词
[root@localhost test]# grep "root" passwd # grep 正则表达式 文件名 从passwd文件中匹配关键词root
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@localhost test]#
# 显示匹配关键词所在的行号
[root@localhost test]# grep -n "root" passwd # grep -n 显示匹配到关键词root所在的行号
1:root:x:0:0:root:/root:/bin/bash
10:operator:x:11:0:operator:/root:/sbin/nologin
[root@localhost test]#
# 不区分大小过滤文件内容
[root@localhost test]# grep -i "Root" ./passwd # grep -i 过滤时,不区分大小写
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@localhost test]#
# 只想要匹配的内容
[root@localhost test]# grep -n -o "root" ./passwd # grep -o 只显示匹配到的内容
1:root
1:root
1:root
10:root
[root@localhost test]#
# 查看成功匹配了几行
[root@localhost test]# grep -c "root" passwd # grep -c 显示匹配成功了几行
2
[root@localhost test]#
# 想要查找多个文件中包含root的文件
[root@localhost test]# grep -r "root" . # 查看文件夹(多个文件)中,包含root的文件
./passwd:root:x:0:0:root:/root:/bin/bash # grep默认只能过滤单个文件的内容
./passwd:operator:x:11:0:operator:/root:/sbin/nologin
./t1:root
[root@localhost test]#
# 过滤出两个文件中相同的内容
[root@localhost test]# grep -f t2 t1 # t1 和 t2 位置不一样没关系
12345
root
[root@localhost test]#
[root@localhost test]# grep -f t1 t2
12345
root
[root@localhost test]#
# 过滤多个关键字
[root@localhost test]# grep -e "root" -e "12345" t1 # grep -e 实现多个选项键的或
12345
root
[root@localhost test]#
用途
问法1. 一个文件夹中有大量文件,我怎么快速从这些文件中,找到包含root字符的文件?
问法2. 在大量文件中找到某些含有特定字符串的文件
grep -r root 文件夹
注意事项
正则表达式:只针对文本内容
通配符:只针对文件名
标准输入:键盘输入
标准输出:输出到屏幕上
“>”:导入符,将执行结果导入到指定地方
如何合并两个文件:cat a test > c
标准输入 标注输出 重定向
重定向
重定向符:> <
正则表达式
元字符 . 1. 表示任意一个字符
2. 表示次数,前面的字符出现多少次
3. 表示位置
* 前一个字符连续出现0次或多次
.* 任意字符
^ 开头符
$ 结尾符
^$ 表示空行
+ 多个
[] 每次查找一个字符
[^] 取反,非
paste
含义
左右合并
用法
paste -d$ t1 t2 # 输出到屏幕中
split
含义
分割文件
用法
split -b 200M bigfile # 将bingfile文件按200M分割
gzip
用法
bzip2
bzip2 -9 xaa
bzip2 -d
归档命令 tar
含义
压缩
解压
选项
-f 使用tar归档,只要使用tar,必须用f,如果用“-”,f必须在最后“-cf”,如果不用“-”,f位置无所谓
-c 建立归档
-x 解开归档
-v 显示过程
-z 使用gzip压缩
-j 使用bzip2压缩
-C(大C) 指定解压目录
-t 不解开归档文件,查看归档文件中的内容,-tf一起使用
-p 打包时,保留文件或目录的权限
-P 打包时,保留文件或目录的绝对路径
语法格式
tar 选项 自定义的名字.tar 要打包的文件
gzip压缩 自定义的名字.gz.tar
bzip2压缩 自定义的名字.bz2.tar
用法
tar -tf all.tar # 不解开归档文件,查看压缩包中的内容
tar -zcvf vm.tar t1 t2 t3
tar -jcvf vm.tar t1 t2 t3
tar -cf vm.tar t1 t2 t3
tar -zxvf vm.tar -C /opt/test
tar -jxvf vm.tar -C /opt/test
tar -xf vm.tar -C /opt/test
注意事项
小文件不需要压缩,如1k文件
vi编辑器
作用
可读可写文件
有vi、vim两种编辑器
llinux一定有vi,可能没有vim编辑器
linux中还有nano、gedit两种文本编辑器
用法
vim +10 /opt/test/t1 #打开t1文件,并将光标移到第十行
!vim # 打开上一次的文件
vim +/^b # 光标移到b开头的行
vim的四种模式
① 命令行模式,默认模式
命令行模式
作用:实现光标的移动,复制粘贴等操作
yy 复制一行
p 粘贴
dd 剪切(删除)一行
x 删除一个字符
dw 删除一个单词
u 撤销
ctrl+r 撤销的撤销
跳到最后一行 G
跳到某行 某G 某gg
跳到第一行 gg 1G
w 下一个单词的词首
e 当前或下一个单词的词尾
b 当前或上一个单词的词首
当前页跳转
H 页首
M 页中间
L 页底
行首行尾跳转
^ 跳转到行首的第一个非空白字符
0 跳转至行首
end $ 跳转至行尾
大小写转换 ~
xp
J 两行变一行
r 替换单个字符
di" 删除双引号中的内容
yi( 复制圆括号中的内容
② 编辑模式
编辑模式
作用:编辑内容
默认模式 -----> 输入模式
i 当前光标处前插入
o 下一行插入
“esc”键 退回到默认模式
③ 末行模式
默认模式 -----> 末行模式
(英文):
“esc” / "回车" 退回到默认模式
vim怎么退出
esc : w保存 q退出 !强制
显示行号 set nu
不显示行号 set nonu
另存为 w /opt/test/t1
打开新的文件 e 文件路径
将新文件写入到当前文件 r 新文件路径
在编辑器中使用命令行 !命令
将命令的执行结果写入文件 r! 命令
删除第n行 n d
取消高亮 nohl
和上一行对齐 set ai
取消对齐 set noai
set key=123
set key=
set tabstop=4
.!date
查找,替换
作用
查找文本中的文件并替换
格式
范围 s/查找的内容/替换的内容/修饰符 g
范围
不写范围 只处理光标处
% 全文
n,# n行到#行 1,3 1-3行
$ 最后一行
$-1 倒数第二行
. 当前行
#,+# 2,+3
修饰符
g(global,当前行所有)
c(修改时询问)
分隔符
/
@
#
/home/.bashrc 只对当前用户生效
/etc/profile 对全局生效
④ 可视化模式
v 选中一个字符
V 一行一行选
ctrl+v 一块一块选
sz
rz
标签:文件,查看,管理,cat,test,root,目录,localhost From: https://www.cnblogs.com/wuyao-bk/p/17796430.html