哎呦 资料合集
链接:https://pan.quark.cn/s/770d9387db5f
你好,未来的Linux大神!如果你刚刚踏入Linux的世界,是否感觉黑色的命令行终端既神秘又有点令人望而生畏?别担心!今天,我们将一起揭开它的面纱,从理解Linux的文件系统骨架开始,到掌握那些能让你操作速度“起飞”的命令行快捷键。本文将带你通过大量实战代码案例,让你真正体验到命令行的强大与高效。
一、 探索Linux的“城市地图”:核心目录结构解析
在Linux中,一切皆文件。这些文件被有序地组织在一个巨大的树状结构中,其根源就是 / 目录。理解每个核心目录的功能,就像熟悉一座城市的地图,让你不再迷路。
1. 命令存放区:/bin 与 /sbin
-
/bin:存放所有用户都能使用的基本命令,比如 ls (列出目录)、cat (查看文件)、echo (打印文本)。 -
/sbin:存放只有系统管理员(root用户)才能使用的系统管理命令,比如 ifconfig (配置网络)、shutdown (关机)。
代码案例:
# /bin 目录下的命令,任何用户都可以执行
$ date
2023年 11月 21日 星期二 15:30:00 CST
# /sbin 目录下的命令,普通用户执行可能会提示权限不足或找不到命令
$ shutdown
bash: shutdown: command not found
# 或者
Must be root.
# 使用 sudo 提权后即可执行
$ sudo shutdown -h +1 "系统将在1分钟后关闭"
Shutdown scheduled for Tue 2023-11-21 15:31:00 CST, use 'shutdown -c' to cancel.
2. 系统配置中心:/etc
这个目录存放了系统和各种软件的配置文件,非常重要。
-
/etc/passwd:存储系统所有用户的账户信息。 -
/etc/group:存储用户组信息。 -
/etc/profile:系统级的环境变量配置文件,修改它会影响所有用户。
代码案例:
# 查看用户账户信息文件的前5行
$ head -n 5 /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
# 查看 passwd 文件的格式说明
$ man 5 passwd
# (按 q 退出 man 页面)
3. 软件与库的家园:/usr, /opt, /lib
/usr:(Unix Software Resource) 最庞大的目录之一,类似Windows的 C:\Program Files,存放了用户安装的应用程序、文档和库。
-
/usr/include:存放C/C++编程所需的头文件。
-
/opt:用于安装“可选的”第三方大型应用程序,比如Oracle数据库。 -
/lib:存放系统和程序运行时所依赖的动态链接库(.so文件)。
代码案例:
# 查看 /usr/include 目录下的 C 语言标准输入输出头文件
$ ls /usr/include/stdio.h
/usr/include/stdio.h
# 玩一个/usr/games下的小游戏(如果已安装)
# sudo apt-get install sl (Debian/Ubuntu)
# sudo yum install sl (CentOS/RHEL)
$ sl
# (屏幕上会有一辆蒸汽小火车开过)
4. 硬件设备文件:/dev
Linux将所有硬件设备(如硬盘、鼠标、键盘)都抽象为文件,存放在此目录。
代码案例:
# 列出所有以 'sd' 开头的设备文件(通常代表SATA硬盘或U盘)
$ ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2 /dev/sdb /dev/sdb1
# /dev/null 是一个特殊的设备,写入它的任何数据都会被丢弃
$ echo "这些文字将会消失" > /dev/null
$ cat /dev/null
# (无任何输出)
二、 命令行效率神器:Tab键自动补全
Tab键是你必须掌握的第一个,也是最重要的快捷键。它能自动补全命令、文件名和路径名,极大地提升你的工作效率。
代码案例:
- 命令补全:输入命令的前几个字母,按
Tab。
# 输入 his 然后按一次 Tab 键
$ his<Tab>
# 命令行会自动补全为
$ history
- 路径/文件补全:
# 假设当前目录下有 Documents 目录
# 输入 cd Doc 然后按一次 Tab 键
$ cd Doc<Tab>
# 命令行会自动补全为
$ cd Documents/
- 显示所有可能性:如果补全不唯一,连按两次
Tab会列出所有可能的选项。
# 输入 systemctl re 然后连按两次 Tab 键
$ systemctl re<Tab><Tab>
read-ahead-collect read-ahead-replay read-ahead-done
reboot reload reload-or-restart
rescue reset-failed restart
# 命令行会保持原样,并列出所有以 're' 开头的可用参数
$ systemctl re
三、 像专业程序员一样编辑命令:光标移动与文本操作
告别方向键和不停地按 Backspace!学会下面这些快捷键,你的双手可以始终保持在键盘主区域,实现真正的“盲打”操作。
1. 光标的瞬间移动
-
Ctrl + a:移动光标到行首 (a = ahead)。 -
Ctrl + e:移动光标到行尾 (e = end)。 -
Ctrl + f:光标前进一个字符 (f = forward)。 -
Ctrl + b:光标后退一个字符 (b = backward)。
实战场景: 假设我们输入了一个长命令,但发现开头的cp命令打错了,想改成mv。
# 原始命令,光标在行尾
$ cp /var/log/very_long_log_file_name.log /home/user/backup/<光标>
# 按下 Ctrl + a,光标瞬间移动到行首
$ <光标>cp /var/log/very_long_log_file_name.log /home/user/backup/
# 现在可以轻松地删除 'cp' 并输入 'mv'
2. 历史命令的快速穿梭
-
Ctrl + p:显示上一条历史命令 (p = previous)。 -
Ctrl + n:显示下一条历史命令 (n = next)。
这组快捷键与键盘的 ↑ 和 ↓ 箭头功能相同,但使用它们可以不让手离开主键盘区。
实战场景:
# 1. 执行第一个命令
$ ls -l
# ...输出内容...
# 2. 执行第二个命令
$ pwd
/home/user
# 3. 按下 Ctrl + p
$ pwd # 命令行会变回 pwd
# 4. 再按一次 Ctrl + p
$ ls -l # 命令行会变回 ls -l
# 5. 按下 Ctrl + n
$ pwd # 命令行又回到了 pwd
3. 高效的删除与清空
-
Ctrl + d:删除光标所在位置的字符(相当于Delete键)。 -
Ctrl + h:删除光标前一个字符(相当于Backspace键)。 -
Ctrl + k:删除从光标位置到行尾的所有内容 (k = kill)。 -
Ctrl + u:删除从光标位置到行首的所有内容 (u = undo-style)。
实战场景: 修改一个复杂的路径。
# 初始命令,我们想把 /etc/systemd/system 改成 /etc/nginx/sites-available
$ sudo nano /etc/systemd/system/my-service.service
# 1. 使用 Ctrl+b 或方向键将光标移动到 'systemd' 的 's' 前面
$ sudo nano /etc/<光标>systemd/system/my-service.service
# 2. 按下 Ctrl + k,删除光标到行尾的所有内容
$ sudo nano /etc/
# 3. 现在输入新的路径
$ sudo nano /etc/nginx/sites-available/my-site.conf
四、 知识小结与备忘清单
为了方便你快速回顾和练习,这里有一份核心知识点的备忘清单:
|
知识点 |
核心内容 |
重点/易混淆点 |
|
Tab键 |
快速补齐文件名、路径名、命令等 |
连按两次Tab会列出所有可能性 |
|
历史命令 |
|
推荐使用快捷键保持盲打手型,而非方向键 |
|
光标移动 |
|
替代Home/End键,避免手离开键盘主区域 |
|
删除操作 |
|
|
|
快速清空 |
|
|


302

被折叠的 条评论
为什么被折叠?



