一.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. Get json formatted string from web by sending HttpWebRequest and then deserialize it to get needed data

    static string GetLotteryByPhase(string phaseNo) { // Set the url and charset string url = "http ...

  2. unity 竖屏不能全屏显示

    最近遇到一个问题,硬件显示屏是1080*1920的竖屏,但是导出后打开exe进去并不能全屏 处理办法是1.确认配置都是正确的,简单来说,就是自适应设定,这个网上有很多,就不赘述了. 2.exe启动时需 ...

  3. Bug列表

    1.Space is not allowed after parameter prefix ': 这个问题主要原因是Hibernate不能识别SQL语句中的":="导致的网上有其他 ...

  4. Struts2学习笔记(七)——类型转换

    1.自动类型转换 Struts2内部提供大量类型转换器,用来完成数据类型转换问题: String和boolean.Boolean:完成字符串与布尔值之间的转换 String和char.Characte ...

  5. C#和NewSQL更配 —— TiDB入门(可能是C#下的全网首发)

    阅读目录 背景 TiDB是什么 环境部署 实战 性能测试 结语 一.背景 在上一篇尝试CockroachDB(传送门在此:http://www.cnblogs.com/Zachary-Fan/p/co ...

  6. Andrew Ng机器学习课程笔记--week10(优化梯度下降)

    本周主要介绍了梯度下降算法运用到大数据时的优化方法. 一.内容概要 Gradient Descent with Large Datasets Stochastic Gradient Descent M ...

  7. java private修饰的类和变量

    private主要用来修饰变量和方法,一般不会用来修饰类,除非是内部类. 1.new对象 被private修饰的变量和方法,只能在自己对象内部使用,其他对象即使是new你这个对象也是获取不到被priv ...

  8. python基础教程(四)

    列表 本节继续讨论列表不同元组和字符串的地方:列表是可变的(mutable)----可以改变列表的内容,并且列表有很多有用的.专门的方法. List函数可以将一个字符串拆分成列表. >>& ...

  9. Spring详解(四)------注解配置IOC、DI

    Annotation(注解)是JDK1.5及以后版本引入的.它可以用于创建文档,跟踪代码中的依赖性,甚至执行基本编译时检查.注解是以‘@注解名’在代码中存在的. 前面讲解 IOC 和 DI 都是通过 ...

  10. sizeof(void)有什么用

    偶然发现在C中sizeof(void)是合法的,于是,对它的作用产生了疑问.查阅资料在GNU文档中发现如下解释: In GNU C, addition and subtraction operatio ...