设为首页 收藏本站
查看: 1063|回复: 0

linux shell编程基础必掌握

[复制链接]

尚未签到

发表于 2018-8-26 12:10:59 | 显示全部楼层 |阅读模式
  一
  history 记录历史命令
  预设记录1000条命令,存储在用户家目录 .bash_history 文件中;
  !!    执行上一条命令
  !n    n为数字,history里面显示的指令数字
  !cat  执行最近一次以cat开头的命令
  !$    上一条命令的最后一个参数
  man builtin    可以查询系统内置的所有命令;
  二
  指令和文件名补全
  Tab键    连续按2次列出所有的指令或文件名;
  三
  别名alias
  自定义别名,把很长的经常使用的命令别名一个简单的命令

  unalias    解除别名
  别名永久生效的话,把命令写入到当前用户家目录 .bashrc里面;只对当前用户生效。
  四
  通配符
  *    代表零个或多个任意字符
  ?    代表1个任意字符
  五
  输入输出重定向
  输出重定向 >
  把前面的输出不显示在当前屏幕上,输出到指定文件里面;
  追加重定向 >> 把内容追加到文件里面;
  输入重定向 <    把后面的文件作为前面命令的输入;
  2>        错误重定向(写脚本的时候会用到)
  2>>     错误追加重定向

  标准输入设备stdin用0表示;键盘;
  标准输出设备 stdout用1表示,显示器显示;
  标准输出错误 stderr用2表示,显示器显示;
  示例:直接ls 会在当前屏幕显示出来,正确和错误的信息;

  正确输出1默认可以不用写,直接重定向到1.log里面,2代表错误输出,重定向到&1代表前面的1.log;有时候也可以>>追加到日志;

  &表示所有,包括正确输出1和错误输出2,输出重定向到all.log里面;
  六
  管道符 |
  把前面命令的输出结果作为后面命令的输入

  七
  作业控制 |
  当运行一个进程时,你可以使它暂停(按Ctrl+z),然后使用fg命令恢复它,利用bg命令使他到后台运行,你也可以使它终止(按Ctrl+c)
  jobs    可以查看被暂停或在后台运行的任务

  想要让进程在后台运行的话加 &,中间有空格,进程就在后台运行了。
  vmstat 1    用来观察系统状态的一个命令。
  fg 2让后台运行的进程回到当前运行,ctrl+c 可以终止进程。
  +号显示的为优先级最高。
  另一种情况,关闭当前shell,重新打开另一个shell,使用jobs并不会显示在后台运行的进程。想要停止进程的话,需要知道pid,然后使用kill命令杀死进程。如遇到杀不死的进程,使用 kill -9 pid

  八
  变量 |
  就是使用一个较简单的字符串来替代某些具有特殊意义的设定以及数据。
  通常shell预设的变量名为大写。可以使用echo查看变量;
  常用变量有:PATH、HOME、LANG、PWD、LOGNAME、HOSTNAME

  env   可以查看系统预设的所有环境变量;
  set    可以列出系统预设的全部变量,包括用户自己设定的变量;
  自定义变量    变量名=变量内容
  自定义变量只在当前shell下生效;bash命令打开一个新的shell,变量就不会生效,退出新shell后,回到当前shell,变量继续生效;

  变量永久生效的方法:
  1)系统下所有用户登录都可以使用该变量
  在/etc/profile 配置文件中最后一行,添加"export myname=YongLinux",然后执行source /etc/profile 生效;source命令的作用是,将目前设定的配置刷新,即不用注销再登录也能生效。

  2)只在当前用户下使用变量
  在用户的家目录下 .bashrc 配置文件,添加"export myname=YongLinux",然后执行source .bashrc 生效;

  自定义变量的规则
  1、设定变量的格式“变量名=变量内容”等号两边不能有空格
  2、变量名只能由英文、数字及下划线组成,而且不能以数字开头;
  3、当变量内容带有特殊字符(空格 $),需要加单引号;

  如变量内容中本身有单引号,需要加双引号;

  4、如果变量内容需要引用其他运行结果,需要使用反引号

  5、变量内容可以累加其他变量的内容,需要加双引号。

  单引号和双引号的区别,用双引号时不会取消掉里面出现的特殊字符的本身作用(这里的$),而使用单引号则里面的特殊字符全部失去它本身的作用。


运维网声明 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.iyunv.com/thread-556818-1-1.html 上篇帖子: Bash shell 基础命令(第一章至第四章) 下篇帖子: 学习笔记-5.2 shell编程1
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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