在这里插入图片描述

1. linux是什么

Linux是一款免费、开源、稳定安全的操作系统,和Windows、macOS属于同类系统,由芬兰大学生林纳斯·托瓦兹在1991年创造,基于UNIX发展而来,代码完全公开、可自由修改与使用;它极少中毒、长期运行不卡顿,主要依靠命令行操作,被广泛用于网站服务器、安卓手机、云计算、路由器、智能设备等领域,是互联网与服务器领域的主流系统,常见版本有Ubuntu、CentOS等,也是程序员和运维人员必须掌握的系统。

2. linux基本指令

先看界面:
在这里插入图片描述
这行是 Linux 的命令提示符,代表你当前以 root 超级管理员身份登录主机名为iZn4a62zs0yk3ct42wbjyygZ的服务器,正处于/root目录下,等待输入命令。

2.1 ls指令

最常用 5 个用法(背会就够用)

  • ls
    直接看文件 / 目录名(简洁版)
  • ls -l
    查看详细信息(权限、大小、时间)
  • ls -a
    显示隐藏文件(以。开头的文件)
  • ls -lh
    详细信息 + 文件大小人性化显示(KB/MB)
  • ls /
    查看根目录下的内容

2.2 pwd指令

告诉你:你现在正处于哪个目录里(输出当前目录的完整绝对路径)
比如你在 /root 目录下执行 pwd,就会输出:
在这里插入图片描述

2.3 cd指令

  • cd 目标路径 # 切换到指定目录
  • cd ~ # 回到当前用户的家目录
  • cd # 同上,效果一样
  • cd … # 回到上一级目录
  • cd - # 回到上一次所在的目录
  • cd / # 直接切换到根目录
  • cd /root # 切换到 root 用户的家目录
  • cd /home/用户名 # 切换到指定用户的家目录

2.4 touch指令

  • touch 文件名.txt # 1. 创建一个新的空文件
  • touch a.txt b.txt c.txt # 2. 一次性创建多个空文件
  • touch -d “2026-05-11” a.txt # 3. 修改文件的修改/访问时间为指定日期
  • touch -t 202605111200 a.txt # 4. 修改时间为 2026-05-11 12:00(格式:YYYYMMDDhhmm)
  • touch -r 参考文件.txt 目标文件.txt # 5. 让目标文件的时间戳和参考文件一致
    这里给出创建文件示例:
    在这里插入图片描述
    tree下面会说
    看时间
    在这里插入图片描述

2.5 mkdir指令

mkdir = make directory,意思就是:创建文件夹(目录)
touch 是创建「文件」的,mkdir 是创建「文件夹 / 目录」的,它们是两种完全不同的东西。
打个比方:touch 就像买了一张空白的纸(文件),你可以在上面写字、画画、改内容。
mkdir 就像做了一个空文件夹(目录),它本身装不了字,只能用来放 “纸” 或者其他更小的 “文件夹”。

  1. 创建单个文件夹
    mkdir dir1

  2. 一次性创建多个文件夹
    mkdir dir2 dir3 dir4

  3. 创建多层嵌套文件夹(必须加 -p,常用)
    mkdir -p a/b/c
    展示:
    在这里插入图片描述

2.6 rmdir 指令 && rm 指令

  • rmdir dir1 # 删除空文件夹 dir1

  • rmdir dir1 dir2 # 同时删除多个空文件夹

  • rmdir -p a/b/c # rmdir -p 作用把子目录删掉后,如果上级目录也变空了,就一路往上连带全部删掉

  • rm 1.txt # 删除单个文件

  • rm 1.txt 2.txt # 删除多个文件

  • rm -f 1.txt # 强制删除文件(不提示、不报错)

  • rm -r dir1 # 删除 非空文件夹(必须加 -r)

  • rm -rf dir1 # 强制删除 非空文件夹(最常用!)

rmdir:只拆空文件夹
rm:删文件、删文件夹,通杀

在这里插入图片描述
注意:rm要通过文件夹找到文件,即app/b.txt就行,n为不同意删,y为同意。

2.7 man指令

命令参数记不住不用死背,用 man 看官方联机手册。
基本语法:

man 要查的命令

