Linux命令是操作系统交互的核心,掌握常用命令能极大提升工作效率,以下从文件管理、系统信息、网络操作、文本处理、权限管理、进程管理、软件安装、压缩打包等维度,详细梳理常用命令及其功能,并辅以示例说明。

文件与目录管理
文件操作是Linux最基础的功能,常用命令包括:
ls
:列出目录内容,-l
显示详细信息,-a
隐藏文件,-h
人性化显示大小(如1K、2M)。cd
:切换目录,cd ..
返回上级,cd ~
进入用户主目录,cd -
返回上次目录。pwd
:显示当前工作目录的完整路径。mkdir
:创建目录,-p
可递归创建多级目录(如mkdir -p a/b/c
)。touch
:创建空文件或更新文件时间戳。cp
:复制文件/目录,-r
递归复制目录,-p
保留权限(如cp -r dir1 dir2
)。mv
:移动文件/目录或重命名(如mv old.txt new.txt
)。rm
:删除文件/目录,-r
递归删除目录,-f
强制删除不提示(如rm -rf dir
)。ln
:创建链接,-s
创建软链接(如ln -s target.txt link.txt
)。
系统信息与监控
查看系统状态是日常运维的重要工作:
uname -a
:显示系统全部信息(内核版本、主机名等)。top
:动态显示进程资源占用,按q
退出,shift+M
按内存排序。htop
:top
的增强版,支持鼠标操作和更直观的进程管理(需安装)。df -h
:查看磁盘空间使用情况,-h
人性化显示。free -h
:查看内存使用量,-h
显示GB/MB级别。du -sh *
:统计当前目录下各文件/目录大小,-s
汇总显示,-h
人性化。ps aux
:查看当前进程,aux
显示所有用户进程详细信息。kill
:终止进程,kill -9
强制终止(如kill -9 1234
)。
网络操作
网络配置与排查离不开以下命令:
ifconfig
或ip addr
:查看/配置网卡IP地址(ifconfig eth0 up
启动网卡)。ping
:测试网络连通性(如ping www.baidu.com
)。netstat -tuln
:查看监听端口,-t
TCP,-u
UDP,-l
仅显示监听端口。ss -tuln
:netstat
的替代品,显示更快速。wget
或curl
:下载文件,wget https://example.com/file.zip
,curl -O URL
。ssh
:远程登录(如ssh user@192.168.1.100
)。scp
:远程复制文件(如scp local.txt user@remote:/path/
)。
文本处理
Linux文本处理能力强大,常用命令包括:

cat
:查看文件内容(cat file.txt
)。more
/less
:分页查看文件,less
支持上下翻滚和搜索。grep
:文本搜索,-i
忽略大小写,-n
显示行号(如grep "error" log.txt -n
)。sed
:流编辑器,替换文本(如sed 's/old/new/g' file.txt
)。awk
:文本分析工具,按列处理(如awk '{print $1}' file.txt
打印第一列)。sort
:排序文件内容,-n
按数字排序,-r
倒序。uniq
:去重,需配合sort
使用(如sort file.txt | uniq
)。
权限与用户管理
Linux是多用户系统,权限管理至关重要:
chmod
:修改文件权限,+x
添加执行权限(如chmod 755 script.sh
或chmod u+x script.sh
)。chown
:修改文件所有者,-R
递归修改目录(如chown user:group file.txt
)。useradd
/userdel
:添加/删除用户(如useradd -m newuser
创建用户并创建家目录)。passwd
:修改用户密码(如passwd newuser
)。su
/sudo
:切换用户,su -
切换到root,sudo command
以管理员权限执行。
软件安装与压缩
apt
/yum
/dnf
:包管理工具(Ubuntu用apt install package
,CentOS用yum install package
)。tar
:打包/解压,-c
创建,-x
解压,-v
显示过程,-f
指定文件名(如tar -czvf archive.tar.gz dir/
打包,tar -xzvf archive.tar.gz
解压)。zip
/unzip
:压缩/解压zip文件(如zip -r archive.zip dir/
,unzip archive.zip
)。
相关问答FAQs
Q1:如何查找包含特定关键词的文件?
A:使用find
命令结合grep
,例如在当前目录下查找包含"error"的.log文件:find . -name "*.log" -exec grep -l "error" {} \;
,其中-name
指定文件名模式,-exec
对找到的文件执行grep
搜索,-l
仅输出匹配的文件名。
Q2:如何查看系统运行的端口及对应进程?
A:使用netstat
或ss
命令,例如netstat -tulnp
可显示所有监听端口及其PID,结合ps aux | grep PID
可查看具体进程信息,更推荐使用ss -tulnp
,其输出更简洁高效。
