第三课

关于Linux的输入输出

  • 输入输出
0  stdin  		标准输入    仅读取
1 stdout 标准输出 仅写入
2 stderr 标准错误 仅写入
3 filename 其他文件 读取和/或写入
  • 输出重定向
# > file 或 1 > file 标准输出重定向到file并覆盖文件
[root@localhost test]# ls > stdout
[root@localhost test]# cat stdout
11.txt
22.txt
stdout
# >> file 或 1 >> file 标准输出重定向到file追加到文件结尾
[root@localhost test]# ls >> stdout
[root@localhost test]# cat stdout
11.txt
22.txt
stdout
11.txt
22.txt
stdout
# 2 > file 将标准错误重定向到file >>用法一致
# 将标准输出或者标准错误丢弃
[root@localhost test]# ls > /dev/null
# >file 2>&1 或 &>file 将标准错误重定向到标准输出

本次课程涉及的命令

find查找某个名字的文件或者文件夹

[root@localhost test]# find / -name test
/root/test
/var/lib/AccountsService/users/test
/var/db/sudo/test
/var/spool/mail/test
/usr/bin/test
/usr/lib/alsa/init/test
/usr/lib64/python2.7/test
/usr/lib64/python2.7/site-packages/OpenSSL/test
/usr/lib64/python2.7/unittest/test
/usr/share/espeak-data/voices/test
/home/test
/test
# / 是查找的目录 test是查找的精确字符
# 使用 通配符 * 表示匹配任意

grep在某个文件中查找字符

[root@localhost test]# grep boy 11.txt
I am boy
# 带行数 -n
[root@localhost test]# grep bo 11.txt -n
1:I am boy
# -v不匹配
[root@localhost test]# grep bo 11.txt -nv
2:I am girl
3:hahahaha
# -B查看前面的行数-A查看后面的行,会带出查找行以及前面或后面的行
[root@localhost test]# grep bo 11.txt -n -A1
1:I am boy
2-I am girl

|管道前一个标准输出作为后面的标准输入

[root@localhost test]#  cat /etc/passwd | grep root
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator

tee

将标准输入复制到标注输出中,并且还会向标准输出输出内容。用于保存中间步骤的标注输出

[root@localhost test]#  cat /etc/passwd |tee passwd.txt| grep root
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[root@localhost test]# ls
11.txt 22.txt passwd.txt stderr stdout

vivim

  • 四种模式

    1. 命令模式
    2. 编辑模式
    3. 末行模式
    4. 可视化模式
  • 切换模式

    1. 刚进入vi时,是命令模式

      2. insert I i A a O o都可以进入编辑模式
    I :	再本行行首进行插入
    i: 光标前面插入
    a: 光标后面插入
    A: 本行得行尾进行插入
    o: 新建一行插入
    O: 本行得上一行进行插入
    # -------------------
    按`ESC`退出编辑模式回到命令模式
    1. shift+; 也是是:可以进入末行模式
    2. Ctrl+VCtrl+v进入可视化模式
  • 命令模式命令汇总

x :			光标在哪里删除哪里
u : 撤销操作
Ctrl+r : 重做撤销
dw : 删除一个单词
dd : 删除一行
dG : 删除光标行到文件末
dgg : 删除光标行到文件首
yy : 复制一行
p : 粘贴
5yy : 复制多行
yw : 复制一个单词
G : 到文件末尾
gg : 到文件首部
  • 末行模式常用汇总
q  	#离开
w #保存
x #保存离开 wq
q! #强制离开
r /test/11.txt # 将11.txt文件的内容,追加到当前编辑文件的尾部
  • Linux 自带的vimtutor教程

