系统管理常用命令
网络管理
网络状态查看工具
- ifconfig
网络故障排除命令
主机相关
- ping 检测到目标主机是否畅通
- traceroute 检测当前主机和目标主机的状况, 追求服务器的每一跳的状况
- mtr 检测当前主机和目标主机的状况, 检查当前主机和目标主机中间是否有数据包丢失(比traceroute 全面, 建议使用这个)
- nslookup 查看域名对应ip
端口相关
- telnet 检查端口连接状态
- tcpdump 分析数据包, 抓包工具
tcpdump -i any -n host 192.168.0.1 and port 80 -w /tmp/filea.txt
表示抓取192.168.0.1:80来的任意的包并保存到filea
- netstat
netstat -ntpl
n表示显示ip而不是域名
t表示只显示tcp
p表示显示对应的进程
l表示tcp的监听状态
网络管理和配置文件
网络配置文件
- ifcfe-eth0
- /etc/hosts
软件安装
rpm包以及rpm命令
相关命令:
rpm命令常用参数:
-q 查询
-i 安装
-e 卸载
示例:
rpm -qa | more 查看所有安装的软件包, 管道符+more表示分页显示
rpm -q xxx 查看具体的软件包
rpm -e xx1 xx2 卸载多个软件包
yum仓库
rpm包的问题:
- 需要自己解决依赖问题
- 软件包来源不可靠
centOs yum源 http://mirror.centos.org/
国内镜像 https://developer.aliyun.com/mirror/http://mirrors.aliyun.com/centos/
更改yum源为国内镜像:(参照 https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b11n2Cev4)
1.备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2. 下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
3. 运行 yum makecache 生成缓存
4. 使用 yum repolist查看源信息
yum常用命令:
删除软件:yum remove AAA-x.x.x.rpm或者yum erase foo-x.x.x.rpm
升级软件:yum upgrade AAA或者yum update AAA
查询信息:yum info AAA
搜索软件(以包含foo字段为例):yum search AAA
显示软件包依赖关系:yum deplist AAA
-q 静默执行
-t 忽略错误
-R[分钟] 设置等待时间
-y 自动应答yes
--skip-broken 忽略依赖问题
--nogpgcheck 忽略GPG验证
check-update 检查可更新的包
clean all 清除全部[缓存]
clean packages 清除临时包文件(/var/cache/yum 下文件)
clean headers 清除rpm头文件
clean oldheaders 清除旧的rpm头文件
deplist 列出包的依赖
list 可安装和可更新的RPM包
list installed 已安装的包
list extras 已安装且不在资源库的包
info 可安装和可更新的RPM包 信息
info installed 已安装包的信息(-qa 参数相似)
install[RPM包] 安装包
localinstall 安装本地的 RPM包
update[RPM包] 更新包
upgrade 升级系统
search[关键词] 搜索包
provides[关键词] 搜索特定包文件名
reinstall[RPM包] 重新安装包
repolist 显示资源库的配置
resolvedep 指定依赖
remove[RPM包] 卸载包
makecache 生成缓存
源代码编译安装
进程管理
进程的概念与进程查看
查看命令
ps
pstree
top
守护进程和系统日志
nohup命令
使进程忽略hangup(挂起)信号,此时关闭终端进程会依然在后台运行, 进程输出会写到nohup.out中见下图
示例:
nohup tail -f /var/log/messages &
screen工具
在终端操作时,可以先进入screen执行命令,万一网络终端并不影响screen中命令的执行, 下次再连接终端可以通过命令再进入screen
安装screen:
yum install screen
进入screen:
screen
进入screen:
ctrl+a 按d退出
查询现有的screen会话:
screen -ls
恢复screen:
screen -r sessionId
系统日志
/var/log/下的日志文件需要重点关注的有以下 messages--系统的常规日志 dmesg--系统内核运行相关信息 secure--系统安全日志 cron--周期性任务的执行信息
服务管理工具systemctl
服务集中管理工具有service和systemctl, systemctl命令更加清晰,service都逐步升级为systemctl了 service脚本的位置在/etc/init.d/下 systemctl脚本的位置在/usr/lib/systemd/system/下
补充:比如添加一个a.service, 要求在此服务之前启动, 脚本如下:
内存和磁盘管理
查看内存
top命令, 略
free命令
如下图单位转换时会把小数位干掉, 因此若系统只有几G内存, 建议用free -m 其中available是指buff/cache全部释放掉, 还有多少内存可以用, 所以判断内存够不够用,直接看available
查看磁盘
查看磁盘
fdisk -l
parted -l
df -h 这个用的多