这些指令不仅能够帮助管理员有效地监控系统状态、管理资源和用户,还能确保服务器运行稳定、安全
本文将详细介绍一些在服务器管理中最为常见和实用的指令,帮助读者更好地掌握服务器管理技能
一、系统操作指令 1.关机与重启 -`shutdown`:用于关闭服务器
这个命令可以指定关机时间,并通知所有登录用户系统即将关闭
例如,`shutdown -hnow`会立即关机,而`shutdown -h +10`会在10分钟后关机
-`reboot`:用于重启服务器
该命令会关闭所有运行中的进程,然后重新启动系统
-`halt`:用于停止服务器,但不一定会切断电源
它会使系统停止运行,但硬件可能仍然通电
-`init`:用于初始化系统或切换到不同的运行级别
例如,`init 0`会关闭系统,`init 6`会重启系统
2.用户管理 -`passwd`:用于修改用户密码
管理员可以使用这个命令为用户设置或更改密码
-`useradd`:用于添加新用户
这个命令可以指定用户的家目录、默认shell等信息
-`userdel`:用于删除用户
注意,这个命令默认不会删除用户的家目录和邮件文件,需要使用`-r`选项来强制删除
-`usermod`:用于修改用户属性
例如,可以更改用户的登录名、家目录、shell等
二、文件和目录操作指令 1.列出与切换目录 -`ls`:用于列出当前目录下的文件和目录
可以结合`-l`(长格式显示)、`-a`(显示隐藏文件)等选项使用
-`cd`:用于切换当前工作目录
例如,`cd /var/log`会切换到`/var/log`目录
-`pwd`:用于显示当前的工作目录
2.创建与删除 -`mkdir`:用于创建新目录
可以结合`-p`选项递归创建多级目录
-`rmdir`:用于删除空目录
注意,这个命令不能删除非空目录
-`rm`:用于删除文件或目录
结合`-r`选项可以递归删除目录及其内容,`-f`选项可以强制删除而不提示
3.复制与移动 -`cp`:用于复制文件或目录
结合`-r`选项可以递归复制目录,`-a`选项可以保留文件属性
-`mv`:用于移动或重命名文件或目录
如果目标位置是一个目录,则源文件或目录会被移动到该目录下;如果目标位置是一个文件名,则源文件会被重命名为目标文件名
4.打包与解压缩 -`tar`:用于打包或解压缩文件
常见的选项有`-c`(创建新的归档文件)、`-x`(从归档文件中提取文件)、`-v`(显示处理过程中的文件信息)、`-f`(指定归档文件的名称)等
结合`-z`或`-j`选项可以使用gzip或bzip2进行压缩
三、网络相关指令 1.配置与查看网络信息 -`ifconfig`:用于设置网络接口和查看网络信息
虽然在现代Linux系统中,`ip`命令正在逐渐取代`ifconfig`,但`ifconfig`仍然广泛使用
例如,`ifconfig eth0 192.168.1.100 netmask 255.255.255.0`会为`eth0`接口设置IP地址和子网掩码
-`ip addr show`:用于显示网络接口的信息
这是`ip`命令的一部分,提供了比`ifconfig`更强大的功能
-`ping`:用于测试与目标主机的连通性
例如,`ping www.baidu.com`会测试与百度服务器的连通性
2.查看网络连接状态 -`netstat`:用于显示网络状态信息
例如,`netstat -tuln`会显示所有监听中的TCP和UDP端口
-`ss`:这是`netstat`的现代替代品,提供了更详细和更快的网络连接信息
3.远程登录与文件传输 -`ssh`:用于通过安全的方式远程登录服务器
例如,`ssh user@hostname`会使用SSH协议登录到指定的服务器
-`scp`:用于在服务器之间安全地复制文件
例如,`scp file.txt user@hostname:/path/to/destination`会将本地文件复制到远程服务器的指定路径
-`ftp`:用于通过FTP协议上传或下载文件
虽然FTP不如SSH安全,但在某些场景下仍然使用
-`wget`和`curl`:这两个命令都用于从URL下载文件或发送数据
`wget`更适合下载大文件,而`curl`则提供了更丰富的选项和更灵活的使用方式
四、进程控制指令 1.查看进程信息 -`ps`:用于显示当前运行的进程
常见的选项有`-e`(显示所有进程)、`-f`(全格式显示)、`-u`(以用户为主的格式显示)等
结合`grep`命令可以过滤出特定的进程信息
-`top`:用于实时显示进程状态
这个命令会动态地更新系统中各个进程的CPU、内存占用情况等信息
2.终止进程 -`kill`:用于终止一个正在运行的进程
需要知道进程的PID(进程标识符)
例如,`kill 1234`会终止PID为1234的进程
如果进程不响应,可以使用`-9`选项强制终止
3.后台运行命令 -`nohup`:用于在后台运行一个命令,即使退出登录会话也不会中断该命令的执行
例如,`nohup ./myscript.sh&`会在后台运行`myscript.sh`脚本,并将输出重定向到`nohup.out`文件
五、日志管理指令 1.查看日志文件 -`tail`:用于查看文件末尾的内容
结合`-n`选项可以指定查看最后几行,`-f`选项可以实时跟踪文件的新增内容(常用于查看日志文件)
-`cat`:用于显示文件内容
这个命令会一次性输出整个文件的内容
-`less`:用于一页一页地查看文本文件内容
这个命令提供了向前和向后滚动查看文件的功能,更适合查看大文件
-`grep`:用于在文件中搜索指定的模式
结合正则表达式可以灵活地进行文本搜索
2.日志文件操作示例 -`tail -n 20 logs.log`:查看`logs.log`文件的后20行
-`tail -f logs.log`:实时跟踪`logs.log`文件的新增内容
-`grep error logs.log`:在`logs.log`文件中搜索包含error的行
六、服务器性能监控指令 1.CPU和内存使用 -`top`:除了显示进程信息外,还可以显示CPU和内存的占用情况
-`vmstat`:显示系统整体的性能指标,包括CPU使用率、内存使用情况等
-`free`:显示系统内存的使用情况,包括空闲内存、已用内存、缓存等
2.磁盘I/O -`iostat`:显示系统磁盘I/O情况,包括每个磁盘的读写速度、I/O请求等
-`df`:显示文件系统的使用情况,包括已用空间、可用空间等
3.系统负载 -`uptime`:显示系统的运行时间、平均负载等信息
这个命令可以快速了解系统的当前负载状况
4.系统活动报告 -`sar`:系统活动报告工具,用于监控系统的CPU使用率、内存使用情况、磁盘I/O、网络流量等
这个命令提供了丰富的系统性能数据,有助于进行性能分析和故障排查
七、其他实用指令 1.查看系统信息 -`uname`:显示操作系统的信息
例如,`uname -a`会显示所有系统信息
-`lsb_release`:显示Linux发行版的信息(如果系统支持LSB标准)
2.服务状态控制 -`systemctl`:用于控制systemd管理的服务
例如,`systemctl startnginx`会启