大家好,又见面了,我是你们的朋友全栈君。
一、基础总结
主要包括:文件处理、权限管理、文件搜索、帮助命令、用户管理、压缩解压、网络配置、关机重启。
二、常用命令
- 系统信息 uname -m 显示机器的处理器架构 uname -r 显示正在使用的内核版本 cat /proc/cpuinfo 显示CPU info的信息 cat /proc/meminfo 校验内存使用 cat /proc/swaps 显示哪些swap被使用 cat /proc/version 显示内核的版本 cat /proc/net/dev 显示网络适配器及统计 cat /proc/mounts 显示已加载的文件系统 lspci -tv 罗列 PCI 设备 lsusb -tv 显示 USB 设备 date 显示系统日期 cal 2016 显示2016年的日历表 clock -w 将时间修改保存到 BIOS
- 获取IP地址 ifconfig eth0 | grep “inet addr” | awk ‘{print $2}’ | cut -c 6- ifconfig | grep “inet addr:” | grep -v “127” | cut -d: -f2 | awk ‘{print $1}’
- 检查当前登录的用户个数 who | wc -l
- 关机 (系统的关机、重启以及登出 ) shutdown -h now 关闭系统(1) init 0 关闭系统(2) telinit 0 关闭系统(3) shutdown -h hours:minutes & 按预定时间关闭系统 shutdown -c 取消按预定时间关闭系统 shutdown -r now 重启(1) reboot 重启(2) logout 注销
检查DNS Server工作是否正常,以61.139.2.69为例
代码语言:javascript复制dig www.baidu.com @61.139.2.69
查看内存的大小
代码语言:javascript复制free -m |grep “Mem” | awk ‘{print $2}’
- 查看文件大小和查看磁盘使用情况 du:基于文件,统计文件大小相加——是面向文件的命令,它计算分配给指定文件或者目录的空间。 df :基于磁盘,统计数据块使用情况——通过文件系统中未分配的空间来确定文件系统中已分配空间的大小。 常用命令: df -hi du -a
- 查看80端口的连接,并排序 netstat -an -t | grep “:80″ | grep ESTABLISHED | awk ‘{printf “%s %sn”,5,6}’ | sort
- 日志查看、搜索 cat /var/log/rflogview/*errors grep -i error /var/log/messages grep -i fail /var/log/messages tail -f -n 2000 /var/log/messages
- 读写字符 read -n 读取n个字符 -s 不回显 -p 显示提示信息 -t 特定时间 -d 定界符
- 使用cut命令选定字段 cut -d : -f 1,5 /etc/passwd #-d后面的冒号表示字段之间的分隔符。 #-f表示取分割后取哪些字段。
- 提取开头或结尾数行 head -n 5 /etc/passwd #显示输入文件的前五行。 tail -n 5 /etc/passwd #显示输入文件的最后五行。
- 重定向输出 0:表示键盘输入(stdin) 1:表示标准输出(stdout),系统默认是1 2:表示错误输出(stderr)
* 2>&1 就是将 stderr 并进 stdout 作输出
* 1>&2 或 >&2 就是将 stdout 并进 stderr 作输出
代码语言:javascript复制command >/dev/null 2>&1 & == command 1>/dev/null 2>&1 &
1)command:表示shell命令或者为一个可执行程序 2)>:表示重定向到哪里 3)/dev/null:表示Linux的空设备文件 4)2:表示标准错误输出 5)&1:&表示等同于的意思,2>&1,表示2的输出重定向等于于1 6)&:表示后台执行,即这条指令执行在后台运行 总而言之,这条命令的意思是:在后台执行这个程序,并将错误输出2重定向到标准输出1,然后将标准输出1全部放到/dev/null文件,也就是清空。
- 参数传递 $0脚本名字 $1 – $9 位置参数 #1 – #9 KaTeX parse error: Expected ‘EOF’, got ‘#’ at position 1: #̲位置参数的个数 “@”所有的位置参数 “$*”所有的位置参数 $?返回前一个命令的返回值,在执行命令后可以用此参数检查执行结果。 $$脚本的进程ID(PID)
- 参数判断 if [ expr ]; then … fi -n str :字符串 str 是否不为空 -z str :字符串是否为空 str1 = str2 :str1是否与 str2 相同 str1 != str2 : str1是否与 str2 不同 int1 -eq int2 :等于 int1 -le int2 :小于等于 int1 -ge int2 :大于等于 int1 -lt int2 :小于 int1 -gt int2 :大于 int1 -ne int2 :不等于 -b :是否块文件 -p :文件是否为一个命名管道 -c :是否字符文件 -r :文件是否可读 -d :是否一个目录 * -s :文件的长度是否不为零 -e:文件是否存在 * -S:是否为套接字文件 -f:是否普通文件 * -x:文件是否可执行,则为真 -g:是否设置了文件的 SGID 位 -u:是否设置了文件的 SUID 位 -G:文件是否存在且归该组所有 -w:文件是否可写,则为真 -k:文件是否设置了的粘贴位 -t fd:fd 是否是一个与终端相连的打开的文件描述符(fd 默认为 1) -O:文件是否存在且归该用户所有 E_NOARGS=65
if [ -z "
代码语言:javascript复制then
echo "Usage: `basename $0 [domain-name]`"
exit $E_NOARGS
fi
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/106533.html原文链接:https://javaforall.cn