linux全命令详解
linux全命令详解详细介绍
Linux 系统拥有丰富的命令行工具,涵盖文件操作、系统管理、网络配置等多个领域。以下是按功能分类的常用命令详解,帮助你系统了解 Linux 命令体系:
一、文件与目录操作命令
1.
基础文件操作
| 命令 | 功能描述 | 语法与示例 |
|---|---|---|
ls |
列出目录内容 | ls -l(详细信息)、ls -a(显示隐藏文件) |
cd |
切换目录 | cd /home/user(进入指定目录)、cd ..(返回上级目录) |
mkdir |
创建目录 | mkdir project(创建单个目录)、mkdir -p a/b/c(递归创建多层目录) |
touch |
创建空文件或更新时间戳 | touch file.txt(创建空文件) |
rm |
删除文件或目录 | rm file.txt(删除文件)、rm -r dir(删除目录,需谨慎!) |
cp |
复制文件 / 目录 | cp source.txt dest/(复制文件到目录)、cp -r dir1 dir2(复制目录) |
mv |
移动文件 / 目录(或重命名) | mv old.txt new.txt(重命名)、mv file /target/(移动文件) |
2.
文件内容查看
| 命令 | 功能描述 | 语法与示例 |
|---|---|---|
cat |
显示文件内容(适合小文件) | cat config.txt(直接显示)、cat file1 file2 > merged.txt(合并文件) |
more |
分页查看文件(只能向下翻页) | more large.log |
less |
分页查看文件(支持上下翻页) | less access.log(按 PageUp/PageDown 翻页,按 q 退出) |
head |
显示文件前 N 行(默认前 10 行) | head -n 20 log.txt |
tail |
显示文件后 N 行(默认后 10 行) | tail -n 20 log.txt、tail -f log.txt(实时监控文件更新) |
3.
文件搜索与过滤
| 命令 | 功能描述 | 语法与示例 |
|---|---|---|
grep |
在文件中搜索指定文本 | grep "error" log.txt(搜索包含 "error" 的行) |
find |
查找文件或目录 | find /path -name "*.txt"(按名称查找)、find . -size +10M(查找大于 10MB 的文件) |
which |
查找命令的执行路径 | which python(查看 Python 命令的路径) |
whereis |
查找文件的位置(包括二进制、手册等) | whereis sshd |
二、系统管理与监控命令
1.
进程管理
| 命令 | 功能描述 | 语法与示例 |
|---|---|---|
ps |
查看进程状态 | ps aux(显示所有用户的进程)、ps -ef(显示详细信息) |
top |
实时监控进程(动态更新) | top(交互式界面,按 q 退出) |
htop |
增强版进程监控工具(需安装) | htop(支持鼠标操作,可视化更友好) |
kill |
终止进程 | kill 1234(终止 PID 为 1234 的进程)、kill -9 1234(强制终止) |
jobs |
查看后台任务 | jobs(列出当前会话的后台进程) |
2.
系统状态
| 命令 | 功能描述 | 语法与示例 |
|---|---|---|
uname |
显示系统信息 | uname -a(完整系统信息) |
df |
查看磁盘空间使用情况 | df -h(以人类可读格式显示) |
du |
查看目录 / 文件占用空间 | du -sh /var/log(显示目录总大小) |
free |
查看内存使用情况 | free -h(以 GB/MB 为单位显示) |
uptime |
显示系统运行时间和负载 | uptime(输出:运行时间、平均负载) |
3.
用户与权限
| 命令 | 功能描述 | 语法与示例 |
|---|---|---|
useradd |
创建用户 | useradd -m -s /bin/bash newuser(创建用户并分配家目录) |
passwd |
修改用户密码 | passwd(修改当前用户密码)、passwd user(管理员修改其他用户密码) |
chmod |
修改文件权限 | chmod 755 script.sh(赋予所有者读写执行权限,其他用户读执行权限) |
chown |
修改文件所有者 / 所属组 | chown user:group file.txt(设置所有者和所属组) |
三、网络与通信命令
1.
网络配置
| 命令 | 功能描述 | 语法与示例 |
|---|---|---|
ping |
测试网络连通性 | ping www.baidu.com |
ifconfig |
查看 / 配置网络接口(旧版) | ifconfig eth0(查看网卡 eth0 的信息) |
ip |
现代网络配置工具(替代 ifconfig) | ip addr show(显示 IP 地址)、ip link set eth0 up(启用网卡) |
netstat |
查看网络连接状态 | netstat -antp(显示所有 TCP 连接及对应进程) |
ss |
更高效的网络状态查看工具 | ss -tun(显示 TCP/UDP 连接) |
2.
文件传输
| 命令 | 功能描述 | 语法与示例 |
|---|---|---|
wget |
下载网络文件 | wget https://example.com/file.zip |
curl |
网络请求工具(支持多种协议) | curl -O https://example.com/image.jpg(下载文件并保留原名) |
scp |
安全复制文件到远程服务器 | scp local.txt user@remote:/path/(本地到远程) |
sftp |
安全交互式文件传输 | sftp user@remote(进入交互式界面,使用 get/put 传输文件) |
四、文本处理与编程
1.
文本编辑
| 命令 | 功能描述 | 语法与示例 |
|---|---|---|
nano |
简单易用的文本编辑器(适合新手) | nano config.conf(编辑文件,按 Ctrl+O 保存,Ctrl+X 退出) |
vim |
强大的终端文本编辑器(需学习模式) | vim file.txt(输入 i 进入插入模式,ESC 退出,:wq 保存退出) |
emacs |
功能复杂的编辑器(适合开发者) | emacs file.txt(支持插件和图形界面) |
2.
数据处理
| 命令 | 功能描述 | 语法与示例 | |
|---|---|---|---|
awk |
文本处理脚本语言(按列处理数据) | awk '{print $1}' data.csv(打印第一列) |
|
sed |
流文本编辑器(支持替换、删除等) | sed 's/old/new/g' file.txt(将所有 "old" 替换为 "new") |
|
sort |
排序文件内容 | sort -n numbers.txt(按数字排序) |
|
uniq |
去除重复行 | `sort file.txt | uniq`(先排序再去重) |
五、软件包管理(不同发行版差异较大)
1.
Debian/Ubuntu 系(.deb 包)
| 命令 | 功能描述 | 语法与示例 |
|---|---|---|
apt-get |
安装 / 删除软件包 | apt-get install nginx、apt-get remove nginx |
apt-cache |
搜索软件包信息 | apt-cache search python3 |
dpkg |
底层包管理工具 | dpkg -i package.deb(安装本地 deb 包) |
2.
RedHat/CentOS 系(.rpm 包)
| 命令 | 功能描述 | 语法与示例 |
|---|---|---|
yum |
高级包管理工具 | yum install httpd、yum remove httpd |
rpm |
底层包管理工具 | rpm -ivh package.rpm(安装本地 rpm 包) |
3.
通用工具(跨发行版)
| 命令 | 功能描述 | 语法与示例 |
|---|---|---|
pip |
Python 包管理工具 | pip install requests |
npm |
Node.js 包管理工具 | npm install express |
六、高级技巧与实用工具
1.
管道与重定向
- 管道
|:将前一个命令的输出作为后一个命令的输入,例如:bash - 重定向
>/<:>:覆盖写入文件(如echo "hello" > output.txt)>>:追加写入文件(如echo "world" >> output.txt)<:从文件读取输入(如sort < numbers.txt)
2.
通配符
*:匹配任意字符(如*.log匹配所有以 .log 结尾的文件)?:匹配单个字符(如file?.txt匹配 file1.txt、file2.txt 等)[]:匹配括号内的任意字符(如[abc].txt匹配 a.txt、b.txt、c.txt)
3.
后台运行与任务控制
&:将命令放入后台运行,如long_task.sh &Ctrl+Z:暂停前台任务,bg恢复后台运行,fg恢复前台运行nohup:忽略挂断信号,确保后台任务不被终止,如nohup task.sh &
如何深入学习单个命令?
man命令:查看命令手册,如man ls(按Q退出)。--help选项:获取简洁帮助,如ls --help。- 在线资源:查阅 Linux Man Pages 或各大 Linux 发行版文档。
- 实践:通过虚拟机或云服务器练习,建议从基础命令开始,逐步进阶。
总结
Linux 命令体系庞大,但通过分类学习和高频使用,可逐步掌握核心工具。建议从日常任务(如文件操作、日志分析)入手,结合实际场景练习,遇到陌生命令时利用 man 和搜索引擎快速查阅。熟练掌握后,命令行将成为高效管理系统和处理数据的强大工具!