cd
切换目录,ls
查看文件,pwd
显示当前路径,sudo
提权,按 Enter理解Linux指令的基本构成
每条Linux指令由以下要素组成:
| 组成部分 | 作用 | 示例 |
|—————-|———————————————————————-|————————–|
| 命令名称 | 核心功能标识符 | ls
, cp
, grep
|
| 选项/参数 | 修改命令行为或指定附加条件(以或开头) | -l
(详细列表)、-r
(递归)|
| 参数/对象 | 命令作用的目标(文件、目录、设备等) | /home/user/file.txt
|
| 分隔符 | 空格用于分隔不同部分 | command -option arg1 arg2
|
✅ 关键规则:
- 大小写敏感:
LS
与ls
是不同命令。 - 选项组合:多个单字符选项可合并书写(如
-la
等价于-l -a
)。 - 长选项优先:推荐使用
--help
获取完整帮助而非依赖记忆。
常用指令分类详解
🔹 文件与目录操作
命令 | 功能描述 | 典型用法示例 | 备注 |
---|---|---|---|
ls |
列出目录内容 | ls -l (带权限详情)、ls ~/Documents |
默认隐藏以开头的文件 |
cd |
切换当前工作目录 | cd /var/log |
cd .. 返回上级目录 |
pwd |
显示当前所在路径 | pwd → /home/user |
无参数直接输出 |
mkdir |
创建新目录 | mkdir projects projects/subdir |
同时创建多级目录需-p |
touch |
创建空文件或更新文件时间戳 | touch newfile.txt |
常用于初始化文件 |
rm |
删除文件/目录 | rm garbage.txt , rm -r old_folder |
-r 递归删除目录,慎用! |
cp |
复制文件/目录 | cp src.txt dest.txt , cp -r src/ dir/ |
-i 交互式确认覆盖 |
mv |
移动或重命名文件/目录 | mv oldname.txt newname.txt |
跨设备移动需特别注意 |
🔹 系统信息与监控
命令 | 功能描述 | 典型用法示例 | 补充说明 |
---|---|---|---|
df -h |
查看磁盘空间占用情况 | df -h → 人性化显示GB/MB单位 |
-h 表示human-readable |
free -m |
查看内存使用情况 | free -m → 按MB显示 |
-m 指定单位为兆字节 |
top |
实时监控系统资源占用 | top → 按q 退出 |
动态刷新,按M 排序内存占用 |
ps aux |
查看当前运行的所有进程 | ps aux | grep firefox |
结合管道过滤特定进程 |
kill PID |
终止指定进程 | kill 1234 |
先用pgrep 查找进程号 |
🔹 文本处理与搜索
命令 | 功能描述 | 典型用法示例 | 进阶用法 |
---|---|---|---|
cat |
查看文件内容 | cat config.conf |
适合小文件,大文件用less |
more/less |
分页查看文件内容 | less largefile.log → 方向键滚动 |
/keyword 快速搜索 |
head/tail |
查看文件首尾部分 | head -n 10 data.csv |
-n 指定行数 |
grep |
搜索包含特定内容的行 | grep "error" system.log |
-i 忽略大小写,-r 递归搜索 |
wc |
统计文件行数、单词数、字符数 | wc -l script.sh |
-l 仅统计行数 |
🔹 软件包管理
不同发行版采用不同包管理器:
| 发行版 | 包管理器 | 安装命令示例 | 卸载命令示例 |
|————–|—————-|—————————-|—————————-|
| Ubuntu/Debian| apt
| sudo apt install curl
| sudo apt remove curl
|
| CentOS/RHEL | yum
/dnf
| sudo yum install httpd
| sudo yum remove httpd
|
| Arch Linux | pacman
| sudo pacman -S neovim
| sudo pacman -R neovim
|
提升效率的实用技巧
🔄 历史命令与自动补全
- 调出历史命令:按↑↓箭头浏览之前输入过的命令。
- 编辑历史命令:调出后可直接修改再执行。
- !编号执行:
!123
快速重新执行第123条历史命令。 - Tab键自动补全:输入部分字符后按Tab可自动补全命令或文件名。
🔗 管道(Pipe)与重定向(Redirection)
符号 | 功能描述 | 示例 |
---|---|---|
将前一个命令的输出作为下一个命令的输入 | cat file.txt | grep "success" |
|
> |
将输出重定向到文件(覆盖原有内容) | ls > directory_list.txt |
>> |
追加输出到文件尾部 | echo "new line" >> log.txt |
2>&1 |
将错误输出合并到标准输出 | command_that_fails 2>&1 > errors.log |
🎯 通配符与正则表达式
- 通配符:匹配任意字符,匹配单个字符。
- 例:
rm junk.tmp
删除所有以junk开头、.tmp结尾的文件。
- 例:
- 正则表达式:在
grep
等命令中使用:^
匹配行首,匹配行尾。- 匹配任意长度字符。
常见错误及解决方法
错误类型 | 现象示例 | 原因分析 | 解决方案 |
---|---|---|---|
Command not found | bash: command: command not found |
命令未安装或PATH环境变量缺失 | sudo apt install package 或手动添加路径 |
Permission denied | rm: cannot remove 'rootfile': No such file or directory |
当前用户无权限操作 | 使用sudo 提权或修改文件权限(chmod) |
Ambiguous input | bash: ambiguous redirect: ... |
重定向符号使用错误 | 检查> , < , 前后是否有空格 |
Command stuck | 长时间无响应 | 可能是死循环或资源耗尽 | 按Ctrl+C强制终止 |
相关问答FAQs
Q1: 我输入了一个命令但是没有任何反应,也没有报错怎么办?
A: 可能原因包括:①命令正在后台运行(如带&
;②命令卡住等待输入(如vi
编辑器),解决方法:①检查是否有后台进程(jobs
命令);②按Ctrl+C
中断当前命令;③确认命令是否需要额外参数。
Q2: 如何快速清除屏幕上的所有输出内容?
A: 使用快捷键Ctrl+L
清屏,或输入命令clear
,两者效果相同,但clear
会保留命令历史记录,而Ctrl+L
仅清理显示区域。
通过掌握上述指令和技巧,您可以显著提升在Linux系统中的操作效率,建议结合实际操作多加练习,逐步熟悉各类命令的用法,遇到复杂需求时,善用man page
(如man ls
)或在线文档
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/100672.html