Linux基本指令1
一、课程目标
本节课主要有两个目标:
-
学习 15~20 条 Linux 基本指令,能够进行日常操作。
-
掌握指令背后的 Linux 核心知识点,理解文件系统、目录结构、路径等概念。
重要提示:指令本身不需要刻意记忆,随着后续课程的使用,你会自然掌握。真正的重点是理解指令背后所揭示的 Linux 系统原理。
二、图形界面与命令行
2.1 操作系统的发展
-
早期的操作系统(包括苹果、微软)全部是黑屏 + 指令操作。
-
图形化界面最早出现在 施乐公司 的实验室。
-
乔布斯参观后,苹果推出了 麦金塔,成为第一款带图形界面的爆款产品。
-
微软随后跟进,推出了 Windows 图形界面操作系统。
2.2 为什么学习命令行?
-
服务器不需要图形界面:图形界面会占用系统资源,服务器以提供服务为主,不需要频繁的人机交互。
-
命令行更接近本质:图形界面隐藏了太多细节,命令行让我们能直接理解文件、目录、权限等底层概念。
-
企业后端几乎全是命令行操作:无论是 CentOS 还是 Ubuntu,生产环境都以命令行为主。
小技巧:在 Xshell 中,
Alt + Enter可以全屏/退出全屏,提升操作体验。
三、常用指令详解
3.1 查看当前路径:pwd
pwd
-
作用:打印当前用户所处的目录路径(Print Working Directory)。
-
示例:
-
root 用户登录后默认在
/root。 -
普通用户登录后默认在
/home/用户名。
-
3.2 查看当前用户:whoami
whoami
-
作用:显示当前登录的用户名。
3.3 清屏:clear
clear
-
作用:清空当前终端屏幕内容。
3.4 列出目录内容:ls
| 命令 | 作用 |
|---|---|
ls |
列出当前目录下的文件名(普通文件) |
ls -l |
列出文件的详细信息(权限、大小、时间等) |
ls -a |
列出所有文件,包括隐藏文件(以 . 开头的文件) |
ls -la 或 ls -al |
列出所有文件的详细信息 |
示例:
ls -l # 输出示例: # drwxr-xr-x 2 root root 4096 Mar 30 10:00 mydir # -rw-r--r-- 1 root root 0 Mar 30 10:00 test.c
-
第一列的第一个字符:
-
d:目录(directory) -
-:普通文件(regular file)
-
3.5 切换目录:cd
| 命令 | 作用 |
|---|---|
cd 路径 |
切换到指定目录 |
cd . |
切换到当前目录(无变化) |
cd .. |
切换到上级目录 |
cd ~ |
切换到当前用户的家目录 |
cd - |
切换到上一次所在的目录 |
示例:
cd /root/113/lesson2 # 绝对路径切换 cd .. # 回到上级目录 cd ~ # 回到家目录 cd - # 在两个目录间来回切换
3.6 创建目录:mkdir
| 命令 | 作用 |
|---|---|
mkdir 目录名 |
创建一个空目录 |
mkdir -p 路径 |
创建多级目录(父目录不存在时自动创建) |
示例:
mkdir -p a/b/c/d/e # 一次性创建多级目录
3.7 创建文件:touch
| 命令 | 作用 |
|---|---|
touch 文件名 |
创建一个空文件 |
touch 已存在的文件 |
更新该文件的修改时间 |
示例:
touch hello.txt # 创建空文件 touch hello.txt # 更新文件时间
3.8 查看目录树结构:tree
tree tree 目录名
-
作用:以树形结构显示目录内容。
-
如果系统没有安装
tree,可以用以下命令安装:-
CentOS:
yum install -y tree -
Ubuntu:
apt install -y tree
-
3.9 删除文件或目录:rm
| 命令 | 作用 |
|---|---|
rm 文件名 |
删除普通文件(会提示确认) |
rm -f 文件名 |
强制删除文件(不提示) |
rm -r 目录名 |
递归删除目录(会提示确认) |
rm -rf 目录名 |
强制递归删除目录(不提示) |
⚠️ 警告:
rm -rf /会删除根目录下所有文件,系统将崩溃。
rm -rf *会删除当前目录下所有文件。Linux 没有回收站,删除即永久丢失,操作前务必确认!
3.10 拷贝文件或目录:cp
| 命令 | 作用 |
|---|---|
cp 源文件 目标文件 |
拷贝文件(可同时重命名) |
cp 源文件 目标目录/ |
拷贝文件到指定目录 |
cp -r 源目录 目标目录 |
递归拷贝目录 |
cp -f 源文件 目标文件 |
强制覆盖(不提示) |
示例:
cp hello.txt world.txt # 拷贝并重命名 cp hello.txt /root/113/ # 拷贝到指定目录 cp -r lesson2 lesson2_backup # 拷贝整个目录
注意:
如果目标文件已存在,普通用户会提示是否覆盖,root 用户默认提示。
加
-f选项可以强制覆盖,不提示。
3.11 查看命令位置:which
which ls # 输出:/usr/bin/ls
-
作用:显示命令对应的可执行文件的绝对路径。
3.12 查看命令手册:man
man ls # 查看 ls 命令的手册 man 1 ls # 查看 1 号手册(命令) man 3 printf # 查看 3 号手册(C 库函数)
手册章节划分:
-
1:用户命令(如
ls、cp) -
2:系统调用(如
fork、exit) -
3:C 库函数(如
printf、scanf)
查找规则:
man默认从 1 号章节开始查找,找不到再依次查 2、3 等。
退出手册:按 q 键。
3.13 给命令起别名:alias
alias ll='ls -l --color=auto' # 给 ls -l 起别名 ll alias 张三='pwd' # 给 pwd 起别名 张三
-
作用:为命令或命令组合起一个简短的名字。
-
注意:别名是临时的,退出终端后失效。
-
查看当前所有别名:直接输入
alias。
小知识:很多 Linux 系统中
ll就是ls -l的别名。
3.14 历史命令:上下键
-
上键:调出上一条执行过的命令。
-
下键:调出下一条命令。
3.15 终止当前程序:Ctrl + C
-
当程序卡住或无限循环时,按
Ctrl + C可以强制终止当前进程。
四、核心知识点总结
4.1 文件 = 内容 + 属性
-
内容:文件中实际存储的数据(如
hello world)。 -
属性:文件名、大小、类型、权限、创建时间、修改时间等。
-
即使是空文件,其属性也会占用磁盘空间。
文件操作分为两类:
对内容的操作:读写、追加等。
对属性的操作:修改权限、修改时间等。
4.2 Linux 目录结构:一棵多叉树
-
Linux 的所有文件和目录从根目录
/开始,形成一棵多叉树。 -
叶子节点:普通文件或空目录。
-
非叶子节点:非空目录。
特殊目录:
-
.(一个点):表示当前目录。 -
..(两个点):表示上级目录。 -
任何一个目录(即使是空目录)都默认包含这两个特殊目录。
正是因为
.和..的存在,我们才能用cd ..返回上级目录,用cd .原地不动。
4.3 路径
| 路径类型 | 定义 | 示例 |
|---|---|---|
| 绝对路径 | 从根目录 / 开始,路径唯一 |
/root/113/lesson2/test.c |
| 相对路径 | 以当前目录为参考 | ./test.c 或 ../server.cc |
-
应用场景:
-
配置文件、脚本中常用绝对路径(因为起始点确定,不会失效)。
-
日常操作中常用相对路径(写法简短)。
-
4.4 家目录
-
每个用户都有自己的家目录。
-
root 用户的家目录:
/root -
普通用户的家目录:
/home/用户名 -
登录后默认所在目录就是家目录。
-
快速回到家目录:
cd ~
Windows 中也有类似概念:C 盘下的
Users/用户名就是家目录,桌面本质上就是家目录下的Desktop文件夹。
4.5 命令的本质
-
Linux 中的命令就是可执行文件(通常是 C/C++ 编写的程序)。
-
系统命令存放在
/usr/bin、/bin等目录下。 -
我们写的 C 程序编译后,也可以拷贝到这些目录,然后像命令一样直接运行。
验证:
bash
which ls # /usr/bin/ls file /usr/bin/ls # 显示:ELF 64-bit LSB executable
为什么自己写的程序要加
./才能运行?
因为系统只在PATH环境变量指定的路径中查找命令,当前目录不在其中。这个问题我们后面讲环境变量时会详细解释。
4.6 通配符 *
-
*可以匹配任意字符串。 -
常用于批量操作。
示例:
bash
touch file1.txt file2.txt file3.txt # 创建三个文件 ls file*.txt # 列出所有 file 开头的 txt 文件 rm -f file*.txt # 删除所有 file 开头的 txt 文件
五、本节课指令清单
| 指令 | 作用 |
|---|---|
pwd |
显示当前路径 |
whoami |
显示当前用户 |
clear |
清屏 |
ls |
列出目录内容 |
ls -l |
列出详细信息 |
ls -a |
显示隐藏文件 |
cd |
切换目录 |
mkdir |
创建目录 |
touch |
创建空文件 / 更新时间 |
tree |
树形显示目录结构 |
rm |
删除文件或目录 |
cp |
拷贝文件或目录 |
which |
查看命令路径 |
man |
查看命令手册 |
alias |
给命令起别名 |
六、本节课简单总结
今天我们正式进入了 Linux 指令的学习阶段,虽然看起来只是敲了一堆命令,但背后涉及的核心思想远比命令本身更重要:
-
文件 = 内容 + 属性:这是我们理解 Linux 文件系统的基础。以后学文件操作时,要时刻记得,你操作的要么是内容,要么是属性。
-
Linux 目录结构是一棵多叉树:从根目录
/开始,每个目录都有.和..,这让路径切换变得灵活。理解了这个模型,你就能理解为什么cd ..能返回上级,为什么cd ~能回到加目录。 -
绝对路径与相对路径:绝对路径以
/开头,路径唯一;相对路径以当前目录为参考,写法简单。两者各有应用场景,需要根据实际情况选择。 -
命令的本质是可执行程序:你在终端敲的每一个命令,其实都是一个 C/C++ 写的程序,存放在系统的特定目录下。将来你写的 C 程序也可以变成“命令”,这打通了编程与系统操作之间的壁垒。
-
工具意识:
man手册是你最好的老师,which能帮你找到命令的位置,alias可以帮你简化操作。用好这些工具,你的 Linux 之路会顺畅很多。
最后强调:指令不需要死记硬背,多用自然就记住了。真正要理解的是上面这些“底层逻辑”。当你脑子里有了 Linux 目录结构的模型,明白了文件由内容和属性组成,理解了命令的本质,你会发现 Linux 其实并不神秘,它只是一套设计精良的系统罢了。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)