SHELL学习1

1.history保存历史命令1000条,history -c清空;

2.!string调用最近使用的命令,!vim最近使用的vim,!n调用最近一条以n开头的ming‘l,!242调用history中第242条命令。

3.alias重命名,alias h5=‘head -5‘,unalias h5取消重命名。

4.|管道符,连接多个命令,将一个命令的输出重定向到另一个命令ps aux|grep mysql,或者ifconfig eth0|grep ‘inet addr‘过滤包含IP地址的数据包,echo "pass" | passwd --stdin tom将用户tom密码设置为pass

5.>和>>输出重定向,>覆盖,>>追加。ls > list.txt将ls输出保存到list.txt,hostname >> list.txt将主机名追加到list.txt中,ll abc install.log 2> error.txt仅将错误输出重定向到error.txt中,ll abc install.log>>all.txt 2>&1将标准输出1和错误输出2均追加到all.txt

6.快捷键ctrl+a将光标移至行首,ctrl+e移至行为,ctrl+f右移一个,ctrl+b左移一个,ctrl+l清屏,ctrl+u删除光标到行首的字符,ctrl+k删除光标到行尾字符,ctrl+c终止进程,ctrl+z挂起进程,tops可以查看,ctrl+w删除光标前一个单词(以空格为分隔),ctrl+d删除后一个单词

7.命令序列使用:&开启子shell,使在后台运行,firefox &将前端打开的程序后台执行,tops查看,fg 1调回前台执行;

&使前台程序,挂起到后台,ctrl+z使程序暂停并挂起到后台。fg 1调回前台。

&&多个命令组合执行,但必须前面成功执行再下一个命令,make && make install,ls test.txt && cat test.txt;

||多个命令组合,但必须前一个命令执行不成功,才执行下一个,id tom &>/dev/null &&echo "hi, tom" || echo "no such user",通过&>重定向将id输出屏蔽,然后&&和||判断显示语。--20150615

时间: 2024-07-31 23:09:06

SHELL学习1的相关文章

shell学习之tr命令

tr命令不接受指定的文件参数,而只是对标准输入进行翻译, tr是translate的简写,亦即翻译,需要注意的是,它不能翻译句子,只能翻译单个字符. 首先,定义变量:     [[email protected]]#A=1,,2,,,3,,,4,,,5 下面以示例对该命令以及其常用选项进行介绍. 示例: 1.  无选项设置情况     [[email protected]]# echo $A | tr  ',' ' '         1 2   3   4   5     [[email pr

【转】十分有用的linux shell学习总结

在最近的日常工作中由于经常会和Linux服务器打交道,如Oracle性能优化.我们 数据采集服务器的资源利用率监控,以及Debug服务器代码并解决其效率和稳定性等问题.因此这段时间总结的有关Linux Shell的系列博客就给予了我极大的帮助,然而在实际的使用中却发现,有的时候确实忘记了某个技术点或某个Shell命令的使用方式曾经在哪一篇博客中 予以了说明,所以不得不多次点击多篇博客,直到找到想要那篇的为止,鉴于此,为了方便我们每个人的查阅,这里特别给出了前十二篇系列博客的目录以供大家参 阅和查

shell学习总结之自定义函数

shell学习总结之自定义函数 Myfun (){ echo patams1 is $1 echo -n "now i is $i " ! [ "$i" ] && exit ; echo jj return '1' } myf=$(Myfun); echo myf Myfun 12 unset Myfun Myfun echo 'the end !'$myf 别人的 #! bin/bash # ----------------------------

第八章 shell学习之循环和结构化命令

for循环 1. 列表for循环 for variable in {list}  #有些像C++/CLR中的for each do ... done 如: 1. [[email protected] tmp]# cat b.sh #! /bin/bash for i in 1 2 3 4 5      #1 2 3 4 5等价于{1..5} do echo $i done [[email protected] tmp]# ./b.sh 1 2 3 4 5 2. [[email protected

Shell学习笔记——第三章

第三章 /etc/passwd 文件包含一个所有系统用户账户组成的列表,以及一些关于每个用户的基本信息. 例rich:x:501:Rich Blum:/home/rich:/bin/bash 每个条目都有7个数据字段,例使用冒号分隔.系统使用这些字段中的数据向用户分配具体的特性.这些字段分别有 用户名:用户密码(如果密码存储在其他文件中,则为占位符):用户的系统用户ID编号:用户的系统组的ID编号:用户的全名:用户默认的主目录:用户的默认Shell目录: cd 命令 略过 列表命令(ls) 参数

Shell学习之:输入输出重定向

详细理解: linux命令默认从标准输入设备(stdin)获取输入,将结果输出到标准输出设备(stdout)显示.一般情况下,标准输入设备就是键盘,标准输出设备就是终端,即显示器.在linux shell执行命令时,每个进程都和三个打开的文件相联系,并使用文件描述符来引用这些文件.由于文件描述符不容易记忆,shell同时也给出了相应的文件名: 文件描述符说明列表 文件 文件描述符 输入文件-标准输入 0(缺省为键盘;0为文件或其他命令的输出) 输出文件-标准输出 1(缺省为屏幕;1为文件) 错误

第三章 shell学习之正则表达式

正则表达式 \<the\>:精确匹配the,不包括包含the的单词 [^b-d]:不包含b~d a\{2\}:a出现2次 a\{2,3\}:a出现2~3次 a\{2,\}:a至少出现2次 [:upper:]:大写字母(用的时候外面加一层[]表示匹配字符集合) [:lower:]:小写字母 [:digit:]:数字 [:alnum:]:大小写字母和数字 [:space:]:表示空格或tab键 [:alpha:]:大小写字母 通配 注意通配和正则表达式不同,虽然有共同的符号 ls -l *.sh

第四章 shell学习之sed命令和awk编程

sed命令 sed只是对缓冲区中原始文件的副本进行编辑,不改变源文件,所以要保存则要重定向到另一个文件 sed三种方式: 1.sed [选项] 'sed命令' 输入文件 2.sed [选项] -f sed脚本文件 输入文件 3../sed脚本文件 输入文件 其中3的sed脚本文件要以#! bin/sed -f等开头 选项: -n 不打印所有行到标准输出,默认先打印匹配的再打印所有 -e 关联多个sed命令 -f 调用sed脚本文件 定位文本: x x为指定行号 x,y 从x到y行 /patter

第五章 shell学习之文件的排序、合并和分割

sort命令 sort [选项] [输入文件] 选项: -c 测试文件是否已经排序,如果未被排序则输出第一个未被排序的记录 -k 指定排序的域 -m 合并两个已排序的文件,合并的文件也已经排序,如sort -m a1 a2,a1的记录被有序的插入a2 -n 根据数字的大小进行排序,一般放在域号后,如-k3n -o 将输出重定向到指定文件 -r 将排序结果逆向显示 -t 改变域分割符,如-t: -u 去除结果中的重复行 sort和awk联合 例: [[email protected] tmp]#

第六章 shell学习之变量和引用

变量 本地变量:类似于局部变量,只在当前shell进程有效 环境变量:适用于所有登录进程所产生的子进程 位置参数:用于向shell脚本传递参数,只读 变量替换和赋值 引用变量值就称为变量替换,$就为变量替换符号,如a为变量名则$a或${a}为变量值 将值赋给某个变量名就称为变量赋值,格式:variable=value或${ variable=value },如值中包含空格则必须用"" 清除变量的值: unset 变量名 设置只读变量: variable=value readonly v