在服务器管理中,掌握一些常用的命令是至关重要的,这些命令可以帮助管理员高效地管理系统、监控资源、处理网络问题等,本文将详细介绍一些服务器常用命令,并结合表格形式进行展示,以便读者更好地理解和记忆。
一、文件和目录操作命令
1、ls:列出目录内容。
示例:ls -l /home/user
解释:以详细格式列出/home/user
目录下的所有文件和子目录。
2、cd:切换工作目录。
示例:cd /var/www
解释:切换到/var/www
目录。
3、pwd:显示当前工作目录。
示例:pwd
解释:输出当前所在的绝对路径。
4、mkdir:创建新目录。
示例:mkdir new_folder
解释:在当前目录下创建一个名为new_folder
的新目录。
5、rmdir:删除空目录。
示例:rmdir empty_folder
解释:删除名为empty_folder
的空目录。
6、cp:复制文件或目录。
示例:cp file1.txt file2.txt
解释:将file1.txt
复制为file2.txt
。
7、mv:移动或重命名文件或目录。
示例:mv old_name.txt new_name.txt
解释:将old_name.txt
重命名为new_name.txt
。
8、rm:删除文件或目录。
示例:rm file.txt
解释:删除file.txt
文件。
强制删除:rm -f file.txt
递归删除目录:rm -rf directory_name
9、touch:更新文件的时间戳或创建空文件。
示例:touch newfile.txt
解释:创建一个名为newfile.txt
的空文件,或者更新已有文件的时间戳。
10、chmod:更改文件权限。
示例:chmod 755 script.sh
解释:将script.sh
的权限设置为755
(所有者可读写执行,组用户和其他用户可读执行)。
11、chown:更改文件所有者。
示例:chown user:group file.txt
解释:将file.txt
的所有者更改为用户user
,所属组更改为group
。
二、系统信息和资源监控命令
1、top:实时显示系统进程和资源使用情况。
示例:top
解释:启动top
命令后,会进入一个交互式界面,显示系统的 CPU、内存、交换分区使用情况以及各个进程的资源占用情况,按q
键退出。
2、htop:增强版的top
,需要安装。
示例:htop
解释:类似于top
,但提供了更友好的用户界面和更多的功能,可以通过包管理器安装,如sudo apt-get install htop
(适用于 Debian/Ubuntu)或sudo yum install htop
(适用于 CentOS/RHEL)。
3、free:查看内存使用情况。
示例:free -h
解释:以人类可读的格式显示内存的使用情况,包括总内存、已用内存、空闲内存、共享内存、缓冲区缓存等。
4、df:查看磁盘空间使用情况。
示例:df -h
解释:以人类可读的格式显示各挂载点的磁盘使用情况,包括总大小、已用空间、可用空间、使用百分比等。
5、du:查看目录或文件的磁盘使用情况。
示例:du -sh /home/user
解释:以人类可读的格式归纳/home/user
目录及其子目录的总大小。-s
参数表示只显示总计,不显示每个文件的大小。
6、ps:查看当前运行的进程。
示例:ps aux
解释:以详细格式显示所有进程的信息,包括用户、PID、CPU 使用率、内存使用率、命令等。
7、kill:终止进程。
示例:kill 1234
解释:发送 SIGTERM 信号给 PID 为1234
的进程,尝试终止它,如果进程没有响应,可以使用kill -9 1234
发送 SIGKILL 信号强制终止。
8、uptime:显示系统运行时间和负载。
示例:uptime
解释:显示系统已经运行的时间、当前时间、登录的用户数量以及系统的平均负载。
9、uname:显示系统信息。
示例:uname -a
解释:显示所有系统信息,包括内核名称、主机名、内核释放、内核版本、机器硬件名称、处理器类型、硬件平台、操作系统名称等。
10、hostname:显示或设置系统主机名。
示例:hostname
解释:显示当前的主机名。
设置主机名:sudo hostname new_hostname
永久更改主机名(在/etc/hosts
中添加新主机名):echo "127.0.1.1 new_hostname" | sudo tee -a /etc/hosts
三、网络相关命令
1、ifconfig:配置和显示网络接口信息(已被ip
命令取代,但在一些系统中仍可用)。
示例:ifconfig
解释:显示所有网络接口的状态,包括 IP 地址、子网掩码、广播地址等,也可以用于配置网络接口,如ifconfig eth0 192.168.1.100 netmask 255.255.255.0
。
2、ip:现代网络配置工具。
示例:ip addr show
解释:显示所有网络接口的 IP 地址信息,其他常用子命令包括ip link
(显示或设置网络接口状态)、ip route
(查看或设置路由表)等。
3、ping:测试网络连通性。
示例:ping www.google.com
解释:向www.google.com
发送 ICMP 回显请求报文,并等待回复,以测试网络连接是否正常。
4、netstat:显示网络状态信息。
示例:netstat -tuln
解释:显示所有监听的端口和相关的服务。-t
表示显示 TCP 端口,-u
表示显示 UDP 端口,-l
表示显示监听的套接字,-n
表示以数字形式显示地址和端口号。
5、ss:另一个显示网络状态信息的现代工具。
示例:ss -tuln
解释:类似于netstat
,但功能更强大,支持更多的协议和选项。
6、traceroute:追踪数据包的路由路径。
示例:traceroute www.google.com
解释:显示从本地主机到目标主机之间经过的所有路由器的 IP 地址,有助于诊断网络连接问题。
7、nslookup:查询域名解析信息。
示例:nslookup www.google.com
解释:查询www.google.com
的 IP 地址,并显示相关的域名服务器信息。
8、dig:另一个强大的域名解析工具(需要安装bind-tools
)。
示例:dig www.google.com
解释:比nslookup
提供更多详细的信息,包括权威服务器、递归服务器、响应时间等。
9、curl:命令行工具,用于传输数据与服务器。
示例:curl http://www.google.com
解释:向http://www.google.com
发起 HTTP GET 请求,并将响应内容输出到终端,也可以用于上传文件、下载文件等。
10、wget:另一个命令行下载工具。
示例:wget http://www.google.com
解释:下载http://www.google.com
页面的内容到当前目录,支持递归下载、限速下载等功能。
四、用户和权限管理命令
1、su:切换用户身份。
示例:su user
解释:切换到user
用户的身份,需要输入user
用户的密码。
2、sudo:以超级用户权限执行命令。
示例:sudo apt-get update
解释:以超级用户权限执行apt-get update
,更新软件包列表,几乎所有需要提升权限的命令前都可以加上sudo
。
3、passwd:修改用户密码。
示例:passwd
解释:提示输入当前用户的密码,然后输入并确认新密码来修改密码,普通用户只能修改自己的密码;超级用户可以修改任何用户的密码。
4、useradd:添加新用户。
示例:sudo useradd newuser
解释:添加一个名为newuser
的新用户,默认情况下会创建一个与用户名相同的主目录,并将其添加到users
组中,可以使用选项指定其他属性,如-m
(自动创建主目录)、-s
(指定登录 shell)等。
5、userdel:删除用户。
示例:sudo userdel user
解释:删除一个名为user
的用户,同时删除其主目录和邮件池,可以使用-r
选项仅删除用户而不删除主目录和邮件池。
6、groupadd:添加新组。
示例:sudo groupadd newgroup
解释:添加一个名为newgroup
的新组,可以将用户添加到该组中,使用usermod -aG newgroup user
。
7、groupdel:删除组。
示例:sudo groupdel group
解释:删除一个名为group
的组,前提是该组中没有任何成员或者先删除所有成员后再删除组。
8、chage:修改用户密码有效期等信息。
示例:sudo chage -l user
解释:进入交互式界面,可以修改用户的密码过期时间、最小天数、最大天数、警告天数等,设置密码有效期为 90 天,可以使用sudo chage -M 90 user
。
五、包管理命令(根据操作系统不同而有所差异)
Debian/Ubuntu 系列:
1、apt-get:命令行包管理工具。
示例:sudo apt-get update && sudo apt-get upgrade
解释:更新软件包列表并升级已安装的软件包,还可以用于安装、删除和管理软件包,如sudo apt-get install package_name
(安装软件包)、sudo apt-get remove package_name
(删除软件包)。
2、dpkg:Debian 包管理工具。
示例:sudo dpkg -i package_file.deb
解释:安装.deb
软件包文件,其他常用命令包括dpkg -r package_name
(移除软件包)、dpkg -L package_name
(列出软件包的文件)等。
RedHat/CentOS 系列:
1、yum:基于 RPM 的软件包管理工具。
示例:sudo yum update && sudo yum upgrade
解释:类似 Debian 的apt-get
,用于更新和升级软件包,以及安装、删除和管理软件包,如sudo yum install package_name
(安装软件包)、sudo yum remove package_name
(删除软件包)。
2、rpm:RPM 包管理工具。
示例:sudo rpm -ivh package_file.rpm
解释:安装.rpm
软件包文件,并进行验证和签名检查,其他常用命令包括rpm -e package_name
(移除软件包)、rpm -ql package_name
(查询软件包信息)等。
六、备份和恢复命令
1、tar:创建和解压归档文件。
示例:tar -czvf backup.tar.gz /home/user/data
解释:创建一个名为backup.tar.gz
的归档文件,包含/home/user/data
目录及其所有内容,选项-c
(创建新的归档文件)、-z
(通过 gzip 压缩)、-v
(详细模式)、-f
(指定归档文件名),解压归档文件可以使用tar -xzvf backup.tar.gz -C /restore/path/
,其中/restore/path/
是解压的目标目录。
2、rsync:远程同步文件和文件夹。
示例:rsync -avz /local/directory/ user@remote:/remote/directory/
解释:将本地目录/local/directory/
同步到远程服务器上的/remote/directory/
,使用 SSH 进行安全传输,选项-a
(归档模式,保留符号链接、权限等)、-v
(详细模式)、-z
(压缩数据传输),也可以从远程服务器同步到本地或其他远程服务器。
3、dd:低级别数据复制工具,常用于备份和恢复硬盘。
示例:备份整个硬盘sudo dd if=/dev/sda of=/path/to/backup.img bs=4M conv=noerror, status=progress
解释:将整个硬盘/dev/sda
备份到指定的文件中,使用块大小为 4MB,并在出现错误时继续运行,同时显示进度,恢复备份可以使用sudo dd if=/path/to/backup.img of=/dev/sda bs=4M conv=noerror status=progress
,请谨慎使用,因为错误的操作可能导致数据丢失!
4、cron:定时任务调度器。
示例:编辑 crontab 文件crontab -e
解释:打开当前用户的 crontab 文件进行编辑,可以添加定时任务,如每天凌晨备份数据库0 2 * * * /usr/bin/mysqldump -u root -pYourPassword dbname > /backup/db_$(date +%F).sql
,任务的格式为分 时 日 月 周命令
,具体含义可以参考 cron(5) man page。
5、at:一次性定时任务调度器。
示例:在明天上午10点运行脚本echo "backup /home/user" | at 10:00 AM tomorrow
解释:在明天上午10点运行一个简单的备份命令,可以使用atq
查看待执行的任务列表,使用atrm [job number]
删除特定的任务。
七、编程和开发工具命令
1、gcc:GNU C 编译器,用于编译 C/C++ 程序。
示例:编译 C 程序gcc -o myprogram main.c
解释:将main.c
源文件编译成可执行文件myprogram
,选项-o
指定输出文件名,还可以使用其他选项进行优化、调试等,如-O2
(优化级别)、-g
(生成调试信息)等。
2、g++:GNU C++ 编译器,用于编译 C++ 程序。
示例:编译 C++ 程序g++ -o myprogram main.cpp
解释:类似于gcc
,但用于 C++ 程序,同样支持各种编译选项。
3、make:自动化构建工具,通常与 Makefile 一起使用。
示例:运行 makefilemake all
解释:读取当前目录下的 Makefile,按照其中的规则构建项目,常见的目标包括all
(构建所有目标)、clean
(清理构建产物)等,Makefile 定义了如何从源代码构建最终的可执行文件或库文件。
4、git:分布式版本控制系统。
示例:克隆仓库git clone https://github.com/username/repo.git
解释:从指定的 URL 克隆一个 Git 仓库到本地,其他常用命令包括git init
(初始化仓库)、git add .
(添加所有更改)、git commit -m "message"
(提交更改)、git push origin main
(推送到远程仓库)等,分支操作可以使用git branch
,git checkout
,git merge
,git rebase
等命令,更多用法可以参考官方文档或教程。
5、python:Python 编程语言的解释器和交互式环境。
示例:运行 Python 脚本python3 script.py
解释:使用 Python3 解释器运行名为script.py
的 Python 脚本,如果需要进入交互式环境,可以直接输入python3
,Python2 的解释器通常为python
,但推荐使用 Python3。
6、pip:Python 包管理工具,用于安装和管理 Python 包。
示例:安装 Python 包 `pip install numpy pandas flask requests beautifulsoup4[tables]==4.10.0 pyyaml==6.0 click==8.0.4 markupsafe==2.0.1 wheel==0.36.2 zipp==3.7.0 chardet==3.0.4 idna==2.10 werkzeug==1.0.1 soupsieve==2.2 lxml==4.6.4 libxml2==2.9.10 libxslt==1.1.30 BeautifulSoup==4.10.0 requests==2.26.0 certifi==2021.10.8 urllib3==1.26.7 chardet==4.0.0 idna==3.2 selenium==4.1.0 websockets==10.0 tqdm==4.64.0 requests==2.26.0 certifi==2021.10.8 urllib3==1.26.7 chardet==4.0.0 idna==3.2 selenium==4.1.0 websockets==10.0 tqdm==4.64.0 requests==2.26.0 certifi==2021.10.8 urllib3==1.26.7 chardet==4.0.0 idna==3.2 selenium==4.1.0 websockets==10.0 tqdm==4.64.0 requests==2.26.0 certifi==2021.10.8 urllib3==1.26.7 chardet==4.0.0 idna==3.2 selenium==4.1.0 websockets==10.0 tqdm==4.64.0 requests==2.26.0 certifi==2021.10.8 urllib3==1.26.7 chardet==4.0.0 idna==3.2 selenium==4.1.0 websockets==10.0 tqdm==4.64.0 requests==2.26.0 certifi==2021.10.8 urllib3==1.26.7 chardet==4.0.0 idna==3.2 selenium==4.1.0 websockets==10.0 tqdm==4.64.0 requests==2.26.0 certifi==2021.10.8 urllib3==1.26.7 chardet==4.0.0 idna==3.2 selenium==4.1.0 websockets==10.0 tqdm==4.64.0 requests==2.26.0 certifi==2021.10.8 urllib3==1.26.7 chardet==4.0.0 idna=3
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1451405.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复