Linux命令行是Linux操作系统的核心交互方式,通过简洁的文本指令实现对系统的高效管理,无论是文件操作、进程管理还是网络配置,命令行都提供了强大而灵活的工具,以下将详细介绍Linux常见命令行的使用方法、功能及示例,帮助用户快速掌握这一技能。

文件与目录操作是Linux命令行的基础。ls
命令用于列出目录内容,常用选项包括-l
(长格式显示)、-a
(显示隐藏文件)和-h
(以人类可读格式显示文件大小)。ls -lah
会以详细、隐藏文件和人性化格式显示当前目录的所有内容。cd
命令用于切换目录,cd ..
返回上级目录,cd ~
进入用户主目录,cd -
在最近两次目录间切换。pwd
命令显示当前工作目录的完整路径,文件创建与复制方面,touch
用于创建空文件或更新文件时间戳,如touch test.txt
创建新文件;cp
命令复制文件或目录,-r
选项用于递归复制目录,例如cp -r dir1 dir2
将dir1复制到dir2。mv
命令可重命名文件或移动文件位置,如mv old.txt new.txt
将文件重命名,mv file.txt /tmp/
将文件移动到/tmp目录,删除文件或目录使用rm
命令,-f
选项强制删除,-r
选项递归删除目录,例如rm -rf dir
彻底删除目录及其内容。mkdir
命令创建新目录,-p
选项可创建多级目录,如mkdir -p parent/child
会同时创建parent和child目录。
文本处理是Linux命令行的核心功能之一。cat
命令用于查看文件内容,cat file.txt
会直接显示文件全部内容;若需分页显示,可结合more
或less
命令,less file.txt
支持上下翻页和关键词搜索。grep
命令用于文本搜索,-i
选项忽略大小写,-n
显示行号,例如grep -i "error" log.txt
在日志文件中搜索包含error的行(不区分大小写)。sed
流编辑器用于文本替换,sed 's/old/new/g' file.txt
将文件中所有old替换为new,-i
选项直接修改原文件。awk
是强大的文本分析工具,awk '{print $1}' file.txt
打印每行的第一列,-F
选项可指定分隔符,如awk -F, '{print $2}' data.csv
处理CSV文件并输出第二列。sort
命令对文本行排序,-n
按数字排序,-r
逆序,-k
指定排序字段,例如sort -n -k2 numbers.txt
按第二列数字升序排序。uniq
命令用于去除重复行,需先配合sort
使用,如sort file.txt | uniq
得到去重后的内容。
系统监控与管理命令帮助用户实时掌握系统状态。top
命令动态显示进程资源占用,按M
按内存排序,按C
按CPU排序,q
退出。ps
命令查看静态进程列表,ps aux
显示所有进程详细信息,grep ps
可过滤特定进程,如ps aux | grep nginx
查看nginx相关进程。kill
命令终止进程,kill PID
发送终止信号,kill -9 PID
强制杀死进程。df
命令查看磁盘使用情况,-h
选项以GB/MB等格式显示,如df -h
显示各分区使用率。du
命令统计目录大小,-sh
选项显示总大小,如du -sh /var/log
查看日志目录总大小。free
命令查看内存使用情况,-h
选项以人性化格式显示,例如free -h
输出内存和交换分区的使用情况。uname
命令显示系统信息,-a
选项显示全部信息,如uname -a
输出内核版本、主机名等详细内容。
网络配置与诊断命令是排查网络问题的关键工具。ifconfig
或ip
命令查看和配置网络接口,ifconfig eth0 up
启用网卡,ip addr show
显示IP地址信息。ping
命令测试网络连通性,ping -c 4 www.baidu.com
发送4个数据包测试与百度的连接。netstat
查看网络连接状态,-an
显示所有连接,-tulp
显示监听端口,例如netstat -tulpn | grep :80
查看80端口占用情况。ss
是netstat
的替代工具,ss -tulnp
显示更详细的网络连接信息。wget
或curl
用于下载文件,wget https://example.com/file.zip
下载文件,curl -I www.baidu.com
查看HTTP头信息。ssh
命令远程登录服务器,ssh user@192.168.1.100
以user身份登录指定IP主机,-p
选项指定端口,如ssh -p 2222 user@host
。scp
命令在本地与远程主机间复制文件,scp file.txt user@remote:/path/to/dest
将文件上传到远程主机,-r
选项用于目录复制。

压缩与解压命令便于文件打包和传输。tar
命令是最常用的打包工具,-c
创建归档,-x
解压,-v
显示过程,-f
指定文件名,-z
处理gzip压缩,例如tar -czf archive.tar.gz dir/
将目录打包并gzip压缩,tar -xzf archive.tar.gz
解压gzip压缩的tar包。zip
和unzip
处理zip格式文件,zip -r archive.zip dir/
创建zip压缩包,unzip archive.zip
解压zip文件。gzip
用于单独压缩文件,gzip file.txt
压缩为file.txt.gz,gunzip file.txt.gz
解压。bzip2
提供更高压缩率,bzip2 file.txt
压缩为file.txt.bz2,bunzip2 file.txt.bz2
解压。
用户与权限管理命令确保系统安全。chmod
修改文件权限,rwx
分别代表读、写、执行,chmod 755 script.sh
设置所有者可读写执行,组和其他用户可读执行。chown
更改文件所有者,chown user:group file.txt
将文件所有者改为user,组改为group。su
命令切换用户,su - username
切换到username并加载其环境变量,exit
返回原用户。sudo
以管理员权限执行命令,sudo apt update
更新软件包列表,需在sudoers文件中配置用户权限。
软件包管理因发行版而异,Debian/Ubuntu使用apt
,如sudo apt install nginx
安装软件包,sudo apt remove nginx
卸载软件包;CentOS/RHEL使用yum
或dnf
,如sudo yum install httpd
安装Apache,sudo dnf update
更新系统。
相关问答FAQs
Q1: 如何在Linux命令行中查找包含特定关键词的文件?
A1: 可使用find
命令结合grep
实现,在当前目录及其子目录中查找包含“error”的.txt文件,命令为:find . -type f -name "*.txt" -exec grep -l "error" {} \;
。find . -type f -name "*.txt"
查找所有.txt文件,-exec grep -l "error" {} \;
对每个文件执行grep搜索并输出包含关键词的文件名。

Q2: 如何查看Linux系统运行的进程并终止不需要的进程?
A2: 首先使用ps aux
查看所有进程,结合grep
过滤特定进程,如ps aux | grep nginx
查看nginx相关进程,找到目标进程的PID(进程ID)后,使用kill PID
终止进程,例如kill 12345
,若进程无法正常终止,可使用kill -9 PID
强制杀死进程,如kill -9 12345
。