在这里插入图片描述man 常用选项

  • -k 关键字:按关键字搜索相关联机帮助
  • man 数字 命令:只在指定第 num 章节查找帮助
  • -a:显示所有章节手册;看完一章按 q 退出,自动继续查看下一章节,直到全部遍历完man 手册 9 章分工(必记)
  • 普通终端命令(ls/mkdir/rm 等日常指令)
  • 系统调用(内核函数:open、write 等,查头文件)
  • 库函数(C 语言标准库:printf、fread 等)
  • 特殊设备文件(/dev 下设备,了解即可)
  • 配置文件格式(如 passwd,解释文件各字段含义)
  • 游戏预留章节,基本不用
  • 协议、全局环境变量等附加说明
  • 系统管理员命令(root 专属运维命令)
  • 内核相关,一般忽略

2.8 cp指令

cp = copy,用来复制文件 / 复制文件夹

cp a.txt b.txt              # 复制a.txt为b.txt
cp a.txt dir1               # 把a.txt复制到dir1文件夹里
cp -r dir1 dir2             # 复制整个文件夹dir1到dir2
cp -rf dir1 dir2            # 强制递归复制文件夹,覆盖不提示
#常用
cp -f a.txt b.txt         # 强制复制,直接覆盖不提示
cp -i a.txt b.txt         # 覆盖前先询问用户
cp -r dir1 dir2           # 递归复制整个文件夹及里面所有内容

2.9 mv指令

mv = move
功能:1. 移动文件/目录
2. 给文件/目录重命名

mv a.txt b.txt        # 第二个是文件:将a.txt重命名为b.txt
mv dir1 dir2          # 第二个不存在:将文件夹dir1重命名为dir2
mv a.txt b.txt dir1   # 第二个是已存在目录:把a.txt、b.txt都移入dir1
  • mv 根据第二个参数的类型,决定做 重命名 还是 移动。
  • 第二个参数是文件(不存在):只能有一个源文件 / 目录,作用是重命名。
  • 第二个参数是已存在的目录:可以有多个源文件 / 目录,作用是把所有源移入目标目录。

常用选项

  • -f:目标已存在,直接强制覆盖,不询问
  • -i:目标已存在,先询问是否覆盖

2.9 cat指令

作用:

  • 查看文件内容
  • 合并、拼接文件内容
  • 创建简单小文件
cat a.txt                  # 查看单个文件内容
cat a.txt b.txt            # 一次性查看多个文件内容
cat a.txt > b.txt          # 把a.txt内容写入/覆盖到b.txt
cat a.txt >> b.txt         # 把a.txt内容追加到b.txt末尾
#----
cat -n a.txt               # 显示内容同时带行号
cat -b a.txt               # 只给非空行标行号
#---
cat > test.txt              # 创建文件并直接输入内容,结束按Ctrl+C

2.10 more指令

more指令类似于cat,作用== 分页查看大文件内容,屏幕一页一页显示,不会一次性全刷屏。==

  • 回车:往下翻一行
  • 空格:往下翻一页
  • q:退出查看

2.11 less指令

功能:分页查看文件内容,功能比 more 更强,支持上下翻页、搜索,查看大文件非常方便。

  • 上下箭头:上下滚动一行
  • 空格:向下翻一页
  • b:向上翻一页
  • /关键词:搜索内容
  • n:查找下一个
  • N:查找上一个
  • q:退出
less a.txt       # 分页查看文件
less -N a.txt    # 显示行号

2.12 head指令和tail指令

head:查看文件开头默认前十行
tail: 查看文件末尾后默认十行

head -n 5 a.txt        # 指定只显示前5行
tail -n 5 a.txt        # 指定只显示最后5行
tail -f a.txt         # 盯着文件,有新内容立刻刷新显示

2.13 tree指令

功能:以树形结构展示文件夹里的所有文件和目录,一眼看清目录结构。

tree            # 显示当前目录树形结构
tree -L 2       # 只显示 2 层目录(最常用)
tree -d         # 只显示目录,不显示文件

2.14 date指令

作用:显示时间
在这里插入图片描述
指定格式显示时间:

date +%Y:%m:%d       # 显示 年:月:日
date +%F             # 显示 年-月-日
date +%X             # 显示 时:分:秒
date +"%Y-%m-%d %H:%M:%S"   # 最常用标准格式

2.15cal指令

功能:显示公历阳历日历(格列历 / 西历)

cal           # 显示本月日历
cal -3        # 显示上月、本月、下月
cal -j        # 显示当天是当年第几天
cal -y        # 显示当前整年日历
cal 5 2026    # 查看指定年月日历
cal 2026      # 查看整年日历

在这里插入图片描述

2.16find指令

功能:在指定目录下查找文件 / 目录,把找到的文件 / 目录的完整路径 显示在屏幕上

find / -name "文件名"       # 从根目录全局查找文件
find . -name "*.txt"       # 当前目录查找所有 .txt 文件
find . -type d             # 当前目录只找文件夹
find . -size +10M          # 当前目录找大于10M的文件

在这里插入图片描述

2.17which指令

功能:在 $PATH 环境变量指定的目录中,查找可执行程序的位置

用于确认你输入的命令实际运行的是哪个文件。

which [选项] 命令名

举个例子吧

which ls

在这里插入图片描述

第一行输出 alias ls=‘ls --color=auto’:说明当前系统中,ls 被设置了别名,每次执行 ls 时,实际上运行的是 ls --color=auto,这就是为什么你的终端里文件 / 目录会有不同颜色区分。
第二行 /usr/bin/ls:是 ls 命令的真实可执行文件路径,系统的 ls 程序就存放在这里。

2.18 whereis指令

功能:定位程序的二进制文件,源代码和手册页

# 语法
whereis [选项] 命令名或文件名

# 常用选项
whereis -b 命令名    # 只搜索二进制文件
whereis -m 命令名    # 只搜索手册页
whereis -s 命令名    # 只搜索源代码

在这里插入图片描述
/usr/share/man/man1p/ls.1p.gz:POSIX 标准的帮助文档
/usr/share/man/man1/ls.1.gz:系统默认的帮助文档

2.19 alias指令

功能:为命令设置别名

#  语法
alias 别名='命令'

#  常用操作
alias                 # 查看所有已设置的别名
alias 别名='命令'      # 创建或修改别名
unalias 别名          # 删除别名

2.20 grep指令

功能:在文件中搜索字符串,将匹配的行打印出来

# 语法
grep [选项] "搜寻字符串" 文件名

# 常用选项
# -i  : 忽略大小写
# -n  : 显示行号
# -v  : 反向选择(显示不匹配的行)
# -vn : 反向选择并显示行号
# -ni : 忽略大小写并显示行号
# -vni: 忽略大小写、反向选择、显示行号(可组合)

在这里插入图片描述

2.21 top指令

功能:动态显示系统进程状态(类似于任务管理器)

#  语法
top [选项]

#  常用选项
# -d 秒数  : 刷新时间间隔(默认3秒)
# -n 次数  : 刷新次数(达到次数后自动退出)
# -p PID   : 只显示指定PID的进程

操作: 命令
启动top: top
每秒刷新,共5次: top -d 1 -n 5
退出top: 按 q
按CPU排序 :进入top后按 P
按内存排序: 进入top后按 M
杀死进程: 进入top后按 k → 输入PID

在这里插入图片描述

2.22 zip/unzip 指令

zip 功能:将文件或目录压缩成.zip格式
unzip 功能: 解压.zip格式的压缩包

# 2. 语法
zip [选项] 压缩包名称.zip 要压缩的文件/目录

# 3. 常用选项
# -r     : 递归压缩目录(压缩目录时必须加)
# -q     : 安静模式,不显示压缩过程
# -m     : 压缩后删除源文件
# -e     : 设置加密密码
# -P密码 : 直接设置密码(-P后面跟密码,无空格)
# -x     : 排除指定文件
# -u     : 更新压缩包中的文件
# -d     : 从压缩包中删除文件
#########
# 2. 语法
unzip [选项] 压缩包.zip [-d 目标目录]

