linuxshell应用技巧


--------------------------------------shell应用技巧------------------------------------------
一命令补全:	
	tab键补全shell命令
二:clear   或  ctrl+l   清屏
	ctrl+u 清除光标前面所有的内容 
	history  列出你敲过的所有命令
	
	命名别名定义:
		alias 查看别名
		alias copy=cp   下次复制的时候直接copy就行
		alias xrm="rm -r"
		unalias copy  删除别名
	
	输入输出重定向(shell脚本用的非常多)
		0 (stdin) 标准输入  0<
		1 (stdout)标准输出   1>
		2(stderr)标准错误输出 2>
		A:> 输出重定向  
			ls -l /tmp > /tmp.msg     将ls -l命令得到的结果放到/tmp/tmp.msg中,将信息重定向到一个文件里面
			more /tmp.msg             查看重定向文件的内容			
			能后在敲:
				data > /tmp.msg     你会发现已经将上面的重定向的内容覆盖啦
				data >> /tmp.msg    这个就会把内容追加到上面重定向内容里
				
		B:< 输入重定向  
			wall < /etc/motd        广播文件内容,motd是要广播的内容提前写好的
			
		C:2>错误输出重定向 (2>表示出错的情况下执行)
			usr目录相当于Windows目录,系统的核心目录
			cp -R /usr/backup/usr.bak 2> /bak.error   拷贝目录(2表示命令出错的时候执行)
			例子:ls xxxxxxx  一个不存在的文件
				  ls /xxxxxxx 2> ls.err  当ls命令出错的时候就把出错的信息保存在错误文件里面
	
	管道
		解释:将一个命令的输出传送给另外一个命令,作为另外一个命令的输入
		使用方法
			命令1|命令2|命令2|.....|命令n(可以连接多个命令)
		例子:
			ls -l /etc | more     将ls输出的内容管道给more分页查看
			ls -l /etc | grep init   将ls命令内容管道给 grep 只查看init的文件
			ls -l /etc | grep init | wc -l    查看etc目录下init文件有多少个(多个管道)
	
	命令连接符
		1 ; 间隔的各命令按顺序一次执行
		2 && (连接2个命令)前面命令的执行存在逻辑与关系,只有&&前面的命令执行成功后,才执行后面的命令			
		3 || (连接2个命令)前后命令的执行存在逻辑或关系,只有||前面的命令执行失败后,它后面的命令才被执行
		例子:			
			1 pwd ; ls ; data     3个命令会依次执行
			2 场景:机器给那你喜欢的技术MM写个情书,写完就删除
				write MM < /home/leyangjun/love.txt && rm /leyangjun/love.txt
				ls && pwd      会执行
				lsdddd && pwd  不会执行
			3 || 关系只有一个能执行成功
				write MM < /home/leyangjun/love.txt || rm /leyangjun/love.txt  只会执行一个
				ls || pwd     执行前面的
				lsfff || pwd  执行后面的

	命令替换符
		描述:将一个命令的输出作为另外名的参数
		格式:命令1 `命令2`   是飘符号哦,esc下面的那个
		例子:
			ls -l `which touch`   == ls -l /bin/touch(which touch得出的)
				

相关内容