2018-07-30 Linux 目录管理 文档编辑 命令

目录管理

mkdir 创建一个目录     mkdir  目录名

•mkdir –p test1/test2/  建立test1目录并在其中建立test2目录

-m  创建文件夹并设置权限     eg:mkdir -m  777  test (创建了test文件并修改权限为777),不使用chmod可实现权限设置

-v   mkdir 创建成功文件后,默认状态下是不会输入任何的提示信息的,但是-v参数可以使得不管创建成功与否,都会给出相应的提示 ,这样就可以不用再创建完成后再去ls了

rmdir 删除一个空目录    rmdir 目录名

一个目录被删除之前必须是空的,(注意,rm - r dir命令可代替rmdir,但是有很大危险性。)删除某目录时也必须具有对父目录的写权限。

- p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。

-v, --verbose显示指令执行过程

rm -rf   强制删除,不需要再次确认删除选


mv 重命目录名

mv test test1 (将test目录命名为test1)

•mv重命名功能时后面对象仅能是对象名,如果有路径将实现剪切功能。 mv  目录名  /目录名

mv 命令是一个与cp类似的命令,但是它并非创建文件或目录的复制品/副本。

mv 目录名                    重命名目录

mv 文件名  目录名      移动文件到该目录下

mv  路径1/路径2   将路径1改为路径2    eg:mv /a/b   将当前的a路径改为b路径

 -v 显示移动的信息 ,当你移动或重命名一大堆文件或目录时,你可能会想在不去目标位置去查看的情况下知道你自己的命令是否成功地执行了。这就要用到-v选项了。

-i 显示相同文件覆盖提示  当你将文件移动到其它位置,而那个位置恰好有同样的文件,这时 mv 命令会覆盖掉原来的文件。对于mv的这一行为一般不会有什么提示。如果想产生一个关于覆盖文件的提示,我们可以使用-i选项。(译注:通常发行版会通过alias命令,将-i作为默认选项,所以会有提示。)

-u  -i 选项会提示我们关于覆盖文件的提示,而 -u 则只在源文件比目标文件新时才执行更新。

-n  选项将不会允许我们覆盖任何已存在的文件。

-b 该选项会在新文件覆盖旧文件时将旧文件做备份

文档编辑

vi

进入文件

•vi  filename:打开或新建文件,并将光标置于第一行首

•vi +n filename :打开文件,并将光标置于第n行首

•vi + filename :打开文件,并将光标置于最后一行首

•vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename

•vi filename....filename :打开多个文件,依次编辑

{进入vi之后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」。您目前处于「插入模式(Insert mode)」,您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下「ESC」键转到「命令行模式(command mode)」再删除文字。 }

文件之中

•Ctrl+u:向文件首翻半屏

•Ctrl+d:向文件尾翻半屏

•Ctrl+f:向文件尾翻一屏

•Ctrl+b;向文件首翻一屏

•gg 跳到文档首行 或者1G

•G 跳到文档的最后一行行首

文件退出

:q:退出vi

:wq:保存并退出vi

:w:保存编辑内容

:q!:强制退出

:w filename   另存为

vi 替换

:s/vivian/sky/         #替换当前行第一个 vivian 为 sky

 :s/vivian/sky/g     #替换当前行所有 vivian 为 sky

 :n,$s/vivian/sky/    #替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky

 :n,$s/vivian/sky/g    #替换第 n 行开始到最后一行中每一行所有vivian 为 sky

 (n 为数字,若 n 为 .,表示从当前行开始到最后一行)

 :%s/vivian/sky/        #(等同于:1,$s/vivian/sky/  

:g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky

:%s/vivian/sky/g #(等同于:1,$s/vivian/sky/g    

:g/vivian/s//sky/g)替换每一行的所有 vivian 为 sky

cp  复制

•cp [-drsu] [来源文件] [目的文件]

•-r:可以进行目录的copy 

•[root@liulinux ~]$ cp -r test1 test2

•将test1目录拷贝到test2中

•[root @liulinux ~]$ cp test1/test.txt ./

将test1中test.txt文件拷贝到当前目录下

find  

-name   按照文件名查找文件。

find -name  test1

find /hone  -name  test1  路径在表达式之前

Find  -inum   776543  指向该节点编号(iNode number)的所有文件

-user  查找属于指定文件名所有文件    eg:find  /opt  -user nobody   查找/opt目录下,用户名称为nobody的文件

-size  按照指定的文件大小查找文件      eg:find   /  -size +20M  ;  find   /  -size -20M    ;find   /  -size 20M    查找整个linux系统下大于20M的文件(+n 大于、-n小于、 n等于)注意:M大写    ;    '  /  '  表示根目录  所以是整个Linux系统的文件   

locate

locate命令其实是find -name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/locatedb,这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。

grep

{ -c   只输出匹配行数量,即文件中有几行含有搜索的关键字

-v   显示不包含匹配文件的所有行,

-n   同-c相反-n#列出所有的匹配行,并显示行号

-i   搜索时忽略大小写,使得搜索对大小写不敏感

-h    查询多文件时不显示文件名,不加的话,搜索结果前面多文件时会显示文件名

-l    只列出符合匹配的文件名,而不列出具体的匹配行,即只说哪些文件里面有关键词

-s  不显示不存在或无匹配文本的错误信息,默认如果多文本搜索时,若有文件没有关键词会输出信息的

-w   匹配整词,字符都被解释为字面意思,不会被解释为特殊含义,比如"*"

-x  匹配整行,同上

-r   递归搜索,不仅搜索当前工作目录,而且搜索子目录

-q    禁止输出任何结果,以推出状态表示搜索是否成功

-b   打印匹配行距文件头部偏移量,以字节为单位

-o#和-b选项结合使用,打印匹配的词距文件头部的偏移量,以字节为单位,加了这个以后就-E#支持扩展的正则表达式

-F  不支持正则表达式,按照字符串的字面意思进行匹配

grep搜索的时候,可以是字符,也可以是变量,还可以是正则表达式。但是无论哪种模式,只要其中包含空格,就需要用双引号将模式引出来,因为如果不加上空格的话,空格后的单词容易被误认成为文件名

}

1、匹配行首"^"

grep^-*.txt#匹配.txt文件中以“-”开头的行

grep -c ^$  *.txt#在txt文件中有多少空白行

grep -c ^[^$] *.txt#在txt文件中有多少非空白行,第二个“^”表示的是取反的意思

2、大小写问题

grep [Cc]ertificate *.txt    表达C不区分大小写,如果都不区分的话,可以用下面的指令

grep"certificate" *.txt

3、匹配未知的字"." "*"

grep ^/..../*.txt#匹配以“/”字符开始,中间四个任意字符后再跟“/”

grep ^-*B *.txt#匹配以“-”字符开始任意个“-”以后,紧跟B的意思

4、转义符""     

试想一种情况,就是我们要搜索bupt.edu.cn这个字符串,注意03中“.”是作为任意字符的,所以我们需要把它标记出来,使用的方法就是""。

​ 注意 :“-”也需要转移哟

grepbupt\.edu\.cn*.txt#搜索的是bupt.edu.cn

5、或“|”

grep -E"OU|seu"#匹配OU或者seu

这部分不加-E,则|理解为字面 ,OU|seu两侧的引号也是必不可少的

cat 从前至后  用于较少的文件查看

•格式:  cat  [ options  ] filename1  … filename2 …

•常用 options:  

•-n  对所有输出行进行编号

•-b 与-n相似,但空白行不编号

•例:$ cat  file1 file2 file3        同时显示三个文件

•       $cat –b file1 file2 file3

tac 从后至前  用于较少的文件查看   格式同上

head 从头开始查找文件

eg: head -10 具体文件路径   会显示前10行

tail 输出文件后半部分

eg: tail - 10 具体文件路径   会显示后10行

more  查找  从前向后展示

 -num:每页显示多少行内容

+num:从多少行开始显示

eg: more +2 -2 test.txt         从第2行开始,每页显示2行数据阅读test.txt文件

less   查找      从后向前展示   具体搜索高量显示 

•less的功能和more相似,但是使用more无法向前翻页,只能向后翻。

•less可以使用【pageup】和【pagedown】键进行前翻页和后翻页,这样看起来更方便。

•less还有一个功能,可以在文件中进行搜索你想找的内容,假设你想在passwd文件中查找有没有weblogic字符串,那么你可以这样来做:•[root@redhat etc]# less passwd

•然后输入:/weblogic      再回车,此时如果有weblogic字符串,linux会把该字符已高亮方式显示。


搜索功能

/字符串 :向下搜寻『字符串』的功能;

 ?字符串 :向上搜寻『字符串』的功能;

 n :重复前一个搜寻 (与 / 或 ? 有关!)

 N :反向的重复前一个搜寻 (与 / 或 ? 有关!)

 q :离开 less 这个程序

你可能感兴趣的:(2018-07-30 Linux 目录管理 文档编辑 命令)