红帽学习笔记[RHCSA] 第三课[输出重定向、Vi编辑器]的更多相关文章

  1. 红帽学习笔记[RHCSA] 第八课[Nice值、时间同步、RPM与Yum软件安装]

    第八课 nice值 什么是nice值 给进程设置的优先级就是nice.nice的范围是-20~20.nice值越小占用的系统资源就越多,就是这个进程不nice. 如何查看nice值 # 使用top命令 ...

  2. 红帽学习笔记[RHCSA] 第六课[进程、服务相关]

    第六课 进程 进程:已经启动的可执行程序的运行中的实例.每个进程都有自己的地址空间,并占用了一定的系统资源. 如何产生一个进程 执行程序或命令 计划任务 在终端中对进程管理 运行一个前台进程 [roo ...

  3. 红帽学习笔记[RHCSA] 第五课[用户、权限相关]

    第五课 用户权限 查看文件的权限 [kane@localhost /]$ ll total 36 ----------. 1 root root 1751 Aug 22 20:58 ~ lrwxrwx ...

  4. 红帽学习笔记[RHCSA] 第四课[用户相关、破解root密码]

    第四课 关于Linux 的用户 用户分类: # UID 是用户ID ​ UID 0分配给超级用户(root) ​ UID 1-200 是一系列的 系统用户 静态分配给红帽的系统进程 ​ UID 201 ...

  5. 红帽学习笔记[RHCSA] 第七课[网络配置相关]

    第七课[网络配置相关] 在Vmware中添加网卡 编辑 -> 编辑虚拟网络 -> 添加网络->随便选择一个如VMnet2-> 选择仅主机模式 -> 勾掉使用本地DHCP服 ...

  6. 红帽学习笔记[RHCSA] 第十课[计划任务Cron与At、逻辑卷管理]

    计划任务[At & Cron Jobs] at # at 命令只能计划一次性任务但是比较方便. # 先输入时间 [root@localhost Desktop]# at 10:02 # 输入要 ...

  7. 红帽学习笔记[RHCSA] 第一周

    目录 红帽学习笔记[RHCSA] 环境 第一课 关于Shell 命令的基础知识 在终端中敲命令的快捷键 本次课程涉及的命令 第二课 常用的目录结构与用途 本次课程涉及到的命令 第三课 关于Linux的 ...

  8. 红帽学习笔记[RHCSA] 第二周

    目录 红帽学习笔记[RHCSA]第二周 环境 第七课[网络配置相关] 在Vmware中添加网卡 将网卡添加到虚拟机上 关于网卡命名规则 配置网络 网络配置命令总结 更改hostname 关于SSH的一 ...

  9. 学习笔记之Shell脚本的输出重定向

    shell http://baike.baidu.com/link?url=qN3THt5ZJhQtwRJJkakWdz5-vZp4V9H3OmNP97XNhaoL-dqU-6rrFrYfHXmYv6 ...

随机推荐

  1. 在python里使用WriteProcessMemory修改内存地址上的值

    import os import sys from ctypes import * windll.kernel32.WriteProcessMemory.argtypes = [c_void_p, c ...

  2. 【SpringBoot】spring-session-data-redis 解决集群环境下session共享

    为什么会产生Session共享问题   集群情况下,session保存在各自的服务器的tomcat中,当分发地址至不同服务时,导致sesson取不到,就会产生session共享问题. 解决方案 负载均 ...

  3. 约瑟夫环(CVTE、网易2014.3.16笔试题offerP228)

    题目:0,1,2,……,n-1这n个数字排成一个圆圈,从数字0开始每次从这个圆圈里删除第m个数字.求出这个圆圈里剩下的最后一个数字. 法一:用环形链表模拟圆圈的经典算法(时间复杂度O(nm),空间复杂 ...

  4. ORACLE复杂查询之子查询

    子查询分为两类:标准子查询和相关子查询. 一.标准子查询:子查询先于主查询独立执行,返回明确结果供主查询使用. 子查询只执行一次,不依赖于主查询. 例如: 其中子查询能够返回结果:2450.所以断定其 ...

  5. ClustrixDB安装配置

    前提条件 在安装ClustrixDB之前,需要: ClustrixDB安装程序和许可证密钥. 运行CentOS或RHEL 7.4的服务器(本地或云中). 具有root或sudo特权来安装Clustri ...

  6. jquery contains选择器 语法

    jquery contains选择器 语法 作用::contains 选择器选取包含指定字符串的元素.该字符串可以是直接包含在元素中的文本,或者被包含于子元素中.经常与其他元素/选择器一起使用,来选择 ...

  7. AJAX 实例解析

    AJAX 实例 为了帮助您理解 AJAX 的工作原理,我们创建了一个小型的 AJAX 应用程序: 实例 AJAX 不是新的编程语言,而是一种使用现有标准的新方法.深圳dd马达 AJAX 是与服务器交换 ...

  8. selenium+键盘鼠标

    一.简单操作 1.点击(鼠标左键)页面按钮:click() 2.请空输入框:clear() 3.输入字符串:send_keys() 二.模拟键盘 模拟键盘的操作需要先导入键盘模块:from selen ...

  9. sqli-labs(28a)

    0X01构造闭合 爆字段数 /?id=') order by 1%23 ?id=') order by 5%23 偷看一下源码 就只过滤了union select 闭合') 那我们来尝试一下 0X02 ...

  10. JS中集合对象(Array、Map、Set)及类数组对象的使用与对比(转载)

    在使用js编程的时候,常常会用到集合对象,集合对象其实是一种泛型,在js中没有明确的规定其内元素的类型,但在强类型语言譬如Java中泛型强制要求指定类型. ES6引入了iterable类型,Array ...