cat /etc/os-release
,**查看系统资源使用情况**:
top
文件操作,**查看文件内容**:
cat [文件名]
,**复制文件**:
cp [源文件] [目标文件]
,**移动或重命名文件**:
mv [源文件] [目标文件]
,**删除文件**:
rm [文件名]
用户管理,**添加用户**:
useradd [用户名]
,**设置用户密码**:
passwd [用户名]
,**删除用户**:
userdel [用户名]
权限管理,**修改文件权限**:
chmod [权限值] [文件名]
,**修改用户对文件的所有权**:
chown [用户名] [文件名]
网络操作,**查看网络接口信息**:
ifconfig
,**测试网络连通性**:
ping [主机名或IP地址]
进程管理,**查看正在运行的进程**:
ps aux
,**终止进程**:
kill [进程ID]
软件包管理(以Debian系为例),**更新软件包列表**:
apt-get update
,**安装软件包**:
apt-get install [软件包名]
,**卸载软件包**:
apt-get remove [软件包名]
命令 | 描述 | 示例 |
ls |
列出目录内容,常用选项有-l (详细列表)、-a (包括隐藏文件)等。 |
ls -l 显示当前目录下文件和目录的详细信息,包括权限、所有者、大小、修改时间等;ls -a 显示所有文件,包括以“.”开头的隐藏文件。 |
cd |
切换工作目录。 | cd /home/user 切换到/home/user 目录;cd .. 返回上一级目录;cd ~ 切换到用户主目录。 |
pwd |
显示当前工作目录的路径。 | pwd 输出当前所在目录的完整路径,例如/home/user/documents 。 |
mkdir |
创建新目录。 | mkdir new_directory 在当前目录下创建一个名为new_directory 的新目录;mkdir -p parent/child 可以一次性创建多级目录,如果父目录不存在也会一并创建。 |
rm |
删除文件或目录,删除目录时通常需要使用-r (递归)选项。 |
rm file.txt 删除当前目录下的file.txt 文件;rm -r directory_name 删除directory_name 目录及其包含的所有文件和子目录,注意,使用rm 命令需谨慎,以免误删重要数据。 |
cp |
复制文件或目录,复制目录时也需要使用-r 选项。 |
cp source_file target_file 将source_file 复制为target_file ;cp -r source_directory target_directory 递归复制整个源目录到目标目录。 |
mv |
移动(重命名)文件或目录。 | mv old_name new_name 将文件或目录从old_name 重命名为new_name ;mv file.txt /path/to/directory 将file.txt 移动到指定目录/path/to/directory 。 |
touch |
创建空文件或更新文件的时间戳。 | touch newfile.txt 创建一个名为newfile.txt 的空文件;touch existing_file.txt 将existing_file.txt 的访问时间和修改时间更新为当前时间。 |
cat |
连接并显示文件内容,常用于查看文本文件内容。 | cat file.txt 显示file.txt 文件的内容;cat file1.txt file2.txt > combined.txt 将file1.txt 和file2.txt 的内容合并后输出到combined.txt 文件中。 |
more 或less |
分页显示文件内容,方便查看大文件。 | more file.txt 或less file.txt 逐屏显示file.txt 的内容,可使用空格键(more )或方向键(less )进行翻页查看。 |
命令 | 描述 | 示例 |
uname |
显示系统信息,常用选项有-a (全部信息)、-m (机器硬件名称)等。 |
uname -a 显示系统的所有相关信息,包括内核名称、主机名、内核版本等;uname -m 显示机器的硬件名称,如 “x86_64”。 |
uptime |
显示系统运行时间及负载信息。 | uptime 输出系统的运行时间、当前时间、登录用户数以及过去 1 分钟、5 分钟和 15 分钟的平均负载。 |
df |
查看磁盘空间使用情况,常用选项有-h (以人类可读的方式显示)。 |
df -h 以易读的格式显示文件系统的磁盘空间使用情况,包括总大小、已用空间、可用空间、使用百分比以及挂载点等信息。 |
free |
查看内存使用情况。 | free -h 以人类可读的格式显示内存的使用情况,包括总内存、已用内存、空闲内存以及缓冲和缓存占用的内存等信息。 |
ps |
查看当前进程,常用选项有-ef (全格式显示所有进程)等。 |
ps -ef 以全格式列出系统中的所有进程,包括进程 ID、所有者、CPU 使用率、内存使用率、启动时间、命令行等信息。 |
top |
实时监控系统进程的资源占用情况,默认每 5 秒刷新一次。 | 执行top 命令后,会显示一个动态的界面,其中包含了各个进程的 CPU 使用率、内存使用率、进程 ID、命令行等信息,按 CPU 使用率排序,可通过方向键进行排序切换和选择操作。 |
netstat |
显示网络相关信息,如网络连接、路由表、接口统计等,常用选项有-tuln (列出监听的 TCP/UDP 端口)等。 |
netstat -tuln 显示系统正在监听的所有 TCP 和 UDP 端口,包括端口号、协议、状态等信息。 |
命令 | 描述 | 示例 |
ping |
测试网络连通性,通过向目标主机发送 ICMP 回显请求数据包,并等待响应来检查网络连接是否正常。 | ping www.example.com 向域名为www.example.com 的主机发送 ICMP 请求,如果网络正常,会收到来自该主机的回应,显示往返时间和丢包率等信息;ping -c 4 www.example.com 向www.example.com 发送 4 个 ICMP 请求后停止。 |
ifconfig |
配置网络接口,可用于查看和设置网络接口的 IP 地址、子网掩码、广播地址等信息。(在某些现代 Linux 发行版中可能被ip 命令取代) |
ifconfig 显示所有网络接口的配置信息;ifconfig eth0 192.168.1.100 netmask 255.255.255.0 将接口eth0 的 IP 地址设置为192.168.1.100 ,子网掩码设置为255.255.255.0 。(注意:不同系统和环境下的网络接口名称可能不同,如eth0 、ens33 等) |
ssh |
远程登录到其他服务器,需要在客户端和服务器之间设置好 SSH 密钥认证或密码认证方式。 | ssh user@remote_server_ip 根据提示输入密码后,即可登录到 IP 为remote_server_ip 的远程服务器;如果配置了 SSH 密钥认证,则可直接登录而无需输入密码。 |
scp |
通过 SSH 进行文件的远程复制。 | scp local_file user@remote_server:/path/on/remote/server 将本地的local_file 文件复制到远程服务器的/path/on/remote/server 目录下;scp user@remote_server:/path/on/remote/server/remote_file /local/path 将远程服务器上的remote_file 文件复制到本地的/local/path 目录下。 |
命令 | 描述 | 示例 |
useradd |
创建新用户,常用选项有-m (创建用户主目录)、-s (指定用户的登录 shell)等。 |
useradd -m -s /bin/bash newuser 创建一个名为newuser 的新用户,同时创建其主目录,并指定登录 shell 为/bin/bash 。 |
passwd |
设置或修改用户密码。 | passwd newuser 根据提示输入新密码,然后再次确认密码,即可为newuser 设置密码;如果是修改当前用户密码,直接执行passwd 即可。 |
userdel |
删除用户,常用选项有-r (删除用户主目录及相关文件)。 |
userdel -r newuser 删除用户newuser 及其主目录和相关文件;如果只想删除用户账号而不删除主目录,可使用userdel newuser 。 |
groupadd |
创建新用户组。 | groupadd newgroup 创建一个名为newgroup 的新用户组。 |
usermod |
修改用户属性,常用选项有-a -G group1,group2 (将用户添加到多个附加组)等。 |
usermod -a -G wheel newuser 将用户newuser 添加到wheel 用户组中,使其具有相应的权限。 |
五、软件包管理命令(以 Debian/Ubuntu 系列的 apt-get 为例)
命令 | 描述 | 示例 |
apt-get update |
更新软件包列表,从软件源获取最新的软件包信息。 | sudo apt-get update 更新本地的软件包数据库,以便后续安装或升级软件包时能获取最新的版本信息。 |
apt-get install package_name |
安装指定的软件包。 | sudo apt-get install curl 安装curl 软件包及其依赖项;如果软件包已经安装,可使用apt-get install --reinstall package_name 重新安装该软件包。 |
apt-get remove package_name |
移除指定的软件包,但不会删除其配置文件。 | sudo apt-get remove curl 卸载curl 软件包,但保留其配置文件在系统中。 |
apt-get purge package_name |
彻底删除指定的软件包及其配置文件。 | sudo apt-get purge curl 完全删除curl 软件包及其相关的配置文件和数据。 |
apt-get upgrade |
升级系统已安装的所有软件包到最新版本。 | sudo apt-get upgrade 根据软件包列表中的更新信息,升级系统中所有可更新的软件包到其在软件源中的最新版本。 |
apt-get autoremove |
自动移除不再需要的软件包(即那些由于其他软件包被移除而导致不再被依赖的软件包)。 | sudo apt-get autoremove 检查系统中的软件包依赖关系,自动删除那些不再被任何已安装软件包所需的软件包。 |
FAQs:
1、如何在服务器上查看正在运行的进程?
答:可以使用ps -ef
命令查看系统中正在运行的所有进程,包括进程 ID、所有者、CPU 使用率、内存使用率、启动时间、命令行等信息,如果想实时监控系统进程的资源占用情况,可以使用top
命令,它会动态显示各个进程的信息,并默认每 5 秒刷新一次。
2、如何备份服务器上的重要文件?
可以使用tar
命令结合压缩工具(如gzip
)来备份文件,要备份/home/user/data
目录,可以执行以下命令:
tar -czvf backup.tar.gz /home/user/data
这将把/home/user/data
目录打包并压缩成一个名为backup.tar.gz
的文件,存储在当前目录下,恢复时可以使用tar -xzvf backup.tar.gz -C /destination_directory
,其中/destination_directory
是你想要恢复到的目标目录。
3、如何限制服务器上某个用户的磁盘空间使用量?
需要确定磁盘分区的文件系统类型(如 ext4),然后可以使用磁盘配额工具(如quota
)来设置限制,以 ext4 文件系统为例,大致步骤如下:
编辑/etc/fstab
文件,确保要限制磁盘空间的分区启用了磁盘配额功能(添加usrquota
和grpquota
选项)。
使用quotacheck -cumvg
命令扫描文件系统并启用磁盘配额(可能需要超级用户权限)。
使用edquota -u username
命令为特定用户设置磁盘配额限制,其中username
是你要限制的用户,在弹出的编辑器中,可以设置软限制(用户可以超过但不能写入)和硬限制(用户绝对不能超过)。
4、如何查找服务器上占用大量内存的进程?
可以使用ps aux --sort=-%mem
命令按照内存使用率从高到低排序显示所有进程,这样就能快速找到占用内存较多的进程,如果想要进一步分析内存使用情况,可以结合top
命令实时监控,或者使用工具如pmap <pid>
(其中<pid>
是进程 ID)查看特定进程的内存映射详细信息。
5、如何远程重启服务器?
如果服务器开启了 SSH 服务并且你可以通过 SSH 登录到服务器,那么可以直接在 SSH 会话中使用sudo reboot
命令来重启服务器,如果你没有直接登录权限,但可以在服务器上配置一个特定的脚本或命令来重启服务器,并且通过网络触发该脚本或命令(例如通过其他服务器发送一个特定的信号到该服务器),也可以实现远程重启的功能。(这涉及到更复杂的网络配置和安全性考虑,具体实施方法因环境和需求而异。)