shell编程基础(一)

发布时间:2020-07-14 02:30:01 作者:shw23
来源:网络 阅读:544

一、命令行

命令行结构:命令名、命令选项和命令参数三部分内容组成,中间以空格或制表符等空白字符分隔。如下:
 命令名  命令选项  命令参数
command [option] [parameter]

命令选项通常以减号“-”开始的单个字符,主要用于限定命令的具体功能,同时也决定命令的最终运行结果
 选项可以单独给出,也可以组合使用。如果选项后面有参数,选项与参数必须单独列出。

命令选项可以省略,命令参数也可以省略,命令名必须提供。
 命令行只包含命令名时,命令选项和参数采用默认值。

命令行一次输入多个命令时,命令之间使用分号;分隔

[root@mrhcatxq01 ~]# date     #命令行只有命令名,选项和参数默认值
Thu Mar 24 16:14:38 CST 2016
 [root@mrhcatxq01 install_cacti]# date "+%Y%m%d"
 20160324
 [root@mrhcatxq01 ~]# uname -a     #命令行有命令名、命令选项
Linux mrhcatxq01 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29 11:47:41 EST 2013 x86_64 x86_64 x86_64 GNU/Linux
 [root@mrhcatxq01 ~]# ls /etc/passwd     #命令行有命令名、命令参数
/etc/passwd
 [root@mrhcatxq01 ~]# ls -l /etc/passwd     #命令行有命令名、命令选项、命令参数
-rw-r--r--. 1 root root 1800 Feb 22 02:18 /etc/passwd
 [root@mrhcatxq01 ~]# cd /install_cacti/
 [root@mrhcatxq01 install_cacti]# ls -la     #命令选项组合使用
total 8464
 drwxrwxrwx.  3 root root    4096 Mar 24 01:00 .
 dr-xr-xr-x. 29 root root    4096 Mar 10 03:39 ..
 -rw-r--r--.  1 root root 2594409 Feb 22 01:43 cacti-0.8.8f.tar.gz
 -rw-r--r--   1 root root  401737 Mar 24 01:00 cacti_backup_20160324.sql
 -rwxr-xr-x   1 root root     326 Mar 21 13:58 cacti_backup.sh
 [root@mrhcatxq01 install_cacti]#
 [root@mrhcatxq01 install_cacti]# sort -t :  -k 4 -n -r /etc/passwd     #选项后有参数,必须单独列出
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
 cacti:x:501:501::/home/cacti:/bin/bash
 tomcat:x:500:500::/home/tomcat:/bin/bash
 rtkit:x:499:496:RealtimeKit:/proc:/sbin/nologin
 pulse:x:497:494:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
 abrt:x:173:173::/etc/abrt:/sbin/nologin

 

二、重定向

> 输出重定向(覆盖)  command > outputfile 文件存在,则覆盖原来的内容,否则创建文件
>> 输出重定向(追加) command >> outputfile 文件存在,则追加新内容至文件末尾,否则创建文件
< 输入重定向   command < inputfile 读取文件内容作为输入数据

标准输出和标准错误输出重定向到不同文件:(1表示标准输出描述符;2表示标准错误输出描述符)
command > standard.output 2> standard.error 或 command 1> standard.output 2> standard.error

标准错误输出重定向到标准输出:
command &> output 或 command > output 2>&1    (2>&表示 标准错误输出2重定向>到后面指定的文件描述符,这里文件描述符是1,即标准输出)

i>&j 把文件描述符i表示的输出重定向到文件描述符j表示的重定向文件。
 常用:command > /dev/null 2>&1

 

三、管道

管道:前一命令的输出作为后一命令的输入   command1 | command2

[root@u1acatap01 configs]# ls -lrt
 total 88
 -rw-rw-r-- 1 apache cacti    59 May 24 17:33 index.php
 -rw-rw-r-- 1 apache cacti  1267 May 30 01:52 simple.conf
 -rw-rw-r-- 1 apache cacti 15269 Jun  3 16:57 global_prod.confbak
 -rw-rw-r-- 1 apache cacti 16660 Jun  7 11:34 global_prod.conf
 -rw-rw-r-- 1 apache cacti 10342 Jun  7 15:07 final_prod.conf
 -rw-r--r-- 1 root   root  10342 Jun  7 15:11 final_prod.confbak22
 -rw-r--r-- 1 root   root  16660 Jun  7 15:12 global_prod.confbak22
 [root@u1acatap01 configs]# ls -lrt|grep final_prod.conf
 -rw-rw-r-- 1 apache cacti 10342 Jun  7 15:07 final_prod.conf
 -rw-r--r-- 1 root   root  10342 Jun  7 15:11 final_prod.confbak22
 [root@u1acatap01 configs]#


推荐阅读:
  1. 精讲shell基础以及如何高效的学习shell编程
  2. unix shell编程摘记系列(一)

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

基础 shell 命令行

上一篇:bootstrap datetimepicker 添加清空按钮

下一篇:Swift类型嵌套

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》