记录一些 linux 的小命令,方便排查问题。
1. date 查看当前日期
> date
2. cal 日历
> cal
> cal 2019
3. 在终端中使用计算器 bc
> bc
4. 查看命令的操作手册 man
> man date
- 向【上】查找某个字符串 /string
- 向【下】查找某个字符串 ?string
- 继续向下查找 n
- 继续向上查找 N
5. 文本编辑器 nano
> nano hello.text
6. 查看服务器那个用户在使用 who
> who
7. 查看网络的连接情况
> netstat -a
8. 查看后台的执行程序
> ps -aux(x用户)
9. 关机命令
> shutdown // 关机命令
> reboot、halt、poweroff // 重新启动,关机
重新启动时,建议:
> sync; sync; sync; reboot
10. 执行文件路径的变量 $PATH
> echo $PATH
ls 命令为什么可以到处运行,应为 ls 在 /usr/bin 目录下,该目录配置在 $PATH 环境变量中,当系统执行一个指令时,会从这个 PATH 中去寻找。
11. 文件内容的查看
- tac 从最后一行开始显示,与 cat 正好相反
- nl 显示的时候,同时输出行号
- more 一页一页的显示文件内容
- less 与 more 类似,其可以往前翻页
- head 只看前面几行
- tail 只看后面几行
- od 以二进制的方式读取文件
cat -n filename 显示行号
cat -b filename 显示行号,但是不系那是空行的行号
cat -A filename 显示 [Tab] 键,在写 python 脚本时比较管用
12. 文件隐藏属性
chattr
- +i 可以让一个文件无法被修改
- +a 可以增加但是不能修改和删除
chattr -i text.txt
在 root 权限下也无法删除
lsattr
> lsattr
可以看到 文件 test.txt 添加了隐藏属性
具体 chattr 命令的说明,可以使用:
> man chattr
13. 脚本文件的查找 which
> which [-a] command
which 默认查找【PATH】环境变量下的脚本文件
history 是 bash 内置的命令。
14. 文件的查找 whereis/locate/find
- whereis
> whereis ls
加上参数 -b 只显示二进制文件。
whereis 查找的速度比 find 高,是因为whereis 只针对 /bin/sbin、/usr/share/man 下面的文件,和一些特殊的文件夹下的文件进行查找。
whereis -l | tail -10
因为显示太多了,所以使用管道限制一下
- locate / updatedb
locate password
只要路径中包含 password 就会被显示出来。
我们发现使用 locate 查找十分迅速,这是应为 locate 查找的数据都是已经建立的数据库 /var/lib/mlocate 里面的数据所查找到的,所以不用从硬盘中读取数据。
但是数据库的建立是每天执行一次,所以你新建立的文件,数据库没有更新,就有可能查找不到。
所以需要更新数据库
> updatedb
- updatedb 根据 /etc/updatedb.conf 的设置去查找系统硬盘内的文件,并更新 /var/lib/mlocate 内的数据库中
- locate 依据 /var/lib/mlocate 内的数据库记录,找出用户输入关键词的文件名
如果你的系统没有 locate 命令 可以:
> yum install mlocate
这是你运行 locate 发现还是找不到,这时你需要 updatedb 一下
> updatedb
- find
> find /var -mtime +4 // 大于等于5天前的文件
> find /var -mtime -4 // 小于等于4天内的文件
> find /var -mtime 4 // 4-5 那天的文件
find 还可以进行额外的指令操作
- {} 代表 find 找到的内容
- -exec 代表额外指令的开始
- ; 代表额外指令的结束
最好先使用whereis和locate,找不到在使用find,因为find十分消耗硬盘资源。