一.vi文字处理器
1.vi与vim
vi:文字处理器
vim:程序开发工具
2.vi介绍
三种模式:一般模式(vi刚进入的,不可编辑),编辑模式(按i后,左下方是insert)和命令行模式(按esc退出,:wq类)

hjkl(左下右上)
3.一般模式常用命令
(1)移动光标
ctrl+f:向上
ctrl+b:向下
0:移动到这一行最前面
$:移动到这一行最后面
gg:相当于1G,移动到文件第一行
G:移动到文件最后一行
n(数字):光标向下移动n行
(2)搜索和替换
:n1、n2s/word1/word2/g :n1到n2行之间找到word1替换成word2(1、$s第一行到最后一行)
gc替换前确认
(3)删除,复制与粘贴
x:向前删除,10x向前删除10个字符
dd:删除光标所在行 ndd向下删除
yy:复制 nyy:向下复制n行
p:粘贴在下一行,P粘贴到上一行 (一定要和yy连用)
u:复原上一个操作
ctrl+r:重做上一个操(和u一起用)
.:重复上一个操作(复制,粘贴)
4.编辑模式常用命令
a/i/o:插入
r:替换
5.命令行模式
:w:写入硬盘中
:wq! 强制写入退出
中途遇到的问题(文件的恢复与暂存盘)
未关闭文件就关闭终端,再次打开显示临时文件swap,选择r进行修复,并在tmp下删除,否则每次都提示
6.vim设置
alias vi vim
alias lm='ls -l '
set nu 在命令行模式下 :set nu 显示行号 set nonu 去掉行号
vim的环境设置变量:建立一个 vi ~/.vimrc 直接编辑即可起效

二. bash shell
shell:开发者不同,版本很多,不止一个
cd /etc/shells 可以看到linux有几个shell
root的shell放在 /bin/bash中 ,linux默认的shell

1.如何看命令是外部命令还是bash内置的命令?
type -t 命令:结果为以下三种:
(1)file:外部命令
(2)alias:命令别名所设置的命令
(3)builtin:bash内置的命令
命令太长了用\ 转义
2.如何查看环境变量的内容或者修改
查看:echo $ PATH
设置:name=内容
累加:PATH=$PATH:/etc/huhu
环境变量作用:家目录的修改,提示符的显示,执行文件搜索的路径
查看有多少环境变量(系统的默认值):env
查看有多少环境变量(系统的默认值+自定义的):set
查看shell的进程号:echo $$
查看shell变量:[yuanyuan@localhost Desktop]$ echo $SHELL 结果:/bin/bash
查看返回状态:echo $?
export 变量:父程序的变量可以被子程序引用的
常用的情况:两个shell脚本,a.sh引用b.sh中的变量,则b中的变量只有export后才能被引用。否则无法找到,使用完后,变量无作用。
(1)启动一个shell,os分配一块内存给shell,shell区域内的变量可以给子程序访问
(2)利用export,将变量内容写到内存块中
(3)加载另一个shell时(启动子程序,离开原来的父程序),子shell将父shell的环境变量的内存导入到自己的变量中

3.数据流重定向(stdin,stdout.stderr)注意:输出的信息都是在文件中而不是目录中

1.stdin(标准输入):代码为0,是<<或<
2.stdout(标准输出):代码是1,是>>
3.stderr(标准错误):代码是2,是2>或2>>
例:(1)ls -al yy >d.txt (将yy文件夹下的文件信息都列到d.txt中,若有新的加入,则覆盖原来的)
(2)find . -name yy >don 2>yy 查的正确的文件列表信息显示在don中,错误信息输入到yy中
(3)输出的正确和错误信息保存在同一个文件中: 用 >aa 2>&1
find . -name yy >don 2>&1
(4)<常和cat一起用:用键盘输入的内容由文件代替 cat > we 接下来输入内容,ctrl+d后即可将内容保存到we文件中
cat < a >b 将 a的内容输出到b
cat >aa <<eof cat内容到eof停止输入,输出到aa中
4.命令执行判断:
(1); 按顺序执行
(2)&& 前一个条件满足则执行
(3)|| 前一个条件不满足则执行
ls wyy && echo "yes" || echo "no" 若存在wyy,则输出yes,否则输出 no

5.管道命令(pipe)

管道命令只处理 前一个命令传来的正确信息,常用来进行选取命令和排序命令
(1) 选取命令 (cut和grep) 前面一般为显示很多内容
cut -d '分隔符’ -f 数字 或者 cut -c 12- 显示几个字符之后的内容
例:echo $PATH | cut -d ':' -f 3 ,5 显示第三到第五个路径
export | cut -c 12- 显示几个字符之后的内容
last 显示这个月登陆者的信息
grep 用于如果有该信息,就整行显示
last | grep 'root' | cut -d ' ' -f 1
(2)排序命令(sort,uniq,wc)

cat /etc/passwd |sort

如果使重复的数据显示一次,用 sort | uniq
wc :显示行数,字数,字符数
-l :显示行数 -w :显示字数 -m:显示字符数
如:cat aa |wc
(3)字符转换命令
tr -d 'a' :删除a /也可以进行大小写替换
join -t ':' file1 file2 将两个文件都各整行成同一行,用;隔开
paste -d file 1 file2 :粘在一起
split -b 文件大小 / -l 行数
(4)xargs参数代换
    该命令的主要功能是从输入中构建和执行shell命令。       
    在使用find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行。但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出现溢出错误。错误信息通常是“参数列太长”或“参数列溢出”。这就是xargs命令的用处所在,特别是与find命令一起使用。  
    find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。

