bash配置文件
两类:
profile:为交互式登录shell提供配置
bashrc:为非交互式登录shell提供配置
登录类型:
交互式登录shell进程
直接通过某终端输入账号和密码登录打开的shell进程
使用su – USERNAME或者使用su -l USERNAME执行的登录切换
非交互式登录shell进程
使用su命令:su USERNAME
图形界面下打开的终端
profile类:
全局:对所有用户生效
/etc/profile
/etc/profile.d/*.sh
局部:仅对当前用户生效
~/.bash_profile
功用:
1.用于定义环境变量
2.运行命令或脚本
bashrc类:
全局:对所有用户都生效
/etc/bashrc
局部:仅对当前用户生效
~/.bashrc
功用:
1.定义本地变量
2.定义命令别名
~/.bash_logout:退出shell时所执行的脚本文件
配置文件执行顺序:
交互式登录
/etc/profile –> /etc/profile.d/*.sh –> ~/.bash_profile –> ~/.bashrc –> /etc/bashrc
非交互式登录
~/.bashrc –> /etc/bashrc –> /etc/profile.d/*.sh
命令行中定义的特性,例如变量和别名仅对当前shell进程有效
配置文件中定义的特性,只对随后新启动的shell进程有效
让通过配置文件定义的特性立即生效:
(1)通过命令行重复定义一次
(2)让shell进程重读配置文件
~]# source /PATH/FROM/CONF_FILE
~]# . /PATH/FROM/CONF_FILE
bash特性
展开命令行
命令行展开:~,{}
命令别名:alias,unalias
命令历史:history
文件名统配:*,?,[],[^]
命令替换:$(),“
快捷键:Ctrl+u,k,a,e,l
路径补全:tab
命令补全
防止扩展
反斜线\:会使随后的字符按愿意解释
加引号来防止扩展
单引号'':防止所有扩展
双引号"":防止扩展,除一下条件以外
$:变量扩展
“:命令替换
\:禁止单个字符扩展
!:调用命令历史
mktemp命令:创建临时文件
mktemp [OPTIONS] FILENAME
FILENAME:filename.XXX
X至少出现三次
OPTIONS:
-d:创建临时目录
-p:指明临时文件所存放的目录位置
[root@CentOS7 ~]# mktemp tmp.XXX tmp.Ny6 [root@CentOS7 ~]# mktemp tmp.XXXX tmp.O2FW [root@CentOS7 ~]# mktemp -d tmp.XXX tmp.2Ne
install命令:复制文件或设置属性
OPTIONS:
-d:复制目录
-m MODE:复制文件同时指定文件权限
-o:复制文件同时指定文件的属主
-g:复制文件同时指定文件的属组
[root@CentOS7 ~]# install /bin/chmod ./ #复制/bin/chmod文件到当前目录 [root@CentOS7 ~]# ll chmod -rwxr-xr-x. 1 root root 58544 Aug 31 08:50 chmod [root@CentOS7 ~]# install -m 644 /bin/chmod ./ #复制/bin/chmod文件并指定权限为644 [root@CentOS7 ~]# ll chmod -rw-r--r--. 1 root root 58544 Aug 31 08:50 chmod [root@CentOS7 ~]# install -d /home/ ./ #复制目录 [root@CentOS7 ~]# ll home/ total 0 [root@CentOS7 ~]# ll -d home/ drwxr-xr-x. 2 root root 6 Aug 30 05:31 home/ [root@CentOS7 ~]#
原创文章,作者:zhai796898,如若转载,请注明出处:http://www.178linux.com/42506