<span style="font-size:14px;">--------------------------------------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得出的) </span>
原文地址:http://blog.csdn.net/leyangjun/article/details/45012639