linux命令行完整版
linux命令行完整版详细介绍
以下是 Linux 命令行的全面整理,涵盖常用功能分类及核心命令,适合作为学习和查阅参考:
一、文件与目录操作
1.
基础操作
| 命令 | 功能描述 | 常用示例 |
|---|---|---|
ls |
列出目录内容 | ls -l(详细信息)、ls -a(显示隐藏文件) |
cd |
切换目录 | cd /home/user(切换目录)、cd ..(返回上级) |
mkdir |
创建目录 | mkdir dir1(创建单个目录)、mkdir -p a/b/c(递归创建) |
rmdir |
删除空目录 | rmdir dir1 |
rm |
删除文件 / 目录 | rm file.txt(删除文件)、rm -r dir(删除目录) |
cp |
复制文件 / 目录 | cp src.txt dest.txt、cp -r dir1 dir2(复制目录) |
mv |
移动 / 重命名文件 / 目录 | mv old.txt new.txt、mv file dir |
2.
文件查看与编辑
| 命令 | 功能描述 | 常用示例 |
|---|---|---|
cat |
显示文件内容(适合小文件) | cat file.txt |
nano |
简单文本编辑器(适合新手) | nano config.conf |
vim/vi |
强大的文本编辑器(需学习模式) | vim file.txt(输入模式:i,保存退出::wq) |
less |
分页查看文件(支持搜索) | less large.log |
head |
显示文件前 N 行 | head -n 10 file.txt |
tail |
显示文件后 N 行(实时监控用 -f) |
tail -n 10 file.txt、tail -f log.log |
3.
文件搜索与过滤
| 命令 | 功能描述 | 常用示例 |
|---|---|---|
find |
查找文件 / 目录 | find /path -name "*.txt"(按名称查找) |
grep |
文本内容搜索 | grep "error" log.txt(查找包含 "error" 的行) |
which |
查找命令所在路径 | which ls |
whereis |
查找文件 / 命令的位置(更快速) | whereis python |
二、系统信息与监控
1.
系统状态
| 命令 | 功能描述 | 常用示例 |
|---|---|---|
uname |
查看系统信息(内核、架构等) | uname -a(完整信息) |
top/htop |
实时进程监控(htop 交互性更强) | top(默认)、htop(需安装) |
free |
查看内存使用情况 | free -h(以人类可读格式显示) |
df |
查看磁盘空间使用情况 | df -h |
du |
查看目录 / 文件大小 | du -sh dir(目录总大小) |
2.
进程管理
| 命令 | 功能描述 | 常用示例 |
|---|---|---|
ps |
查看进程状态 | ps aux(显示所有进程) |
kill |
终止进程 | kill -9 1234(强制终止 PID 为 1234 的进程) |
systemctl |
systemd 服务管理(启动 / 停止 / 重启) | systemctl start sshd、systemctl status httpd |
lsof |
查看打开的文件和端口 | lsof -i :80(查看 80 端口占用) |
3.
网络工具
| 命令 | 功能描述 | 常用示例 |
|---|---|---|
ping |
测试网络连通性 | ping google.com |
ifconfig |
查看 / 配置网络接口(旧工具) | ifconfig eth0 |
ip |
现代网络配置工具 | ip addr(查看 IP 地址)、ip link set eth0 up |
netstat |
网络统计(端口、连接等) | netstat -tunlp(查看监听端口) |
ss |
更高效的网络状态查看工具 | ss -tunl |
curl/wget |
下载网络文件 | curl https://example.com/file.txt -o file.txt |
scp |
安全复制文件到远程主机 | scp local.txt user@remote:/path |
三、权限与用户管理
1.
文件权限
| 命令 | 功能描述 | 常用示例 |
|---|---|---|
chmod |
修改文件权限 | chmod 755 file.sh(所有者可读 / 写 / 执行,其他用户可读 / 执行) |
chown |
修改文件所有者 / 所属组 | chown user:group file.txt |
chgrp |
修改文件所属组 | chgrp group file.txt |
2.
用户与组
| 命令 | 功能描述 | 常用示例 |
|---|---|---|
useradd |
创建用户 | useradd -m -s /bin/bash newuser(创建用户并创建家目录) |
passwd |
修改用户密码 | passwd newuser(管理员修改)、passwd(当前用户修改) |
groupadd |
创建用户组 | groupadd newgroup |
usermod |
修改用户属性 | usermod -aG sudo newuser(添加到 sudo 组) |
四、软件包管理
1.
Debian/Ubuntu 系(.deb)
| 命令 | 功能描述 | 常用示例 |
|---|---|---|
apt-get |
软件包管理工具 | apt-get install package、apt-get update |
apt |
新一代 apt 工具(更简洁) | apt install package、apt search package |
2.
RedHat/CentOS 系(.rpm)
| 命令 | 功能描述 | 常用示例 |
|---|---|---|
yum |
软件包管理工具(旧版) | yum install package、yum update |
dnf |
新一代 yum 工具(CentOS 8+) | dnf install package |
3.
通用工具
| 命令 | 功能描述 | 常用示例 |
|---|---|---|
make |
编译源代码(需先./configure) |
make && make install |
tar |
打包 / 压缩文件 | tar -czvf archive.tar.gz dir/(压缩目录) |
五、文本处理与编程
1.
文本处理
| 命令 | 功能描述 | sed:流编辑器(替换、删除等) |
|
|---|---|---|---|
awk |
强大的文本分析工具 | awk '{print $1}' file.txt(打印第一列) |
|
cut |
按列提取文本 | cut -d ',' -f 2 file.csv(按逗号分割,取第 2 列) |
|
sort |
排序文本 | sort file.txt |
|
uniq |
去重(需先排序) | `sort file.txt | uniq` |
2.
脚本与编程
| 命令 | 功能描述 | sh script.sh(执行 Shell 脚本) |
|
|---|---|---|---|
bash |
Shell 解释器 | bash -x script.sh(调试模式) |
|
env |
查看环境变量 | `env | grep PATH` |
export |
设置环境变量 | export MYVAR=value |
六、高级功能
1.
管道与重定向
- 管道
|:将前一个命令的输出作为后一个命令的输入
示例:ls -l | grep ".txt"(列出文件并筛选.txt 文件) - 重定向:
> file:输出重定向(覆盖文件)>> file:追加输出< file:输入重定向2> error.log:错误输出重定向
2.
通配符
*:匹配任意字符(如*.txt)?:匹配单个字符(如file?.txt)[]:匹配范围内的字符(如[a-z].txt)
3.
压缩与解压缩
| 命令 | 功能描述 | 常用示例 |
|---|---|---|
gzip/gunzip |
压缩 / 解压缩(不保留原文件) | gzip file.txt、gunzip file.txt.gz |
tar |
打包并压缩(支持多种格式) | tar -xzvf archive.tar.gz(解压 gz 文件) |
unzip |
解压 zip 文件 | unzip file.zip |
七、实用工具
| 命令 | 功能描述 | 常用示例 |
|---|---|---|
date |
显示 / 设置系统时间 | date "+%Y-%m-%d %H:%M:%S" |
cal |
显示日历 | cal 2025 |
du |
查看目录大小 | du -sh /var |
wc |
统计文件行数、字数、字节数 | wc -l file.txt(统计行数) |
history |
查看命令历史 | history(显示所有历史命令) |
八、帮助与文档
man <命令>:查看命令手册(如man ls)--help:获取简单用法说明(如ls --help)- 在线资源:Linux man page(man7.org)、社区文档(如 Ubuntu Wiki)
总结
Linux 命令行的核心是 “组合使用”,通过管道、重定向和脚本将简单命令组合成强大的工作流。建议从基础命令入手,逐步学习文本处理(grep/awk/sed)、系统管理(systemctl/df/top)和网络工具(curl/scp),并通过 man 命令深入理解每个命令的参数。实践是掌握的关键,多尝试在终端中操作并分析输出!