Linux2:vi、ls、cd、pwd、mkdir、rm、mv、cp、cat、tail分析

阿里 阅读:205 2021-06-29 17:04:55 评论:0

前言

从本篇文章开始,每篇文章将写10个Linux命令,个人的写作想法是:

1、常用的Linux命令,那些生僻的、不常用的就不写了

2、从实际考虑,只列出每个命令常见的用法和参数选项,有兴趣了解进一步的用法可以自己上网去查询

vi

Linux环境下的文本编辑器

vi基本上可以分为三种操作状态,分别是命令模式、插入模式、底线命令模式,各功能的功能区分如下:

1、命令模式

控制屏幕光标的移动,字符或光标的删除,移动复制某区段及进入插入模式

2、插入模式

只有在插入模式下,才可以做文字数据输入,按ESC等可以回到命令模式

3、底线命令模式

将存储文件或离开编辑器,也可以设置编辑环境,如寻找字符串、列出行号等

注意,进入vi后是处于命令模式下的,要切换到插入模式才能输入文字。在命令模式下按"i"、"a"或是"o"切换到插入模式。在插入模式下,有一些命令:

i:插入,从目前光标所在之处插入所输入的文字

a:增加,从目前光标所在的下一个字开始输入文字

o:插入新的一行,从行首开始输入文字

在插入模式下,只能一直打字,如果发现字打错了,要先按ESC切换回命令模式,再把光标往回移动,最后删除打错的字符。删除有一些命令:

x:每按一次删除光标所在位置的后面一个字符

#x:例如6x表示删除光标所在位置后面的6个字符

dd:删除光标所在行

这是命令模式,在命令模式下按":"、"/"、"?"都可以进入底线命令模式,底线命令模式下有一些命令:

:set nu:在文章的每一行前面列出行号

/关键字:向后搜索关键字,假如不是想要的,按n继续向后搜索

?关键字:向前搜索关键字,假如不是想要的,按n继续向前搜索

:w:保存文件

ls

用来打印当前目录的清单,可以指定其他目录

-a:列出目录下所有的文件,包括以"."开头的隐藏文件

-l:除了文件名外,还列出文件权限、所有者、大小等详细信息

-r:反向次序排列

-t:以文件修改时间排序

-g:类似-l,但是不列出所有者

-h:以容易理解的文件格式列出(如1K、234M、2G)

例如:

ls -l t*:列出所有文件名以"t"开头的文件信息

cd

切换文件目录至dirName

例如:

cd /:进入系统根目录

cd aa/bb/cc:跳转到指定目录,注意这里"aa"前没有"/",指从当前目录跳转到指定目录

cd ~:进入系统主目录

cd ..:跳转到上一级

pwd

查看当前工作目录的完整路径

mkdir

用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录

-m:创建目录的时候设定权限

-p:若创建目录的路径中有些路径不存在,可一次性地建立多个目录

例如:

mkdir test1:创建一个空目录test1

mkdir -p test1/test2:递归创建多个目录

mkdir -m 777 test:在创建目录test3的时候给此目录赋予777的权限

rm

删除一个目录中的一个或多个文件或目录,它可以将某个目录及其下所有文件及子目录删除。对于链接文件,只是删除了链接,原有文件均保持不变

-f:强制删除且不给出提示

-r:将参数中列出的目录路和子目录均递归删除

-v:显示详细进行的步骤

例如:

rm -rf *.log:删除任何.log文件并且不询问用户

mv

可以用来移动文件或者将文件改名,常用来备份文件或目录

例如:

mv log1.txt log.txt test3:将log1.txt、log2.txt移动到test3文件夹中

mv dir1 dir2:如果dir2不存在,则将dir1改名为dir2;如果dir2存在,则将dir1移入dir2中

mv * ../:移动当前文件夹下所有文件至上一级目录

mv test3/*.txt test5:将test目录下所有的.txt文件全部移动到test5文件夹下

cp

复制文件或目录

例如:

cp log.log test6:将log.log复制进入test6目录下

cat

cat主要有三个功能:

1、一次性显示整个文件

2、从键盘创建一个文件

3、将几个文件合并为一个文件

顺便提一句,tac这个命令和cat一样,无非是将文件内容从最后一行到第一行显示而已。

-E:在每行结束显示"$"

-n:对输出的所有行进行从1开始的编号

-s:对连续两行的空白行代替为一行

-T:将跳格字符(tab)显示为"^I"

例如:

cat -n log1.log log2.log:将log1.log加上行号后输入到log2.log文件中,log2.log在目录中必须存在

cat -n log1.log > log.log:将log1.log加上行号后输入到log.log文件中,log.log在目录中不存在

tail

用于显示指定文件末尾内容,不指定文件时,作为信息输入进行处理。常用查看日志文件

-f:不断读取,循环刷新,这样可以看到最新的文件内容

-q:不显示处理信息

-v:显示详细的处理信息

-c<数目>:显示的字节数

-n<行数>:显示的行数

例如:

tail -n 5 log1.log:显示log1.log最后5行的内容

tail -f log1.log:循环查看log1.log的内容


标签:linux
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

发表评论
搜索
KIKK导航

KIKK导航

排行榜
关注我们

一个IT知识分享的公众号