主要內(nèi)容:
-
修改字符集
-
特殊符號(hào)
-
通配符
一、修改字符集:
1.什么是字符集:
文字符號(hào)在計(jì)算機(jī)中的標(biāo)識(shí);
2.常見(jiàn)的字符集:
GBK 國(guó)標(biāo)
UTF 萬(wàn)國(guó)碼
3.修改字符集:
(1)查看Linux系統(tǒng)字符集:LANG
[root@oldboyedu59 ~]# echo $LANG
en_US.UTF-8
(2)修改-臨時(shí):重新連接后失效
[root@oldboyedu59 ~]# echo $LANG
en_US.UTF-8
[root@oldboyedu59 ~]# export LANG='zh_CN.UTF-8'
[root@oldboyedu59 ~]# echo $LANG
zh_CN.UTF-8
(2)修改-永久:寫(xiě)入到文件
/etc/locale.conf(CentOS 7)
/etc/sysconfig/i18n(CentOS 6)
[root@oldboyedu59 ~]# vim /etc/locale.conf
LANG="en_US.UTF-8"
[root@oldboyedu59 ~]# source /etc/locale.conf
(3)一條命令設(shè)置字符集:localectl set-locale LANG=en_US.utf8
二、故障案例:Linux下面顯示中文亂碼排錯(cuò)流程
1.原因
linux下的字符集和xshell字符集不一致
2.排查
(1).查看xshell字符集
(2).查看系統(tǒng)字符集
3.解決
方法一
修改xshell字符集(不通用)
方法二
修改Linux字符集
三、特殊符號(hào)
1.引號(hào)系列:
(1)單引號(hào) = ' ' :所見(jiàn)即所得
[root@oldboyedu59 ~]# echo '$LANG {1..5}'
$LANG {1..5}
(2)雙引號(hào) =" ":與單引號(hào)類(lèi)似,雙引號(hào)里面的特殊符號(hào)會(huì)被解析(運(yùn)行)
[root@oldboyedu59 ~]# echo "$LANG {1..5}"
en_US.UTF-8 {1..5}
(3)不加引號(hào):與雙引號(hào)類(lèi)似 支持花括號(hào)(通配符)
[root@oldboyedu59 ~]# echo $LANG {1..5}
en_US.UTF-8 1 2 3 4 5
(4)反引號(hào)=:相當(dāng)于$()
優(yōu)先執(zhí)行里面的命令 留下結(jié)果
[root@oldboyedu59 ~]# ls -l `which mkdir`
-rwxr-xr-x. 1 root root 79864 Oct 31 03:16 /usr/bin/mkdir
[root@oldboyedu59 ~]# ls -l $(which mkdir)
-rwxr-xr-x. 1 root root 79864 Oct 31 03:16 /usr/bin/mkdir
2.重定向符號(hào)系列
(1)什么是重定向?
改變數(shù)據(jù)的流向
箭頭的方向就是水流的方向
(2)>或1>
標(biāo)準(zhǔn)輸出重定向
先清空文件內(nèi)容再寫(xiě)入
[root@oldboyedu59 ~]# echo 123 >oldboy01.log
[root@oldboyedu59 ~]# cat oldboy01.log
123
(2)>>或1>>
標(biāo)準(zhǔn)追加輸出重定向
追加到文件的最后一行
[root@oldboyedu59 ~]# echo 12345 >>oldboy01.log
[root@oldboyedu59 ~]# cat oldboy01.log
123
12345
(3)2>
標(biāo)準(zhǔn)錯(cuò)誤輸出重定向
[root@oldboyedu59 ~]# cho 12345 2>oldboy01.log
[root@oldboyedu59 ~]# cat oldboy01.log
-bash: cho: command not found
(4)2>>
標(biāo)準(zhǔn)追加錯(cuò)誤輸出重定向
[root@oldboyedu59 ~]# cat oldboy01.log
12345
[root@oldboyedu59 ~]# cho 12345 2>>oldboy01.log
[root@oldboyedu59 ~]# cho 12345 2>>oldboy01.log
[root@oldboyedu59 ~]# cho 12345 2>>oldboy01.log
[root@oldboyedu59 ~]# cho 12345 2>>oldboy01.log
[root@oldboyedu59 ~]# cho 12345 2>>oldboy01.log
[root@oldboyedu59 ~]# cho 12345 2>>oldboy01.log
[root@oldboyedu59 ~]# cat oldboy01.log
12345
-bash: cho: command not found
-bash: cho: command not found
-bash: cho: command not found
-bash: cho: command not found
-bash: cho: command not found
-bash: cho: command not found
(5)同時(shí)把錯(cuò)誤信息和正確的都記錄到文件中:
[root@oldboyedu59 ~]# alex >>oldboy.txt 2>&1
[root@oldboyedu59 ~]# cat oldboy.txt
-bash: alex: command not found
[root@oldboyedu59 ~]#
(6)<或0<
標(biāo)準(zhǔn)輸入重定向
用來(lái)指引命令從哪里讀取數(shù)據(jù)
經(jīng)常與tr、xargs搭配使用
[root@oldedu59 oldboy]# echo {1..10} >/oldboy/sf.txt
[root@oldedu59 oldboy]# cat /oldboy/sf.txt
1 2 3 4 5 6 7 8 9 10
[root@oldedu59 oldboy]# xargs -n2 </oldboy/sf.txt
1 2
3 4
5 6
7 8
9 10
[root@oldedu59 tmp]# tr 'o' '0' < /tmp/oldboy.txt
0ldb0y
alex
0ldb0y0ldb0y
alex0ldb0y
Oldb0y 0Ldb0y
OLDBOY
(7)<<或0<<
標(biāo)準(zhǔn)追加輸入重定向
只用來(lái)和cat配合 向文件中追加一行或多行內(nèi)容
[root@oldboyedu59 ~]# cat >>oldboy.txt <<EOF
> 123
> oldboy
> Linux
> EOF
[root@oldboyedu59 ~]# cat oldboy.txt
-bash: alex: command not found
123
oldboy
Linux
3.管道
(1)基礎(chǔ)含義
把管道前一個(gè)命令的結(jié)果通過(guò)管道傳遞給后面的命令
管道默認(rèn)傳遞的是文字符號(hào)
(2)find與|xargs的配合
|xargs 把管道傳遞的內(nèi)容從文字符號(hào)--->文件名(參數(shù))
(3)例題:找出/oldboy下面以.txt結(jié)尾的文件,查看他的詳細(xì)信息(ls -l)
方法一:反引號(hào)
[root@oldboyedu59 ~]# ls -l `find /oldboy/ -type f -name '*.txt'`
-rw-r--r-- 1 root root 0 Apr 16 15:18 /oldboy/oldboyA.txt
-rw-r--r-- 1 root root 0 Apr 16 15:18 /oldboy/oldboyB.txt
方法二:|xargs ls -l
[root@oldboyedu59 ~]# find /oldboy/ -type f -name '*.txt' |xargs ls -l
-rw-r--r-- 1 root root 0 Apr 16 15:18 /oldboy/oldboyA.txt
-rw-r--r-- 1 root root 0 Apr 16 15:18 /oldboy/oldboyB.txt
方法三:find的參數(shù) -exec
[root@oldboyedu59 ~]# find /oldboy/ -type f -name '*.txt' -exec ls -l {} \;
-rw-r--r-- 1 root root 0 Apr 16 15:18 /oldboy/oldboyA.txt
-rw-r--r-- 1 root root 0 Apr 16 15:18 /oldboy/oldboyB.txt
4. 表示位置
(1)~
當(dāng)前用戶(hù)家目錄
(2).
當(dāng)前目錄
以.開(kāi)頭的隱藏文件
(3)..
當(dāng)前目錄的上級(jí)目錄
(4)-
cd -
su -
5.表示簡(jiǎn)單判斷
(1)&&
前一個(gè)命令執(zhí)行成功 在執(zhí)行后面的命令
ifdown eth0 && ifup eth0
(2)||
前一個(gè)命令執(zhí)行失敗 在執(zhí)行后面的命令
6.其他
(1)#
注釋
root用戶(hù)的命令提示符
(2)$
去變量的內(nèi)容
PATH
$() ==``
(3);
命令到分號(hào)出結(jié)束
(4)!
!ls
找出最近一次使用過(guò)以ls開(kāi)頭的命令并執(zhí)行:history |grep ls
Ctrl + r=history |grep
四、通配符
(1)作用
方便查找想要的文件或目錄
通==通用 Linux下面大部分命令都可以使用
(2)符號(hào)
- :所有 任何;文件命中包含
[root@oldboyedu59 ~]# rm -f /oldboy/*.txt
[root@oldboyedu59 ~]# ll /oldboy/
total 0
-rw-r--r-- 1 root root 0 Apr 16 15:03 01.log
-rw-r--r-- 1 root root 0 Apr 16 15:03 02.log
-rw-r--r-- 1 root root 0 Apr 16 15:03 03.log
-rw-r--r-- 1 root root 0 Apr 16 15:03 04.log
-rw-r--r-- 1 root root 0 Apr 16 15:03 05.log
{}:生成序列,生成數(shù)字或字母序列;進(jìn)行備份
[root@oldboyedu59 ~]# echo {01..05}
01 02 03 04 05
?:任意一個(gè)字符(單個(gè)字符)
[root@oldboyedu59 /]# ls -d /???
/bin /dev /etc /lib /mnt /opt /run /srv /sys /tmp /usr /var
[root@oldboyedu59 /]# ls -d /?????
/lib64 /media