第二章:Shell 基础命令
1. shell 的定义
定义:
Shell 是用户与操作系统核心之间的接口程序,负责解析并执行用户输入的指令或脚本。
常见 Shell:
bash
、
sh
、
zsh
、
csh
等。
命令查看当前使用的 Shell:
echo $SHELL
2. echo 命令
作用:
输出字符串或变量的值。
用法:
echo "hello world" # 输出字符串 echo $USER # 输出变量值 echo -e "a\nb" # -e 解释转义字符(\n换行)
3. 文件操作命令
创建文件:
touch file.txt
写入(覆盖/追加):
echo "内容" > file.txt # 覆盖写入 echo "内容" >> file.txt # 追加写入
删除文件:
rm file.txt
4. 创建多级目录
命令:
mkdir -p /home/user/test/demo
说明:
-p
表示递归创建多个层级的文件夹。
5. 文件内容查看命令
| 命令 | 特点 |
|---|---|
|
一次性显示整个文件内容,适合短文件 |
|
分页查看(空格下一页,q退出) |
|
支持上下滚动、搜索(更强大) |
示例:
cat file.txt more file.txt less file.txt
6. 其他常用命令
- tail:显示文件末尾内容
tail -n 10 file.txt tail -f log.txt # 实时追踪文件更新 - wc:统计文件行数、字数、字符数
wc file.txt wc -l file.txt # 只显示行数 - grep:搜索匹配字符串
grep "关键字" file.txt grep -n "关键字" file.txt # 显示行号 grep -i "word" file.txt # 忽略大小写
第三章:Shell 特性与变量
1. 重定向符
| 符号 | 含义 |
|---|---|
|
输出重定向(覆盖) |
|
输出追加 |
|
输入重定向 |
例:
ls > list.txt # 将输出保存到文件 cat < list.txt # 从文件读取输入
2. 三种通配符
| 通配符 | 含义 |
|---|---|
|
匹配任意多个字符 |
|
匹配任意单个字符 |
|
匹配指定范围内的任意一个字符 |
例:
ls *.txt # 所有txt文件 ls a?.txt # 匹配a1.txt、a2.txt等 ls [ab]* # 以a或b开头的文件
3. 变量与引用
定义变量:
name="Tom"
使用变量:
echo $name
单双引号区别:
- 单引号:
不解析变量' ' - 双引号:
会解析变量" "
例:
echo '$name' # 输出 $name echo "$name" # 输出 Tom
第四章:Vim 与 Shell 脚本
1. Vim 的三种模式
| 模式 | 功能 | 进入方式 |
|---|---|---|
| 命令模式 | 接受指令(复制、删除、保存) | 默认进入 |
| 插入模式 | 输入文本 | ,, |
| 底行模式 | 保存/退出 | 开头,例如 |
模式转换:
- 命令 → 插入:
i - 插入 → 命令:
Esc - 命令 → 底行:
:
2. Shell 脚本编写与执行
脚本编写:
#!/bin/bash echo "Hello, Shell!"
执行的 4 种方式:
bash script.sh、sh script.sh、./script.sh(需执行权限:chmod +x script.sh). script.sh 或 source script.sh(在当前 Shell 中执行)
3. 特殊位置变量
| 变量 | 含义 |
|---|---|
|
当前脚本名 |
|
第 n 个参数(如 ,) |
|
参数个数 |
|
上一条指令的返回值(0 表示成功) |
例:
echo "脚本名:$0" echo "第一个参数:$1" echo "参数个数:$#" echo "上一条命令返回值:$?"
4. 文件测试语句(判断文件是否存在)
| 测试符号 | 含义 |
|---|---|
|
文件存在 |
|
普通文件 |
|
目录存在 |
例:
if [ -d /home/user/test ]; then echo "目录存在" else echo "目录不存在" fi
5. if、for 语句结构
if语句:
if [ 条件 ]; then 命令 elif [ 条件 ]; then 命令 else 命令 fi
for语句:
for var in 1 2 3; do echo $var done
第五章:用户与权限管理
1. 用户管理
- 添加用户并指定家目录:
useradd -m -d /home/testuser testuser - 设置密码:
passwd testuser # 若使用 --stdin 可从标准输入读取密码(RedHat系): echo "123456" | passwd --stdin testuser - 删除用户:
userdel -r testuser # -r 表示删除用户及家目录 - 切换与退出:
su username # 切换用户 exit # 退出返回上一个用户
2. 文件权限数字表示
| 权限 | 数字值 | 含义 |
|---|---|---|
| r(读) | 4 | read |
| w(写) | 2 | write |
| x(执行) | 1 | execute |
例:
chmod 755 file # 等价于:rwxr-xr-x
3. 更改文件所有者(chown)
chown 用户名 文件名 chown 用户名:组名 文件名
例:
chown root file.txt chown user1:group1 file.txt
复习建议
- 简答题:背诵定义(Shell、vim三模式、变量符号等)
- 操作题:熟练掌握命令及选项
- 填空题:重点关注特殊符号、变量、权限数字


雷达卡


京公网安备 11010802022788号







