linux 基本命令(增删改查等,vi编辑器)

帮助命令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号删除寄存器中。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值