1、cat 合并文件或查看文件内容
基本功能:cat test.txt 查看文件内容 也可以多文件显示
cat test1.txt test2.txt >test3.txt 把多个文件合并成一个
cat >test.txt 创建编辑文件,后边接要编辑的内容ctrl+d或c可结束编辑 如果错了 需要按住CTRL+退格键
cat>>test.txt<<EOF 飞交互式编辑或追加内容到文件尾部 EOF必须成对出现 也可以用别的标签替换
hello wod
EOF
cat /dev/null >test.txt 情况文件内容
参数:-n 显示行号
-b 去除空行显示行号
-E 每一行行尾带上$符号
-s 当有连续以上的空白行,就替换为一行空白行
-T Tab字符显示为 ^I
-v 除了LFD和TAB 使用^和M-引用
2、tac 反向显示文件内容 是cat的反写 连个命令都是以一行文本为单位的
参数:-b 在行前添加分割标志
-r 将分割标志视为正在我表达式来解析
-s 使用指定字符串进行分割
3、more 分页显示文件内容
语法:more 选项 文件
参数:-num 指定屏幕显示大小为num行
+num 从行号num开手显示
-s 把连续的多个空行显示为一行
-p 不滚屏 而是清楚整个屏幕 然后显示文本
-c 不滚屏,从每一屏顶部开始显示文本,每显示完一行,就清楚这一行的剩余部分
4、less 分页显示文件内容 比more更为强大
语法:less 参数 文件
参数:-i 搜索时忽略大小写
-m 显示百分比
-N 显示每行的行号
-s 将连续空行压缩成一行
-e 当显示到结尾时自动退出文件 ,若不用此选项参数,则需要输入q 退出交互模式
5、head 显示文件内容头部 不接参数 默认显示10行
参数:-n 指定显示的行数 head -5 eg1.txt
-c 指定显示的字节数
-q 不显示包含给定文件名的文件头
-v 总是显示包含给定文件名的文件头
6、tail 显示文件内容尾部 默认10行
实例:
tail -5 eg1.txt 显示后5行
tail -n +5 eg1.txt 从第5行开始显示
7、tailf 跟着日志文件 等同于 tail -f 不同的是如果文件不增长,那么她不会去访问磁盘,也不会更改访问时间
tailf -n(指定显示的行数) 文件
8、cut 从文本中提取一段文字并且输出
参数:-c 以字符单位进行分割
-d 自定义分割符,默认以tab为分割符
-f 与-d一起使用,指定显示区域
N 第N个字节或字段
N- 第N个字节或字段至末尾
N-M 第N-M个字节或字段 包含M
-M 第1到M(含)个字节或字段
实例:
cut -b 3 eg1.txt 每一行只输出第三个字节
cut -b 3-5,8 eg1.txt 输出3-5的字节和第8个字节
cut -b 3- eg1.txt 输出第2个字节至行尾
9、split 分割文件
语法:split 选项 输入文件 输入文件名前缀
参数:-b 指定分割后文件的最大字节数
-l 指定分割后最大行数
-a 指定后缀长度
-d 使用数字后缀
实例:
[root@mrxw eg]# split -l 3 eg1.txt new_ 默认字母后缀
[root@mrxw eg]# ls
eg1.txt eg2.txt eg3.txt new_aa new_ab new_ac new_ad new_ae
[root@mrxw eg]# split -l 3 -d eg1.txt new_ 数字后缀
[root@mrxw eg]# ls
eg1.txt eg2.txt eg3.txt new_00 new_01 new_02 new_03 new_04 new_aa new_ab new_ac new_ad new_ae
cut -b 100k -d eg1.txt new_ 按大小分割
10、paste 合并文件
语法:paste 选项 文件
参数:-d 指定合并的分割符 默认TAB
-s 每个文件占一行
实例:
[root@mrxw eg]# paste eg1.txt eg2.txt
1 one
[root@mrxw eg]# paste -d: eg1.txt eg2.txt
1:one
[root@mrxw eg]# cat eg1.txt
1
2
3
4
5
[root@mrxw eg]# paste -s eg1.txt
1 2 3 4 5
11、sort 文本排序
sort eg1.txt 默认升序排序
参数: -b 忽略每行开通的空格
-n 按数值大小进行排序
-r 倒序排序
-u 去除重复行
-t 指定分隔符
-k 按指定区间排序
12、join 按两个文件相同字段合并 但必须是排序过后的
join eg1.txt eg2.txt
13、uniq 去除重复行(只能是相邻的)
-c 去除重复行,并计算每行出现的次数
-d 只显示重复行
-u 只显示唯一行
sort -n eg1.txt | uniq -c
14、wc 统计文件的行数,单词数或者字节数
wc -c eg1.txt 统计字节数
wc -l eg1.txt 统计行数
wc -L eg1.txt 打印最长行的长度
15、iconv 转换文件的编码格式
语法: iconv 选项 原编码 新编码 输入文件
参数:-f encodingA 从编码A转化
-t encofdingB 转换成编码B
-l 显示系统支持的编码
-o 将输出输入到指定文件
实例:iconv -f gb2312 -t utf-8 eg1.txt
16、dos2unix 将DOS(windows)格式文件转换成UNIX格式
DOS的文件是以‘ ’作为转换标志 dos2unix 将‘ ’转换成‘ ’
UNIX是‘ ’ unix2dox 将 转换成
不经过转换会出错
语法:dos2unix 文件
17、diff 比较两个文件的不同 可以逐行比较 并输出文件的差异
diff 文件1 文件2
参数:-y 以并列的方式显示 -W 使用-y参数 指定显示宽度 -c 使用上下文输出格式 -u使用统一格输出
diff 还可以比较目录
18、vimdiff 可视化比较工具
退出需要执行两次(:q)
19、rev 反向输出文件内容
rev eg1.txt
20、tr 替换或删除字符
tr 选项 字符1 字符2 <文件
参数:-d 删除字符 -s 保留连续字符的第一个字符,删除其他字符 -c 使用第一个字符串的补集 取反
[root@mrxw eg]# tr -d hell <eg1.txt 删除指定字符
word
tr -d ' ' <文件 删除所有换行符和TAB
tr '[0-9]' '[a-j]' <文件 数字替换成字母
tr -c '0-9' '*' <文件 除了数字外其他的都替换成*
21、od 按不同进制显示文件
22、tee 多重定向
tee 选项 文件
参数 -a 向文件追加内容 而不是覆盖
23 vi vim 文本编辑器命令