3.5 KiB
| title | date | tags | categories | |
|---|---|---|---|---|
| 1.1、linux常用命令与技巧(1) | 2018-1-3 00:52:22 | linux |
|
md5sum与sha1sum
用于使用hash算法生成文件的摘要信息 , 常用于文件完整性的校验
# 生成a.txt的md5摘要信息
md5sum a.txt
# 生成当前目录下所有文件的sha1摘要信息
sha1sum ./*
history
显示在终端中执行过的所有命令的历史记录
(按↑方向键快速找到执行过的命令也是利用的这个记录)
如果使用history -c可以清空这个列表
chown
这个命令是用来改变文件拥有者和所在的组
chown <用户名>:<组> <文件名>
可以改变文件的所有权
cal
就是calendar(日历) , 可以用来显示当前月份或者任意年份中的某一月
# 显示当前月份日历
cal
# 显示2018年2月的日历
cal 2 2018
# 显示2018年全年日历
cal -y 2018
cat
代表了连结 , 通常也可以用它输出单个文件的内容
# 输出a.txt的内容(带行号)
cat -n a.txt
# 将a.txt b.txt的内容连结输出
cat a.txt b.txt
输出重定向
对于程序的输出 , 我们通常不能一直看着终端 , 而且终端也只能保留最近的内容
除了程序本身可以有对于日志的处理之外
我们也可以将程序向终端的输出重定向到指定的文件里面
使用>和>>可以实现重定向
前者表示始终覆盖目标文件 , 后者表示如果目标文件存在则执行追加操作 , 不会覆盖
# 执行java程序并将输出写入到当前目录的output.txt文件当中
java -jar demo.jar > ./output.txt
当然有些程序会在终端打印大量无意义的内容
我们如果想把这些输出直接丢弃
可以使用/dev/null作为目标位置
这是个并不存在的虚拟位置 , 定向到这里相当于是把输出内容直接丢弃 , 避免占用磁盘空间
command > /dev/null 2>&1
# 1表示标准输出 2表示标准错误输出
# 2>&1表示将标准错误输出重定向到标准输出, 这样两者都会被丢弃
与cat的配合使用
cat既然表示连结 , 那么与输出重定向配合使用 , 就可以实现对于压缩分卷的结合了
# 注意分卷的顺序
cat data.z01 data.z02 data.zip > xdata.zip
# 将分卷结合成一个文件之后就可以执行解压了
unzip xdata.zip
执行cat /dev/null不会输出任何内容
如果想要清空一个文件
可以执行
cat /dev/null > filename
grep
全称是Global Regular Expression Print, 全局正则表达式输出 这个命令的作用是执行全文检索
# 在a.txt当中搜索str1字符串
grep "str1" a.txt
# 在当前目录下递归检索所有文件搜索str1字符串
grep -r "str1" ./
当然不限于固定的字符串, 也可以使用正则表达式
管道符"|"
格式 : 命令A|命令B
作用是将命令A的输出结果作为命令B的操作对象
比如结合grep可以对繁杂的输出结果进行过滤
# 查询当前运行的进程, 并过滤包含tomcat关键字的行
ps ax | grep tomcat
比如wc -l可以用来统计行数
# 统计当前目录下总共有多少文件
ls -l | wc -l
因为ls -l的输出是逐行输出当前目录下每个文件的详细信息 , 所以统计出的行数实际上就是文件数量了
apt被其他进程占用
( 限于ubuntu系统 ) 使用apt进行包的管理时出现 无法锁定管理目录(/var/lib/dpkg/) 可以执行
rm /var/cache/apt/archives/lock
rm /var/lib/dpkg/lock
解除锁定