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是一個變量名字
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 ~]# vim /etc/profile 把自定義變量加入到配置檔案當中
[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
[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]\$'
[[email protected]]#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
#号注釋 注釋不生效
\脫義符号
[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/
[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 < 反重定向
[root@abinlinux ~]# ls [1-9a-zA-Z].txt 中括号表示範圍 比如1-9 可以全部列出來
1.txt 2.txt c.txt m.txt z.txt
本文轉自 amenging 51CTO部落格,原文連結:http://blog.51cto.com/11335852/1982678