文章目录
帮助命令help man
- #help
#命令 -help 单独释义该命令可用类别(q退出) - #man
#man 命令 同上 或者全部(q退出)
终止命令继续ctrl+c
ctrl+c 操作需要停止时,停止系统继续往下操作
命令注释
- /* ------*/ :这个可以注释几行,中间可以断行。两边是匹配的。
- #:一次只能注释一行,就当前行
- //和#一样,在Shell一般不用//
当前位置pwd
#help是Print Working Directory的缩写,其功能是显示当前所在工作目录的全路径。主要用在当不确定当前所在位置时,通过pwd来查看当前目录的绝对路径。
-L | –logical,显示当前的路径,有连接文件时,直接显示连接文件的路径,(不加参数时默认此方式),参考示例1。 |
-p | –physical,显示当前的路径,有连接文件时,不使用连接路径,直接显示连接文件所指向的文件,参考示例2。 当包含多层连接文件时,显示连接文件最终指向的文件,参考示例3。 |
–help | 显示帮助信息。 |
–version | 显示版本信息。 |
位置移动cd
#cd 文件路径(绝对路径由根目录开始写,相对路径是相对当前的)
-~ | 跳至主目录 |
-… | 跳至上层目录 |
-…/… | 跳至上上层 |
-$TEST_PATH | 使用环境变量 |
– | 跳至根目录 |
文件移动以及改名mv
#mv 用来为文件或目录改名、或将文件或目录移入其它位置。
可以参考了解:https://baijiahao.baidu.com/s?id=1584833728550974621&wfr=spider&for=pc
#mv aaa bbb 将文件aaa改名为bbb
#mv aaa/ bbb 将目录aaa放入目录bbb中,如BB不存在,将自动创建bbb
#mv aaa/* . 注意末尾的点。将目录aaa里的所有文件移到当前目录
复制命令cp
#cp 主要用于复制文件或目录
可以参考了解:https://baijiahao.baidu.com/s?id=1584730406677513659&wfr=spider&for=pc
-r | 复制源文件夹到目标文件夹下 |
-u | 只有源文件较目标文件新时复制 |
-s | 创建文件的软链接 |
-l | 创建文件的硬链接 |
查看ls cat more less head tail
#ls 命令用来显示目标列表,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件
-a | 显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出 |
-A | 显示除影藏文件“.”和“…”以外的所有文件列表; |
-C | 多列显示输出结果。这是默认选项; |
-l | 与“-C”选项功能相反,所有输出信息用单列格式输出,不输出为多列; |
-F | 在每个输出项后追加文件的类型标识符,具体含义:“*”表示具有可执行权限的普通文件,“/”表示目录,“@”表示符号链接,“ |
-b | 将文件中的不可输出的字符以反斜线“”加字符编码的方式输出; |
-c | 与“-lt”选项连用时,按照文件状态时间排序输出目录内容,排序的依据是文件的索引节点中的ctime字段。与“-l”选项连用时,则排序的一句是文件的状态改变时间; |
-d | 仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录列表; |
-f | 此参数的效果和同时指定“aU”参数相同,并关闭“lst”参数的效果; |
-i | 显示文件索引节点号(inode)。一个索引节点代表一个文件; |
–file-type | 与“-F”选项的功能相同,但是不显示“*”;** |
-k | 以KB(千字节)为单位显示文件大小; |
-l | 以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等; |
-m | 用“,”号区隔每个文件和目录的名称; |
-n | 以用户识别码和群组识别码替代其名称; |
-r | 以文件名反序排列并输出目录内容列表; |
-s | 显示文件和目录的大小,以区块为单位; |
-t | 用文件和目录的更改时间排序; |
-L | 如果遇到性质为符号链接的文件或目录,直接列出该链接所指向的原始文件或目录; |
-R | 递归处理,将指定目录下的所有文件及子目录一并处理; |
–full-time | 列出完整的日期与时间; |
–color[=WHEN] | 使用不同的颜色高亮显示不同类型的。 |
cat
cat命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容,类似于下的type命令 tac是倒序查看,是cat单词反写;
例子如下
-n或-number | 有1开始对所有输出的行数编号; |
-b或–number-nonblank | 和-n相似,只不过对于空白行不编号; |
-s或–squeeze-blank | 当遇到有连续两行以上的空白行,就代换为一行的空白行; |
-A | 显示不可打印字符,行尾显示“$”; |
-e | 等价于"-vE"选项; |
-t | 等价于"-vT"选项; |
more
more功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件.
+n | 从笫n行开始显示 |
-n | 定义屏幕大小为n行 |
+/pattern | 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示 |
-c | 从顶部清屏,然后显示 |
-d | 提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能 |
-l | 忽略Ctrl+l(换页)字符 |
-p | 通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似 |
-s | 把连续的多个空行显示为一行 |
-u | 把文件内容中的下画线去掉 |
常用操作命令
Enter | 向下n行,需要定义。默认为1行 |
Ctrl+F | 向下滚动一屏 |
空格键 | 向下滚动一屏 |
Ctrl+B | 返回上一屏 |
= | 输出当前行的行号 |
:f | 输出文件名和当前行的行号 |
V | 调用vi编辑器 |
!命令 | 调用Shell,并执行命令 |
q | 退出more |
less
less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。 在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按 键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。
-b | <缓冲区大小> 设置缓冲区的大小 |
-e | 当文件显示结束后,自动离开 |
-f | 强迫打开特殊文件,例如外围设备代号、目录和二进制文件 |
-g | 只标志最后搜索的关键词 |
-i | 忽略搜索时的大小写 |
-m | 显示类似more命令的百分比 |
-N | 显示每行的行号 |
-o | <文件名> 将less 输出的内容在指定文件中保存起来 |
-Q | 不使用警告音 |
-s | 显示连续空行为一行 |
-S | 行过长时间将超出部分舍弃 |
-x | <数字> 将“tab”键显示为规定的数字空格 |
/字符串 | 向下搜索“字符串”的功能 |
?字符串 | 向上搜索“字符串”的功能 |
n | 重复前一个搜索(与 / 或 ? 有关) |
N | 反向重复前一个搜索(与 / 或 ? 有关) |
b | 向后翻一页 |
d | 向后翻半页 |
h | 显示帮助界面 |
Q | 退出less 命令 |
u | 向前滚动半页 |
y | 向前滚动一行 |
空格键 | 滚动一行 |
回车键 | 滚动一页 |
[pagedown] | 向下翻动一页 |
[pageup] | 向上翻动一页 |
head tail 头尾查看
head 从文件头部查看文件 默认十行
tail 从文件尾部查看文件 默认十行
head -n | (+ -数字) |
head -n 5 | 只显示前5行 |
head -n +5 | 除了前五行 |
tail -f fialename | 循环读取 (实时跟踪该文档更新内容,常用) |
增加类命令touch mkdir
touch 创建可更改文件或目录以及修改日期时间,包括存取时间和更改时间
-c 文件 | 如果文件不存在,则不创建文件 |
-r 文件1 文件2 | 更新文件2的时间和文件1时间戳相同 |
-t 201709160906.50 文件 | 设定文件的时间戳 说明:-t time 使用指定的时间值 time 作为指定文件相应时间戳记的新值.此处的 time规定为如下形式的十进制数:[[CC]YY]MMDDhhmm[.SS] |
mkdir 创建目录,可同时设定目录权限
#rmdir 删除目录
-m | 设定权限模式,赋予文件夹权限 例如mkdir -m 777 文件夹 |
-p | –parents 递归创建目录 |
-v | –verbose 每次创建新目录都显示信息 |
–help | 显示此帮助信息并退出 |
–version | 输出版本信息并退出 |
例如:#mkdir 文件夹{3,4,5} 同时创建文件夹3,文件夹4.文件夹5
#mkdir -p 文件夹/文件夹 递归创建多个目录
输出显示和文件追加echo
echo 用于字符串的输出
echo “内容” > 文件 输出内容(覆盖)到文件
echo “内容” >> 文件 追加内容到文件
删除类命令rm rmdir
rm 可用于删除文件 目录
-f | –force | 忽略不存在的文件,强制删除,无任何提示 |
-i | –interactive | 进行交互式地删除 |
-r | -R | –recursive | 递归式地删除列出的目录下的所有目录和文件 |
-v | –verbose | 详细显示进行的步骤 |
rm -rf 文件或目录 强制删除递归删除且无提示
#rmdir 只作用于删除目录
#rmdir 目录 删除目录
修改类命令vi
vi l标准的文件编辑器
可以参考 https://www.cnblogs.com/littlewrong/p/6354531.html
常用 i插入 x删除
冒号格式下 :w保存 :x保存文件退出 :q!不保存退出切不提示 :wq!保存退出且不提示 :set 显示文本行号】
命令行模式下 v选定文本按v进入编辑,复制删除等操作
可以参考 https://jingyan.baidu.com/article/8ebacdf079000549f65cd514.html
yy | 复制 |
dd | 删除 |
p | 黏贴 |
cw | 替换所在处单词 |
dw | 修改所在处单词 |
例如3yy 表示光标若在下三行复制
s/p1/p2/g:将当前行中所有p1均用p2替代
##撤销与恢复
- ‘u’ : 撤销上一个编辑操作
- ‘ctrl + r’ : 恢复,即回退前一个命令
- ‘U’ : 行撤销,撤销所有在前一个编辑行上的操作】
移动光标类命令
h | 光标左移一个字符 |
l | 光标右移一个字符 |
space | 光标右移一个字符 |
Backspace | 光标左移一个字符 |
k或Ctrl+p | 光标上移一行 |
j或Ctrl+n | 光标下移一行 |
Enter | 光标下移一行 |
w或W | 光标右移一个字至字首 |
b或B | 光标左移一个字至字首 |
e或E | 光标右移一个字至字尾 |
) | 光标移至句尾 |
( | 光标移至句首 |
} | 光标移至段落开头 |
{ | 光标移至段落结尾 |
nG | 光标移至第n行首 |
n+ | 光标下移n行 |
n- | 光标上移n行 |
n$ | 光标移至第n行尾 |
H | 光标移至屏幕顶行 |
M | 光标移至屏幕中间行 |
L | 光标移至屏幕最后行 |
0 | (注意是数字零)光标移至当前行首 |
$ | 光标移至当前行尾 |
屏幕翻滚类命令
Ctrl+u | 向文件首翻半屏 |
Ctrl+d | 向文件尾翻半屏 |
Ctrl+f | 向文件尾翻一屏 |
Ctrl+b | 向文件首翻一屏 |
nz | 将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。 |
插入文本类命令
i | 在光标前 |
I | 在当前行首 |
a | 光标后 |
A | 在当前行尾 |
o | 在当前行之下新开一行 |
O | 在当前行之上新开一行 |
r | 替换当前字符 |
R | 替换当前字符及其后的字符,直至按ESC键 |
s | 从当前光标位置处开始,以输入的文本替代指定数目的字符 |
S | 删除指定数目的行,并以所输入文本代替之 |
ncw或nCW | 修改指定数目的字 |
nCC | 修改指定数目的行 |
删除命令
ndw或ndW | 删除光标处开始及其后的n-1个字 |
do | 删至行首 |
d$ | 删至行尾 |
ndd | 删除当前行及其后n-1行 |
x或X | 删除一个字符,x删除光标后的,而X删除光标前的 |
Ctrl+u | 删除输入方式下所输入的文本 |
搜索及替换命令
/pattern | 从光标开始处向文件尾搜索pattern |
?pattern | 从光标开始处向文件首搜索pattern |
n | 在同一方向重复上一次搜索命令 |
N | 在反方向上重复上一次搜索命令 |
:s/p1/p2/g | 将当前行中所有p1均用p2替代 |
:n1,n2s/p1/p2/g | 将第n1至n2行中所有p1均用p2替代 |
:g/p1/s//p2/g | 将文件中所有p1均用p2替换 |
选项设置
al | 列出所有选项设置情况 |
term | 设置终端类型 |
ignorance | 在搜索中忽略大小写 |
list | 显示制表位(Ctrl+I)和行尾标志($) |
number | 显示行号 |
report | 显示由面向行的命令修改过的数目 |
terse | 显示简短的警告信息 |
warn | 在转到别的文件时若没保存当前文件则显示NO write信息 |
nomagic | 允许在搜索模式中,使用前面不带“\”的特殊字符 |
nowrapscan | 禁止vi在搜索到达文件两端时,又从另一端开始 |
mesg | 允许vi显示其他用户用write写到自己终端上的信息 |
最后行方式命令
:n1,n2 co n3 | 将n1行到n2行之间的内容拷贝到第n3行下 |
:n1,n2 m n3 | 将n1行到n2行之间的内容移至到第n3行下 |
:n1,n2 d | 将n1行到n2行之间的内容删除 |
:w | 保存当前文件 |
:e filename | 打开文件filename进行编辑 |
:x | 保存当前文件并退出 |
:q | 退出vi |
:q! | 不保存文件并退出vi |
:!command | 执行shell命令command |
:n1,n2 w!command | 将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入 |
:r!command | 将命令command的输出结果放到当前行 |
寄存器操作
"?nyy | 将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字 |
"?nyw | 将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字 |
"?nyl | 将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字 |
"?p | 取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字 |
ndd | 将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中。 |