在Linux服务器的日常运维与管理中,精通一系列常用命令成为了不可或缺的技能。这些命令如同一把把钥匙,能够解锁服务器的潜能,助您深度洞察系统状态,从而更加高效地执行维护任务,同时有效预防潜在问题。
本文精心编纂,旨在全面剖析从文件基本操作到高级系统管理层面的诸多命令,每一细节均深入浅出,旨在助力读者不仅知其然,更知其所以然,使这些工具成为您管理Linux服务器的得力助手。
01 文件与目录核心命令
1. 列出目录内容的利器——ls
ls,作为Linux系统中最频繁使用的命令之一,其主要功能在于揭示目录内部的乾坤。无论是浏览当前目录下的文件与文件夹,还是窥探指定路径下的内容,ls都能轻松胜任。
ls
2. 目录切换的便捷工具——cd
cd(change directory)命令是用户在Linux系统中穿梭于不同目录之间的桥梁。无论是深入到文件系统的各个角落,还是快速返回至熟悉的起点,cd都能助您一臂之力。
cd /path/to/directory
3. 知晓所在之处的钥匙——pwd
pwd(print working directory)命令的作用如同其名,它能够打印出当前工作目录的完整路径。无论是初入Linux的新手,还是经验丰富的系统管理员,在复杂的文件系统中迷失方向时,pwd都是找回方向的得力助手。
pwd
4. 创建新空间的魔法——mkdir
mkdir 命令是Linux中创建新目录的魔法棒。只需简单地指定一个新目录的名称,mkdir 就会为您在当前工作目录下创建这个目录。
mkdir new_directory
5. 清理空目录的助手——rmdir
与mkdir相对,rmdir命令专门用于删除空目录。若目录非空,则无法直接删除,此时可使用rm -r命令代替。
rmdir directory_name
6. 文件与目录的终结者——rm
rm命令强大而危险,用于删除文件或目录。由于删除操作不可恢复,使用时务必谨慎。
rm file_name
7. 复制文件与目录的镜像——cp
cp命令是Linux中的复制大师,无论是单个文件还是整个目录,都能轻松复制。
cp source_file destination_file
8. 移动与重命名的多面手——mv
mv命令是Linux中用于移动文件或目录,以及重命名文件或目录的瑞士军刀。
mv old_name new_name
9. 触碰文件的魔法——touch
touch命令在Linux中扮演着多重角色,既可以用来创建新的空文件,也可以用来更新现有文件的时间戳。
touch file_name
02 文件内容查看与编辑命令
1. 连接并显示文件内容——cat
cat 命令是Linux中查看文件内容的得力助手,尤其适用于快速浏览小文件。它的基本功能是将文件内容连续输出到标准输出设备(通常是屏幕)。
cat file_name
2. 分页查看文件内容——less和more
当文件内容过多,一屏无法完全显示时,less和more命令便派上了用场。它们允许用户分页查看文件内容。
less file_name
3. 查看文件的头部或尾部内容——head和tail
head和tail命令分别用于快速查看文件的前几行和最后几行内容,是处理日志文件或大型文本文件时的常用工具。
head -n 10 file_name
4. 文件编辑器——nano和vim
nano 和 vim 是Linux系统中两款广受欢迎的文本编辑器。nano 是一个易于使用的编辑器,适合新手,而 vim 则功能强大,适合高级用户。
nano file_name
03 权限与用户管理命令
1. 修改文件权限——chmod
chmod 命令是Linux中调整文件或目录权限的关键工具。它允许你设定哪些用户(所有者、所属组、其他用户)可以对文件或目录进行读(r=4)、写(w=2)、执行(x=1)操作。
chmod 755 file_name
2. 修改文件所有者——chown
chown 命令用于更改文件或目录的所有者和所属组。这是管理文件和目录访问权限的重要一步。
chown owner_name file_name
3. 修改用户密码——passwd
passwd 命令用于修改用户密码。无论是当前用户还是管理员为其他用户修改密码,passwd都是必不可少的工具。
passwd
4. 添加与删除用户——useradd和userdel
useradd 命令用于创建新用户,而 userdel 则用于删除用户。
useradd new_user
5. 修改用户信息——usermod
usermod 命令允许你修改现有用户的信息,如所属组、登录名或家目录等。
usermod -aG group_name user_name
6. 显示用户所属的组——groups
groups 命令用于显示指定用户所属的所有组。
groups user_name
04 进程管理命令
1. 显示进程状态——ps
ps 命令用于显示当前系统运行的进程状态。
ps aux
2. 实时显示进程状态——top和htop
top 和 htop 命令用于实时显示系统中各个进程的运行状态,其中 htop 是 top 的增强版,提供了更加友好的用户界面。
top
3. 终止进程——kill和killall
kill 和 killall 命令用于终止进程。kill 根据进程ID(PID)终止进程,而 killall 则根据进程名终止所有匹配的进程。
kill PID
4. 后台与前台进程控制——bg和fg
bg 和 fg 命令用于控制进程在后台或前台运行。
bg %1
5. 持续运行命令——nohup
nohup 命令用于在退出终端后继续运行进程,通常与 & 符号结合使用,以将命令放入后台运行。
nohup command &
05 网络管理命令
1. 检查网络连通性——ping
ping 命令用于测试主机与目标主机之间的连通性。它通过发送ICMP请求包,并接收返回的应答包,来判断网络连接状态。
ping example.com
•ping -i 0.5 example.com:设置发送请求包的时间间隔为0.5秒。
2. 网络接口配置——ifconfig和ip
ifconfig 命令用于显示和配置网络接口,然而在现代系统中,更推荐使用功能更强大的 ip 命令。
ifconfig
3. 网络状态查看——netstat和ss
netstat 命令用于显示网络连接、路由表、接口统计等信息,而 ss 命令是 netstat 的现代替代品,提供了类似功能,但速度更快。
netstat -tuln
4. 路由追踪——traceroute
traceroute 命令用于追踪数据包到达目标主机所经过的路由。它能够帮助识别网络中的瓶颈。
traceroute example.com
5. 文件下载与网络请求——wget和curl
wget 和 curl 都是用于网络请求的命令行工具,常用于文件下载和与API进行交互。
wget http://example.com/file.zip
6. 文件远程传输——scp和rsync
scp 命令用于通过SSH协议在本地与远程主机之间传输文件。rsync 命令则提供了更加高效的同步功能,支持增量传输。
scp local_file user@remote_host:/path/to/destination/
7. 文件传输协议——ftp和sftp
ftp 和 sftp 命令用于通过FTP协议传输文件。sftp 是通过SSH的安全传输方式。
ftp remote_host
06 磁盘与文件系统管理命令
1. 查看磁盘空间使用情况——df
df 命令用于显示文件系统的磁盘空间使用情况。
df -h
2. 查看目录或文件占用空间——du
du 命令用于显示目录或文件占用的磁盘空间。
du -sh directory_name
3. 磁盘分区工具——fdisk和parted
fdisk 和 parted 命令用于管理磁盘分区。fdisk 适用于MBR分区表,而 parted 则支持GPT和MBR两种分区表格式。
fdisk /dev/sda
4. 创建文件系统——mkfs
mkfs 命令用于在分区上创建文件系统。
mkfs.ext4 /dev/sda1
5. 挂载与卸载文件系统——mount和umount
mount 命令用于将文件系统挂载到指定的挂载点,而 umount 命令则用于卸载已挂载的文件系统。
mount /dev/sda1 /mnt
6. 文件系统检查——fsck
fsck 命令用于检查和修复文件系统中的错误。
fsck /dev/sda1
7. NFS网络文件系统——mount和unmount
在使用NFS(Network File System)时,可以使用 mount 命令将远程的NFS共享挂载到本地系统。
mount -t nfs remote_host:/path/to/share /mnt/nfs
07 系统监控与优化命令
1. 查看系统运行时间——uptime
uptime 命令用于显示系统的运行时间、当前时间、登录用户数以及系统的平均负载。
uptime
2. 查看内存使用情况——free
free 命令用于显示系统的内存和交换分区的使用情况。
free -h
3. 系统性能监控——vmstat
vmstat 命令用于报告虚拟内存、进程、CPU活动等信息,是系统性能监控的重要工具。
vmstat 2 5
4. 磁盘I/O监控——iostat
iostat 命令用于监控系统的磁盘I/O使用情况,包括CPU使用情况和磁盘读写速率。
iostat -x 2 5
5. 系统活动报告——sar
sar 命令是一个功能强大的系统活动监控工具,可以报告CPU、内存、磁盘、网络等多方面的系统活动信息。
sar -u 1 5
sar -r 1 5
6. 实时系统监控——top和htop
top 和 htop 命令提供了一个实时的系统监控界面,显示了系统进程、CPU、内存使用情况等重要信息。htop 是 top 的增强版,提供了更友好的界面和更多的功能。
top
7. 高级系统监控工具——atop
atop 命令是一个高级的系统和进程监控工具,可以持续记录系统的资源使用情况,包括CPU、内存、磁盘、网络等。
atop
8. 轻量级系统监控——glances
glances 命令是一个跨平台的系统监控工具,支持显示CPU、内存、磁盘、网络等多种资源使用情况,并提供简洁的界面。
glances
9. 系统性能监控——nmon
nmon 命令是一个综合的系统性能监控工具,支持监控CPU、内存、网络、磁盘等多种系统资源。
nmon
10. 磁盘I/O监控——iotop
iotop 命令用于实时显示进程的磁盘I/O使用情况,类似于 top 命令。
iotop
11. 系统调用跟踪——strace
strace 命令用于跟踪进程的系统调用,是调试和分析程序行为的重要工具。
strace -p PID
12. 综合系统资源监控——dstat
dstat 命令集成了 vmstat、iostat、netstat 等命令的功能,能够实时显示CPU、磁盘、网络、内存等多方面的资源使用情况。
dstat
13. 网络流量抓取——tcpdump
tcpdump 命令用于抓取和分析网络数据包,是网络故障排除和安全分析的重要工具。
tcpdump -i eth0
14. 实时网络流量监控——iftop
iftop 命令用于实时显示网络接口的流量情况,类似于 top 命令,但专注于网络流量。
iftop -i eth0
15. 网络流量统计——vnstat
vnstat 命令用于记录和显示网络接口的流量统计信息,可以长时间监控网络流量,并生成报告。
vnstat -i eth0
08 日志管理命令
1. 查看文件内容——tail和head
tail 和 head 命令用于查看文件的开头或结尾部分内容,常用于日志文件的查看。
tail -f /var/log/syslog
2. 分页查看文件内容——less和more
less 和 more 命令用于分页查看文件内容。less 提供了更丰富的功能,支持向前和向后翻页。
less /var/log/syslog
3. 文本搜索——grep
grep 命令用于在文件中搜索匹配的文本行,常用于从日志文件中提取关键信息。
grep "error" /var/log/syslog
4. 向系统日志发送消息——logger
logger 命令用于向系统日志发送自定义消息,常用于脚本或程序的调试。
logger "This is a test message"
5. 日志轮换——logrotate
logrotate 是一个日志管理工具,用于自动轮换、压缩、删除和邮件通知日志文件。配置文件通常位于 /etc/logrotate.conf。
logrotate /etc/logrotate.conf
09 用户与权限管理命令
1. 添加与删除用户——useradd和userdel
useradd 命令用于在系统中创建新用户,而 userdel 则用于删除用户。
useradd newuser
2. 修改用户密码——passwd
passwd 命令用于修改用户的登录密码。管理员可以使用此命令为其他用户设置密码。
passwd username
3. 修改用户信息——usermod
usermod 命令用于修改用户的账户信息,如用户组、登录shell、主目录等。
usermod -aG sudo username
4. 添加与删除用户组——groupadd和groupdel
groupadd 命令用于创建新的用户组,groupdel 命令则用于删除用户组。
groupadd newgroup
5. 文件权限管理——chown和chmod
chown 命令用于改变文件或目录的所有者和用户组,chmod 命令用于修改文件或目录的权限。
chown user:group filename
chmod 755 filename
6. 修改文件组——chgrp
chgrp 命令用于更改文件或目录的用户组,与 chown 相似,但专注于修改组而非所有者。
chgrp staff filename
7. 设置默认权限掩码——umask
umask 命令用于设置新建文件和目录的默认权限掩码,从而控制新文件的默认权限。
umask 022
8. 提升权限——sudo和su
sudo 命令用于以超级用户(或其他用户)权限执行命令,而 su 命令则用于切换到其他用户。
sudo command
su -
9. 查看用户信息——id和whoami
id 命令用于显示当前用户的UID、GID及所属组信息,而 whoami 命令则用于显示当前登录的用户名。
id
10. 查看用户登录记录——last和lastlog
last 命令用于显示系统最近的用户登录记录,而 lastlog 命令则用于显示所有用户的最近登录时间。
last
原创文章,作者:余初云,如若转载,请注明出处:https://blog.jidcy.com/jsjc/2523.html
