管道、重定向、vim文本编辑器
重定向
1代表标准输出流
2代表错误输出流
0代表标准输入流
重定向什么流就在尖括号旁放对应的数字。>>不会覆盖 >会覆盖
[dennis@localhost ~]$ ls -l a.txt 1> ./stdout.txt
[dennis@localhost ~]$ cat stdout.txt
-rw-rw-r--. 1 dennis dennis 0 May 6 17:34 a.txt
[dennis@localhost ~]$ ls -l b.txt 2> ./stderr.txt
[dennis@localhost ~]$ cat stderr.txt
ls: cannot access b.txt: No such file or directory
以下可以用&将标准输出流与错误输出流的内容合并到一个文件中
[dennis@localhost ~]$ ls -l a.txt b.txt &>> ./stderr.txt
[dennis@localhost ~]$ cat ./stderr.txt
ls: cannot access b.txt: No such file or directory
ls: cannot access b.txt: No such file or directory
-rw-rw-r--. 1 dennis dennis 0 May 6 17:34 a.txt
重定向与echo命令搭配
echo用于回显数据
-e启动换行符
[dennis@localhost ~]$ echo -e "1 apple\n2 peer"
1 apple
2 peer
[dennis@localhost ~]$ echo "1 apple\n2 peer"
1 apple\n2 peer
[dennis@localhost ~]$ echo -e "1 apple\n2 peer" 1>a.txt
[dennis@localhost ~]$ cat a.txt
1 apple
2 peer
忽略错误信息:/dev/null是Linux系统的黑洞。
[dennis@localhost ~]$ ls -l a.txt b.txt 2>>/dev/null
-rw-rw-r--. 1 dennis dennis 15 May 6 17:51 a.txt
tr命令跟随 准备要替换的字符 要替换成的字符。
[dennis@localhost ~]$ tr ' ' '\t' <./a.txt
1 apple
2 peer
管道
可以接收输入流的处理文本的命令:grep cut head tail less more wc tr sort(文本的排序)
实现分页查看:
[dennis@localhost ~]$ ls -al /etc |less
grep:强大的文本搜索工具
[dennis@localhost ~]$ ls -al /etc |grep 'ssh'
drwxr-xr-x. 2 root root 225 Apr 13 21:24 ssh
cut切割命令,可以定向查看自己想要查找的信息。
[dennis@localhost ~]$ cat stderr.txt |cut -c1,2,3
ls:
ls:
-rw
ls
-f切割后取第几个字段(字段序列号), -d""以什么进行切割
[dennis@localhost ~]$ cat stderr.txt |cut -f1 -d":"
ls
ls
-rw-rw-r--. 1 dennis dennis 0 May 6 17
ls -l a.txt b.txt
[dennis@localhost ~]$ cat stderr.txt
ls: cannot access b.txt: No such file or directory
ls: cannot access b.txt: No such file or directory
-rw-rw-r--. 1 dennis dennis 0 May 6 17:34 a.txt
ls -l a.txt b.txt
[dennis@localhost ~]$ cat stderr.txt |cut -f1 -d"-"
ls: cannot access b.txt: No such file or directory
ls: cannot access b.txt: No such file or directory
ls
行数 单词数 字节数
-l 仅仅统计行数
[dennis@localhost ~]$ wc stderr.txt
4 31 169 stderr.txt
[dennis@localhost ~]$ wc -l stderr.txt
4 stderr.txt
vi功能丰富 久经考验
vim完美兼容vi
vim --version查看版本
h左j下k上l右边
x用于删除
dd用于删除一整行
J删除当前的换行符
u撤销
ctrl+r反撤销
:set nu 设置编号 :set nonu取消编号
gg移动到文件首行 G移动到文件末行 0移动到当前首行 $移动到当前尾行
数字+G移动到第几行行首
数字+$下移几行到行尾
数字+hjkl同样可以
环境变量写错的时候可以用下面这个命令:
n1,n2s/word1/word2/gc 询问 n1到n2之间替换
y复制高亮选中的部分
10yy复制从光标行开始的10行 p将复制的内容进行粘贴
dd删除所在行 3dd删除光标所在行的向下三行
10x从光标所在删除10个字符
e!撤销所有
w a.config.bak 另存为
r ./a.txt 将txt的内容复制过来
ctrl+v可视模式 可以选取文本