设为首页 收藏本站
查看: 2506|回复: 6

[经验分享] RHEL6入门系列之十一,内/外部命令、重定向、管道

[复制链接]

尚未签到

发表于 2013-3-12 09:04:19 | 显示全部楼层 |阅读模式
前面一口气介绍了18个命令,可能大家都已经有些晕了。学习Linux就是这样,它不像Windows那样的傻瓜式操作,要想学好Linux是必须要下苦功的。所以,Linux本身就不是一个面向普通用户的桌面操作系统,而是面向专业运维人员的服务器操作系统。不过大家也没必要把Linux中的所有命令都一口气全学完,其实只要掌握了前面这18个命令,就可以说已经通过了Linux入门的第一关,就已经可以来做一些基本操作了。关键还在于要反复练习,把基础打好。
今天主要介绍几个在Bash中经常用到的基本概念和功能。
一、内部命令和外部命令

内部命令,指的是集成在Shell里的命令,属于shell的一部分,系统中没有与命令单独对应的程序文件。只要shell被执行,内部命令就自动载入内存,用户可以直接使用。如cd命令等。
外部命令,考虑到运行效率等原因,不可能把所有的命令都集成在shell里,更多的Linux命令是独立于shell之外的,这些就称为外部命令。每个外部命令都对应了系统中的一个文件,而Linux系统必须要知道外部命令对应的程序文件所在的位置,才能由shell加载并执行这些命令。如cp、ls等都属于外部命令。
外部命令的程序文件大都存放在/bin、/sbin、/usr/bin……这些目录里,Linux系统会默认将这些路径添加到一个名为PATH的变量里,执行“echo $PATH”命令可以显示出PATH变量里的保存的目录路径(路径之间用“:”间隔)。
[iyunv@localhost ~]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
每当要执行一个外部命令时,Linux系统就会先从PATH变量所保存的这些路径里去寻找命令所对应的的程序文件,只有找到了程序文件才能正确地去执行外部命令。这也就意味着,如果把一个外部命令所对应的程序文件删了,或者是存放外部命令程序文件的目录没有添加到PATH变量里,这些都会导致外部命令无法正常执行,这点我们在以后还会再提到。当然对于我们目前而言,并不需要知道这些外部命令的具体位置,甚至不用刻意地去分辨一个命令到底是内部还是外部命令,因为它们的使用方法都是基本类似的。

明白了内部命令和外部命令的区别之后,下面介绍几个相关的命令。

1、which命令——查找外部命令所对应的程序文件

which命令用于查找Linux外部命令所对应的程序文件,其搜索范围由环境变量PATH决定。
如,查找ls命令所对应的程序文件。
[iyunv@localhost ~]# which ls
alias ls='ls --color=auto'
        /bin/ls
执行命令后,首先显示出系统中所设置的ls命令的别名,然后是ls命令的程序文件“/bin/ls”。
如果要查找的是一个内部命令,那将找不到任何对应的程序文件。
[iyunv@localhost ~]# which cd
/usr/bin/which: no cd in (/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)

