1. 文件系统
- df : 列出文件系统的磁盘使用量
root@maoxh-pc:/home/maoxh# df -h
文件系统 容量 已用 可用 已用% 挂载点
udev 3.9G 0 3.9G 0% /dev
tmpfs 787M 1.9M 785M 1% /run
/dev/sda2 457G 15G 420G 4% /
tmpfs 3.9G 4.0K 3.9G 1% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/loop0 128K 128K 0 100% /snap/bare/5
/dev/loop2 66M 66M 0 100% /snap/gtk-common-themes/1519
/dev/loop1 249M 249M 0 100% /snap/gnome-3-38-2004/99
/dev/loop4 55M 55M 0 100% /snap/snap-store/558
/dev/sda1 511M 5.3M 506M 2% /boot/efi
tmpfs 787M 52K 787M 1% /run/user/1000
/dev/loop8 82M 82M 0 100% /snap/gtk-common-themes/1534
tmpfs 787M 20K 787M 1% /run/user/125
/dev/loop9 45M 45M 0 100% /snap/snapd/15904
/dev/loop6 62M 62M 0 100% /snap/core20/1494
/dev/loop7 255M 255M 0 100% /snap/gnome-3-38-2004/106
/dev/loop10 62M 62M 0 100% /snap/core20/1518
/dev/loop3 47M 47M 0 100% /snap/snapd/16010
- du : 常用与查看目录所占容量
root@maoxh-pc:/home/maoxh# du -h /data/nacos
122M /data/nacos/target
101M /data/nacos/logs
8.0K /data/nacos/data/protocol/raft/naming_service_metadata/meta-data
12K /data/nacos/data/protocol/raft/naming_service_metadata/snapshot/snapshot_3
16K /data/nacos/data/protocol/raft/naming_service_metadata/snapshot
261M /data/nacos/data/protocol/raft/naming_service_metadata/log
261M /data/nacos/data/protocol/raft/naming_service_metadata
8.0K /data/nacos/data/protocol/raft/naming_instance_metadata/meta-data
12K /data/nacos/data/protocol/raft/naming_instance_metadata/snapshot/snapshot_3
16K /data/nacos/data/protocol/raft/naming_instance_metadata/snapshot
261M /data/nacos/data/protocol/raft/naming_instance_metadata/log
261M /data/nacos/data/protocol/raft/naming_instance_metadata
8.0K /data/nacos/data/protocol/raft/naming_persistent_service_v2/meta-data
12K /data/nacos/data/protocol/raft/naming_persistent_service_v2/snapshot/snapshot_3
16K /data/nacos/data/protocol/raft/naming_persistent_service_v2/snapshot
261M /data/nacos/data/protocol/raft/naming_persistent_service_v2/log
261M /data/nacos/data/protocol/raft/naming_persistent_service_v2
781M /data/nacos/data/protocol/raft
781M /data/nacos/data/protocol
4.0K /data/nacos/data/loader
4.0K /data/nacos/data/naming/data
8.0K /data/nacos/data/naming
4.0K /data/nacos/data/tps
4.0K /data/nacos/data/derby-data/tmp
2.2M /data/nacos/data/derby-data/seg0
1.1M /data/nacos/data/derby-data/log
3.3M /data/nacos/data/derby-data
784M /data/nacos/data
92K /data/nacos/conf
2.4M /data/nacos/bin/logs
4.0K /data/nacos/bin/work/Tomcat/localhost/nacos
8.0K /data/nacos/bin/work/Tomcat/localhost
12K /data/nacos/bin/work/Tomcat
16K /data/nacos/bin/work
2.4M /data/nacos/bin
1009M /data/nacos
2. vi编辑器
vi一共有三种模式,分别是
-
一般指令模式(command mode)
以vi打开一个文件,直接进入指令模式。一般指令模式下无法进行编辑。需要按下
i,I,o,O,a,A,r,R等任何一个字母可以进入编辑模式。 -
编辑模式(insert mode)
编辑模式按
esc可以退出编辑模式进入一般指令模式 -
命令行命令模式(command-line mode)
在一般模式下,输入
:/?三个中的任何一个,可以进入命令行模式
| 一般模式下的相关操作 | ||
|---|---|---|
| h 或 向左方向键( ←) | 光标向左移动一个字符 | |
| j 或 向下方向键( ↓) | 光标向下移动一个字符 | |
| k 或 向上方向键( ↑) | 光标向上移动一个字符 | |
| l 或 向右方向键( →) | 光标向右移动一个字符 | |
| 如果想要进行 多次移动的话, 例如向下移动 30 列, 可以使用 "30j" 或 "30↓" 的组合按键, 亦即加上想要进行的次数( 数字) 后, 按下动作即可! | ||
| [Ctrl] + [f] | 屏幕“向下”移动一页, 相当于 [Page Down]按 键 ( 常用) | |
| [Ctrl] + [b] | 屏幕“向上”移动一页, 相当于 [Page Up] 按键 ( 常用) | |
| [Ctrl] + [d] | 屏幕“向下”移动半页 | |
| [Ctrl] + [u] | 屏幕“向上”移动半页 | |
| + | 光标移动到非空白字符的下一列 | |
| - | 光标移动到非空白字符的上一列 | |
| 0 或功能键[Home] | 这是数字“ 0 ”: 移动到这一列的最前面字符处 ( 常用) | |
| $ 或功能键[End] | 移动到这一列的最后面字符处( 常用) | |
| H | 光标移动到这个屏幕的最上方那一列的第一 个字符 | |
| M | 光标移动到这个屏幕的中央那一列的第一个 字符 | |
| L | 光标移动到这个屏幕的最下方那一列的第一 个字符 | |
| G | 移动到这个文件的最后一列( 常用) | |
| nG | n 为数字。 移动到这个文件的第 n 列。 例如 20G 则会移动到这个文件的第 20 列( 可配合 :set nu) | |
| gg | 移动到这个文件的第一列, 相当于 1G 啊! ( 常用) | |
| 搜寻与取代 | ||
| /word | 向光标之下寻找一个名称为 word 的字串。 例 如要在文件内搜寻 vbird 这个字串, 就输入 /vbird 即可! ( 常用) | |
| ?word | 向光标之上寻找一个字串名称为 word 的字 串。 | |
| n | 这个 n 是英文按键。 代表“重复前一个搜 寻的动作”。 举例来说, 如果刚刚我们执 行 /vbird 去向下搜寻 vbird 这个字串, 则按下 n 后, 会向下继续搜寻下一个名称为 vbird 的 字串。 如果是执行 ?vbird 的话, 那么按下 n 则会向上继续搜寻名称为 vbird 的字串! | |
| N | 这个 N 是英文按键。 与 n 刚好相反, 为“反 向”进行前一个搜寻动作。 例如 /vbird 后, 按 下 N 则表示“向上”搜寻 vbird 。 | |
| 使用 /word 配合 n 及 N 是非常有帮助 的! 可以让你重复的找到一些你搜寻的 关键字! | ||
| :n1,n2s/word1/word2/g | n1 与 n2 为数字。 在第 n1 与 n2 列之间寻找 word1 这个字串, 并将该字串取代为 word2 ! 举例来说, 在 100 到 200 列之间搜寻 vbird 并取代为 VBIRD 则: “:100,200s/vbird/VBIRD/g”。 ( 常用) | |
| :1,$s/word1/word2/g | 从第一列到最后一列寻找 word1 字串, 并将 该字串取代为 word2 ! ( 常用) | |
| :1,$s/word1/word2/gc | 从第一列到最后一列寻找 word1 字串, 并将 该字串取代为 word2 ! 且在取代前显示提示 字符给使用者确认 ( confirm) 是否需要取 代! ( 常用) | |
| 删除、 复制与贴上 | ||
| x, X | 在一列字当中, x 为向后删除一个字符 ( 相 当于 [del] 按键) , X 为向前删除一个字符 ( 相当于 [backspace] 亦即是倒退键) ( 常 用) | |
| nx | n 为数字, 连续向后删除 n 个字符。 举例来 说, 我要连续删除 10 个字符, “10x”。 | |
| dd | 删除光标所在的那一整列( 常用) | |
| ndd | n 为数字。 删除光标所在的向下 n 列, 例如 20dd 则是删除 20 列 ( 常用) | |
| d0 | 那个是数字的 0 , 删除光标所在处, 到该列 的最前面一个字符 | |
| yy | 复制光标所在的那一列( 常用) | |
| nyy | n 为数字。 复制光标所在的向下 n 列, 例如 20yy 则是复制 20 列( 常用) | |
| y1G | 复制光标所在列到第一列的所有数据 | |
| yG | 复制光标所在列到最后一列的所有数据 | |
| y0 | 复制光标所在的那个字符到该列行首的所有 数据 | |
| y$ | 复制光标所在的那个字符到该列行尾的所有 数据 | |
| p, P | p 为将已复制的数据在光标下一列贴上, P 则 为贴在光标上一列! 举例来说, 我目前光标 在第 20 列, 且已经复制了 10 列数据。 则按 下 p 后, 那 10 列数据会贴在原本的 20 列之 后, 亦即由 21 列开始贴。 但如果是按下 P 呢? 那么原本的第 20 列会被推到变成 30 列。 ( 常用) | |
| J | 将光标所在列与下一列的数据结合成同一列 | |
| u | 复原前一个动作。相当于撤销 ( 常用) | |
| [Ctrl]+r | 重做上一个动作。相当于反撤销 ( 常用) | |
| . | 不要怀疑! 这就是小数点! 意思是重复前一 个动作的意思。 如果你想要重复删除、 重复 贴上等等动作, 按下小数点“.”就好了! ( 常 用) |
| 命令行界面的储存、 离开等 指令 | |
|---|---|
| :w | 将编辑的数据写入硬盘文件中( 常用) |
| :w! | 若文件属性为“只读”时, 强制写入该文件。 不过, 到底能 不能写入, 还是跟你对该文件的文件权限有关啊! |
| :q | 离开 vi ( 常用) |
| :q! | 若曾修改过文件, 又不想储存, 使用 ! 为强制离开不储存 盘案。 |
| 注意一下啊, 那个惊叹号 ( !) 在 vi 当中, 常常具 有“强制”的意思~ | |
| :wq | 储存后离开, 若为 :wq! 则为强制储存后离开 ( 常用) |
| ZZ | 这是大写的 Z 喔! 若文件没有更动, 则不储存离开, 若 文件已经被更动过, 则储存后离开! |
| :w [filename] | 将编辑的数据储存成另一个文件( 类似另存新文件) |
| :r [filename] | 在编辑的数据中, 读入另一个文件的数据。 亦即将 “filename” 这个文件内容加到光标所在列后面 |
| :n1,n2 w [filename] | 将 n1 到 n2 的内容储存成 filename 这个文件。 |
| :! command | 暂时离开 vi 到命令行界面下执行 command 的显示结 果! 例如 “:! ls /home”即可在 vi 当中察看 /home 下面以 ls 输出的文件信息! |
| vim 环境的变更 | |
| :set nu | 显示行号, 设置之后, 会在每一列的字首显示该列的行 号 |
| :set nonu | 与 set nu 相反, 为取消行号! |
3. 重定向
-
标准输入(stdin):代码为0,使用
<或者<< -
标准输出(stdout):代码为1,使用
>或者>>以下示例,将
ll的输出内容 重定向到当前文件夹的ll.txt文件中,当文件不存在会自动创建。当文件存在,系统会自动清空,然后写入文件。也可以使用>>来进行追加内容maoxh@maoxh-pc:/data$ ll . > ./ll.txt maoxh@maoxh-pc:/data$ cat ll.txt 总用量 269300 drwxrwxrwx 6 root root 4096 7月 12 21:47 ./ drwxr-xr-x 25 root root 4096 6月 19 17:22 ../ -rw-rw-r-- 1 maoxh maoxh 7745 5月 26 11:13 dub-declare-nb-service.sh drwxr-xr-x 4 www avahi 4096 7月 12 11:06 frp_0.42.0_linux_386/ -rw-rw-r-- 1 maoxh maoxh 9159907 5月 15 20:19 frp_0.42.0_linux_386.tar.gz drwxr-xr-x 8 10143 10143 4096 4月 26 14:03 jdk1.8.0_333/ -rw-rw-r-- 1 maoxh maoxh 148003421 5月 19 21:59 jdk-8u333-linux-x64.tar.gz -rw-rw-r-- 1 maoxh maoxh 0 7月 12 21:47 ll.txt drwxr-xr-x 7 root root 4096 5月 19 22:24 nacos/ -rw-rw-r-- 1 maoxh maoxh 117482791 5月 19 22:23 nacos-server-2.0.4.zip drwxr-xr-x 9 www www 4096 5月 26 13:56 nginx-1.21.6/ -rw-rw-r-- 1 maoxh maoxh 1073364 5月 26 13:53 nginx-1.21.6.tar.gz maoxh@maoxh-pc:/data$ -
标准错误输出(stderr):代码为2,使用
2>或者2>>1> : 以覆盖的方法将“正确的数据”输出到指定的文件或设备上 1>>: 以累加的方法将“正确的数据”输出到指定的文件或设备上 2> : 以覆盖的方法将“错误的数据”输出到指定的文件或设备上 2>>: 以累加的方法将“错误的数据”输出到指定的文件或设备上由于权限问题,进行
find的时候,会显示权限不足,以下案例将结果输出到right.txt,然后将错误信息输入到error.txt,这样屏幕上 就看不到烦恼的错误信息了maoxh@maoxh-pc:/data$ find / -name .bashrc find: ‘/boot/efi’: 权限不够 find: ‘/etc/polkit-1/localauthority’: 权限不够 /etc/skel/.bashrc find: ‘/etc/ssl/private’: 权限不够 find: ‘/etc/redis’: 权限不够 find: ‘/etc/cups/ssl’: 权限不够 ... maoxh@maoxh-pc:/data$ find / -name .bashrc > right.txt 2> error.txt maoxh@maoxh-pc:/data$ less error.txt maoxh@maoxh-pc:/data$ less right.txt如果我们不想要错误信息,也不想展示到屏幕,可以使用
/dev/null垃圾桶黑洞设备,它可以吃掉任何重定向到它的信息。maoxh@maoxh-pc:/data$ find / -name .bashrc > right.txt 2> /dev/null如何将错误与正确数据,输出到同一个文件(以下两种方式都可以)
maoxh@maoxh-pc:/data$ find / -name .bashrc > right.txt 2>&1 maoxh@maoxh-pc:/data$ find / -name .bashrc &> right1.txt
4. 管道
管道命令
|,它用来组合多个命令,以下的案例展示将ls /etc的结果集,输入到less,这样我们能用less的命令来前后翻动信息。
- 管道命令只处理
标准输出(standard output),对于标准错误输出(standard error output)会自动忽略 - 管道命令必须要能够接受来自前一个指令的数据成为
standard input继续处理才行。
maoxh@maoxh-pc:/data$ ls /etc/ | less