Linux文件管理

cat

cat     查看文件的内容

格式:cat    [选项]       文件名

cat只能看普通文件,如文本文件诸如此类

缺点:如果内容过多会显示不全

选项:  -A  显示隐藏字符

             -n  显示行号

             -b  跳过空白行编号

             -s  压缩空行

file可以查看文件类型

tac    反向查看文件的内容

echo 将同一行逆向显示

hexdump 查看硬件设备的内容


标准输入和输出

        标准输入:你输入的指令

        标准输出:电脑反馈给您的信息

        错误输出:电脑的一些报错信息

        默认是显示在屏幕上


重定向

重定向:重新定义标准输出方向

        >    一个箭头是覆盖

        >>  两个箭头是追加

如何合并两个文件

        cat a   b  >  c    上下合并

        paste a  b  > c    左右合并


分页查看

        more  和 less

        more

        格式:more  [选项]   文件名

        基本操作:1.空格  下一页   到行末后自动退出

                          2.回车  一行       

                          3.q 退出

       

        less

        格式:less  [选项] 文件名

        基本操作:  / 关键字 进行搜索 大小写敏感 n 向下 N 向上


     head

        head  可以显示文件或标准输入的前面行

            格式: head  [选项]      [文件]

                head -n 数字 文件名 看文件的前数字行

                head -c 数字 取指定数字的字符

                head -n -数字 去掉最后数字行


     tail

          tail    和head相反查看文件或标准输入的倒数行

          格式:tail  [选项]   [文件]

          常用选项: -f   跟踪显示文件fd新追加的内容,常用于日志监控       后十行     tailf = tail -f

                             tail -n 数字 文件名 看文件的后数字行

                             tail -n +数字 从数字行开始显示

      


        wc

              wc  统计

              统计  行   '单词'      字符数

                      -i  只统计行

                      -w  只统计 '单词'   (不是最终的单词,以空格隔开的就是一个'单词')

                      -c   统计字符数

      


正则表达式: 匹配文件中的字符串(grep awk sed)

通配符:匹配文件的名字(ls find)


    grep

        grep      过滤文件中感兴趣的行

        格式:  grep [选项]  表达式   文件名

        选项:  -i  忽略大小写

                     -v 反选

                     -o 只显示匹配的内容

                     -f  对比两个文件的相同行

                     -c 只显示匹配的行数

                     -n 显示行号

                     -r  递归  不找软连接

        找出两个文件中相同的部分

        grep -f a文件 b文件

        将a文件做为 条件去匹配b文件, 得出a文件和b文件相同的文件

        过滤 /etc/passwd 文件中含有 root 关键字的行

        Linux文件管理_第1张图片

        


    正则表达式

        . 任意字符

        ^ 一行的开头

        $ 一行的结尾

                grep '^root' passwd

                匹配passwd中开头是root的行

                grep 'root$' passwd

                匹配passwd 中结尾是root的行

                grep '^root$' passwd

                匹配开头是root的结尾是root的 意思就是匹配只要这一行只有root这个单词

                grep "^$" passwd                

                空行

                grep -v "^$" passwd

                非空行

                

                在某一文件夹中,快速找到所有含有root的字符的文件

                grep -r  root 文件夹

                


      paste

             paste  左右合并

             中间默认隔空格

                        -d  :    中间用冒号隔开,别的符号也行

             


      split 分割文件         

                我有一个10g的文件,怎么分割成小的文件存储?

                split -b 100M 文件名


      压缩,解压缩

                  只能对文件进行压缩,不能对文件夹进行压缩

                  gz bzip2


      tar 

         tar  归档     

        tar 的语法

        tar -f 文件名

        建立归档:加- 的话 f一定要放在最后 不加-无所谓

                          tar zcvf 压缩包的名字(*.tar.gz) 需要压缩的文件                  

                                        tar -cf 建立归档

                                        tar -xf 解除归档

         对选项的顺序有要求的    

               -f   代表使用tar归档  使用tar  必须带 -f

               -c  建立归档文件

               -x  解除归档文件

               -j   代表使用 bzip2 压缩或解压

               -z  代表使用 gzip  压缩或解压

               -C  指定解压的目录

               -t  不解开压缩包,查看压缩包的内容

               -v  显示压缩解压的过程

               -p  保留权限

               -P  路径

        tar本身是没有压缩功能的,要调用压缩功能


    vim编辑器 

       格式: vim  选项  文件 

                 vim 文件不存在是新建,存在则是修改,查看         

       vi和vim的关系?

                 vim是vi的升级版

        常用选项: +#  打开文件后,让光标处于第#行的行首,+默认行尾

                           !    打开上一次的文件

                           +/PATTERN    让光标处于第一个被PATTERN匹配到的行行首 用不多


  vim的三种模式

          三种模式:命令模式 输入模式 末行模式

        命令模式:进入文件时,便是这个模式

                     行间跳转:  数字  G        跳转到数字行        

                                                 gg        首行

                                                  G       末行

                      行内跳转:  行首:0       ^

                                          行尾:end   $

                                          一个单词一个单词的跳:w

                             复制:y        复制 

                                      yy        复制一行

                                 10 yy        复制10行

                            粘贴:p          贴在光标下面

                                       P          贴在光标上面

                             删除:x        删除

                                        d        剪切(删除)     

                                      dd        删除一行

                                 10 dd        删除10行

                                      dw        删除一个单词

                             撤销: u        撤销一次

                                        U        撤销全部

                                    ctrl+r        取消撤销

                             替换:  r        替换

                                        R        进入替换模式

                        ZZ 保存退出        ZQ        不保存退出        

                        d i (光标要放在花括号上)         删除花括号内的内容

                        y i   (光标要放在括号上)           删除括号内容的内容

        命令模式切换其他两种模式:(输入模式和末行模式之间不能相互切换)                                          Linux文件管理_第2张图片

        输入模式: 使 Vim 进行输入模式的方式是在命令模式状态下输入 i、I、a、A、o、O 等插入命令,当编辑文件完成后按 Esc 键即可返回命令模式

快捷键 功能描述
i 在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动
I 行首插入命令
o 在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本
O 在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本
a 在当前光标所在位置之后插入随后输入的文本
A 行尾插入命令

末行模式

 末行模式:文件中的指定内容执行保存、查找或替换等操作。使 Vim 切换到编辑模式的方法是在命令模式状态下按“:”(英文冒号)键,此时 Vim 窗口的左下方出现一个“:”符号,这是就可以输入相关指令进行操作了

        查找替换       

        先查找文件中的内容,然后,替换它

        格式: 范围  $ /文章已有内容/替换的内容/修饰符    (/作为分隔符,#也可以作为分隔符,@也许  s        s###        s@@@)

        范围:不写范围,光标当前行

                %:全文

                #:  #号行,#代表数字 例:2,5   2到5行

                $:     最后一行

               $-1:   倒数第二行

              2,$:    2到最后一行

        修饰符: i  忽略大小写

                        g 全局替换,默认情况下,也就是不加修饰符的时候,每一行只替换第一次出现的

                        c 全局替换,每次替换前询问

        给所有行的开头加上#,再去掉

                %  s /^/#/       % s/^#//

        注意:配置文件只有开头的 # 才是注释

        

你可能感兴趣的:(linux,运维,服务器)