校验是否是同一个文件
md5sum
1 | md5sum 文件名 |
sha1sum
1 | sha1sum 文件名 |
shell
默认值
- ${var:=初始值} 调用初始值后,变量var也赋予了一个值
- ${var:-初始值} 临时调用,变量var并不改变,仍然为空
1 | [root@server0 ~]# a=${b:-12} |
删除日志
1 | ################删除文件################# |
变量赋值
直接赋值,格式为:变量名= 变量值
1
VAR='nice'
Read 命令是系统内置命令
1
2read -p "input a val:" VAR #获取键盘输入的 VAR 变量
read -p "please input your age: ,sex: " age sex #多个变量,以空格的形式截取使用命令行参数赋值
1 | 0 #shell脚本程序名 |
- 利用命令的输出结果赋值:
1 | currentdir=`pwd` |
- 从文件中读入数据
1 | HOSTLIST=$(cat hostList.txt) |
https://www.cnblogs.com/Dxd-python/articles/11125968.html
隐藏属性
root
chattr [+/-] [参数] [目录或文件]
lsattr [参数] [目录或文件]
1 | chattr +a test |
ACL
给文件/目录,赋予某用户/组的权限
- setfacl
- getfacl
1 | setfacl -m u:luxia:rw- test |
su / sudo
su
su 需要输入目标用户的密码
su
不加用户,默认切到 root用户su 用户名
只能获得root的执行权限,不能获得环境变量(不改变当前用户的变量)su - 用户名
彻底切换为root用户(也切换了用户变量)
sudo
sudo 需要输入当前用户的密码
sudo 命令
在当前用户下,执行root用户才能执行的命令。需要root给当前用户用visudo命令(或者编辑/etc/sudoers文件)配置权限
1 | # root用户 |
`
1 | # root用户 |
ln
ln [参数] 源文件 目标文件
- 软连接,依赖源文件。
- 硬链接,不依赖源文件,类似于复制了一份文件。
1 | echo "test link" >> link.txt |
网络
ping
1 | ping -c 4 192.168.37.1 |
telnet
安装(root用户)
1 | 检查是否安装telnet,如果安装会有返回 |
1 | telnet 192.168.37.1 21 |
traceroute
- 从计算机A到另一端主机B所经历的全部网络路径。
- 每次数据包由同样出发点(source)到达同样目的地(destination)走的路径可能不一样,大部分是相同的。
- traceroute通过发送小的数据包到目的设备直到返回,来测量需要多长时间。一条路径上的每个设备traceroute要测3次。输出结果中包括每次测试的时间(ms)和设备的名称(如有)及其IP地址。
- 有些返回结果是星号*表示的,可能是防火墙封掉了ICMP的返回信息,所以得不到相关的数据包返回。
命令:
- Linux,traceroute
- Windows,tracert
1 | traceroute 192.168.37.1 |
参考:
磁盘df
查看所有磁盘分区的大小、已用、剩余
1 | df -h |
查看指定目录的磁盘剩余空间
1 | df -h /usr/ |
文件夹du
查看文件占用大小。用于快速定位大文件的位置
1 | 当前目录本身大小 |
当前目录下的文件个数
1 | 查看当前目录下有多少文件、目录 |