linux基础命令4

来源:互联网 发布:can数据帧格式 编辑:程序博客网 时间:2024/06/05 03:42

 一、管理输入输出

在linux系统中,正确输出的编号为1,错误输出编号为2

在系统中用普通用户 "student"执行  :find /etc -name passwd

因为student用户权限问题会有以下输出


/etc/passwd                        ##正确输出

/etc/pam.d/passwd                    ##正确输出

其它都是错误输出

1、我们可以对输出进行重定向


      1)  "> " 表示重定向正确输出

      find /etc -name passwd > file1        ##将find命令的正确输出重定向到file1文件中,而错误输出依然输出到屏幕上


      2) " 2>" 表示重定向错误输出

      find /etc -name passwd 2> file1        ##将find命令的错误输出重定向到file1文件中,而正确输出依然输出到屏幕上


      3)"&>" 表示重定向所有输出

      find /etc -name passwd &> file1         ##重定向所有输出到file1文件中,屏幕上不会有任何输出



      注意: >, 2> ,&>  都会覆盖原文件内容

      >file1                    ##清空file1

set -C 重定向时禁止覆盖原内容,若要强行覆盖,则使用 >|

set +C:关闭上述功能


2、使用 ">>"  "2>>" "&>>" 重定向输出不会覆盖原文件内容

   1) find /etc -name passwd >> file        ##追加正确输出


  2) find /etc -name passwd 2>> file        ##追加错误输出
  3)find /etc -name passwd &>> file        ##追加所有输出

注意:>> 2>> &>> 不会覆盖源文件内容,会把相应的输出字符方到文件的最后


3、" | " 管道,管道的作用是将前一条命令的输出变成管道后命令的输入

     例如:ls /bin | wc -l        ##统计ls /bin 命令输出的行数

   


     系统中错误的输出是无法通过管道的。

     例如 find /etc -name passwd | wc -l  只统计了正确输出的行数,而错误输出的17行并没有通过管道送给 wc -l

    

     用 2>&1 可以把错误的输出编号由2变成1,这样错误的输出也就能送给管道了

    

      tee    复制输出到指定位置

      例如 date |tee file |wc -l    ###tee命令复制date命令的输出到file中,并统计输出行数
      

 4、对输入进行重定向 "<" "<<"

    1) "<"的用法              < file

    例如:我们要修改student自己的密码,可以通过vim 编辑一个文件

               文件格式如下:

                          第一行:原始密码

                          第二行:新密码

                          第三行:新密码   


     然后执行 " passwd<文件名 "这个命令实际是将文件中写的内容作为passwd的输入,这样就可以直接修改密码了

    2) "<<" 用法            << word

         passwd<<起始字符串

          同样的我们修改student用户的密码

        这时我们可以屏幕上直接输入我们原始密码,新密码两次,当输入的字符串与起始字符串一样是输入结束并执行passwd命令


 

二 、vim

1.vim 命令模式

     1) 在vim异常退出

     在vim一场退出时,系统中会在所编辑的文件目录中生成.file.swp
     vim再次编辑此文件时会出现相应提示
    按 "o"    open
    按 "e"    edit
    按 "r"    recover
    按 "d"    delete .swap file
    按 "q"    quit

    注意: 只有按d,然后再正常退出,再次打开时i就是正常的界面了,不然依然会出现上述界面

2、在vim的命令模式下可以配置vim的工作方式

:set nu            ##行号添加
:set nonu        ##取消行号
:set mouse=a        ##添加鼠标选择
:set cursorline        ##行线显示

以上设定都是临时的,
永久设定方式
vim /etc/vimrc        ###此文件为vim的配置文件,在此文件最后加入以上参数,加到文件中的才数不需要:
注意:当文件内容更改信息不确定正确与否的时候,应该先备份要更改的文件!!!

3、vim命令模式下关键字搜索

/关键字
n向下匹配
N向上匹配

4、vim命令模式下字符的管理

    1)字符的复制
       yl        ##复制一个字母
       y3l        ##复制3个字母
       yw        ##复制一个单词
       y3w        ##复制3个单词
       yy        ##复制一行
       y3y        ##复制3行
       p        ##复制完成后按“P”粘贴

    2)字符的删除
       dl        ##删除一个字母
       d3l        ##删除3个字母
       dw        ##删除一个单词
       d3w        ##删除3个单词
       dd        ##删除一行
       d3d        ##删除3行

    3)字符的剪切
       cl        ##剪切一个字母
       c3l        ##剪切3个字母
       cw        ##剪切一个单词
       c3w        ##剪切3个单词
       cc        ##剪切一行
       c3c        ##剪切3行
       esc ---> p    ##剪切过后会进入到插入模式,在执行粘贴动作时一定要退出插入模式


4.vim的可视化模式

在命令模式下按“ctrl+v”进入到可视模式
在可视模式下可以区域选择字符

可视模式下批量添加字符
     ctrl+v 选中要加入字符所在列
     按“I”进入插入模式,写入要加字符
     按esc

5.批量修改字符

:%s/原有字符/替换后字符        ##只替换每一行中出现的第一个原有字符
:%s/原有字符/替换后字符/g     ##替换所有
:1,5s/原有字符/替换后字符/g    ##替换1-5行

6.vim的分屏功能

ctrl+w s     ###上下分屏
ctrl+w v    ###左右分屏
ctrl+w c    ###关闭光标所在屏幕
ctrl+w 上下左右 ###光标移动到指定屏幕
:sp file2    ##同时编辑当前文件和file2
vimdiff        ##对比两个文件的不同


7.vim光标移动

在命令模式下
:数字        ##移动到指定的行
G        ##文件最后一行
gg        ##文件第一行

在插入模式下
i        ##光标所在位置插入
I        ##光标所在行行首
a        ##光标所在字符的下一个位置
A        ##光标所在行行尾
o        ##光标所在行下一行
O        ##光标所在行上一行
s        ##删除光标所在字符插入
S        ##删除光标所在行插入

8.vim的退出模式

:q        ##当用vim打开文件但没有对字符作任何操作时可直接退出
:q!        ##当用vim打开文件并对字符作操作,放弃所有操作退出
:wq        ##保存退出
:wq!        ##强行保存退出,对超级用户及文件所有人生效

9.vim手册

vimtutor    ##vim的手册
:q        ##退出vimtutor

三、gedit

ctrl+n            ##在gedit中打开一个新的tab
ctrl+s            ##保存文件
ctrl+o            ##打开文件
ctrl+x            ##剪切字符
ctrl+v            ##粘贴字符
ctrl+c            ##复制字符
yelp help:gedit        ##gedit的图形手册

原创粉丝点击