linux命令中的一些冷操作1
在学习linux的基本命令的过程中遇到了一些问题,有些是按照教程执行没有效果,有些是心血来潮猜测是否能够有其他的操作,这里把这些结果记录下来,避免遗忘后重复搜索,浪费时间。
合并多个文本
这个比较简单的,使用cat
命令即可完成,不过之前没有想到,这里还能够使用通配符,能够一次合并多个文件。
举个例子: cat file*.txt > fileall.txt
当然要先根据内容把文件重命名,做好排序。
windows下分两种情况(系统是windows10):
cmd中命令使用都没问题
1
2
3
4
5# 使用copy命令
copy *.txt all.txt
copy 1.txt + 2.txt + 3.txt all.txt
# 使用type命令
type *.txt > all.txtpowershell中则比较复杂
1
2
3
4
5
6
7
8# copy命令的问题
copy *.txt all.txt # 只能复制最后文件的内容
copy 1.txt + 2.txt + 3.txt all.txt # 路径问题命令出错
# type命令
# 这个命令会无限循环把all.txt中内容再次加入all.txt中
type *.txt > all.txt
# 可以采用不同的后缀避免
type *.txt > all # 这样就可以了
date命令无法修改日期
在练习date命令的时候,发现无法修改系统的日期(root也不行),但是教程上是可以的。搜索后发现应该是开启ntp的原因。可以通过下面的命令来处理。
1 | # 关闭ntp,0替换为false也可 |
软链接
学习软链接命令的时候突然想起来的,看代码吧,不好说清楚
1 | $ touch file |
结论:软链接失效后,如果链接的是文件则系统会自动重建,如果是目录则提示No such file or directory
dd命令硬盘测试
网络上很多,这里记录一下
1 | # 测试写入速度 |
这里注意dev目录下的四个特殊设备,内容摘自 Linux中的虚拟设备
1 | # /dev/null 空设备,一般称为黑洞,输入这里的数据直接丢弃 |
paste命令如何使用多个分隔符
paste命令在合并文件的时候使用多个分隔符,这个应该是无法直接实现,利用其他方法
1 | # 使用sed命令替换 |
find的exec和xargs
find很强大,里面的exec选项能够让find更加如虎添翼,-exec 参数后跟command,为了保证shell解释正确使用 \;
结束命令。同时{}
代表find查出来的结果,有时避免shell过滤也使用'{}'
。
xargs则常与find结合使用来避免-exec选项出现的参数溢出的问题。xargs能够捕获一个命令的输出,然后传递给另外一个命令,由于很多命令不支持使用管道来传递参数,即不支持从标准输出中读取数据,所以xargs很常用。
1 | find / -name 'bash*' -exec mv {} /tmp \; |
参考资料: