沉梦听雨的编程指南 沉梦听雨的编程指南
首页
  • 基础篇
  • 集合篇
  • 并发篇
  • JVM
  • 新特性
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 基础篇
  • MySql
  • Redis
  • 达梦数据库
  • Spring
  • SpringBoot
  • Mybatis
  • Shiro
  • 设计须知
  • UML画图
  • 权限校验
  • 设计模式
  • API网关
  • RPC
  • 消息队列
  • SpringCloud
  • 分布式事务
  • 云存储
  • 搜索引擎
  • 多媒体框架
  • 虚拟机
  • 开发工具篇
  • 工具库篇
  • 开发技巧篇
  • 工具类系列
  • 随笔
  • 前端环境搭建
  • HTML与CSS
  • JS学习
  • Vue3入门
  • Vue3进阶
  • 黑马Vue3
  • 脚手架搭建
  • 瑞吉外卖
  • 黑马点评
  • vue-blog
  • 沉梦接口开放平台
  • 用户中心
  • 聚合搜索平台
  • 仿12306项目
  • 壁纸小程序项目
  • RuoYi-Vue
  • 博客搭建
  • 网站收藏箱
  • 断墨寻径摘录
  • 费曼学习法
Github (opens new window)

沉梦听雨

时间是最好的浸渍剂,而沉淀是最好的提纯器🚀
首页
  • 基础篇
  • 集合篇
  • 并发篇
  • JVM
  • 新特性
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 基础篇
  • MySql
  • Redis
  • 达梦数据库
  • Spring
  • SpringBoot
  • Mybatis
  • Shiro
  • 设计须知
  • UML画图
  • 权限校验
  • 设计模式
  • API网关
  • RPC
  • 消息队列
  • SpringCloud
  • 分布式事务
  • 云存储
  • 搜索引擎
  • 多媒体框架
  • 虚拟机
  • 开发工具篇
  • 工具库篇
  • 开发技巧篇
  • 工具类系列
  • 随笔
  • 前端环境搭建
  • HTML与CSS
  • JS学习
  • Vue3入门
  • Vue3进阶
  • 黑马Vue3
  • 脚手架搭建
  • 瑞吉外卖
  • 黑马点评
  • vue-blog
  • 沉梦接口开放平台
  • 用户中心
  • 聚合搜索平台
  • 仿12306项目
  • 壁纸小程序项目
  • RuoYi-Vue
  • 博客搭建
  • 网站收藏箱
  • 断墨寻径摘录
  • 费曼学习法
Github (opens new window)
  • API网关

  • RPC

  • 消息队列

  • Spring Cloud

  • 分布式事务

  • 云存储

  • 搜索引擎

  • 多媒体框架

  • 虚拟机

    • Linux基础小结
      • 常见目录说明
      • Linux 常用指令
        • 文件和目录操作
        • ls 指令
        • cd 指令
        • mkdir 指令
        • touch 指令
        • cp 指令
        • mv 指令
        • rm 指令
        • cat 指令
        • pwd 指令
        • chmod 指令
        • 系统信息和进程管理
        • uname 指令
        • top 指令
        • ps 指令
        • kill 指令
        • shutdown 指令
        • 网络操作
        • ping 指令
        • ifconfig 指令
        • netstat 指令
        • wget 指令
        • scp 指令
        • Telnet 指令
        • ip 命令
        • 压缩和解压缩
        • tar 指令
        • gzip 指令
        • unzip 指令
        • 其他
        • man 指令
        • history 指令
        • grep 指令
        • 输出重定向
        • df 指令
        • 部署时可能会用到
        • grep 指令 ⭐️
        • free -h 指令
        • nohup 指令
        • jobs 指令
        • netstat -ntlp 指令
        • jps 命令
        • df 指令
      • vim 常用指令
        • 移动光标
        • 编辑文本
        • 搜索和替换
        • 保存和退出
      • 环境变量
      • 学习参考
    • Linux环境搭建
    • 安装Docker
    • Docker入门
    • 配置桥接模式
    • 防火墙相关
    • 查看日志的六种命令详解
    • docker run指令
  • 微服务
  • 虚拟机
沉梦听雨
2023-06-16
目录

Linux基础小结

# Linux

# 常见目录说明

  • /bin:存放二进制可执行文件(ls、cat、mkdir 等),常用命令一般都在这里;
  • /sbin: 存放二进制可执行文件,只有 root 才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如 ifconfig 等;
  • /etc:存放系统管理和配置文件;
  • /root:超级用户(系统管理员)的主目录;
  • /home:存放所有用户文件的根目录,是用户主目录的基点,比如用户 user 的主目录就是 /home/user,可以用 ~user 表示;
  • /dev:用于存放设备文件;
  • /usr:用于存放系统应用程序;
  • /lib 和/lib64:存放着和系统运行相关的库文件;
  • /tmp:用于存放各种临时文件,是公用的临时文件存储点;
  • /var:用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等)等;
  • /opt:额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把 tomcat 等都安装到这里;
  • /proc:虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息;
  • /mnt:系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其他的文件系统;
  • /boot:存放用于系统引导时使用的各种文件;
  • /lost+found:这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows 下叫什么.chk)就在这里。

# Linux 常用指令

# 文件和目录操作

# ls 指令

作用:列出当前工作目录下的所有文件/文件夹的名称

用法:ls [选项] [目录]

ls -l 路径(ll):以详细列表的形式展示指定路径下的所有文件/文件夹名称

# cd 指令

作用:改变目录,进入用户输入的目录

用法:cd [目录]

示例:切换到 /usr/local 目录

cd /usr/local
1

# mkdir 指令

作用: 创建目录

用法:mkdir [选项] 目录

mkdir -p + 路径:当一次性创建多层不存在的目录的时候,添加 -p 参数

# touch 指令

作用:创建文件

示例:在当前目录中创建一个名为 test.txt 的空文件

touch ./test.txt
1

# cp 指令

作用:复制文件或目录

用法:cp [选项] 被复制的文档路径 文档被复制到的路径

示例:

1、复制文件

将当前目录的 test.txt 文件复制到上个工作目录中

cp ./test.txt ../test.txt 
1

2、复制文件夹

利用 -r 参数,将当前工作目录的 test 文件夹复制到上一个工作目录下

cp -r ./test ../test
1

# mv 指令

作用:移动文件或目录,也可以重命名文件或目录

用法:mv [选项] 源文件路径 需要保存的位置路径

注意:使用 mv 移动文件语法格式和移动文件夹相同,移动文件夹不需要加 -r

示例:

将当前目录中的 test.txt 文件移动到 /usr/local 目录中,并重命名为 new_test.txt

mv test.txt /usr/local/new_test.txt
1

# rm 指令

作用:删除文件或目录

用法:rm [选项] 文件或目录

选项:

-f:force,强制删除,否则会每个文件都询问是否删除

-r:表示递归,移除文件夹的时候需要使用

示例:

删除当前目录中的 test.txt 文件

rm test.txt
1

删除指定目录及其内的全部子文件,一并都强制删除

rm -rf Dir
1

# cat 指令

作用:

  1. 查看文件内容

  2. 对两个文件进行合并

用法:

  1. cat 文件的路径
  2. cat 待合并的文件路径1 待合并的文件路径2 …. 文件路径n > 合并之后的文件路径

示例:

查看当前目录中的 test.txt 文件的内容

cat test.txt
1

合并路径

cat ./test1.txt ./test2.txt > ./test3.txt
1

配合 grep 命令,搜索文件中 'msg' 内容,高亮显示

cat returnLog.log | grep 'msg'
1

# pwd 指令

作用:查看当前工作目录路径

用法:pwd

# chmod 指令

作用:

修改文件权限。

chmod 命令可以使用八进制数来指定权限。文件或目录的权限位是由 9 个权限位来控制,每三位为一组,它们分别是

  1. 文件所有者(User)的读、写、执行,
  2. 用户组(Group)的读、写、执行,
  3. 其它用户(Other)的读、写、执行。

用法:

chmod [选项] 权限 文件或目录

选项:

# 权限 rwx 二进制
7 读 + 写 + 执行 rwx 111
6 读 + 写 rw- 110
5 读 + 执行 r-x 101
4 只读 r-- 100
3 写 + 执行 -wx 011
2 只写 -w- 010
1 只执行 --x 001
0 无 --- 000

例如, 765 将这样解释:

  • 所有者的权限用数字表达:属主的那三个权限位的数字加起来的总和。如 rwx ,也就是 4+2+1 ,应该是 7。
  • 用户组的权限用数字表达:属组的那个权限位数字的相加的总和。如 rw- ,也就是 4+2+0 ,应该是 6。
  • 其它用户的权限数字表达:其它用户权限位的数字相加的总和。如 r-x ,也就是 4+0+1 ,应该是 5。

示例:

# 将当前目录中的 test.txt 文件的权限设置为只读
chmod 444 test.txt
1
2

参考:

  • Linux 用户和用户组管理 | 菜鸟教程 (runoob.com) (opens new window)
  • Linux chmod 命令 | 菜鸟教程 (runoob.com) (opens new window)

# 系统信息和进程管理

# uname 指令

作用:查看系统信息

用法:uname [选项]

示例:

查看系统的操作系统名称和版本

uname -a
1

# top 指令

作用: 查看系统进程和资源占用情况

用法:top

# ps 指令

作用: 查看当前用户进程

用法:ps [选项]

示例:查看当前用户的所有进程

ps -ef
1

# kill 指令

作用:结束一个进程

用法:kill [选项] 进程号

示例:

结束进程号为 1234 的进程

kill 1234
1

# shutdown 指令

作用:关机或重启系统

用法:shutdown [选项]

示例:

将系统立即关机

shutdown -h now
1

将系统立即重启

shutdown -r now
1

# 网络操作

# ping 指令

作用:测试网络连接是否通畅

用法:ping [选项] 目标地址

示例:

测试目标地址 www.google.com 是否可达

ping www.google.com
1

# ifconfig 指令

作用: 查看网络接口信息

用法:ifconfig [选项]

示例:

查看当前系统中所有网络接口的信息

ifconfig -a
1

在较新版本的 Linux 发行版中,ifconfig 命令可能已经不再预装,它已被 ip 命令所取代。

# netstat 指令

作用: 查看网络连接状态

用法:netstat [选项]

示例:

查看当前系统中所有网络连接的状态

netstat -a
1

# wget 指令

作用: 下载文件

用法:wget [选项] URL

示例:

下载指定 URL 的文件并保存到当前目录中

wget https://example.com/file.zip
1

# scp 指令

作用: 在不同的主机之间拷贝文件

用法:scp [选项] 源文件 目标主机:目标路径

示例:

将当前目录中的 test.txt 文件拷贝到远程主机 example.com 的 /home/user 目录中

scp test.txt user@example.com:/home/user
1

# Telnet 指令

Telnet 是一种用于远程登录和管理网络设备的协议,同时也是基于这个协议的命令行工具。下面是一些常用的 Telnet 命令:

  1. 连接到远程主机:

    telnet <host> <port>
    
    1
  2. 将 <host> 替换为要连接的远程主机的 IP 地址或主机名,将 <port> 替换为要连接的端口号。例如,telnet example.com 23 将连接到 example.com 的 23 端口。

  3. 发送命令或数据:

    在 Telnet 连接建立后,你可以直接在命令行中输入命令或数据,并按 Enter 键发送给远程主机。例如,输入 ls 命令查看远程主机上的文件列表。

  4. 退出 Telnet 连接:

    在 Telnet 连接中,你可以使用以下命令之一来退出:

    • 输入 quit 或 exit 命令并按 Enter 键。
    • 按下 Ctrl + ],然后输入 quit 命令并按 Enter 键。

注意,Telnet 是一种明文协议,数据在传输过程中不会被加密,因此不建议在不安全的网络环境中使用 Telnet。对于安全连接,建议使用 SSH(Secure Shell)协议来进行远程登录和管理。

# ip 命令

在较新版本的 Linux 发行版中,ifconfig 命令可能已经不再预装,它已被 ip 命令所取代。ip 命令是 iproute2 包的一部分,提供了更多的功能和更好的控制。如果你在尝试运行 ifconfig 命令时遇到了 "未找到命令" 的错误,这意味着你的系统中没有安装 ifconfig。

要解决这个问题,你可以通过安装 net-tools 包来获取 ifconfig 命令。以下是在基于 RPM 的系统(如 CentOS、Fedora)上安装 net-tools 的步骤:

  1. 打开终端。

  2. 运行以下命令来安装 net-tools 包:

    sudo yum install net-tools
    
    1

    如果你使用的是基于 Debian 的系统(如 Ubuntu),则可以使用以下命令安装:

    sudo apt-get update
    sudo apt-get install net-tools
    
    1
    2
  3. 安装完成后,你可以通过运行 ifconfig 来验证是否安装成功。

如果你不想安装 net-tools 包,你也可以选择使用 ip 命令来执行类似的任务。以下是一些常用的 ip 命令及其对应的 ifconfig 命令:

  • 查看所有网络接口:

    ip addr show
    
    1

    或者

    ifconfig -a
    
    1
  • 查看特定网络接口的详细信息:

    ip addr show eth0
    
    1

    或者

    ifconfig eth0
    
    1
  • 启用网络接口:

    ip link set eth0 up
    
    1

    或者

    ifconfig eth0 up
    
    1
  • 禁用网络接口:

    ip link set eth0 down
    
    1

    或者

    ifconfig eth0 down
    
    1
  • 为网络接口设置 IP 地址:

    ip addr add 192.168.1.100/24 dev eth0
    
    1

    或者

    ifconfig eth0 192.168.1.100 netmask 255.255.255.0
    
    1

请注意,虽然 ip 命令的功能更加强大和灵活,但 ifconfig 命令在某些情况下可能更直观易用。如果你习惯了 ifconfig 的语法,安装 net-tools 包可以满足你的需求。如果你愿意接受现代 Linux 网络管理的最佳实践,学习和使用 ip 命令将是一个更好的选择。

# 压缩和解压缩

# tar 指令

作用: 压缩和解压缩文件和目录

用法:tar [选项] 文件或目录

选项:

压缩

  • -c:创建新的 tar 归档文件。
  • -z:使用 gzip 压缩算法。
  • -v:显示详细信息。
  • -f:指定归档文件名。

解压

  • -x:从 tar 归档文件中提取文件。
  • -z:使用 gzip 解压缩算法。
  • -v:显示详细信息。
  • -f:指定归档文件名。

示例:

# 将当前目录中的所有文件和目录压缩成一个名为 `archive.tar` 的文件
tar -cvf archive.tar *

# 压缩目录 "example" 成 tar.gz 压缩包
tar -czvf example.tar.gz example

# 解压缩文件
tar -xzvf 归档文件名.tar.gz
1
2
3
4
5
6
7
8

# gzip 指令

作用:压缩和解压缩文件

用法:gzip [选项] 文件

示例:

将当前目录中的 test.txt 文件压缩成一个名为 test.txt.gz 的压缩文件

gzip test.txt
1

# unzip 指令

作用:解压缩 zip 文件

用法:unzip [选项] 文件.zip

示例:

解压缩名为 archive.zip 的文件

unzip archive.zip
1

# 其他

# man 指令

作用: 查看指令的帮助手册

用法:man [指令]

示例:

查看 ls 命令的帮助手册

man ls
1

# history 指令

作用: 查看历史命令

用法:history [选项]

示例:

查看当前用户执行过的所有命令历史记录

history
1

# grep 指令

作用: 在文件中搜索指定字符串

用法:grep [选项] 字符串 文件

示例:

在当前目录中的所有文件中搜索包含字符串 example 的行

grep example *
1

# 输出重定向

作用:将一些命令的执行结果保存到文件中

用法:正常执行的指令 (> 或 >>) 文件的路径

  1. >:覆盖输出,会覆盖掉原先的文件内容
  2. >>:追加输出,不会覆盖原始文件内容,会在原始内容末尾继续添加

示例:

使用覆盖重定向,将 ls -la 的执行结果,保存到当前目录下的 ls.txt

ls -la > ls.txt 
1

使用追加重定向,将 ls -la 的执行结果追加到 ls.txt 中

ls -la >> ls.txt
1

# df 指令

作用:查看磁盘的空间

用法:df -h

-h:表示以可读性较高的形式展示大小

# 部署时可能会用到

# grep 指令 ⭐️

grep 是一个在 Unix 和类 Unix 操作系统(如 Linux、macOS)以及某些其他操作系统上广泛使用的命令行工具,主要用于搜索文本文件中符合特定模式(通常是正则表达式)的行,并将匹配的行输出到标准输出(通常是终端)。它的全称是 "Global Regular Expression Print",即“全局正则表达式打印”。

基本语法:

grep [选项] [模式] [文件名]
1
  • 选项:grep 提供了多种选项来调整搜索行为,例如:

    • -i:忽略大小写匹配。
    • -v:反向选择,显示不匹配的行。
    • -c:仅输出匹配行的数量。
    • -n:在输出行前加上行号。
    • -l:列出匹配模式的文件名,而不是输出具体内容。
    • -r 或 -R:递归地搜索目录下的所有文件。
    • -e:指定一个模式列表或一个单独的模式,用于支持多个模式或复杂的正则表达式。
    • -w:匹配整个单词,而不是作为单词一部分。
  • 模式:这是要搜索的文本字符串或者正则表达式。比如,如果你想找出包含单词 "example" 的所有行,模式就是 "example"。

  • 文件名:你想在哪些文件中执行搜索。可以是单个文件名,也可以是多个文件名,甚至可以是通配符来匹配一组文件。

正则表达式示例

  • ^grep:匹配所有以 "grep" 开头的行。
  • grep$:匹配所有以 "grep" 结尾的行。
  • gr.p:匹配任何包含 "gr" 后跟着一个任意字符,然后是 "p" 的行。
  • .*grep:匹配包含 "grep" 且前面有任意数量字符的行。

在实际使用中,grep 非常灵活且强大,不仅限于简单的文本搜索,还能结合管道(|)和其他命令组合使用,实现复杂的文本处理任务。由于采用了 GNU 版本的 grep,在 Linux 系统中,egrep 和 fgrep 功能已经被集成到了 grep 命令中,通过相应的选项 -E(等同于 egrep,支持扩展正则表达式)和 -F(等同于 fgrep,模式视为固定字符串而非正则表达式)来调用。

写法示例

以下是一些 grep 命令的实用例子:

  1. 查找包含特定单词的行:

    grep "example" file.txt
    
    1

    这将在名为 file.txt 的文件中查找包含单词 "example" 的所有行并显示结果。

  2. 忽略大小写匹配:

    grep -i "Example" file.txt
    
    1

    这会查找包含 "Example"(不论大小写)的所有行。

  3. 查找并显示行号:

    grep -n "example" file.txt
    
    1

    这会在输出匹配行的同时,显示每行在其所在文件中的行号。

  4. 查找并统计匹配行数:

    grep -c "example" file.txt
    
    1

    这只会输出包含 "example" 的行总数。

  5. 从多个文件中查找:

    grep "example" file1.txt file2.txt file3.txt
    
    1

    在多个文件中同时查找含有 "example" 的行。

  6. 递归查找目录下的所有文件:

    grep -r "example" /path/to/directory
    
    1

    在指定目录及其子目录下所有文件中查找包含 "example" 的行。

  7. 查找以特定字符开头或结尾的行:

    grep "^example" file.txt    # 查找以 "example" 开头的行
    grep "example$" file.txt   # 查找以 "example" 结尾的行
    
    1
    2
  8. 使用正则表达式查找:

    grep -E "[0-9]{3}-[0-9]{2}-[0-9]{4}" file.txt
    
    1

    此命令会在 file.txt 中查找符合美国社会安全号码格式(例如 "123-45-6789")的行。这里的 -E 表示启用扩展正则表达式。

# free -h 指令

作用:用于显示系统的内存使用情况。

              total        used        free      shared  buff/cache   available
Mem:           7.8G        3.9G        1.1G        254M        2.8G        3.3G
Swap:          2.0G        1.2G        830M

1
2
3
4
  • total: 系统内存总量。
  • used: 已使用的内存量。
  • free: 可用的空闲内存量。
  • shared: 被共享的内存量。
  • buff/cache: 用于缓冲区和缓存的内存量。
  • available: 系统可用的内存量,它包括空闲内存、缓冲区和缓存的内存。

# nohup 指令

作用:用于在后台运行程序,并且不受终端关闭影响。它的作用是将程序的标准输出和标准错误输出重定向到一个名为 nohup.out 的文件中,这样即使终端关闭,程序仍然可以继续在后台运行。

例如:nohup java -jar /root/services/user-center-backend/target/user-center-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod &

  1. java -jar /root/services/user-center-backend/target/user-center-0.0.1-SNAPSHOT.jar: 这部分是运行 Java 应用程序的命令。java是 Java 的运行命令,-jar表示要运行的是一个可执行的 JAR 文件,后面紧跟着 JAR 文件的路径/root/services/user-center-backend/target/user-center-0.0.1-SNAPSHOT.jar,这是一个 Java 可执行文件。
  2. --spring.profiles.active=prod: 这部分是 Spring Boot 应用程序的参数,用于指定使用哪个配置文件。在这里,prod是一个配置文件的名称,表示使用生产环境的配置。
  3. &: 是 Linux 中的后台运行符号,它使得命令在后台运行,而不阻塞当前终端。这样可以让 Java 应用程序在后台持续运行,即使终端关闭也不会影响它。

综合起来,这行代码的作用是在 Linux 系统下以生产环境的配置运行一个 Java 应用程序,并将其放在后台持续运行,不受终端关闭的影响。

# jobs 指令

作用:用于显示当前终端(shell会话)中正在运行或挂起的作业(进程)列表。

当你在终端中运行一个命令并在后台使用 & 运行时,该命令就成为一个作业。jobs命令可以列出这些作业,以及它们的状态。

输出通常会显示每个作业的编号(Job ID)、状态、命令和作业编号(Process ID)等信息。作业状态可能有以下几种:

  • Running: 作业正在前台或后台运行。
  • Stopped: 作业被挂起(暂停)。
  • Done: 作业已完成。

你可以使用fg(foreground)和bg(background)命令来控制作业的前台和后台运行。例如,使用fg命令可以将一个后台作业切换到前台运行,而使用bg命令可以将一个前台作业切换到后台运行。

如果要结束一个作业,可以使用kill命令,加上作业的编号或进程编号。

请注意,jobs命令只显示当前终端会话中的作业,如果你在另一个终端窗口中运行作业,则在当前终端中使用jobs是看不到这些作业的。

# netstat -ntlp 指令

作用:用于查看当前系统上的网络连接和监听端口信息。以下是该命令的解释:

  • netstat: 是网络统计(network statistics)的缩写,用于显示网络连接信息和统计数据。
  • -n: 指定显示网络地址和端口号时不进行反向域名解析,以 IP 地址和端口号的形式显示,而不是域名和服务名。
  • -t: 仅显示 TCP 协议相关的网络连接信息。
  • -l: 仅显示监听状态(LISTEN)的网络连接信息,即显示系统正在监听的端口。
  • -p: 显示与网络连接相关的进程信息,包括进程的 PID(Process ID)和进程的名称。

执行 netstat -ntlp 命令后,将会列出所有当前系统上正在监听的 TCP 端口,并显示与这些端口相关联的进程信息。这对于查看哪些服务正在监听哪些端口以及是否存在非常有用。例如,你可以通过这个命令来查看 Web 服务器(如 Apache、Nginx)是否正在监听 80 端口,或者数据库服务器(如 MySQL)是否正在监听 3306 端口。

image

# jps 命令

jps 是 Java Virtual Machine Process Status Tool 的缩写,是 JDK(Java Development Kit)中的一个命令行工具。它用于列出当前系统上所有正在运行的 Java 进程的进程 ID(PID)和主类名称。

执行jps命令后,将会显示当前系统上所有正在运行的 Java 进程的信息,包括它们的 PID 和对应的主类名称。通常用于在命令行中快速查看正在运行的 Java 进程,方便开发者进行进程管理和调试。

例如,执行jps命令可能会输出类似以下的结果:

1234 MyApp
5678 AnotherApp
1
2

其中,1234和5678是 Java 进程的 PID,MyApp和AnotherApp是对应的 Java 主类名称。

# df 指令

df -h 是一个常用的 Linux/Unix 命令,用于显示磁盘空间使用情况,并以易读的方式(以 KB、MB、GB 等单位)显示输出结果。

具体来说,df 表示 "disk free",用于显示文件系统的磁盘空间信息。而 -h 选项表示 "human-readable",使得输出结果以易读的方式呈现,比如使用 KB、MB、GB 等单位,而不是以字节为单位。

当你在终端中运行 df -h 命令时,它将显示所有挂载点的磁盘空间使用情况,包括总容量、已用空间、可用空间、使用百分比和挂载点等信息。这对于查看磁盘的使用情况很有帮助,可以帮助你了解哪些磁盘分区或挂载点占用了最多的空间。

# vim 常用指令

作用:打开并进入一个文件(文件可以不存在,会自动创建)

用法:vim 文件的路径

示例:

打开进入当前目录下的 test.txt 文件

vim ./test.txt 
1

# 移动光标

  • h: 左移一个字符
  • j: 下移一行
  • k: 上移一行
  • l: 右移一个字符
  • ^: 移动到行首
  • $: 移动到行尾
  • gg: 移动到文档开头
  • G: 移动到文档结尾

# 编辑文本

  • i: 插入文本,光标会进入插入模式,可以输入文本
  • a: 在光标后插入文本
  • o: 在当前行的下一行插入新行,并进入插入模式
  • dd: 删除当前行
  • yy: 复制当前行
  • p: 粘贴复制的文本

# 搜索和替换

  • /pattern: 向下搜索 pattern
  • ?pattern: 向上搜索 pattern
  • n: 下一个匹配项
  • N: 上一个匹配项
  • :s/old/new/g: 替换当前行中所有 old 为 new
  • :%s/old/new/g: 替换整个文档中所有 old 为 new

# 保存和退出

  • :w: 保存当前文件
  • :wq: 保存并退出
  • :q: 退出(如果没有更改过文件内容)
  • :q!: 强制退出,不保存更改

# 环境变量

进入环境变量文件

vim /etc/profile
1

修改完成后,用 source 命令使其生效

source /etc/profile
1

# 学习参考

  • Linux 压缩和解压缩命令(超详细) - 犬小哈教程 (quanxiaoha.com) (opens new window)
上次更新: 2024/9/25 11:16:13
ffmpeg实现视频流抽帧
Linux环境搭建

← ffmpeg实现视频流抽帧 Linux环境搭建→

Theme by Vdoing | Copyright © 2023-2025 沉梦听雨 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式