shell常用命令

1、什么是shell?
shell也是操作系统中的一个软件,它包在linux内核的外边,为用户和内核之间的交互提供接口;系统中的命令也是用shell去解释的,shell收集系统回应的输出并显示到屏幕中;bash = GNU Bourne-Again Shell.
2、什么是shell脚本?
脚本是一种解释型语言,用shell脚本保存执行动作,用脚本判定命令的执行条件 ,用脚本实现动作的批量执行。

一、常用的命令

1、diff

diff命令用来比较两个文件或目录的不同

diff [option] target1 target2
diff file1 file2
diff directory1 directory2

diff在比较文件的过程中结果的读取方式

【num1,num2】【a|c|d】【num3,num4】
num1,num2表示在第一个文件中的个数
a表示添加--------add
c表示更改--------change
d表示删除--------delete
<表示第一个文件中的内容
>表示第二个文件中的内容
num3,num4表示第二个文件中的行数

diff在比较目录过程中的结果的读取

Only in direstory/:filename
directory 表示在那个目录中
filename 表示在这个目录中

diff常用的参数

-b				不检查空格字符的不同
-B				不检查空白行	
-c				显示全部内容并标出不同的地方
-i				不检查大小写的不同	
-p				比较c语言文件时,显示差异所在的函数名称
-q				仅显示有无差异不显示详细信息	
-r				比较子目录中的文件
-u				以合并的方式来显示文件内容的不同
2、patch

用于不同文件打补丁

patch [options] file.old file.path
	  -b 
3、cut

cut 命令用于字符借取

cut -d					指定分隔符
cut -f 1,7|1-7			指定截取的列
cut -c 1,2|1-2			指定借取的字符位置
4、sort

sort用于字符排序

sort -n					纯数字排序
sort -r 				倒序
sort -u 				去掉重复数字
sort -o					输出到指定文件中
sort -t 				指定分隔符
sort -k					指定要排序的列
5、uniq

对重复的字符做相应的处理

uniq -u					显示唯一的行
uniq -d 				显示重复的行
uniq -c					每行显示一次并统计重复次数
6、tr:源文件不变
cat file | tr 'abc' 'xyz'		将file中的‘abc’替换成‘xyz’,
cat file|tr [a-z] [A-Z]			将文件中的小写字母改成大写字母
cat file|tr [0-9] [a-j]			将0-9转化成a-j
cat file|tr -d "字符"			删除文件中出现的字符
cat file | tr -d -c "0-9"		保留文件中的数字,删除其他的内容
cat file | tr -s "\r" "\n"		后者替换前者
cat file | echo $[$(tr '\n' '+')0]	实现加法运算
7、test

test 命令和[]相同,并且在shell中,"==“和”="是相同的

变量比较:
[ "$A" = "$B" ]						两个变量相等为真
[ "$A" != "$B" ]					两个变量不相等为真
[ "$A" -eq "$B" ]					两个变量相等为真
[ "$A" -ne "$B" ]					两个变量不相等为真	
[ "$A" -le "$B" ]					$A小于等于$B为真
[ "$A" -lt "$B" ]					$A小于$B为真
[ "$A" -ge "$B" ]					$A大于等于$B为真
[ -z "$A" ]							变量A不存在为真
[ -n "$B"]							变量B存在为真
[ "$A" -ne "$B" a "$A" -gt "$B" ]   两个条件都成立是为真
[ "$A" -ne "$B" o "$A" -gt "$B" ]   两个条件成立一个为真

文件比较:
[ "file" -ef "file1" ]			    为硬链接则为真
[ "file" -nf "file1" ]				不是硬链接为真
[ "file" -of "file1" ]

判断文件类型
	[ 	-e "file" ]				文件存在为真
	[   -f  "file" ]				普通文件为真
	[   -L "file" ]				链接为真
	[   -S "file" ]				sock文件为真
	[   -b "file" ]				块设备为真
	[   -d "file" ]				目录为真
	[   -c "file" ]				字符设备为真
8、&&和||
&&  			用来执行条件成立之后指定的命令
||				用来执行条件不成立之后的命令

你可能感兴趣的:(linux操作系统)