# 3. 常用选项
# -d 目录 : 解压到指定目录(不指定则解压到当前目录)
# -l      : 查看压缩包内容,不解压
# -v      : 查看压缩包详细信息(包括压缩率)
# -o      : 解压时覆盖已存在文件(不提示)
# -n      : 解压时不覆盖已存在文件
# -q      : 安静模式,不显示解压过程
# -P密码  : 解压带密码的压缩包

2.23 tar指令

功能:打包解包文件
语法:

# 1. 功能:打包/解包文件(可配合压缩算法压缩)

# 2. 语法
tar [-cxtzjvf] 文件与目录 ...

# 3. 常用参数
# -c : 创建打包文件(create)
# -x : 解包(extract)
# -t : 查看打包文件内容(list)
# -z : 通过 gzip 压缩/解压(后缀 .tar.gz 或 .tgz)
# -j : 通过 bzip2 压缩/解压(后缀 .tar.bz2)
# -v : 显示正在处理的文件(verbose)
# -f : 指定文件名(f后面必须立即接文件名,不能加其他参数)
# -C : 解压到指定目录
# -p : 保留原文件权限属性
# -N : 只备份比指定日期新的文件
# --exclude : 排除指定文件或目录

# 4. 文件后缀约定
# .tar       : 仅打包,未压缩
# .tar.gz    : 打包后经 gzip 压缩
# .tgz       : 同上,简写
# .tar.bz2   : 打包后经 bzip2 压缩

这里简但讲解一下

============================================
命令拆解说明
============================================

1. 压缩命令
tar -czvf test.tar.gz test/
│  │   │        │        └── 要压缩的目录/文件
│  │   │        └── 压缩后生成的文件名
│  │   └── 文件(必须紧跟在 -f 后面)
│  └── 参数组合(后面解释)
└── 打包命令

参数含义(可以分开记)
-c : 创建压缩包(Create)
-z :gzip 方式压缩
-v : 显示压缩过程(Visible)
-f : 指定文件名(File)

2. 解压命令
tar -xzvf test.tar.gz
│  │   │   └── 要解压的文件名
│  │   └── 文件
│  └── 参数组合
└── 打包命令

参数含义
-x : 解压(eXtract)
-z : 文件是用 gzip 压缩的
-v : 显示解压过程
-f : 指定文件名

============================================
实际操作示例
============================================

准备:先创建一个测试目录和文件
mkdir test              # 创建 test 目录
echo "hello" > test/a.txt   # 在 test 里放一个文件

运行压缩命令
tar -czvf test.tar.gz test/
输出:
test/
test/a.txt

这时会生成一个 test.tar.gz 文件
ls
test  test.tar.gz

删除原目录,模拟"别人发给你压缩包"的场景
rm -rf test

运行解压命令
tar -xzvf test.tar.gz
输出:
test/
test/a.txt

test 目录又回来了
ls test/
a.txt

完整示例如下:
在这里插入图片描述

2.24 bc指令

bc指令就相当于给你一个计算机


# 1. 功能:命令行计算器(支持整数和小数运算)

# 2. 进入和退出
bc                  # 进入bc交互模式
quit                # 退出bc
# 或按 Ctrl+D 退出

# 3. 基本运算
# + 加法      - 减法      * 乘法      / 除法
# % 取余      ^ 指数      sqrt(n)    开平方

在这里插入图片描述

2.25 uname 指令

功能:获取电脑和操作系统的相关信息
语法: uname [选项]

 常用选项
# -a   : 显示所有信息(全部)
# -s   : 显示内核名称
# -n   : 显示主机名
# -r   : 显示内核版本(最常用)
# -v   : 显示内核版本号(更详细)
# -m   : 显示硬件架构(机器类型)
# -p   : 显示处理器类型
# -i   : 显示硬件平台
# -o   : 显示操作系统名称

在这里插入图片描述

3.几个重要热键

[Tab] — 具有【命令补全】【档案补齐】的功能
[Ctrl]-c 让当前程序停掉
[Ctrl]-d 键盘输入结束
关机
语法:shutdown [选项]
常见选项:
• -h:将系统的服务停掉后,立即关机。
• -r:在将系统的服务停掉之后就重新启动
• -t sec:-t 后⾯加秒数,亦即『过几秒后关机』的意思


感谢观看 😊 😄

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