具体实例可见:
http://www.cnblogs.com/peida/archive/2012/11/15/2770888.html

linux(4) vi编辑/删除、复制、粘贴 /bash shell 环境变量设置/数据流重定向 | 的用法的更多相关文章

  1. bash shell & 环境变量

    root是没有~/.bashrc的,只. /etc/profile即可,/etc/profile和~/.bashrc的作用类似,只是作用域不同,都是写死的export,也有动态的脚本去设置命令和环境变 ...

  2. Linux中bash shell环境变量

    别名 别名是命令的快捷方式.为那些需要经常执行,但需要很长时间输入的长命令创建快捷方式很有用.语法是: alias ppp='ping www.baidu.com' 它们并不总是用来缩短长命令.重要的 ...

  3. Linux bash shell环境变量以及语法规范

    摘自: http://blog.csdn.net/abc_ii/article/details/8762739

  4. Linux编程 12 (默认shell环境变量, PATH变量重要讲解)

    一 .概述 默认情况下, bash shell会用一些特定的环境变量来定义系统的环境.这些默认环境变量可以理解是上篇所讲的系统全局环境变量. 1.1 bash  shell支持的Bourne变量 Bo ...

  5. linux vim vi编辑时撤销输入操作

    linux vim vi编辑时撤销输入操作 1,esc退出输入状态 2,u 撤销上次操作 3,ctrl+r 恢复撤销

  6. 【Linux】linux bash shell之变量替换::=句法、=句法、:-句法、-句法、=?句法、?句法、:+句法、+句法

    linux bash shell之变量替换::=句法.=句法.:-句法.-句法.=?句法.?句法.:+句法.+句法   linux bash shell之变量替换::=句法.=句法.:-句法.-句法. ...

  7. 常见linux命令释义(第八天)—— Bash Shell 的操作环境

    换了新公司,公司的领导很不错.自己感受比较多的地方是,自己的工作效率明显比以前高了.以前会对频繁变动的需求十分不耐烦,现在接到需求后会仔细的思考,进行整体构建.即使以后需求有变动,也能够比较轻易的在原 ...

  8. Linux下环境变量设置 (转)

    Linux下环境变量设置 1.在Windows 系统下,很多软件安装都需要配置环境变量,比如 安装 jdk ,如果不配置环境变量,在非软件安装的目录下运行javac 命令,将会报告找不到文件,类似的错 ...

  9. linux 、 CentOs ---> 环境变量设置

    Linux下环境变量设置 1.在Windows 系统下,很多软件安装都需要配置环境变量,比如 安装 jdk ,如果不配置环境变量,在非软件安装的目录下运行javac 命令,将会报告找不到文件,类似的错 ...

随机推荐

  1. Python学习笔记1:数据模型和特殊方法(魔术方法)

    首先不要脸的放上个人网站:www.comingnext.cn 1.关于数据模型 在Python的官方文档中是这样说的: 对象是Python对数据的抽象.Python程序中所有数据都由对象或对象之间的关 ...

  2. 如何设计和实现一个web app

    web app简介 web app其实不算是什么新鲜的东西,相比于传统的web和传统的app,web app这种web和app相结合的产物有的优点如下: 1. 开发上web app更有便捷性,ios开 ...

  3. Markdown+Pandoc 最佳写作拍档 (mailp.in)

    Markdown+Pandoc 最佳写作拍档 我们为什么写作? 自从人们开始写作,写作便是记录.抒发.批判.反省的好工具.从石板上的刻印到笔墨纸砚,再到如今的信息时代.从静态的个人主页到托管博客,从个 ...

  4. Mybatis分页插件PageHelper正确的使用方法(网上有2篇不够科学的文章)

    今天下午在Mybatis项目中,实现分页.因为我是后加入项目中的,Leader用的是PageHelper这个组件,但是我在实际使用的过程中遇到了2个大问题. 1.http://www.oschina. ...

  5. Vue2.0父子组件之间和兄弟组件之间的数据交互

    熟悉了Vue.js的同级组件之间通信,写此文章,以便记录. Vue是一个轻量级的渐进式框架,对于它的一些特性和优点,请在官网上进行查看,不再赘述. 使用NPM及相关命令行工具初始化的Vue工程,目录结 ...

  6. MySQL show 语句

    总览show 语句 show tables from database_name; -- 显示当前数据库中所有表的名称.  show databases; -- 显示mysql中所有数据库的名称.  ...

  7. Composer简介及使用实例

    1.PHP-FIG 官网:http://www.php-fig.org/ php编码规范: 本文档是PHP互操作性框架制定小组(PHP-FIG :PHP Framework Interoperabil ...

  8. 线性代数-矩阵-【3】矩阵加减 C和C++实现

    点击这里可以跳转至 [1]矩阵汇总:http://www.cnblogs.com/HongYi-Liang/p/7287369.html [2]矩阵生成:http://www.cnblogs.com/ ...

  9. python+selenium自动化软件测试(第5章):Selenium Gird

    5.1 分布式(Grid) Selenium grid是用来分布式执行测试用例脚本的工具,比如测试人员经常要测试多浏览器的兼容性,那就可以用到grid了.下面就来介绍如何在多个浏览器上运行同一份脚本. ...

  10. ubuntu下安装rubymine

    1.安装jdk 先查看系统有没有安装jdk,打开终端,输入以下命令: java -version 如果没有安装,在联网的环境下执行: $ -jdk 2.安装rubymine 从官网(http://ww ...