Linux 常用指令详解与重定向实战
前置知识:Linux 的底层逻辑
1.1 Linux 指令本质
终端输入的 ls、cp 等指令,本质是系统中预先编译好的可执行程序。它们分为两类:
- 内置指令:如
cd、alias,是 Shell 自带程序,没有独立路径(执行which cd查不到)。 - 外部指令:如
ls、cp,位于/usr/bin等目录下,是独立的二进制文件,终端可直接调用。
注:指令、可执行程序、二进制文件、可执行文件在语境下通常指代同一概念。
1.2 ls vs ls -l vs ll
| 命令 | 本质 | 显示内容 | 特点 |
|---|---|---|---|
ls | 基础命令 | 仅文件名(多列) | 简洁、快速 |
ls -l | 带选项的命令 | 详细信息(权限、所有者、大小等) | 功能强大,信息全面 |
ll | ls -l 的别名 | 与 ls -l 完全相同 | 快捷方式,输入更方便 |
ls:只显示文件名,最基础。ls -l:显示详细权限、大小、时间等信息。ll:是ls -l的快捷别名,两者输出完全一致。
1.3'一切皆文件':从 /dev 设备说起
Linux 中所有对象抽象为文件,包括硬件设备(存于 /dev 目录)。核心案例是终端窗口对应 /dev/pts/N 设备文件(N 为编号),向其写入内容会直接在终端显示。
# 步骤 1:查看终端设备文件
[root@VM-4-4-centos ~]# ls -l /dev/pts
total 0
crw--w---- 1 root tty 136, 0 Oct 12 11:40 0
# 终端 0(字符设备,c 开头)
crw--w---- 1 root tty 136, 1 Oct 12 11:40 1
# 终端 1
c-------- 1 root root 5, 2 Mar 12 2025 ptmx
# 步骤 2:向终端 1 写入内容(在终端 1 可见)
[root@VM-4-4-centos ~]# echo "Hello from terminal 0" > /dev/pts/1
[root@VM-4-4-centos ~]# echo "Repeat 3 times" > /dev/pts/1


