[root@localhost ~]# x=5 [root@localhost ~]# name="yuan ke" [root@localhost ~]# echo $name yuan ke [root@localhost ~]# echo $x 5
[root@localhost ~]# x=123 [root@localhost ~]# echo $x 123 [root@localhost ~]# x="$x"456 [root@localhost ~]# echo $x 123456
set 查看系統下全部已經生效的變量,包括系統的環境變量和用戶自定義變量。python
-u 選項 執行 set -u 命令之後,若是調用沒有聲明的變量時會報錯。nginx
[root@localhost ~]# set | less name='yuan ke' x=123456
[root@localhost ~]# echo $a ······沒有給s設置變量,沒有任何提示 [root@localhost ~]# set -u ······執行命令後 [root@localhost ~]# echo $a -bash: a: 未綁定變量 ······系統會提示沒有綁定變量
unset 變量名web
[root@localhost ~]# unset name [root@localhost ~]# set | name -bash: name: 未找到命令
source 環境變量配置文件名 或者 . 環境變量配置文件名正則表達式
PATH、HISTSIZE、PS一、HOSTNAME等環境變量寫入對應的環境變量配置文件shell
環境變量配置文件中主要是定義對系統操做環境生效的系統默認的環境變量,如PATH等。bash
在/etc/目錄下的配置文件會對全部用戶生效,放在家目錄的配置文件,只會對當前用戶生效。less
PS1=[\u@\h \W]$ssh
修改用戶 主機名 家目錄等信息post
[root@localhost ~]# PS1='[\u@\h \w]\$' [root@localhost ~]#cd data/ [root@localhost ~/data]# [root@localhost ~/data]#PS1='<\u@\h \W>\$' <root@localhost data>#
shell 特殊符號code
[root@localhost ~]#a=1 [root@localhost ~]#b=2 [root@localhost ~]#c=$a$b [root@localhost ~]#echo $c 12 [root@localhost ~]#c='$a$b' [root@localhost ~]#echo $c $a$b [root@localhost ~]#c=$a$b [root@localhost ~]#c=\$a\$b [root@localhost ~]#echo $c $a$b
[root@localhost ~]#cat /etc/passwd | head -2 root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin [root@localhost ~]#cat /etc/passwd | head -2 | cut -d ":" -f 1 root bin [root@localhost ~]#cat /etc/passwd | head -2 | cut -d ":" -f 1,2 root:x bin:x [root@localhost ~]#cat /etc/passwd | head -2 | cut -d ":" -f 1-3 root:x:0 bin:x:1
[root@localhost ~]#sort /etc/passwd adm:x:3:4:adm:/var/adm:/sbin/nologin bin:x:1:1:bin:/bin:/sbin/nologin chrony:x:998:996::/var/lib/chrony:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin halt:x:7:0:halt:/sbin:/sbin/halt lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin mail:x:8:12:mail:/var/spool/mail:/sbin/nologin nginx:x:997:995:Nginx web server:/var/lib/nginx:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin polkitd:x:999:997:User for polkitd:/:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin root:x:0:0:root:/root:/bin/bash shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
[root@localhost ~]#sort 1.txt < > , [ ] \ 111 .123 222 333 aaa adm:x:3:4:adm:/var/adm:/sbin/nologin bbb bin:x:1:1:bin:/bin:/sbin/nologin ccc daemon:x:2:2:daemon:/sbin:/sbin/nologin halt:x:7:0:halt:/sbin:/sbin/halt lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin root:x:0:0:root:/root:/bin/bash shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown sync:x:5:0:sync:/sbin:/bin/sync
以數字的順序排序
[root@localhost ~]#sort -n 1.txt < > , [ ] \ aaa adm:x:3:4:adm:/var/adm:/sbin/nologin bbb bin:x:1:1:bin:/bin:/sbin/nologin ccc daemon:x:2:2:daemon:/sbin:/sbin/nologin halt:x:7:0:halt:/sbin:/sbin/halt lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin root:x:0:0:root:/root:/bin/bash shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown sync:x:5:0:sync:/sbin:/bin/sync .123 111 222 333
[root@localhost ~]#cat /etc/passwd | wc -l 20 [root@localhost ~]#cat /etc/passwd | wc -m 908 [root@localhost ~]#cat /etc/passwd | wc -c 908
[root@localhost ~]#cat 2.txt 111 222 333 123 123 aaa bbb ccc ddd abc abc [root@localhost ~]#sort 2.txt |uniq -c 1 111 2 123 1 222 1 333 1 aaa 2 abc 1 bbb 1 ccc 1 ddd
[root@localhost ~]#sort 2.txt | uniq -c | tee a.txt 1 111 2 123 1 222 1 333 1 aaa 2 abc 1 bbb 1 ccc 1 ddd [root@localhost ~]#cat a.txt 1 111 2 123 1 222 1 333 1 aaa 2 abc 1 bbb 1 ccc 1 ddd
[root@localhost ~]#echo "xuexi" | tr 'x' 'X' XueXi
[root@localhost ~]#ls 1.txt ; wc -l 2.txt 1.txt 11 2.txt
|| 表示或,若是第一條命令執行正確,第二條命令則不執行。若是第一條命令執行錯誤,則執行第二條命令。
[root@localhost ~]#ls 123.txt || wc -l 2.txt ls: 沒法訪問123.txt: 沒有那個文件或目錄 11 2.txt [root@localhost ~]#ls 1.txt || wc -l 2.txt 1.txt
&& 若是第一條命令執行成功了才執行第二條命令,若是第一條命令錯誤,第二條命令則不執行。
[root@localhost ~]#ls 1.txt && wc -l 2.txt 1.txt 11 2.txt [root@localhost ~]#ls 123.txt && wc -l 2.txt ls: 沒法訪問123.txt: 沒有那個文件或目錄