Shell
用户与系统沟通的媒介
/etc/shells
linux默认shell为bash
bash
Bourne Again Shell
与unix上的Bourne Shell兼容
a=npp
echo $a ---npp---
a=${a}123
echo $a ---npp123---
unset a 删除变量a
本地变量:适用于当前shell
环境变量:所有shell
set查看环境变量+本地变量 或 env查看环境变量
预定义环境变量:
HOME:家目录
PATH:可执行文件搜索路径
LANG:默认语言 LANG=en locale -a列出所有支持的
PS1 :行提示符 @ \d \H \h \t \T \A时分 \u用户名 \v \w完整的目录路径 \W目录(最后的) \#命令执行次数 \$
export a将本地变量转换为环境变量
history
查询过去的命令
history 10 列出最后10个指令
histsize ---echo $HISTSIZE---
bash_history ----$HISTFILESIZE--- history -w强制写入
调用过往指令
!! 重复上一条
!a 执行最后以a开头的指令
!number
!$ 截取上条命令的最后一项 ping 127.0.0.1 ping !$
crtl+r 查找最近的
alias
alias ll='ls -l --color=tty'
alias可列出所有别名
unalias取消别名
“”转义特殊字符 $\`!不能取消转义 echo “”
‘’不转义特殊字符 echo ‘’
`` 执行引用符(先执行``里面的) ls -al `pwd` = ls -al /root
$[] 中括号里面的会被计算 echo$[1+4]
\ 取消命令行中的特殊含义、用与一行未结束 mkdir a b 与 mkdir a\ b的区别
; 分隔多个命令
()子shell激活 (home=/usr)
逻辑运算符
&& 前一条指令成立才执行后一条 ls /home && touch /home/test1
|| 前一条指令不成立才执行后一条 ls /root/test1 || mkdir /root/test1
ls /root/test && echo "exist" || echo "no exist"
登录shell
shell下改变变量、umask、alias只在此次登陆有效
定制登录shell
bash在用户登录时从四个文件中读取环境设置
全局设置文件:
/etc/profile 设定系统环境变量,a变量变成环境变量可放这
/etc/bashrc 别名、一些系统参数
用户设置文件:
~/.bashrc
~/.bash_profile
其他shell设置文件:
~/.bash_logout: 用户logout时自动执行
~/.bash_history: login时自动读取,logout时写入记录
登陆shell启动读取顺序:su - npp
/etc/profile
/etc/profile.d/*.sb
~/.bash_profile
~/.bashrc
/etc/bashrc
非登陆shell启动读取顺序:su npp
~/.bashrc
/etc/bashrc
快捷键
Ctrl+d:输入结束
Ctrl+c:强制中断
Ctrl+s&p:暂停/恢复
Ctrl+l:清屏
Tab
转载于:https://blog.51cto.com/nppstudy/728454