2、help命令——查看内部命令的帮助信息
help命令只能查看内部命令的帮助信息。
如,查看pwd命令的帮助信息。
222104613.jpg
当用help查看外部命令的帮助信息时则会报错。
[iyunv@localhost ~]# help ls
-bash: help: no help topics match `ls'. Try `help help' or `man -k ls' or `info ls'.
对于外部命令,大都可以使用一个通用的命令选项“--help”,以查看命令的帮助信息。
如,使用“--help”选项查看ls命令的帮助信息。
222259926.jpg
3、man命令——查看命令的帮助手册
help命令查看的帮助信息较为简略,如果要查看更为详尽的帮助信息,可以使用man命令查看指定命令的帮助手册。
如,查看ls命令的帮助手册。
[iyunv@localhost ~]# man ls
执行man命令后将进入阅读环境,按q键可以退出。
无论内部命令还是外部命令,都可以使用man命令查看其帮助手册。

二、重定向

Linux系统中标准的输入设备为键盘,标准输出设备为屏幕,但在某些情况下,我们希望能从键盘以外的其他输入设备读取数据,或者将数据送到屏幕外的其他输出设备,这种情况称为重定向。Shell中输入输出重定向主要依靠重定向符号来实现,重定向的目标通常是一个文件。

1. 输入重定向
输入重定向就是将命令中接收输入的途径由默认的键盘重定向为指定的文件,需要使用“<”重定向操作符。如命令“wc < f1”就表示将f1文件的信息作为wc命令的输入。
输入重定向并不常使用,所以这里就不过多介绍了。

2. 输出重定向
输出重定向是将命令的输出结果重定向到一个文件中,而不是显示在屏幕上。输出重定向使用“>”或“>>”操作符,分别用于覆盖、追加文件。
“>”重定向符后面指定的文件如果不存在,在命令执行中将建立该文件,并保存命令结果到文件中。“>”重定向符后面指定的文件如果存在,命令执行时将清空文件的内容并保存命令结果到文件中。
如,查看/etc/passwd文件的内容,并将输出结果保存到pass.txt文件中。
[iyunv@localhost ~]# cat /etc/passwd > pass.txt
执行该命令后,会在当前目录下生成一个名为pass.txt的文件,文件中的内容就是“cat /etc/passwd”命令执行的结果。
“>>”重定向操作符可以将命令执行的结果重定向并追加到指定文件的末尾保存,而不覆盖文件中原有的内容。
如,查看/etc/shadow文件的后3行内容,并将输出结果追加保存到pass.txt文件中。
[iyunv@localhost ~]# tail -3 /etc/shadow >> pass.txt

三、管道符“|”

通过管道符“|”,可以把多个简单的命令连接起来实现更加复杂的功能。
管道符“|”用于连接左右两个命令,将“|”左边命令的执行结果作为“|”右边命令的输入,这样“|”就像一根管道一样连接着左右两条命令,并在管道中实现数据从左至右的传输。
如ls命令与more命令使用管道符组合使用便可以实现目录列表分页显示的功能。
如,分页显示/etc目录下所有文件和子目录的详细信息。
[iyunv@localhost ~]# ls -lh /etc | more
ls命令与grep命令使用管道符组合使用可以只显示目录列表中包含特定关键字的列表项。
如,显示/etc目录下包含有“net”关键字的所有文件和子目录的详细信息。
[iyunv@localhost ~]# ls -lh /etc | grep net
-rwxr-xr-x. 1 root root 1.3K 4月 10 2012 auto.net
-rw-r--r--. 1 root root   74 5月 31 2012 issue.net
-rw-r--r--. 1 root root 767 11月 30 2009 netconfig
-rw-r--r--. 1 root root   58 5月 23 2012 networks
drwxr-xr-x. 2 root root 4.0K 1月   8 19:14 xinetd.d
如,统计一下/etc目录下所有以“.conf”结尾的文件的个数。
[iyunv@localhost ~]# ls -l /etc/*.conf | wc –l      
44                        
如,查看/etc/httpd/conf/httpd.conf文件中除了以“#”开头的行和空行以外的内容。
[iyunv@localhost ~]# grep -v “^#” /etc/httpd/conf/httpd.conf | gerp –v “^$”


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-3781-1-1.html 上篇帖子: RHEL6入门系列之十,常用命令3 下篇帖子: RHEL6入门系列之十二,vi编辑器 管道 定向

尚未签到

发表于 2013-3-14 00:39:57 | 显示全部楼层
我是个凑数的。。。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-15 23:05:11 | 显示全部楼层
不在课堂上沉睡,就在酒桌上埋醉。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-16 12:52:03 | 显示全部楼层
做爱做的事,交配交的人。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-17 09:21:09 | 显示全部楼层
吃饭与ml是第一生产力。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-17 22:40:50 | 显示全部楼层
要是我灌水,就骂我“三个代表”没学好吧。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-18 11:19:13 | 显示全部楼层
在一辆拥挤的公车上,一位女郎忽然叫了起来:别挤啦!别挤啦!把人家的奶都挤出来啦!(她拿着酸奶呢)。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表