Linux基本命令是操作系统管理和日常操作的核心工具,掌握这些命令能够高效地完成文件管理、权限控制、进程监控等任务,以下从文件操作、目录操作、文本处理、系统管理、网络工具等多个维度详细介绍常用命令及其使用场景。

文件操作命令
文件操作是Linux最基础的功能之一,包括创建、复制、移动、删除和查看文件内容。touch
命令用于创建空文件或更新文件时间戳,例如touch file.txt
会创建一个名为file.txt的空文件。cp
命令用于复制文件,如cp source.txt dest.txt
将source.txt复制到dest.txt,若使用-r
参数可递归复制整个目录。mv
命令实现文件移动和重命名,例如mv oldname.txt newname.txt
将文件重命名,mv file.txt /tmp/
将文件移动到/tmp目录。rm
命令用于删除文件,-r
参数递归删除目录,-f
参数强制删除不提示,如rm -rf dir
会删除整个dir目录及其内容,查看文件内容时,cat
适合查看小文件,如cat file.txt
;less
支持分页浏览大文件,可通过上下箭头或空键翻页;head
和tail
分别查看文件开头和末尾内容,tail -f
还可实时监控文件变化,例如tail -f /var/log/syslog
。
目录操作命令
目录管理涉及路径切换、创建和删除等操作。pwd
命令显示当前工作目录的完整路径,如/home/user
。cd
用于切换目录,cd ..
返回上级目录,cd ~
进入用户主目录,cd -
在最近两次目录间切换。mkdir
创建新目录,-p
参数可递归创建多级目录,例如mkdir -p /tmp/a/b/c
会创建a、b、c三级目录。ls
命令列出目录内容,-l
以详细格式显示(包含权限、所有者、大小等),-a
显示隐藏文件(以开头),-h
以人类可读格式显示文件大小(如K、M),组合使用如ls -lah
可查看所有文件的详细信息。
文本处理命令
Linux文本处理能力强大,常用命令包括grep
、sed
、awk
等。grep
用于文本搜索,-i
忽略大小写,-r
递归搜索目录,例如grep -r "error" /var/log/
在日志目录中搜索包含"error"的行。sed
流编辑器用于文本替换,如sed 's/old/new/g' file.txt
将文件中所有"old"替换为"new"。awk
基于列处理文本,awk '{print $1,$3}' file.txt
打印每行的第1和第3列。sort
对文件行排序,uniq
去除重复行(需配合sort
使用),wc
统计行数、字数和字节数,如wc -l file.txt
显示文件行数。
系统管理命令
系统管理命令帮助监控资源和服务状态。top
和htop
实时查看进程和资源占用,htop
以彩色界面和交互操作更直观。ps
命令查看当前进程,ps aux
显示所有进程详细信息,grep
结合使用可筛选特定进程,如ps aux | grep nginx
。kill
终止进程,kill -9
强制杀死进程,需指定进程ID(PID)。df -h
查看磁盘使用情况,free -h
显示内存使用量。tar
命令用于文件打包和压缩,tar -czf archive.tar.gz /path/to/dir
将目录打包并gzip压缩,-xvf
解压,如tar -xzf archive.tar.gz
。chmod
修改文件权限,rwx
分别代表读、写、执行,如chmod 755 script.sh
设置所有者可读写执行,其他用户可读执行。

网络工具命令
网络工具用于配置和排查网络问题。ifconfig
或ip addr
查看网络接口信息,ip addr show eth0
查看eth0接口详情。ping
测试网络连通性,如ping google.com
。netstat
查看网络连接状态,-tulpn
显示监听的端口和进程,例如netstat -tulpn | grep :80
查看80端口占用情况。ssh
远程登录,如ssh user@192.168.1.100
。wget
或curl
下载文件,wget https://example.com/file.zip
通过HTTP下载,curl -O url
类似功能。scp
secure copy,用于跨服务器复制文件,如scp file.txt user@remote:/path/
。
其他实用命令
man
命令查看命令手册,如man ls
显示ls命令的详细用法。echo
输出文本,可重定向到文件,如echo "hello" > file.txt
覆盖写入,>>
追加写入。history
查看命令历史,!n
执行历史中第n条命令。alias
设置命令别名,如alias ll='ls -la'
后输入ll
即执行ls -la
。
命令使用技巧
Linux命令支持通配符和管道操作,匹配任意字符,如ls *.txt
显示所有txt文件;匹配单个字符,ls ?.txt
匹配单字符文件名,管道将前一个命令的输出作为后一个命令的输入,如cat file.txt | grep "error"
过滤包含"error"的行,重定向>
和>>
分别用于覆盖和追加输出,2>
重定向错误输出,如command > output.txt 2> error.txt
。
以下为常用命令速查表:

命令 | 参数示例 | 功能描述 |
---|---|---|
ls |
ls -lah |
列出文件及详细信息 |
cp |
cp -r dir1 dir2 |
递归复制目录 |
mv |
mv file.txt /tmp/ |
移动文件或重命名 |
rm |
rm -rf dir |
强制递归删除目录 |
grep |
grep -r "text" . |
递归搜索当前目录包含"text"的行 |
tar |
tar -czf backup.tar.gz /path |
打包并gzip压缩目录 |
chmod |
chmod 644 file.txt |
设置文件权限为rw-r--r-- |
ssh |
ssh user@host |
远程登录服务器 |
ps |
ps aux |
显示所有进程详细信息 |
相关问答FAQs
Q1: 如何在Linux中查找包含特定文本的所有文件?
A: 使用grep
命令结合-r
参数递归搜索目录,例如grep -r "error" /var/log/
会在/var/log目录及其子目录中搜索包含"error"的文本,并输出文件名和匹配行,若仅需要文件名,可加-l
参数,即grep -rl "error" /var/log/
。
Q2: 如何查看当前系统运行的端口及对应的进程?
A: 使用netstat
或ss
命令,netstat -tulpn
会显示所有监听的TCP和UDP端口及其关联的PID和进程名。netstat -tulpn | grep :8080
可查看8080端口的占用情况,在较新Linux版本中,ss -tulpn
是更高效的替代方案。