type
status
date
slug
summary
tags
category
icon
password

vim

vi 编辑器是Unix系统最初的编辑器,在GNU项目将vi编辑器移植到开源世界时,他们决定对其做一些改进,开发人员也就将它重命名为 vi improved
vim(vi improved) 是 vi 的升级版,所以只需要知道 vim 即可, 是一个非强大的文本编辑器,学习成本不低,需要长期使用才能记牢每一个指令操作。
这是一份速查表,使用的时候注意区分大小写。
vim 的快捷键指令非常多,只列出一些实用性便于记忆。
打开文件
光标定位插入
快捷键
描述
i
在当前光标位置插入
I
在当前光标行第一个字符插入
a
在当前光标后一个字符插入
A
光标到当前行最后一个字符插入
H
光标到第一行第一个字符 (是以终端大小来计算,不是原文本的第一行)
M
光标到中间第一行 (是以终端大小来计算)
L
光标到最后行第一个字符 (是以终端大小来计算)
E
将光标定位到右边的空格
o
在当前光标下一行插入
O
在当前光标上一行插入
:n
将光标定位到 n 行
撤销
快捷键
描述
u
撤销上一次编辑内容
U
撤销当前光标整行内容
Ctrl + r
还原初始文件状态
e!
撤销所有修改,恢复打开文件时的状态
删除
快捷键
描述
dd
删除当前行
dj
删除上一行
dk
删除下一行
:1,$d
删除所有行
拷贝/粘贴
快捷键
描述
yy
拷贝当前行
p
在当前光标粘贴上一次拷贝的内容
搜索
快捷键
描述
:/text
从上往下查找 text,按 n 向下搜索, 按 N 想前搜索
:?text
从下往上查找 text,按 n 向下搜索, 按 N 想前搜索
替换
要想匹配 / 需要反斜杠进行转义: \/
快捷键
描述
:s/old/new
找到old第一次出现的地方并用new来替换
:s/old/new/g
找到所有old出现的地方并用new来替换(当前屏幕)
:%s/old/new/g
替换整个文件中的所有old
:%s/old/new/gc
替换整个文件中的所有old,但在每次出现时询问是否替换
:n,ms/old/new/g
替换行号n和m之间的所有old
退出
先按 ESC 键然后再操作后面的快捷键。
快捷键
描述
:w
写入但不退出
:w!
强制保存,但不退出
:q!
退出但不保存
:wq
保存写入内容并退出
:w file
将当前文件内容保存到 file 文件中
:qa!
退出所有文件并不做保存,比如打开了多个文件
设置
快捷键
描述
:set ignorecase
忽略大小写查找
:set noignorecase
不忽略大小写查找
:set hlsearch
高亮搜索结果
:set nohlsearch
关闭高亮搜索显示
:set hlsearch
高亮搜索结果
:set number
显示行号
:set nonumber
不显示行号

touch

创建一个空文件, 如果文件存在只会修改文件的创建时间

mkdir

make directory, 创建目录。

rm

删除指定目录或文件
注: 使用此命令需要非常小心, 一但删除无法恢复

find

指定某个目录下查找文件

ls

显示当前目录下的文件和目录,输出的列表是按字母排序 (某些发行版可能不一样)。
参数
描述
-l
显示目录列表的详细信息
-h
显示文件大小,需要和 -l 参数一起使用
-a
列出所有文件,包括隐藏文件
-F
显示文件类型
-i
查看inode编号, 每个文件都有唯一的编号
-S
以文件大小进行排序
-t
以文件修改时间排序
-r
输出结果倒序排列
文件权限说明,当敲入 ls -la 最左侧会出现10个字符:
[-][rwx][r-x][r--] 转换为 1 234 567 890
  • 1 代表这个文件名是目录还是文件
    •  文件
    • d 目录
    • l 链接文件
    • b 则表示为设备文件里面的可供储存的周边设备(可随机存取设备)
    • c 则表示为设备文件里面的序列埠设备,例如键盘、鼠标(一次性读取设 备)
  • 234 拥有者权限, 分别为 可读、可写、可执行
  • 567 群组使用者权限, 分别为 可读、可写、可执行
  • 890 其他使用者权限, 分别为 可读、可写、可执行
权限的位置是不会改变的,有权限则显示,无权限则 - 显示。

grep

强大的文本搜索工具,被称为Linux命令三剑客之老三。
命令用法:grep [option] pattern file...
参数
描述
-i
忽略大小写
-n
打印匹配行号
-c
打印匹配成功的次数
--color
高亮打印匹配文本
-o
只打印匹配到的内容
-v
反向查找
-E
正则查找
-w
匹配单词
-r
从目录下递归搜索

cp

拷贝文件或目录

mv

mv 有2个用途:
  • 将文件或目录移动到另一个位置
  • 将文件或目录重命名
注:实际上 mv 是用来移动文件或目录,只不过有类似重命名的功能而已。

ifconfig

配置或显示系统网卡的网络参数

chmod

修改文件或目录权限
chmod [参数选项] [mode, 八进制或符号表示] files...
  • u 符号代表当前用户。
  • g 符号代表和当前用户在同一个组的用户,以下简称组用户。
  • o 符号代表其他用户。
  • a 符号代表所有用户。
  • r 符号代表读权限以及八进制数4。
  • w 符号代表写权限以及八进制数2。
  • x 符号代表执行权限以及八进制数1。
  • X 符号代表如果目标文件是可执行文件或目录,可给其设置可执行权限。
  • s 符号代表设置权限suid和sgid,使用权限组合u+s设定文件的用户的ID位,g+s设置组用户ID位。
  • t 符号代表只有目录或文件的所有者才可以删除目录下的文件。
  • + 符号代表添加目标用户相应的权限。
  •  符号代表删除目标用户相应的权限。
  • = 符号代表添加目标用户相应的权限,删除未提到的权限。
文件权限码
权限
二进制值
八进制值
描述
---
000
0
没有任何权限
--x
001
1
只有执行权限
-w-
010
2
只有写入权限
-wx
011
3
有写入和执行权限
r--
100
4
只有读取权限
r-x
101
5
有读取和执行权限
rw-
110
6
有读取和写入权限
rwx
111
7
有全部权限

lsof

全名list open files, 列出当前系统已经被打开的文件。

systemctl

系统服务管理器指令, 通常用来设置某个服务器默认开机启动或关闭。
命令:systemctl [command] [unit]

service

管理操作系统服务的命令, 是Redhat Linux兼容的发行版中用来控制系统服务的实用工具,它以启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前状态。
 

ps

查看当前系统进程状态。
ps 命令非常复杂,且参数极多,由于 ps 历史问题,参数风格支持了三种 UNIX/BSD/``GNU` 这里不详细的介绍,感兴趣可以自行了解。
  • Unix 风格参数 - 前面加单破折线
  • BSD 风格的参数 - 前面不加破折线
  • GNU 风格长参数 - 前面加双破折线
Unix 风格参数
参数
描述
-A
显示所有进程
-N
显示与指定参数不符的所有进程
-a
显示除控制进程和无终端进程外的所有进程
-d
显示除控制进程外的所有进程
-e
显示所有进程
-C cmdlist
显示包含在cmdlist列表中的进程
-G grplist
显示组ID在grplist列表中的进程
-U userlist
显示属主的用户ID在userlist列表中的进程
-g grplist
显示会话或组ID在grplist列表中的进程
-p pidlist
显示PID在pidlist列表中的进程
-s sesslist
显示会话ID在sesslist列表中的进程
-t ttylist
显示终端ID在ttylist列表中的进程
-u userlist
显示有效用户ID在userlist列表中的进程
-F
显示更多额外输出(相对-f参数而言)
-O format
显示默认的输出列以及format列表指定的特定列
-M
显示进程的安全信息
-c
显示进程的额外条调度器信息
-l
显示长列表
-o format
仅显示由format指定的列表
-y
不要显示进程标记(process tag, 表明进程状态的标记)
-Z
显示安全标签(security context)信息
-H
用层级格式来显示进程(树状,用来显示父进程)
-n namelist
定义了WCHAN列显示的值
-w
采用宽输出模式,不限宽显示
-L
显示进程中的线程
-V
显示PS命令的版本号

zip

归档数据,将目录或文件归档为 .zip 格式, zip 不是Linux中的标准归档工具, 是为了支持 windows 而存在。

unzip

提取 zip 归档的文件或目录

gzip

GNU 压缩/解压工具,用 Lempel-Ziv编码,格式为 .gz, 压缩后原文件将被删除
注意:gzip 不能用于压缩整个目录, 只能用于压缩一个文件, 如果需要压缩整个目录可以考虑使用 zip 命令。

wget

用于从网络下载文件到本地

curl

curl 是一个非常强大的网络传输工具, 利用URL规则在命令行下工作的文件传输工具。
参数
描述
-s, --silent
不输出错误和进度信息, 只显示正常结果
-o, --output
将结果输出到文件中
-O, --remote-name
下载文件到本地,并将URL最后部分当做文件名
-L
HTTP请求跟随服务器重定向
-I, --head
显示HTTP响应报文
-H
设置请求头
-X
指定HTTP请求方法,大写字母
-d
HTTP请求实体内容
--cookie
指定发送cookie
-v
打印整个传输过程
-F, --form
上传文件
-u
指定用户名密码授权
--progress
显示进度条
-f, --fail
连接失败时不显示http错误
--retry
请求重试
注意:参数不分前后
不传递任何参数只打印HTTP响应内容
  • s 不输出错误和进度信息, 只显示正常结果
  • o 指定文件名下载到本地,等价于 wget
  • O 下载文件到本地, 并将URL最后部分当做文件名
  • -progress 显示进度条
  • L HTTP请求跟随服务器重定向
  • I 或 --head 显示HTTP响应报文, 不打印响应内容
  • H 设置请求头
  • X 指明HTTP请求方法
  • d 要发送的实体内容
  • -cookie HTTP请求时携带的cookie信息
  • v 打印整个传输过程
  • F 上传文件,默认以POST方法请求
  • u 请求授权
  • -retry 请求重试
请求失败时设置重试次数

df

查看已挂载的磁盘使用情况。
描述
名称
描述
Filesystem
设备的设备位置文件
Size
能容纳多少个1024字节大小的块
Used
已用了多少个1024字节大小的块
Avail
还有多少个1024字节大小的块可用
Use%
已用空间所占的比例
Mounted on
设备挂载到了哪个挂载点上

du

显示文件或目录所占用的磁盘空间
参数
描述
-m
以mb单位显示大小
-h
自动格式化单位,以 K, M, G为单位
-s
只显示总大小,列出最后累计的值
-c
显示当前所有已列出文件总大小
-b
以 bytes 为单位显示大小

apt-get

apt-get命令 是Debian Linux发行版中的APT软件包管理工具。所有基于Debian的发行都使用这个包管理系统。

目录名称含义

目录名
描述
/
虚拟目录的根目录,通常不会在这里存储文件
/bin
二进制目录,存放许多用户级的GNU工具
/boot
启动目录,存放启动文件
/dev
设备目录,Linux在这里创建设备节点
/etc
系统配置文件目录
/home
主目录,Linux在这里创建用户目录
/lib
库目录,存放系统和应用程序的库文件
/media
媒体目录,可移动媒体设备的常用挂载点
/mnt
挂载目录,另一个可移动媒体设备的常用挂载点
/opt
可选目录,常用于存放第三方软件包和数据文件
/proc
进程目录,存放现有硬件及当期进程的相关信息
/root
ROOT用户的主目录
/sbin
系统二进制目录,存放许多GNU管理员级工具
/run
运行目录,存放系统运作时的运行时数据
/srv
服务目录,存放本地服务的相关文件
/sys
系统目录,存放系统硬件信息的相关文件
/tmp
临时目录,可以在该目录中创建和删除临时工作文件
/usr
用户二进制目录,大量用户级的GNU工具和数据文件都存储在这里(Unix Software Resource)
/var
可变目录,用以存放经常变化的文件,比如日志文件

输出重定向

将命令输出的内容发送到一个文件中叫做 输出重定向 。 使用 > 大于号。
下面展示了几个例子
有时不想覆盖文件而是追加内容,比如日志,可以使用 >> 2个大于号。

echo

输出字符串或者变量
参数
描述
-n
打印时不加换行符
-e
解析字符
注: 一般情况下字符串不必加双引号, 如果包含转义字符就必须要加
 
 
1panel部署NotionNextlinux的NFS挂载
Loading...