Linux入门:简要认识Linux和基础指令

一、Linux 核心认知

1. 操作系统定位

操作系统是用户与硬件之间的中间层,核心职能:内存管理、进程管理、文件管理、驱动管理

记住一句话:操作系统存在的根本意义是让计算机更好用。

2. 为什么工作场景不用图形界面?

服务器通常部署在远程机房,无显示器/键盘,全程通过 SSH(如 XShell)命令行操作。图形界面消耗资源且无必要。

3. 常见发行版(了解即可)

发行版 特点
CentOS 企业级稳定,RHEL 的免费重构版(国内服务器常用)
Ubuntu 社区活跃,适合新手与云环境
Debian 极其稳定,服务器首选
Kali 渗透测试专用

二、Linux 目录结构

Linux 下一切皆文件,整个系统从根目录**/** 开始,呈单棵目录树

核心目录速查表

目录 作用
/ 根目录,一切起点
/bin 普通用户常用命令(二进制可执行文件)
/sbin 系统管理员命令(需特权)
/usr 用户程序安装目录(Unix System Resources)
/home 普通用户家目录(如 /home/whb
/root root 用户家目录
/etc 配置文件目录
/var 经常变化的文件(日志、缓存)
/tmp 临时文件
/dev 设备文件(抽象硬件)
/lib 系统库文件
/mnt 挂载点(U盘、光驱)
/opt 大型软件存放目录(非强制)
/boot 内核与启动文件

路径概念

  • 绝对路径 :从 / 开始,不依赖当前位置,具有唯一性。

    例:/home/whb/test/file.txt

  • 相对路径 :相对于当前目录,便捷但依赖位置。

    例:./file.txt../temp/

何时用绝对路径? 配置文件、脚本中写死路径时。

何时用相对路径? 日常命令行操作中。

三、文件与目录基础命令

1. ls --- 列出目录内容

bash 复制代码
ls              # 列出当前目录
ls -l           # 详细列表(权限、大小、时间)
ls -a           # 显示隐藏文件(.开头)
ls -la          # 组合使用
ls -F           # 追加类型标识(/目录 *可执行 @链接)
ls -R           # 递归列出子目录
ls -t           # 按时间排序
ls -r           # 反向排序
ls -i           # 显示 inode 号
ls -n           # 显示 UID/GID 数字

2. pwd --- 显示当前路径

bash 复制代码
pwd

3. cd --- 切换目录

bash 复制代码
cd /home/whb    # 绝对路径
cd ../temp      # 相对路径(上级目录下的 temp)
cd ~            # 回到家目录(等同于 cd)
cd -            # 回到上一次所在目录(极好用)
cd ..           # 返回上级目录

4. touch --- 创建空文件 / 修改时间

bash 复制代码
touch new.txt           # 创建文件(若存在则更新时间)
touch -a new.txt        # 只改访问时间(Access)
touch -m new.txt        # 只改修改时间(Modify)

查看时间用 stat 文件名

5. mkdir --- 创建目录

bash 复制代码
mkdir dirname           # 创建单级目录
mkdir -p a/b/c/d        # 递归创建多级目录

6. rmdir --- 删除空目录

bash 复制代码
rmdir dirname           # 删除空目录
rmdir -p a/b/c          # 递归删除空目录,若父目录变空也一并删除

⚠️ 只能删空目录,非空会报错。

7. rm --- 删除文件或目录(危险命令)

bash 复制代码
rm file.txt             # 删除文件
rm -r dir/              # 递归删除目录及内容
rm -f file.txt          # 强制删除(忽略只读属性,不询问)
rm -rf dir/             # 强制递归删除(**核弹级,慎用**)
rm -i file.txt          # 删除前逐一确认

生产环境铁律:rm -rf 前务必确认路径,一旦执行无法恢复。

8. man --- 查看手册

bash 复制代码
man ls                  # 查看 ls 命令手册
man 2 open              # 查看第 2 章(系统调用)的 open
man 3 printf            # 查看第 3 章(库函数)的 printf
man 5 passwd            # 查看第 5 章(文件格式)

手册章节:

  1. 普通命令

  2. 系统调用

  3. 库函数

  4. 文件格式

  5. 系统管理命令(root 专用)

四、文件内容查看命令

1. cat --- 查看小文件

bash 复制代码
cat file.txt            # 显示全部内容
cat -n file.txt         # 带行号(包括空行)
cat -b file.txt         # 带行号(空行不编号)
cat -s file.txt         # 压缩多行空行为一行

2. more --- 分页查看(只能向下)

bash 复制代码
more file.txt
more -10 file.txt       # 先显示前 10 行
# 按空格翻页,按 q 退出

3. less --- 分页查看(推荐,可上下翻)

bash 复制代码
less file.txt
less -N file.txt        # 显示行号
# 操作:PageUp/PageDown 翻页
#/keyword 向下搜索,?keyword 向上搜索,n 下一个,N 上一个,q 退出

4. head / tail --- 看头看尾

bash 复制代码
head file.txt           # 默认前 10 行
head -5 file.txt        # 前 5 行
tail file.txt           # 默认后 10 行
tail -5 file.txt        # 后 5 行
tail -f log.txt         # 实时追踪文件新增内容(看日志神器)

5. 管道 | 经典用法

需求:显示文件第 180~200 行

bash 复制代码
head -200 temp.txt | tail -20

原理:head -200 的输出作为 tail -20 的输入。

五、文件操作命令

1. cp --- 复制

bash 复制代码
cp file.txt backup.txt          # 复制文件
cp -r dir/ backup_dir/          # 递归复制目录
cp -i file.txt backup.txt       # 覆盖前询问
cp -f file.txt backup.txt       # 强制覆盖
cp *.txt dir/                   # 通配符复制所有 txt 文件

2. mv --- 移动 / 重命名

bash 复制代码
mv old.txt new.txt              # 重命名(同目录下)
mv file.txt /tmp/               # 移动到 /tmp 目录
mv -i old.txt new.txt           # 覆盖前询问
mv dir/ /backup/                # 移动整个目录

六、查找与搜索

1. find --- 文件查找

bash 复制代码
find ~ -name test.c             # 在家目录下按文件名查找
find /etc -name "*.conf"        # 查找所有 .conf 文件

2. which --- 查找命令位置

bash 复制代码
which ls                        # 输出 /usr/bin/ls

3. whereis --- 查找程序相关文件

bash 复制代码
whereis ls                      # 输出二进制、手册页位置

4. grep --- 文本过滤(极重要)

bash 复制代码
grep "hello" file.txt           # 查找包含 hello 的行
grep -i "hello" file.txt        # 忽略大小写
grep -n "hello" file.txt        # 显示行号
grep -v "hello" file.txt        # 反向选择(不含 hello 的行)
grep -ni "hello" file.txt       # 组合使用

七、压缩与打包

1. zip / unzip

bash 复制代码
zip -r test.zip test/           # 递归压缩目录
unzip test.zip -d /tmp          # 解压到 /tmp 目录

2. tar --- 打包/解包(重点)

bash 复制代码
# 打包(不压缩)
tar -cvf /tmp/etc.tar /etc

# 打包并用 gzip 压缩(最常用)
tar -zcvf /tmp/etc.tar.gz /etc

# 打包并用 bzip2 压缩
tar -jcvf /tmp/etc.tar.bz2 /etc

# 查看压缩包内容
tar -ztvf /tmp/etc.tar.gz

# 解压到当前目录
tar -zxvf /tmp/etc.tar.gz

# 解压到指定目录
tar -zxvf /tmp/etc.tar.gz -C /usr/local/src

参数记忆:

  • -c create(创建)

  • -x extract(解压)

  • -z gzip 压缩

  • -j bzip2 压缩

  • -v verbose(显示过程)

  • -f file(必须放最后,接文件名)

  • -C 指定解压目录

八、实用工具与热键

1. date --- 时间

bash 复制代码
date                            # 显示当前时间
date +%Y/%m/%d                  # 2026/07/24
date +%Y/%m/%d-%H:%M:%S       # 完整格式
date +%s                        # 显示时间戳(秒)
date -d @0                      # 时间戳转可读时间

2. cal --- 日历

bash 复制代码
cal                             # 当月日历
cal -3                          # 前、当、后三个月
cal -y                          # 全年日历
cal 2026                        # 2026 年全年

3. bc --- 计算器

bash 复制代码
bc                              # 进入交互式浮点计算

4. uname --- 系统信息

bash 复制代码
uname -r                        # 内核版本
uname -a                        # 全部信息

5. 重要热键

热键 作用
Tab 命令/文件名自动补全(按两次显示所有候选)
Ctrl + C 终止当前运行程序
Ctrl + D 输入结束 / 退出当前会话(等效 exit)

九、Shell 运行原理

Shell 是命令行解释器(Command Interpreter),是用户与 Linux 内核之间的翻译官。

  • 用户 → Shell:输入命令

  • Shell → 内核:翻译命令给内核执行

  • 内核 → Shell:返回执行结果

  • Shell → 用户:翻译结果展示

类比:用户是程序员,内核是心仪对象,Shell 是传话的媒婆。我们日常用的 bash 就是一种 Shell。


十、Linux 权限(核心中的核心)

1. 用户分类

  • root(超级用户) :UID 为 0,权限无限制,提示符 #

  • 普通用户 :权限受限,提示符 $

切换用户:

bash 复制代码
su - username           # 切换到指定用户(带环境变量)
su -                    # 切换到 root
exit                    # 退回原用户

2. 文件访问者分类

符号 含义
u 拥有者(User)
g 所属组(Group)
o 其他人(Others)
a 所有人(All)

3. 文件类型与权限

文件类型(第一个字符):

符号 类型
- 普通文件
d 目录
l 软链接(快捷方式)
b 块设备(硬盘、光驱)
c 字符设备(屏幕、串口)
p 管道文件
s 套接口文件

基本权限:

权限 对文件 对目录
r(读/4) 读取内容 列出目录内容(ls
w(写/2) 修改内容 创建/删除/移动目录内文件
x(执行/1) 执行文件 进入目录(cd

4. 权限表示法

字符表示: rwxrwxrwx(三组,分别对应 u/g/o)

八进制表示:

权限 八进制
rwx 7
rw- 6
r-x 5
r-- 4
-wx 3
-w- 2
--x 1
--- 0

5. 权限修改

chmod --- 改权限

bash 复制代码
chmod u+x file.txt          # 给拥有者加执行权限
chmod g-w file.txt          # 去掉所属组写权限
chmod o=r file.txt          # 设置其他人只读
chmod a+x file.txt          # 给所有人加执行权限
chmod 664 file.txt          # rw-rw-r--(常用)
chmod 755 dir/              # rwxr-xr-x(目录常用)
chmod -R 755 dir/           # 递归修改目录及内部所有文件

chown --- 改拥有者

bash 复制代码
chown user1 file.txt        # 改拥有者
chown -R user1 dir/         # 递归改

chgrp --- 改所属组

bash 复制代码
chgrp group1 file.txt

6. 默认权限与 umask

  • 新建文件默认权限:0666(rw-rw-rw-)

  • 新建目录默认权限:0777(rwxrwxrwx)

实际权限 = 默认权限 & ~umask

查看/设置 umask:

bash 复制代码
umask                       # 查看(root 默认 0022,普通用户 0002)
umask 044                   # 设置

7. 目录权限的坑(必看)

场景 结果
目录无 x 无法 cd 进入,即使有 r 也不行
目录有 xr 可以 cd 进入,但 ls 看不到内容
目录有 w 可以删除目录内任何文件,无论那文件是不是你的

8. 粘滞位(Sticky Bit)

为了解决「目录有写权限,任何人都能删别人文件」的问题:

复制代码
chmod +t /home/             # 给目录加粘滞位
# 权限显示变为 drwxrwxrwt(最后一位 t)

粘滞位规则: 目录下的文件只能被

  1. root 删除

  2. 该目录的拥有者删除

  3. 该文件的拥有者删除

典型应用:/tmp 目录默认带有粘滞位。


十一、总结

场景 命令
看当前位置 pwd
看目录内容 ls -la
切换目录 cd ~cd -cd ..
创建文件 touch
创建目录 mkdir -p
删除空目录 rmdir -p
删除文件/目录 rm -rf(慎用)
复制 cp -r
移动/重命名 mv
看小文件 cat
看大文件 less
看日志实时更新 tail -f
查找文件 find -name
过滤文本 grep
压缩 tar -zcvf
解压 tar -zxvf
改权限 chmod 755
改拥有者 chown
加粘滞位 chmod +t
相关推荐
Urbano2 小时前
职业工装外套核心缝制工序自动化替代分析与多品牌设备选型报告
运维·自动化
逍遥德2 小时前
运维技术栈Linux+docker+Kubernetes+Jenkins/GitLab CI 知识点详细列表
linux·运维·docker
名字还没想好☜2 小时前
Kubernetes CrashLoopBackOff 排查全流程:从 describe 到日志到 exit code
运维·docker·云原生·容器·kubernetes
冰封之寂2 小时前
Docker 部署与基础命令详解:从安装到容器管理全流程指南
linux·运维·docker·容器
cellurw2 小时前
20260723 六组件全流程编译打通与音频项目启动
linux·服务器·音视频
隔振消音专家2 小时前
冷水机组振动传导影响及专业化减振适配治理方案
大数据·运维
Brilliantwxx2 小时前
【Linux】 软件包管理器(yum)+ Vim使用
linux·运维·服务器·开发语言·编辑器·vim
skywalk81632 小时前
在FreeBSD的Uubntu兼容环境下安装Reasonix
linux·运维·freebsd
^yi3 小时前
【Linux系统编程】对操作系统的理解
linux·运维·服务器·操作系统·系统调用·os