Linux作为一款开源的操作系统,凭借其稳定性、安全性和灵活性,在服务器、嵌入式系统以及开发领域得到了广泛应用,熟练掌握Linux常规命令是高效操作Linux系统的基础,以下将详细介绍常用的Linux命令及其使用方法。

文件与目录操作命令
文件和目录是Linux系统中最基本的元素,掌握相关命令是日常操作的前提。ls
命令用于列出目录内容,常用选项包括-l
(显示详细信息,如权限、所有者、大小等)、-a
(显示所有文件,包括隐藏文件)、-h
(以人类可读的格式显示文件大小,如K、M、G)。ls -lah
会以详细、显示隐藏文件和人类可读的方式列出当前目录的所有内容。
cd
命令用于切换当前工作目录,cd ..
返回上一级目录,cd ~
切换到当前用户的家目录,cd -
在最近两次目录之间切换。pwd
命令用于显示当前所在的工作目录的完整路径。mkdir
命令用于创建新目录,-p
选项可以递归创建多级目录,例如mkdir -p dir1/dir2
会同时创建dir1和dir2目录。rmdir
命令只能删除空目录,若要删除非空目录及其内容,需使用rm -r
命令,但需谨慎操作,因为删除后无法恢复。
touch
命令用于创建空文件或更新文件的时间戳。cp
命令用于复制文件或目录,-r
选项用于递归复制目录,-i
选项在覆盖文件前会提示用户确认。mv
命令用于移动文件或目录,也可用于重命名文件,例如mv oldname.txt newname.txt
将文件重命名。rm
命令用于删除文件,-r
选项递归删除目录,-f
选项强制删除而不提示,rm -rf
需格外小心,可能导致数据丢失。
查看与编辑命令
cat
命令用于查看文件内容,适合查看小型文件,例如cat file.txt
会将文件内容输出到终端。more
和less
命令用于分页查看文件内容,more
只能向前翻页,less
支持向前和向后翻页,且支持搜索功能(通过键)。head
命令用于查看文件的前几行,默认前10行,-n
选项可指定行数,如head -n 5 file.txt
查看前5行。tail
命令用于查看文件的后几行,默认后10行,-f
选项可实时追踪文件内容变化,常用于查看日志文件。

grep
命令用于在文件中搜索匹配的文本,-i
选项忽略大小写,-r
选项递归搜索目录,例如grep -r "error" /var/log
会在日志目录中搜索包含"error"的行。find
命令用于根据文件名、大小、修改时间等条件查找文件,例如find /home -name "*.txt"
会在home目录下查找所有扩展名为.txt的文件。nano
和vim
是常用的文本编辑器,nano
简单易用,适合初学者;vim
功能强大,但需要学习基本命令,如i
进入插入模式,Esc
退出插入模式,wq
保存并退出。
系统信息与管理命令
uname
命令用于显示系统信息,-a
选项显示所有信息,包括内核版本、主机名等。top
和htop
命令用于实时监控系统进程和资源使用情况,htop
是top
的增强版,界面更友好,支持鼠标操作。ps
命令用于查看当前进程,aux
选项显示所有进程的详细信息,grep
结合使用可过滤特定进程,如ps aux | grep nginx
。kill
命令用于终止进程,需传入进程ID(PID),-9
选项强制终止,例如kill -9 1234
。
df
命令用于查看磁盘空间使用情况,-h
选项以人类可读格式显示,例如df -h
显示各分区的使用量。du
命令用于查看目录或文件的磁盘使用量,-sh
选项显示总大小,例如du -sh /var/log
显示日志目录的总大小。free
命令用于查看内存使用情况,-h
选项以人类可读格式显示。useradd
和userdel
命令分别用于添加和删除用户,passwd
命令用于修改用户密码,sudo
命令允许普通用户以超级用户权限执行命令。
网络配置与监控命令
ifconfig
和ip
命令用于查看和配置网络接口,ip addr show
显示所有网络接口的IP地址信息。ping
命令用于测试网络连通性,例如ping www.baidu.com
会向百度服务器发送ICMP请求。netstat
和ss
命令用于查看网络连接、端口监听等信息,ss
是netstat
的替代品,速度更快,例如ss -tuln
显示所有监听的TCP和UDP端口。wget
和curl
命令用于下载文件,wget
适合简单下载,curl
支持更多协议和功能,例如wget https://example.com/file.zip
下载文件。

ssh
命令用于远程登录服务器,例如ssh username@192.168.1.100
以用户名username登录IP为192.168.1.100的远程主机。scp
命令用于在本地和远程主机之间复制文件,例如scp /local/path/file.txt username@remote:/remote/path/
将本地文件复制到远程主机。firewall-cmd
和ufw
命令用于管理防火墙规则,例如firewall-cmd --add-service=http --permanent
永久允许HTTP服务通过防火墙。
压缩与解压命令
Linux中常用的压缩格式包括.zip
、.tar
、.gz
、.bz2
等。zip
和unzip
命令用于处理.zip文件,zip -r archive.zip dir/
将目录dir压缩为archive.zip,unzip archive.zip
解压文件。tar
命令用于处理.tar文件,常与gzip
(.gz
)、bzip2
(.bz2
)结合使用,-c
创建归档,-x
解压,-v
显示过程,-f
指定文件名,例如tar -czf archive.tar.gz dir/
将目录dir压缩为.tar.gz文件,tar -xzf archive.tar.gz
解压.tar.gz文件。
相关问答FAQs
Q1: 如何快速查找大文件并清理磁盘空间?
A1: 可以使用find
命令结合-size
选项查找指定大小以上的文件,例如find / -type f -size +100M
查找根目录下大于100MB的文件,找到大文件后,使用rm
命令删除不需要的文件,或使用du
命令分析目录占用情况,如du -sh /* | sort -hr
查看各根目录大小并排序,定位占用空间大的目录进行清理。
Q2: Linux中如何查看实时日志文件内容?
A2: 使用tail
命令的-f
选项可以实时查看日志文件的更新内容,例如tail -f /var/log/nginx/access.log
会实时显示Nginx访问日志的最新内容,如果需要过滤特定信息,可以结合grep
命令,如tail -f /var/log/syslog | grep "error"
,实时查看系统日志中包含"error"的行。