Linux支持的shell在/etc/shells文件中
/bin/sh已经被/bin/bash取代
/bin/bash 是Linux默认的shell
/bin/tcsh 整合c shell,提供了更多的功能
/bin/csh依附于bsd版的unix的shell,被/bin/tcsh取代
/bin/ksh常用于商业版,兼容于bash
/bin/zsh基于ksh开发的,功能更强大
1.type name
不加任何参数时,type显示出name是外部命令还是bash内置的命令
-t type将name通过以下文字显示他的意思
file:表示为外部命令
alias:表示为命令别名所设置的名称
builtin:表示命令为bash内置的命令
-a在PATH变量定义的路径中,列出所有含有name的命令,包含alias
2.echo $变量名
如echo $PATH
3.env显示目前系统内主要的预定义变量内容
set可以将环境变量和用户变量显示出来
4.PS1
d 代表日期,格式为星期 月 日
t 24小时格式显示时间,HH:MM:SS
A 24小时格式显示时间,HH:MM
T 12小时格式显示时间,HH:MM:SS
H 完整的主机名称
h 只取主机名称的第一个名字
u 当前账户名
v bash版本信息
w 完整工作目录
W 只列出最后一个目录
# 执行的第几个指令
$ root用户提示符是#,其他用户提示符是$
PS1='[u@hdt##W]$'
将用户变量设置为系统变量
[root@192~]$name="kali"
[root@192~]$echo $name
kali
[root@192~]$bash
[root@192 ~]# echo $name
[root@192 ~]# exit
exit
[root@192~]$export name
[root@192~]$bash
[root@192 ~]# echo $name
kali
设置变量的注意
1.变量和变量名中间不能有空格
2.变量名不能以数字开头
3.
path=“/lib/modules/’ uname -r' /kernel/fs"
PATH="$PATH":/home/test1 添加系统环境变量
unset 删除环境变量
locale -a显示系统支持的所有变量
LANG=zh_CN.UTF-8
改变系统支持的语系,可修改/etc/sysconfig/i18n
-------------------------------------------------------
变量键盘读取和声明变量
read 变量
-p 后面可以接提示符
-t 后面可以接秒数
[root@192 ~]# clear
[root@192 ~]# read name
kali
[root@192 ~]# echo $name
kali
[root@192 ~]# read -p "what is your name?" name
what is your name?kali
[root@192 ~]# echo $name
kali
declare/typeset 变量
-a 声明的变量为数组
-i 整数数字 -r 变量为只读
-x 变量变成系统环境变量
数字a[i]
[root@192 ~]# sum=1 2 3
[root@192 ~]# echo $sum
1 2 3
[root@192 ~]# declare -i sum=1 2 3
[root@192 ~]# echo $sum
6
[root@192 ~]# bash
[root@localhost ~]# echo $sum
[root@localhost ~]# exit
exit
[root@192 ~]# declare -x sum
[root@192 ~]# bash
[root@localhost ~]# echo $sum
6
[root@localhost ~]# a[1]=1
[root@localhost ~]# a[2]=2
[root@localhost ~]# a[3]=3
[root@localhost ~]# echo ${a[1]}
1
[root@localhost ~]# echo ${a[1]},${a[2]},${a[3]}
1,2,3
------------------------------------------------------------
命令别名与历史命令
设置alias取消unalias
[root@localhost ~]# alias lm='ls -al |more'
[root@localhost ~]# lm
[root@localhost ~]# unalias lm
[root@localhost ~]# lm
bash: lm: 未找到命令...
history 显示历史命令
history 2 显示最近的2条命令
-c 将当前shell中的所有历史命令全部清空
-r 将histfile中的内容读到shell的命令记忆中
-w 将当前历史记忆内容写入到histfile中
! number :执行第几个指令的意思
! Command :执行以command开头的指令
! !:上一个指令的意思
[root@192 ~]# history -c
[root@192 ~]# history
1 history
[root@192 ~]# history -r
[root@192 ~]# history
1 history
2 history -r:
3 ifconfig
4 ip add
240 exit
241 history
[root@192 ~]# !241
history
1 history
2 history -r
3 ifconfig