1.快捷键2.历史命令3.导航命令4.文件基础操作4.1.创建目录4.2.创建文件4.3.删除文件及目录4.4.查看文件内容4.5.内容查找
1.快捷键
快捷键 | 描述 |
---|---|
tab | 自动补全 |
ctrl+a | 跳转行首 |
ctrl+e | 跳转行尾 |
ctrl+l | 清屏 |
ctrl+c | 终止程序执行 |
ctrl+d | 退出shell,回到登录界面 |
2.历史命令
命令 | 描述 |
---|---|
↑ / ↓ 箭头 | 浏览历史命令记录 |
history | 查看最近执行的命令列表(默认保存 1000 条) |
!编号 | 执行历史记录中指定编号的命令 |
!! | 重新执行上一条命令 |
案例演示:
$ history 1 ls 2 cd ~ 3 vim file.txt $ !2 # 执行编号为 2 的命令(cd ~) $ sudo !! # 上一条命令前加 sudo
3.导航命令
命令 | 描述 |
---|---|
pwd | 显示当前工作目录 |
ls | 列出目录内容,主要参数有:-l (详情)、-a (显示隐藏文件) |
ll | 以详细信息的方式展示当前目录下的文件及子目录 |
cd | 切换目录 |
绝对路径 vs 相对路径
-
绝对路径:从根目录
/
开始的完整路径(如/home/zking/
) -
相对路径:基于当前目录的路径(如
../zking
)
示例一:
$ pwd # 输出 /home/zking $ cd /var/log # 绝对路径跳转 $ cd ../../ # 相对路径返回两级目录 $ cd / # 切换到根目录 $ cd ../ # 切换到上级目录 $ cd ~ # 切换到用户目录
示例二:
$ ls -al # 显示所有文件(含隐藏文件) $ ll # 打印目录详情
文件类型说明:
文件类型标识 | 说明 |
---|---|
- | 表示普通文件 |
d | 表示目录 |
l | 表示链接文件 |
p | 表示管道文件 |
b | 表示块设备文件 |
c | 表示字符设备文件 |
s | 表示套接字文件 |
4.文件基础操作
命令 | 描述 |
---|---|
mkdir | 创建目录。-p 表示递归创建 |
rmdir | 删除空目录 |
touch | 创建空文件 |
echo | 输出内容/创建文件。> 表示覆盖;>> 表示追加 |
rm | 删除给定的文件和目录。-r 表示递归删除目录;-f 表示强制删除 |
cat | 连接文件并打印到标准输出设备上。cat经常用来显示文件的内容 |
4.1.创建目录
创建目录,语法格式:
mkdir -选项 -参数 # 创建目录
选项: -m 创建目录时同时设置文件的权限 -p 如果上级目录没有创建,即创建输入路径上的所有目录
示例一:
$ mkdir /zking $ mkdir -p /zking/java/html $ mkdir /zking/{logs,data}
4.2.创建文件
touch命令创建文件,语法格式:
touch 文件名 # 创建空文件
echo命令创建文件,语法格式:
echo 文件内容 > 文件名 # 将指定的文件内容添加到文件中,重复操作将会覆盖 echo 文件内容 >> 文件名 # 在指定的文件中追加内容,不覆盖
注意:后续还会学习
vi/vim
方式创建文件。
示例一:
# 写入内容 $ echo "Hello World" > aa.txt $ echo "2025 Zking" >> aa.txt
4.3.删除文件及目录
-
rm
命令:删除文件或目录(Remove
)。语法格式:
rm [参数] 文件或目录名
常用参数:
参数 | 说明 |
---|---|
-r | 递归删除目录及其内容(用于删除目录)。 |
-f | 强制删除,不提示确认(Force)。 |
-v | 显示删除过程的详细信息。 |
-i | 交互式删除,删除前提示确认。 |
示例一:
# 删除单个文件,直接删除文件(若文件不存在会报错) $ rm oldfile.txt # 强制删除文件(无提示) $ rm -f temp.log # 递归删除目录 $ rm -r a.txt # 强制递归删除目录(慎用!) $ rm -rf data/ # 交互式删除文件 rm -i b.txt
注意:
rm -rf
是Linux
中最危险的命令之一,可能瞬间删除系统关键文件,务必谨慎使用!删除前建议先用ls
确认目标路径,避免误操作。
-
rmdir
命令:删除空目录(Remove Directory
)。语法格式:
rmdir [参数] 目录名
与
rm -r
不同,rmdir
只能删除空目录,不能删除文件或非空目录,因此更加安全,适合在脚本中谨慎使用。
常用参数:
参数 | 说明 |
---|---|
-p | 递归删除空目录(删除父目录时,若子目录为空也一并删除)。 |
-v | 显示删除过程的详细信息(Verbose)。 |
--ignore-fail-on-non-empty | 忽略因目录非空导致的错误(不报错,但依然不会删除)。 |
示例一:
# 创建目录并删除 # 若目录非空,会报错:rmdir: failed to remove 'empty_dir': Directory not empty $ mkdir empty_dir $ rmdir empty_dir # 递归删除空目录(-p参数) # 执行逻辑:先尝试删除 dir1/dir2(若为空则成功);再检查 dir1 是否为空,若为空则删除 dir1。 # 创建多级目录 mkdir -p dir1/dir2 # 从子目录开始向上删除空目录 rmdir -p dir1/dir2
rmdir
vsrm -r
对比
命令 | 作用 | 风险 | 适用场景 |
---|---|---|---|
rmdir | 仅删除空目录 | 低(安全) | 确保目录为空时使用,如脚本清理临时目录 |
rm -r | 递归删除目录及内容 | 高(可能误删) | 需要强制删除非空目录时 |
4.4.查看文件内容
cat命令:查看文件内容、合并文件、创建文件、追加内容等(Concatenate 的缩写)。语法格式:
cat [选项] [文件1] [文件2] ...
常用选项:
选项 | 作用 |
---|---|
-n | 显示行号(包括空行) |
-b | 显示行号(忽略空行) |
-s | 压缩连续空行为一行 |
-A | 显示所有控制字符(如 ^I 代表 Tab,$ 代表行尾) |
-T | 显示 Tab 字符为 ^I |
-E | 在每行末尾显示 $ |
示例一:
# 查看文件内容 $ cat file.txt # 显示行号(-n) $ cat -n file.txt # 合并多个文件 $ cat file1.txt file2.txt > he.txt # 创建新文件(Ctrl+D 结束输入,Ctrl+C 退出) $ cat > newfile.txt # 追加内容到文件(Ctrl+D 保存输入,Ctrl+C 退出) $ cat >> existing.txt
注意:在操作大文件时慎用,
cat
会一次性加载整个文件到内存,大文件可能导致卡顿;cat
仅用于查看/合并,编辑需用nano
、vim
等。
4.5.内容查找
grep
(Global Regular Expression Print)是 Linux/Unix 系统中强大的文本搜索工具,用于在文件或输入流中查找匹配指定模式的行。语法格式:
grep [选项] "搜索模式" [文件...]
-
搜索模式:可以是普通字符串或正则表达式。
-
文件:可指定一个或多个文件;若不指定,则从标准输入读取。
常用选项:
选项 | 说明 |
---|---|
-i | 忽略大小写 |
-v | 反向匹配,显示不包含模式的行 |
-n | 显示匹配行的行号 |
-c | 统计匹配的行数(不显示具体内容) |
-r 或 -R | 递归搜索目录下的所有文件 |
-l | 仅显示包含匹配项的文件名 |
-w | 精确匹配整个单词 |
-A <n> | 显示匹配行及其后 n 行 |
-B <n> | 显示匹配行及其前 n 行 |
-C <n> | 显示匹配行及其前后各 n 行 |
-e | 指定多个匹配模式 |
--color=auto | 高亮显示匹配内容 |
示例一:
# 在文件中搜索 "error" $ grep "error" log.txt # 忽略大小写搜索 $ grep -i "error" log.txt # 递归搜索当前目录下所有文件 $ grep -r "main" /home/zking # 搜索 "foo" 或 "bar" grep -e "foo" -e "bar" file.txt # 显示匹配行及前后 2 行 $ grep -C 2 "error" log.txt # 显示匹配行及后 3 行 $ grep -A 3 "info" log.txt
典型应用场景:
-
日志分析:快速查找错误信息。
grep -n "ERROR" /var/log/syslog
-
代码搜索:在项目中查找函数调用。
grep -r "def calculate" src/
-
系统监控:检查进程是否运行。
ps aux | grep "nginx"
-
数据清洗:提取符合条件的数据行。
cat data.csv | grep "2023-01"