#cat命令:创建文件,显示内容,一个不存在的文件或者字符不能输入使用<的输出重定向。
cat filename 一次显示整个文件
cat > filename 从键盘创建一个文件
cat file1 file2 > file 将几个文件合并为一个文件
cat -n linuxfile1 > linuxfile2 把 linuxfile1 的档案内容加上行号后输入 linuxfile2 这个档案里
cat -b linuxfile1 linuxfile2 >> linuxfile3 把 linuxfile1 和 linuxfile2 的档案内容加上行号(空白行不加)之后将内容附加到linuxfile3 里。
把 linuxfile1 的档案内容加上行号后输入 linuxfile2 这个档案里
cat -n linuxfile1 > linuxfile2
把 linuxfile1 和 linuxfile2 的档案内容加上行号(空白行不加)之后将内容附加到 linuxfile3 里。
cat -b linuxfile1 linuxfile2 >> linuxfile3
cat /dev/null > /etc/test.txt 此为清空/etc/test.txt档案内容
cat <<boy >test.sh 内容 boy (直到输入到boy 停止)
cat << girl >> test.sh 内容 girl
在vim中:
每行的行首都添加一个字符串:%s/^/要插入的字符串
每行的行尾都添加一个字符串:%s/$/要插入的字符串
解释:
% 代表针对被编辑文件的每一行进行后续操作
$ 代表一行的结尾处
^ 代表一行的开头处
more 查看文件内容:看完内容会自动退出。
f 一页一页的往下查看内容 空格 b 一页一页的往上查看内容
[root@xuexi ~]# more -5 -d /etc/passwd 指定一屏显示5行,并且显示操作帮助
[root@xuexi ~]# more -5 -dc /etc/passwd 不想滚屏时,就需要使用-c选项
[root@xuexi ~]# more -5 +4 /etc/passwd 从第4行开始显示
[root@xuexi ~]# more -5 +/shutdown /etc/passwd 查找指定字符串,可以看到从找到第字符串前两行开始显示
less 一页一页的查看文件内容 重要 常用(如果看完了不会自动退出)
-N 显示行号
f 一页一页的往下查看内容 空格
b 一页一页的往上查看内容
/ 搜索文件内容
n 查找下一个内容
N 查找上一个内容
和vim移动快捷键类似
g 首行
G 尾行
q 退出
head 显示文件的内容 默认前10行 重点
-n 显示多少行内容 简写 head -4 显示前4行
-c 截取文本的前几个字符 head -c5 前5个字符
tail 显示文件的内容 默认后10行 重点
-n 显示多少行内容 简写 tail -5 显示最后5行
-f --follow 查看文本的实时更新的内容 简写 tailf file
-F --follow --retry 实时输出文件的内容 如果当前文件不存在会重试 直到文件存在
grep 过滤出我们需要查找的文件内容 三剑客老三
-v 取反
grep '内容' file
cat file|grep '内容'
tr 替换文件内容
-d 删除 tr -d [a-z] < oldboy.txt 删除a-z的所有字母
-s 删除所有重复出现字符序列,只保留第一个
cat file | tr -s [a-zA-Z] > new_file
# echo $PATH | tr -s ":" "\n" 把路径变量中的冒号":",替换成换行符"\n"
tr ":" " " < /etc/passwd
\n 回车
cat file | tr "abc" "xyz" > new_file 在file中出现的"a"字母,都替换成"x"字母,"b"字母替换为"y"字母,"c"字母替换为"z"字母。而不是将字符串"abc"替换为字符串"xyz"。
cat file | tr [a-z] [A-Z] > new_file (小写 --> 大写)
cat file | tr [0-9] [a-j] > new_file 把文件中的数字0-9替换为a-j
vim 进阶替换
:s#root#oldboy# 替换光标所在行的第一个root
:s#root#oldboy#g 替换光标所在行的所有root为oldboy
:%s#root#oldboy#g 替换文档中所有出现的root为oldboy
?字符串—— 从下至上搜索该字符串
/ 字符串——从上至下搜索该字符串
#可换成不同符号
^ 开头
特殊符号
> 输出重定向 先清空在写入
>> 追加重定向 内容追加到文件尾部
< 输入重定向 tr < file cat
1> 标准正确输出 简写>
2> 标准错误输出
1>>
2>>
在三阶段 Shell编程中使用
正确和错误的结果 可分别重定向到不同的文件中
ls oldboy.txt > ok.txt 正确的结果输出到文件
ls oldboy.txt 2>ok.txt 错误的结果输出到文件
lss >>ok.txt 2>>ok.txt 正确和错误的输出到文件
ls /tmp/ >>ok.txt 2>>ok.txt 正确和错误的输出到文件
lss &>ok.txt 正确和错误的输出到文件
常用的书写方式
2>&1 &>file
对于重定向中的标准输出模式,可以省略文件描述符1不写,而错误输出模式的文件描述符2是必须要写的,0代表标准输入重定向。
一个存在的文件,标准输出即可将原本要输出到屏幕的信息写入到文件中,而错误的输出重定向则依然把信息输出到屏幕上。
一个错误的命令信息,可通过错误的输出重定向,将信息显示到文件中
[root@oldboyedu tmp]# ls - xxxxx
ls: cannot access -: No such file or directory
ls: cannot access xxxxx: No such file or directory
[root@oldboyedu tmp]# ls -l xxxx > tete.txt
ls: cannot access xxxx: No such file or directory
[root@oldboyedu tmp]# ls -l xxxx 2> tete.txt
[root@oldboyedu tmp]# echo tete.txt
tete.txt
[root@oldboyedu tmp]# cat tete.txt
ls: cannot access xxxx: No such file or directory
; 命令的分隔符 不管前面命令是否执行失败 继续执行;后面的命令
使用一行命令 创建一个oldboy目录 在oldboy目录下 创建 一个 alex.txt 文本 在cat /etc/hosts
这条路是通的 && 我就走这条路 || 我就换条路
&& 前面的命令执行成功才会执行 && 后面的命令
|| 前面的命令执行不成功 则执行|| 后面的命令
来源:https://blog.csdn.net/qq_43011640/article/details/99095669