linux:shell入门

centos7查看系统支持的shell
[root@node1 ~]# cat /etc/shells
/bin/sh					# Linux常用的shell,指向/bin/bash。
/bin/bash				# Linux常用的shell,默认使用的shell。
/sbin/nologin			# Linux常用的shell,用于禁止用户登录。
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
查看系统默认shell,两种方式
[root@node1 ~]# echo $SHELL
/bin/bash
[root@node1 ~]# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
末尾的/bin/bash就是用户登录后使用的shell
查看bash版本
[root@node1 ]# cat /etc/redhat-release 
CentOS Linux release 7.3.1611 (Core) 
[root@node1 ]# bash --version
GNU bash, version 4.2.46(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
检测是否有bash漏洞
[root@node1 system]# env x='() { :;}; echo be careful' bash -c "echo this is a test"
this is a test
# 出现上述表示正常
[root@node1 system]# env x='() { :;}; echo be careful' bash -c "echo this is a test"
be careful
this is a test
# 表示存在漏洞,需尽快修复
升级bash
yum update bash -y
shell脚本的执行方式
  1. bash script-file或sh script-file,不需要文件有可执行权限。
  2. path/script-file或./script-file,文件需要有可执行权限。
  3. source script-file或 . script-file,读入脚本并执行脚本;在当前shell中加载并执行脚本文 件(其他运行shell脚本的方式会产生一个子shell来执行)
  4. bash < script-file或cat script-file|bash

你可能感兴趣的:(linux命令,运维)