env查看变量 set 也是查看变量的内容 比env强大些
[root@binbinlinux ~]# echo $HOSTNAME 查看变量的名字
binbinlinux
[root@binbinlinux ~]# a=1;b=2
[root@binbinlinux ~]# echo $a $b 可以把两个变量的值输出出来
1 2
变量名字不可以 以数字开头 变量的名字不能用系统命令的名字
[root@binbinlinux ~]# c='ls /tmp/' 举例这个有空格特殊字符 用 '' 引起来
[root@binbinlinux ~]# echo $c
ls /tmp/
[root@binbinlinux ~]# cyvim=`which vim` 想让他自动获得 这条命令的结果要加反引号
[root@binbinlinux ~]# echo $cyvim
/usr/bin/vim
[root@binbinlinux ~]# a=1
[root@binbinlinux ~]# c="$a"12 用双引号区分开来 不然会默认a是一个变量名字
[root@binbinlinux ~]# echo $c
112
[root@binbinlinux ~]# echo $a
1
[root@binbinlinux ~]# bash 子shell
[root@binbinlinux ~]# exit 退出子shell
exit
[root@binbinlinux ~]# export a=1 全局的声明
[root@binbinlinux ~]# bash 进入子shell
[root@binbinlinux ~]# echo $a
1
[root@binbinlinux ~]# vim /etc/profile 把自定义变量加入到配置文件当中
[root@binbinlinux ~]# echo $c
1
[root@binbinlinux ~]# unset c 取消变量值 unset
[root@binbinlinux ~]# vim /etc/profile
[root@binbinlinux ~]# vim /etc/profile.d/path.sh 已定义PATH
#!/bin/bash
export PATH=$PATH:/tmp/ 全局声明 PATH=$PATH:/tmp/
~
source /etc/profile 即时生效
[root@binbinlinux ~]# echo $PATH 你会发现多了个 /tmp/
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/tmp/:/root/bin:/tmp/
[root@binbinlinux ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/tmp/:/root/bin:/tmp/
[root@binbinlinux ~]# 修改 PATH
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/tmp/
[root@binbinlinux ~]# source /etc/profile 生效
[root@binbinlinux ~]# echo $PATH 查看
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/tmp/:/tmp/
[root@binbinlinux ~]# echo $PS1
[\u@\h \W]\$
[root@binbinlinux ~]# ps1='[\u@\h \W]\$' 修改PS1
[root@binbinlinux ~]# PS1='[\u@\h \w]\$'
[root@binbinlinux ~]#cd /etc/init.d/
[root@binbinlinux /etc/init.d]#PS1='[\u@\h \t\w]\$'
[root@binbinlinux 18:21:02/etc/init.d]#PS1='[\u@\h- \t\w]\$'
[root@binbinlinux- 18:21:18/etc/init.d]#PS1='[\u@\h\W]\$'
[root@binbinlinuxinit.d]#cd
[root@binbinlinux~]#echo $PS1
[\u@\h\W]\$
vim /etc/profile.d/umask.sh 修改umask 的配置文件 改成 0023
umask 0023
然后 source /etc/profile 声明生效
针对用户自己自定义配置文件 环境变量
vim .bash_profile 定义
vim .bashrc 用户的别名
[root@abinlinux ~]# ls *.txt 通配符 * 可以是多位 可以列出*下面的多位数*.txt
1.txt c.txt m.txt z.txt
[root@abinlinux ~]# ls ?.txt ? 以为 可以列出以为.txt
1.txt c.txt m.txt z.txt
#号注释 注释不生效
\脱义符号
[root@abinlinux ~]# ls #1.txt 之执行了ls的命令 #号把后面注释了
12 install.log m.txt
[root@abinlinux ~]# ls \#1.txt 可以把后面的#号脱义掉
ls: 无法访问#1.txt: 没有那个文件或目录
[root@abinlinux ~]# cat 1.txt |wc -l 把这条命令的结果丢给后面这天命令
460
[root@abinlinux ~]# echo $PATH $是一个变量的前缀
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/tmp/:/data/bin:/root/bin
!$ 去在次执行这条命令
[root@abinlinux ~]# ls 1.txt ;ls p.txt 把两个命令写成一行 用;号分开
1.txt
~ 表示用户的家目录
[root@abinlinux ~]# ls ~ 相当于ls /root/
12 install.log m.txt
[root@abinlinux ~]# sleep 10 & &把一个命令丢到后台去
[1] 1701
[root@abinlinux ~]# jobs 正在运行中
[1]+ Running sleep 10 &
[root@abinlinux ~]# jobs
[1]+ Done sleep 10
[root@abinlinux ~]# > 重定向 >>追加重定向 2> 错误重定向 2>>错误追加重定向
[root@abinlinux ~]# wc -l <1.txt < 反重定向
460
[root@abinlinux ~]# ls [1-9a-zA-Z].txt 中括号表示范围 比如1-9 可以全部列出来
1.txt 2.txt c.txt m.txt z.txt