一、查找命令位置:which & find
1. which 命令
作用:仅在系统 PATH 环境变量的目录中搜索可执行程序,快速定位命令本体路径 示例:
which ls
# 输出 /usr/bin/ls
底层逻辑:系统绝大多数内置命令、工具都存放在/usr/bin目录,which 只会检索 PATH 里配置的路径,查找速度极快。
2. find 全局查找
语法:
find /usr/bin -name XXX
特点:遍历指定目录下所有子文件夹 匹配文件名,搜索范围更大,但速度慢; ⚠️ 不推荐直接写find / -name xxx全盘搜索,会大量占用服务器 IO 资源,污染系统运行性能。
补充:别名风险
使用alias给命令设置别名仅存于当前内存,一旦重启 / 重新登录服务器,所有别名全部失效,无法永久生效。
二、压缩、解压与远程传输 scp
1. 压缩工具分类
- zip/unzip:轻量跨平台压缩
# 压缩
zip -r lesson05.zip lesson05
# 解压
unzip lesson05.zip
- tar(Linux 标准归档工具,支持 gzip 压缩)
# 压缩打包
tar zcf target.tgz 待打包目录
# 解压
tar zxf target.tgz -C test
# -C 指定解压到test目录(绝对/相对路径均可)
2. scp 跨服务器文件传输
适用场景:云服务器之间批量传输文件,底层 SSH 加密传输 语法:
# 本地文件传到远程服务器
scp lesson05.tgz 用户名@服务器IP:目标存放路径
# 示例
scp lesson05.tgz whb@8.137.19.140:/home/whb/code/da_ju
交互时输入远程服务器对应账号密码即可完成传输;passwd 命令用于修改本机用户密码,不同服务器账号密码相互独立。
三、查看 CPU 与系统架构 uname
基础命令
uname -r # 查看内核版本
uname -m # 查看CPU硬件架构
输出区分:
-
x86:32 位老式 CPU 架构
-
x86_64:64 位通用 PC 服务器架构(当前主流) 快捷操作:
tab自动补全命令 / 路径;ctrl+c终止当前执行进程。
四、Linux 内核与 Shell 外壳核心原理(重点)
1. 广义操作系统分层
完整操作系统 = Linux 内核 + Shell 外壳程序 + 图形界面 + 各类应用软件
-
内核:操作系统底层核心,管控硬件、内存、进程、磁盘等硬件资源,普通用户禁止直接交互内核;
-
Shell(外壳):内核的 "中间人保护层",用户只能通过 Shell 发送指令,由 Shell 转发给内核执行;
-
设计目的:隔离用户与底层内核,防止误操作破坏系统,相当于内核的安全防护屏障。
2. Shell 工作流程(大白话模型)
拿「用户输入命令」举例子:
-
用户在终端输入指令(如
ls); -
当前登录的 Shell 程序(默认
/usr/bin/bash)接收输入; -
Shell 解析命令,查找对应可执行程序;
-
Shell 把操作请求转发给 Linux 内核;
-
内核调用硬件资源执行操作,结果原路返回 Shell,展示给用户。
3. command not found 报错底层原因
当输入不存在的命令时系统提示command not found,分两类场景:
-
命令拼写错误,PATH 中找不到对应可执行文件;
-
自定义脚本 / 工具未加入 PATH,且未写完整绝对路径执行;
4. 核心总结:二级隔离机制
用户 ↔ Shell 外壳(保护层) ↔ Linux 内核
-
用户不能直连内核,所有操作必须经过 Shell 中转;
-
外壳起到权限隔离、风险防护作用,避免用户误删系统底层核心文件导致服务器崩溃。
五、学习小结
-
查找命令优先
which,全局检索少量文件再用find,杜绝全盘搜索; -
日常归档优先
tar zcf/zxf,跨机器文件传输用加密scp; -
uname -m快速区分 32/64 位服务器架构; -
Linux 最核心设计:Shell 外壳隔离用户与内核,是系统安全的关键;
-
所有临时别名仅内存生效,重启丢失,永久自定义命令需要配置环境变量文件。