中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux變量、cut_sort_wc_uniq_tee_tr_split 命令使用方法

發布時間:2020-06-04 02:06:43 來源:網絡 閱讀:421 作者:Asn_Fy 欄目:系統運維

查看系統變量:
1.env命令

[root@localhost ~]# env

2.set命令

[root@localhost ~]# set

*set可以顯示用戶自定義的變量

自定義變量:

1.定義變量:

[root@localhost ~]# a=test
[root@localhost ~]# echo $a
test

2.變量命名規則:可包含大小寫字母、數字、下劃線(不能以數字開頭)

[root@localhost ~]# a=1
[root@localhost ~]# echo $a
1
[root@localhost ~]# a_1=2
[root@localhost ~]# echo $a_1
2
[root@localhost ~]# a1=3
[root@localhost ~]# echo $a1
3
[root@localhost ~]# 1a=4
-bash: 1a=4: 未找到命令

3.變量值含特殊字符($ / \ # 空格等等)時需添加單引號:

[root@localhost ~]# a=abc
[root@localhost ~]# echo $a
abc
[root@localhost ~]# a='a b c'
[root@localhost ~]# echo $a
a b c
[root@localhost ~]# a=a b c
-bash: b: 未找到命令

4.變量的累加:當變量值中包含變量名時需使用雙引號才能讀取變量的值,使用單引號變量名會被識別為字符串

[root@localhost ~]# a=1
[root@localhost ~]# b=2
[root@localhost ~]# echo $a$b
12
[root@localhost ~]# c='$a$b'
[root@localhost ~]# echo $c
$a$b
[root@localhost ~]# c="$a$b"
[root@localhost ~]# echo $c
12

5.全局變量:在當前的shell中(終端)定義的變量只在當前的shell中(終端)生效,使用全局變量可以使變量在當前shell的子shell中也生效,但在子shell中定義的全局變量不會再父shell中生效(全局變量只能在當前shell和當前shell的子shell中生效
定義全局變量命令:export

[root@localhost ~]# a=test
[root@localhost ~]# echo $a
test
[root@localhost ~]# bash
[root@localhost ~]# echo $a

[root@localhost ~]# exit
exit
[root@localhost ~]# export a=test
[root@localhost ~]# bash
[root@localhost ~]# echo $a
test

6.刪除變量:unset 變量名

[root@localhost ~]# a=1
[root@localhost ~]# echo $a
1
[root@localhost ~]# unset a

環境變量:

1.變量配置文件:

a.系統層面:/etc/profile、/etc/bashrc
b.用戶層面:~/.bash_profile、\~/.bashrc、\~/.bash_history、\~/.bash_logout
*系統層面的配置文件通常在登錄時加載,用戶層面的配置文件只對單個用戶生效

2.PS1變量:表示每行命令行最前端的內容([root@localhost ~]#)

[root@localhost ~]# echo $PS1
[\u@\h \W]\$

*u代表用戶,h代表hostname,W代表當前所在目錄
將大寫W改為小寫w后顯示絕對路徑:

[root@localhost ~]#cd /etc/sysconfig/
[root@localhost sysconfig]#PS1='[\u@\h \w]\$'
[root@localhost /etc/sysconfig]#

3.PS2變量:(在另一種模式中使用,比如登錄mysql后)

[root@localhost ~]#echo $PS2
>

cut分割命令:

-d 參數:指定分割符號,-f 參數:指定段數,-c 參數:指定第幾個字符

[root@localhost ~]#cat 1.txt
root:x:0:0:root:/root:/bin/bash
[root@localhost ~]#cat 1.txt |cut -d ":" -f 1
root
[root@localhost ~]#cat 1.txt |cut -d ":" -f 1,2
root:x
[root@localhost ~]#cat 1.txt |cut -d ":" -f 1-5
root:x:0:0:root
[root@localhost ~]#cat 1.txt |cut -c 4
t

sort排序命令:將每行的內容以ASCII碼從小到大排序

[root@localhost ~]#
[root@localhost ~]#cat 1.txt 
abc
aa_1
a
abbop
#test
<zxcv
404
2018
5
[root@localhost ~]#sort 1.txt 
2018
404
5
a
aa_1
abbop
abc
#test
<zxcv

-n 參數:以數字從小到大排序(字母和特殊符號開頭的行會被默認為0)

[root@localhost ~]#cat 1.txt 
abc
aa_1
a
abbop
#test
<zxcv
404
2018
5
[root@localhost ~]#sort -n 1.txt 
a
aa_1
abbop
abc
#test
<zxcv
5
404
2018

-r 參數:倒序排序

[root@localhost ~]#sort -n 1.txt 
a
aa_1
abbop
abc
#test
<zxcv
5
404
2018
[root@localhost ~]#sort -nr 1.txt 
2018
404
5
<zxcv
#test
abc
abbop
aa_1
a

wc統計命令:

-l 參數:統計行數

[root@localhost ~]#cat test.txt 
abc
aa_1
a
abbop
#test
<zxcv
404
2018
5
[root@localhost ~]#wc -l test.txt 
9 test.txt

-m 參數:統計字符數

[root@localhost ~]#cat a.txt 
2019
0917
[root@localhost ~]#wc -m a.txt 
10 a.txt

*cat查看文件內容顯示只有8個字符,但wc -m顯示10個字符是因為還有隱藏換行符 "$"

[root@localhost ~]#cat -A a.txt 
2019$
0917$

-w 參數:統計詞數(以空格分隔)

[root@localhost ~]#cat a.txt 
2019 
0917 hello,world test
[root@localhost ~]#wc -w a.txt 
4 a.txt

uniq去重命令:

uniq只能在相鄰的行之間去重,所以uniq一般配合sort使用,先排序再去重:

[root@localhost ~]#cat a.txt 
2019 
hello world
test
test
1
1
2019
[root@localhost ~]#uniq a.txt 
2019 
hello world
test
1
2019   #該行未被去重

結合sort排序命令使用:

[root@localhost ~]#cat a.txt 
2019
hello world
test
test
1
1
2019
[root@localhost ~]#sort a.txt | uniq
1
2019
hello world
test

-c 參數:統計去重次數

[root@localhost ~]#sort a.txt | uniq -c
      2 1
      2 2019
      1 hello world
      2 test

tee重定向命令:(與 > 重定向類似,區別在于tee命令在重定向時會打印重定向的內容)

[root@localhost ~]#sort a.txt | uniq -c 
      2 1
      2 2019
      1 hello world
      2 test
[root@localhost ~]#sort a.txt |uniq -c |tee b.txt
      2 1
      2 2019
      1 hello world
      2 test
[root@localhost ~]#cat b.txt 
      2 1
      2 2019
      1 hello world
      2 test

-a 參數:追加重定向

[root@localhost ~]#cat b.txt 
      2 1
      2 2019
      1 hello world
      2 test
[root@localhost ~]#sort a.txt |uniq -c |tee -a b.txt 
      2 1
      2 2019
      1 hello world
      2 test
[root@localhost ~]#cat b.txt 
      2 1
      2 2019
      1 hello world
      2 test
      2 1
      2 2019
      1 hello world
      2 test

tr替換命令:(可以替換單個、多個及所以字符)

[root@localhost ~]#echo "hello world"
hello world
[root@localhost ~]#echo "hello world" |tr 'h' 'H'
Hello world
[root@localhost ~]#echo "hello world" |tr '[hw]' '[HW]'
Hello World
[root@localhost ~]#echo "hello world" |tr '[a-z]' '[A-Z]'
HELLO WORLD
[root@localhost ~]#echo "hello world" |tr '[a-z]' '0'
00000 00000

split切割命令:(通常用于切割大日志文件)

-b參數:指定切割大小(不指定單位的情況下默認是字節)

[root@localhost ~]#find /etc/ -type f -exec cat {} > log.txt \;
[root@localhost ~]#ls -lh 
總用量 27M
-rw-r--r--. 1 root root 27M 9月  17 22:44 log.txt
[root@localhost ~]#split -b 10M log.txt 
[root@localhost ~]#du -sh *
27M log.txt
10M xaa
10M xab
6.1M xac

切割的同時可以指定文件前綴:

[root@localhost ~]#split -b 10M log.txt testlog.
[root@localhost ~]#ls
log.txt  testlog.aa  testlog.ab  testlog.ac

-l 參數:按行數切割

[root@localhost ~]#split -l 60000 log.txt 
[root@localhost ~]#wc -l *
  170640 log.txt
   60000 xaa
   60000 xab
   50640 xac
  341280 總用量
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

呈贡县| 三亚市| 陈巴尔虎旗| 孟连| 虎林市| 汤原县| 扎鲁特旗| 仁布县| 水富县| 鸡泽县| 彭阳县| 高州市| 晋城| 黄冈市| 阜平县| 河南省| 高密市| 勃利县| 上饶县| 武鸣县| 巴中市| 荥经县| 松潘县| 巴塘县| 涟源市| 湘乡市| 新宁县| 阳春市| 曲阜市| 涡阳县| 巨鹿县| 宣恩县| 胶州市| 武乡县| 六盘水市| 平潭县| 大名县| 桂林市| 密山市| 屏山县| 屯留县|