Linux 基础命令万字学习笔记(文件操作 + 重定向 + 管道详解)
前言
刚入门 Linux 时最容易混淆文件、目录操作命令,还有输出重定向、管道符这些核心 IO 概念。本文结合实操截图,系统梳理目录切换、文件创建删除、拷贝移动、文件查看、重定向、管道、时间命令全套基础指令,附带底层原理与踩坑案例,适合零基础入门、复习巩固。
一、基础前置概念
1. 工作目录 pwd
-
作用:print working directory,打印当前所在绝对路径
-
实操:
[root@bite-alicloud ~]# pwd /root
-
补充:Windows 盘符式路径,Linux 统一以
/根目录为起点,所有文件都挂载在根下。
2. 切换目录 cd
|
命令 |
效果 |
|
|
切换到指定目录(绝对 / 相对路径都支持) |
|
|
回到当前用户家目录(root 家目录是 /root,普通用户 /home/ 用户名) |
|
|
回到上一级父目录 |
|
|
当前目录(基本不用,仅在执行本地脚本时使用 |
|
|
在上一次目录和当前目录来回切换 |
实操示例:
# 绝对路径切换 cd /root/116_117/code # 返回上级 cd .. # 快速回家 cd
3. 查看目录内容 ls
基础用法 ls [选项] [目录/文件]
-
ls:列出当前目录文件(仅名称) -
ls -l:长格式展示,权限、属主、大小、修改时间、文件名 -
ls -a:显示所有文件,包含隐藏文件(以.开头的文件,比如.bashrc) -
ls -lh:人类可读大小(KB/MB 单位)
长格式拆解 drwxr-xr-x 2 root root 4096 May 25 17:53 code
-
第一位:文件类型
d= 目录、-= 普通文本、l= 软链接、b/c= 设备文件 -
后 9 位:三段读写执行权限(所有者、所属组、其他用户)
-
数字:硬链接计数
-
root root:文件所有者、所属用户组
-
4096:文件占用磁盘大小
-
最后:修改时间、文件名
二、目录 & 文件增删改操作
1. 创建文件夹 mkdir
-
mkdir test:创建单层目录 test -
mkdir -p a/b/c/d:递归创建多层嵌套目录,不加-p上级不存在会报错
2. 创建空文件 touch
touch hello.txt
底层逻辑:
-
文件不存在:新建空白普通文件
-
文件已存在:更新文件访问 / 修改时间戳,不改动原有内容
3. 删除操作 rm(高危命令)
基础语法 rm [选项] 文件/目录
-
删除文件:
rm hello.txt,会弹出确认提示y确认删除 -
强制删除不提示:
rm -f hello.txt(f=force 强制) -
删除文件夹(递归删除):
-
rm -r testdir:递归删除目录,逐层确认 -
rm -rf testdir:生产常用,强制递归删除目录,无任何确认弹窗
-
⚠️ 生产红线:禁止执行
rm -rf /或rm -rf /*,会清空服务器所有数据!
4. 拷贝 cp
语法 cp [选项] 源文件/源目录 目标位置
-
复制文件:
cp hello.txt /root/code/ -
复制并重命名:
cp hello.txt hello_bak.txt -
复制文件夹:必须加
-r递归参数
cp -r lesson4 lesson4-backup
补充:目标是目录时,源会放进目录内;目标是文件名时,代表拷贝后重命名。
5. 移动 / 重命名 mv
-
同目录内 = 重命名:
mv hello.txt new_hello.txt -
跨目录移动:
mv hello.txt /root/code/ -
移动 + 改名一步到位:
mv hello.txt /root/code/hello2.txt
mv 相比 cp:仅修改文件路径指针,不复制磁盘数据,速度远快于拷贝。
三、文件内容查看命令
1. cat 读取完整文件
cat hello.txt # 清空文件(搭配输出重定向) cat > empty.txt
适用场景:小文件完整查看,大文件不推荐(刷屏)。
2. more / less 分页查看大文件
-
more hello.txt:分页加载,回车翻一行、空格翻一页,看完自动退出 -
less hello.txt:增强版分页,支持上下键滚动、/关键词搜索,q手动退出
3. 头尾截取 head / tail
-
head -n 10 hello.txt:读取文件前 10 行,默认不加-n输出前 10 行 -
tail -n 10 hello.txt:读取文件末尾 10 行 -
高频运维用法:
tail -f log.txt实时追踪日志新增内容(看服务运行日志必备)
四、输出重定向(Linux 一切皆文件核心)
底层原理
Linux 硬件设备都被抽象成文件:
-
标准输出 stdout:终端屏幕,文件描述符
1 -
标准输入 stdin:键盘,文件描述符
0 -
标准错误 stderr:错误信息,文件描述符
2
重定向符号:
-
>覆盖重定向:清空目标文件,再写入内容
# echo输出文字覆盖写入hello.txt echo "hello 你好" > hello.txt
-
>>追加重定向:文件末尾追加内容,不清空原有数据
echo "新增一行内容" >> hello.txt
-
<输入重定向:从文件读取内容代替键盘输入
cat < hello.txt
实操验证:
# 先覆盖写入 echo "第一行" > test.txt # 追加第二行 echo "第二行" >> test.txt cat test.txt # 输出: # 第一行 # 第二行
五、管道符 |
语法:命令1 | 命令2 逻辑:把命令 1 的标准输出,作为命令 2 的标准输入,数据在内存流转,不落地磁盘。
示例:读取文件 2000 行,只看最后 10 行
head -n 2000 hello.txt | tail -n 10
流程:head 取出前 2000 行 → 通过管道传给 tail → tail 截取末尾 10 行输出到屏幕。
六、时间日期命令 date
1. 基础查看
date # 输出完整本地时间 Tue Jul 14 16:20:00 CST 2026
2. 格式化输出(常用格式符)
|
符号 |
含义 |
|
|
4 位年份 2026 |
|
|
2 位月份 01-12 |
|
|
2 位日期 01-31 |
|
|
24 小时制小时 00-23 |
|
|
分钟 |
|
|
秒 |
|
|
时间戳(1970-01-01 至今总秒数) |
实操:
# 年-月-日 时:分:秒 date +%Y-%m-%d %H:%M:%S # 获取时间戳 date +%s
七、man 手册帮助文档
Linux 所有命令都自带官方手册,用 man 命令 查看
man ls man cp
手册分 9 个章节,常用:
-
用户 shell 基础命令
-
系统调用
-
库函数
-
配置文件格式(如 passwd)
-
系统管理员命令
八、高频踩坑总结
-
rm -rf无撤回,操作目录前先用ls确认路径,禁止直接删根 -
mkdir创建多层目录必须带-p参数,否则报错 -
拷贝目录
cp、删除目录rm都需要-r递归参数,不加会提示是目录无法操作 -
>覆盖重定向会清空文件,日志追加务必使用>> -
大文件不要用 cat,优先 less/tail 分页查看
-
管道仅传递标准输出,报错信息不会流入管道,如需过滤错误要结合
2>&1
更多推荐

所有评论(0)