查找命令,壓縮工具,以及Sed

1、查找locate和find
2、處理動作-exec和參數替換xargs
3、壓縮、解壓縮及歸檔工具
4、文本處理工具sed

 

 

1、查找locate和find

 

文件的搜索和查找

 

locate

在數據庫里查找,如果數據庫未更新可能查找失敗,但是對系統資源占用少,適合搜索舊文件

系統開機會自動建立/var/mlocate/mlocate.db

一般用法 locate? filename

locate -i 忽略大小寫

locate -n N? filename 只列舉前N個匹配項目

locate -r 使用正則表達式

 

手動更新數據庫命令:

updatedb

 

 

實時查找工具

find

默認是遞歸搜索的,直接進入指定文件夾開始進入所有子目錄搜索指定文件

例如搜索etc文件夾下passwd文件

find /etc/ -name passwd

可以指定搜索層級

-maxdepth level 最大搜索目錄深度,指定目錄為第1級

 

默認第1層就是指當前層

find /etc/ -maxdepth 1? -name passwd

/etc/passwd

 

第2層就是

find /etc/ -maxdepth 2? -name passwd

/etc/pam.d/passwd

 

-mindepth level 最小搜索目錄深度

 

找特定目錄下指定第n層的文件

find /data -maxdepth 3 -mindepth 3 -name f1

 

find -name 是精確搜索如果想擴展搜索可以參考以下

find /data -name “*f1*”

注意必須加雙引號!

 

 

find -name 支持glob * ? [] [^]

find -iname 忽略大小寫字母

find -inum 按inode號查找

find /data -inum 69

find -samefile name 相同inode號的文件 就是找硬鏈接

find -links n 鏈接數為n的文件

find -regex 支持基本正則表達式

find /data -empty

 

-user USERNAME:查找屬主為指定用戶(UID)的文件

-group GRPNAME: 查找屬組為指定組(GID)的文件

-uid UserID:查找屬主為指定的UID號的文件

-gid GroupID:查找屬組為指定的GID號的文件

-nouser:查找沒有屬主的文件

-nogroup:查找沒有屬組的文件

 

根據文件類型查找:

-type TYPE:

f: 普通文件

d: 目錄文件

l: 符號鏈接文件

s:套接字文件

b: 塊設備文件

c: 字符設備文件

p: 管道文件

 

空文件或目錄

-empty

find /app -type d -empty

 

組合條件:

與: -a

或: -o

非: -not, !

 

查找data目錄下空的但是不能是普通文件的集合

find /data -empty -type f

/data/dd1????? 這里的dd1是文件夾

 

查找data目錄下非空的普通文件

find /data ! -empty? -type f

 

find -prune?? 剪切文件

 

排除目錄

查找/etc/下,除/etc/sane.d目錄的其它所有.conf后綴的文件

find /etc -path ‘/etc/sane.d’ -a –prune -o -name “*.conf”

 

查找/etc/下,除/etc/sane.d和/etc/fonts兩個目錄的所有.conf后綴的文件

find /etc \(–path ‘/etc/sane.d’ –o –path ’/etc/fonts’ \)

-a -prune –o -name “*.conf

 

根據文件大小來搜索

假設有文件f1 大小 1024k?? ,f2文件大小1023k? f3文件大小為595k

 

find /data -size 1k

代表搜索(1k-1k,1024]的區間

結果為

/data/f1

/data/f2

/data/f3

 

find /data -size 1024c

/data/f1

 

find /data -size -1024c 代表[0,1024-1]

 

find/data -size +1023c 代表(1023,…)

 

根據時間戳查找

以“天“為單位

-atime

-mtime

-ctime

 

-atime 3 代表[3,3+1)

-atime +3 代表[3+1,…]

-atime -3 代表[0,3)

 

以“分鐘”為單位

-amin

-mmin

-cmin

 

 

根據權限查找:

-perm

默認模式是精確查找,必須完全匹配權限

 

/是任何一類(u,g,o)對象中的權限中只要能一位匹配即可。

/是或的意思?????? /是centos7開始使用的符號,centos6是使用+

例如

find -perm /666 -ls

 

-是代表每一類對象必須至少擁有指定的權限,是與的關系

例如

如果有f1?? chomod 777 f1

則-666 也會搜索到f1

find -perm -666 -ls?? -是并且的意思

find -perm 666 -ls? 就是精確匹配

 

 

2、處理動作-exec和參數替換xargs

 

處理動作的命令

exec COMMAND {} \; 對查找到的每個文件執行由COMMAND指定的命令

{}: 用于引用查找到的文件名稱自身

find傳遞查找到的文件至后面指定的命令時,查找到所有符合條件的文件一次性

傳遞給后面的命令

 

搜索指定文件并詢問是否刪除

find? -name “f*” -ok rm {} \;

 

處理動作

-exec COMMAND {} \; 對查找到的每個文件執行由COMMAND指定的命令

{}: 用于引用查找到的文件名稱自身

find傳遞查找到的文件至后面指定的命令時,查找到所有符合條件的文件一次性

傳遞給后面的命令

 

不詢問直接刪除

find -name “f*” -exec rm {} \;

 

找到的文件全部移動到mnt目錄下

find -name “f*” -exec mv {} /mnt/ \;

 

找到的文件全部改名

find /mnt -name “f*” -exec mv {} {}.bak \;

 

find示例

備份配置文件,添加.orig這個擴展名

find -name “*.conf” -exec cp {} {}.orig \;

提示刪除存在時間超過3天以上的joe的臨時文件

find /tmp -ctime +3 -user joe -ok rm {} \;

在主目錄中尋找可被其它用戶寫入的文件

find ~ -perm -002 -exec chmod o-w {} \;

查找/data下的權限為644,后綴為sh的普通文件,增加執行權限

find /data –type f -perm 644 -name “*.sh” –exec chmod 755 {} \;

查看/home的目錄

find /home –type d -ls

 

 

參數替換xargs

 

由于很多命令不支持管道|來傳遞參數,而日常工作中有這個必要,所以就有了

 

xargs命令

xargs用于產生某個命令的參數, xargs 可以讀入 stdin 的數據,并且以空格符

或回車符將 stdin 的數據分隔成為arguments

注意:文件名或者是其他意義的名詞內含有空格符的情況

有些命令不能接受過多參數,命令執行可能會失敗, xargs可以解決

 

例如一次創建n個文件

touch f{1..524288} 會顯示參數過多而失敗

這時可以用

echo f{1..10000} |xargs -n2 touch

 

xargs -n2會把參數切割成f1,f2一組然后回車換行f3,f4一組回車換行。。。再依次傳送給touch命令執行。

| xargs -n1 就是把前面參數切割成1個字符一行

 

練習

1、查找/var目錄下屬主為root,且屬組為mail的所有文件

2、查找/var目錄下不屬于root、 lp、 gdm的所有文件

3、查找/var目錄下最近一周內其內容修改過,同時屬主不為root,也不是

postfix的文件

4、查找當前系統上沒有屬主或屬組,且最近一個周內曾被訪問過的文件

5、查找/etc目錄下大于1M且類型為普通文件的所有文件

6、查找/etc目錄下所有用戶都沒有寫權限的文件

7、查找/etc目錄下至少有一類用戶沒有執行權限的文件

8、查找/etc/init.d目錄下,所有用戶都有執行權限,且其它用戶有寫權限的文件

 

答案

1.find /var -user root -a -group mail

2.find /var -not -user root -a -not -user lp -a -not -user gdm -exec ls -al {} \;

3.find /var -mtime -7 -a -not -user root -not -user postfix

4.find / -nouser -o -nogroup -a -atime -7

5.find /etc -size +1M -a -type f

6.find /etc -not -perm /222

7.find /etc

8.find /etc/init.d -perm -111 -a -perm -002

 

 

3、壓縮、解壓縮及歸檔工具

 

命令:

filr-roller 壓縮包名字

 

注意:linux壓縮文件對后綴名敏感!

 

常用壓縮后綴名:

compress/uncompress: .Z

gzip/gunzip: .gz

bzip2/bunzip2: .bz2

xz/unxz: .xz

zip/unzip

 

compress

 

compress filename

默認壓縮會刪除原文件,這個需要注意

 

-d 解壓縮,相當于uncompress

compress -d filename.Z

 

-c結果輸出至標準輸出,不刪除原文件

compress -c filename > m.Z

 

-v顯示詳情

 

uncompress 解壓縮

另可以解壓縮

zcat file.Z > file

 

 

gzip

-d: 解壓縮,相當于gunzip

-c: 將壓縮或解壓縮的結果輸出至標準輸出

-#: 1-9,指定壓縮比,值越大壓縮比越大,默認是6

zcat:不顯式解壓縮的前提下查看文本文件內容

 

壓縮并保留原文件

gzip -c file > file.gz

 

gzip -c -d file.gz > file

zcat file.gz > file

不解壓縮包,查看壓縮包內容

gzip -l

 

bzip2

-k: keep, 保留原文件

-d:解壓縮

-#: 1-9,壓縮比,默認為9

bzcat:不顯式解壓縮的前提下查看文本文件內容

例子:

bzip2 -k filename

 

xz

-k: keep, 保留原文件

-d:解壓縮

-#: 1-9,壓縮比,默認為6

xzcat: 不顯式解壓縮的前提下查看文本文件內容

 

 

zip/unzip

打包壓縮

zip –r /testdir/sysconfig /etc/sysconfig/

一次性打包壓縮文件夾/etc/sysconfig/

 

 

解包解壓縮

unzip sysconfig.zip

 

cat /var/log/messages | zip messages –

cat messages | zip m1 –

 

unzip -p message > message

 

 

文件打包工具

 

tar

 

tar命令后續可以不用加-比較特殊

 

基礎用法:建立打包文件data.tar

 

tar -cpvf data.tar /data

 

創建歸檔

tar -cpvf FILE.tar FILE…

c代表創建?? f代表目錄??? v代表可看過程????? p代表保留原有屬性

tar -cpvf data.tar /data

 

查看文件大小

du -sh /data/

 

追加文件至歸檔: 注:不支持對壓縮文件追加

tar -r -f 1.tar /data/sudo.conf /data/sudoers

 

 

預覽已打包文件夾用t

tar tvf data.tar

 

解打包文件夾用 x

tar xvf data.tar

 

 

解壓縮直接用以下命令,不用理會后綴名

tar xvf data.tar.gz?? -C /mnt

 

結合壓縮工具實現:歸檔并壓縮

-j: bzip2, -z: gzip, -J: xz

 

重要:在打包的同時壓縮

tar -zcpvf data.tar.gz? /data (打包成gz格式的壓縮文件)

tar -jcpvf data.tar.bz2 /data (打包成bzip2格式的壓縮文件)

tar -Jcpvf data.tar.xz /data? (打包成xz格式的壓縮文件)

 

 

 

-T選項指定輸入文件,-X選項指定包含要排除的文件列表

tar zcvf mybackup.tgz -T /root/includefilelist -X /root/excludefilelist

(tgz是指tar.gz)

建立文件 list.txt,內容為要打包的文件如

/etc/shadow

/boot/

建立文件exlist.txt,內容為不要打包的文件

/etc/.bashrc

然后執行

tar Jcvf list.tar.xz -T list.txt -X exlist.txt

 

打包某個目錄下的全部子目錄和文件并排除某個特定的目錄 例如

tar cvpf? etc.tar? –exclude=/etc/sysconfig? ? ?–exclude=/etc/skel? ?/etc

 

分割大的 tar 文件為多份小文件:

split –b Size –d tar-file-name prefix-name

split -b 1M –d mybackup.tgz mybackup-parts

split -b 1M mybackup.tgz mybackup-parts

 

例:有大小為95M的 list.tar.xz壓縮文件包把它切割成10M大小一個

split -b 10M? -d list.tar.xz? a.tar

生成的是a.tar00 a.tar01 a.tar03…a.tar09

如果不加 -d生成的后綴名會變成a.taraa a.tarab a.tarac…a.taraj

 

合并:

cat mybackup-parts* > mybackup.tar.gz

例:

cat a.tar0* > a.tar.xz

 

 

cpio

功能:復制文件從或到歸檔

cpio命令是通過重定向的方式將文件進行打包備份,還原恢復的工具,它可以

解壓以“.cpio” 或者“.tar” 結尾的文件

cpio [選項] > 文件名或者設備名

cpio [選項] < 文件名或者設備名

選項

-o 將文件拷貝打包成文件或者將文件輸出到設備上

-i 解包,將打包文件解壓或將設備上的備份還原到系統

-t 預覽,查看文件內容或者輸出到設備上的文件內容

-v 顯示打包過程中的文件名稱。

-d 解包生成目錄,在cpio還原時,自動的建立目錄

-c 一種較新的存儲方式

 

 

 

 

4、文本處理工具sed

 

Stream EDitor, 行編輯器

sed是一種流編輯器,它一次處理一行內容。處理時,把當前處理的行存儲在臨時

緩沖區中,稱為“模式空間”( pattern space),接著用sed命令處理緩沖區中的

內容,處理完成后,把緩沖區的內容送往屏幕。然后讀入下行,執行下一個循環。

如果沒有使諸如‘D’ 的特殊命令,那會在兩個循環之間清空模式空間,但不會清

空保留空間。這樣不斷重復,直到文件末尾。文件內容并沒有改變,除非你使用重

定向存儲輸出。

功能:主要用來自動編輯一個或多個文件,簡化對文件的反復操作,編寫轉換程序等

 

sed默認處理完第一行以后會清除模式空間中的內容然后繼續讀取第二行。

 

用法:

sed [option]… ‘script’ inputfile…

常用選項:

-n:不輸出模式空間內容到屏幕,即不自動打印

-e: 多點編輯

-f:/PATH/SCRIPT_FILE: 從指定文件中讀取編輯腳本

-r: 支持使用擴展正則表達式

-i.bak: 備份文件并原處編輯

-ic 在原文件編輯并復制原文件為filename+c

 

這里的script腳本是sed語言自己的腳本而不是之前的bash腳本

script:

‘地址命令’

 

地址定界:

(1) 不給地址:對全文進行處理

(2) 單地址:

#: 指定的行, $: 最后一行

/pattern/:被此處模式所能夠匹配到的每一行

(3) 地址范圍:

#,#p

#,+#p

例如 : seq 100 > test

sed -n? 1,10p test

sed -n 1,+9p test

/pat1/,/pat2/

#,/pat1/

例如:

sed –n ‘2,/root/p’ /etc/passwd 從2行開始

 

sed -n ‘/^$/=’ file 顯示空行行號

 

(4) ~:步進

1~2 奇數行

2~2 偶數行

 

編輯命令:

d: 刪除模式空間匹配的行,并立即啟用下一輪循環

p: 打印當前模式空間內容,追加到默認輸出之后

a [\]text:在指定行后面追加文本

sed ‘/root/a\superman’ /etc/passwd行后

支持使用\n實現多行追加

i [\]text:在行前面插入文本

sed ‘/root/i\superman’ /etc/passwd 行前

c [\]text:替換行為單行或多行文本

sed ‘/root/c\superman’ /etc/passwd 代替行

或者:

sed ‘2,5a superman is me !!!’? /etc/passwd

 

 

w /path/somefile: 保存模式匹配的行至指定文件

r /path/somefile:讀取指定文件的文本至模式空間中

匹配到的行后

=: 為模式空間中的行打印行號

!:模式空間中匹配行取反處理

 

 

例子:

seq 5? > f1

 

cat f1

1

2

3

4

5

 

 

sed ‘2p’ f1

1

2

2

3

4

5

 

sed -n ‘2p’ f1

2

 

例如截取第二行

ifconfig ens33 | sed -n ‘2p’

 

截取最后一行

sed -n ‘$p’ /etc/passwd

 

截取帶有root的行

sed -n ‘/root/p’ /etc/passwd

 

截取root開頭的行

sed -n ‘/^root/p’ /etc/passwd

 

sed支持基本正則表達式,如果要使用擴展正則表達式可以用-r

 

顯示第二行到第五行

sed -n ‘2,5p’ /etc/passwd

sed -n ‘2,+3p’ /etc/passwd

 

截取從b開頭的行到f開頭的行

sed -n ‘/^b/’,/^f/p’ /etc/passwd

 

sed -n ‘/^b/’,/^fffff/p’ /etc/passwd

如果不存在則默認會找到尾行為止

 

步進打印

sed -n ‘1~2p’ f1

1

3

5

7

9

 

多點編輯

sed -n -e ‘2p’ -e ‘6p’ f1

2

6

 

命令行文件調用

cat > sedscript.txt

2~2p

sed -f sedscript.txt

 

 

刪除特定的行用d

sed ‘2d’ f1

1

3

4

5

 

sed ‘2!d’ f1

2

 

sed -n ‘/root/!p’ /etc/passwd

打印不包括root的行

 

 

為輸出行加行號

sed -n ‘/root/=’ /etc/passwd

1

5

代表第1和第10行符合條件

 

在指定的行后面添加內容用命令a

sed ‘2,5a=====’ f1

1

2

=====

3

=====

4

=====

5

=====

 

在.bashrc中包含關鍵字aliases的行下一行添加alias p=poweroff的別名命令

sed ‘/aliases/aalias p=poweroff’ .bashrc

這里只是顯示而沒有真正修改文件,如果需要修改文件需要用-i

sed -i.bak ‘/aliases/aalias p=poweroff’ .bashrc

這里是修改文件.bashrc的同時建立原未修改文件并加.bak后綴,這樣做可以在修改失敗以后能夠恢復。

如果想在添加內容的前面增加空格可以用\

sed ‘2,5a\?? =====’ f1

1

2

======

3

======

4

======

5

======

 

此用法還能支持換行追加\n還能配合\ 例如

sed “/^alias g/a\???? alias rm=’rm -i’\n\?? alias p=poweroff” ./.bashrc

 

如果是在指定命令行前面添加內容則是使用i

sed ‘2,5i\?? =====’ f1

1

=====

2

=====

3

=====

4

=====

5

 

如果是想直接代替指定的行就用c

sed ‘2,5c\???? =====’ f1

1

=====

6

7

8

9

10

 

把符合條件的行儲存到文件里面用w

sed ‘2,5w f2’ f1

 

cat f2

2

3

4

5

 

把某些文件的內容讀入到指定行里用r

sed ‘2,5r /etc/issue’ f1

1

2

hi

3

hi

4

hi

5

hi

 

sed ‘/User/r sed.txt’ .bashrc

 

!相當重要的功能搜索替代

s///:查找替換,支持使用其它分隔符, s@@@, s###? 類似vim的設置

替換標記:

g: 行內全局替換

p: 顯示替換成功的行

w /PATH/TO/SOMEFILE:將替換成功的行保存至文件中

 

例:

搜索/etc/passwd文件里的第一個root并替換成administrator

sed ‘s/root/administrator/’ /etc/passwd

如果要全局替換

sed ‘s/root/administrator/g’ /etc/passwd

 

sed -r ‘s/(root)/\1er/g’ /etc/passwd

表示把文件里的root全部替換成rooter

 

在所有行的末尾加上magedu

sed -r ‘s/(.*)/magedu\1/’ /etc/passwd

 

sed -r ‘s@(bin/bash)$@s\1@’ /etc/passwd

 

在quiet后面加 xyz

sed -r ‘s/(^GRUB_CMDLINE.*)”$/\1 xyz”/’? /etc/default/grub

或者

sed -r ‘/GRUB_CMDLINE_LINUX/s/(.*)”$/\1 xyz”/’ /etc/default/grub

或者

sed -r ‘/GRUB_CMDLINE_LINUX/s/”$/ xyz”/’ /etc/default/grub

 

重要:想替換什么都可以想截取什么都可以!

用sed取出ifconfig ens33中的ip地址

 

原理就是用sed的功能定義ip地址為\1再替換原行為\1

ifconfig ens33 | sed -n ‘2p’ | sed -r ‘s/.*inet (.*) netmask.*/\1/’

 

或者

ifconfig ens33 | sed -r ‘2!d;s/(.*inet )(.*)( net.*)/\2/’?? (分成三段)

 

或者

ifconfig ens33 |sed -n ‘2p’|sed -r ‘s/.*inet//’ |sed ‘s/ netmask.*//’?? (切頭再切尾)

或寫成

ifconfig ens33 |sed -n ‘2p’|sed -e ‘s/.*inet//’ -e ‘s/ netmask.*//’

 

把指定行的行首#去掉

只在一行里去掉

sed? ‘/^#NameVirtualHost/s/#//’ /etc/httpd/conf/httpd.conf

 

在某一段中去掉

sed ‘/#<VirtualHost/,/#<\/VirtualHost>/s/^#//g’ /etc/httpd/conf/httpd.conf

注意:這里第二段有/所以必須轉義加\

 

有指定行也有某一段行同時去掉

sed -e ‘/^#NameVirtualHost/s/#//’ ?-e ‘/#<VirtualHost/,/#<\/VirtualHost>/s/^#//g’ /etc/httpd/conf/httpd.conf

 

 

取基名

echo “/etc/sysconfig/network” | sed -r ‘s@.*/(.*)$@\1@’

 

完美版,防止network/這種情況

echo “/etc/sysconfig/network” | sed -r ‘s@^(.*/)([^/]+)(/?$)$@\2@’

 

取dirname

echo “/etc/sysconfig/network/” | sed -r ‘s/(.*\/)([^/]+\/?$)\1/’

 

 

練習

 

1、刪除centos7系統/etc/grub2.cfg文件中所有以空白開頭的行行首的空白字符

2、刪除/etc/fstab文件中所有以#開頭,后面至少跟一個空白字符的行的行首的#和空白字符

3、在centos6系統/root/install.log每一行行首增加#號

4、在/etc/fstab文件中不以#開頭的行的行首增加#號

5、處理/etc/fstab路徑,使用sed命令取出其目錄名和基名

6、利用sed 取出ifconfig命令中本機的IPv4地址

7、統計centos安裝光盤中Package目錄下的所有rpm文件的以.分隔倒數第二個字段的重復次數

8、統計/etc/init.d/functions文件中每個單詞的出現次數,并排序(用grep和sed兩種方法分別實現)

9、將文本文件的n和n+1行合并為一行, n為奇數行

 

答案

 

1.sed ‘s/^[ ?]*//’ /etc/grub2.cfg? /

如果要刪除tab開頭就sed ‘s/^[ \t]*//’ /etc/grub2.cfg

 

2.sed -r ‘s/^#[ ]+//’ /etc/fstab

 

3.sed -r ‘s/^(.*)/#\1/’ /root/install.log

 

4.sed -r ‘s/^([^#].*)/#\1/’ /etc/fstab

 

5.

目錄名:

echo “/etc/fstab” | sed -r ‘s@^/(.*)/([^/]+/?)$@\1@’

基名:

echo “/etc/fstab” | sed -r ‘s@^/(.*)/([^/]+/?)$@\2@’

 

6.ifconfig | sed -n ‘2p’ | sed -r ‘s/(.*addr:)(.*)(? Bcast.*)/\2/’

 

7.ls -1 /media/CentOS_6.9_Final/Packages/ | sed -r ‘s/^(.*)(.).\.rpm$/\2/’ | sort? | uniq -c

 

查看文件個數

ls -1 /media/CentOS_6.9_Final/Packages/ |wc -l

 

8.

cat /etc/init.d/functions | tr -s ” ” ” ”? | tr -s ‘[\t]’ ” ” | sed -r “s/^[ ]//”|sed ‘/^$/d’| tr ” ” “\n” |sort |uniq -c

 

9.

sed ‘N;s/\n/\t/’

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/96470

(0)
MaxMax
上一篇 2018-04-16
下一篇 2018-04-16

相關推薦

  • Linux啟動和內核管理

    系統啟動和內核管理 Linux組成 Linux:kerne+rootfs(應用程序) kernel:進程管理、內存管理、網絡管理、驅動程序、文件系統、安全功能 roots:程序和glibc 函數:相當于命令的集合 庫:函數集合,function,調用接口(頭文件負責描述) 過程調用:procedure,無返回值 函數調用:function 程序:二進制執行文…

    Linux筆記 2018-05-13
  • 啟動和內核管理之centos6

    在本章的學習中,你的系統將會被你整的死去活來,在不斷地破壞和修復中,熟悉centos的啟動流程

    Linux筆記 2018-05-11
  • 第三周作業

    1 列出當前系統上所有已經登陸的用戶的用戶名,注意:同一個用戶名登陸多次,則只顯示一次。
    2 取出最后登陸到當前系統的用戶的相關信息。
    3 取出當前系統上被用戶當作其默認shell的最多的那個shell.
    4 將/etc/passwd中的第三個字段數值最大的后10個用戶的信息全部改為大寫后保存至/tmp/maxusers.txt文件中。
    5 取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。
    6 列出/etc目錄下所有以.conf結尾的文件的文件名,并將其名字裝換為大寫后保存至/tmp/etc.conf文件中。
    7 顯示/var目錄下一級子目錄或文件的總個數。
    8 取出/etc/group文件中第三個字符段數值最小的10個組的名字。
    9 將/etc/fstab和/etc/issue文件的內容合并為同一個內容后保存至/tmp/etc.test文件中。
    10. 請總結描述用戶和組管理類命令的使用方法并完成以下練習:
    (1)創建組distro, 其GID為2016
    (2)創建用戶mandriva, 其ID號為1005,基本組為distro
    (3)創建用戶mageia, 其ID號為1100,家目錄為/home/linux
    (4)給用戶mageia添加密碼,密碼為mageedu
    (5)刪除mandriva, 但保留其家目錄
    (6)創建用戶slackware, 其ID號為2002, 基本組為distro, 附加組為peguin
    (7)修改slackware的默認shell為/bin/tcsh
    (8)為用戶slackware的新增附加組admins

    2018-06-05
  • 第三周作業

    時間不夠啊,,先搭個架子

    Linux筆記 2018-07-07
  • 文本三劍客之sed

    我們知道,sed被稱為Linux中被稱為文本處理三劍客之一,相比于grep命令匹配內容的功能,sed則能夠做到對匹配到的文本內容對其進行編輯。

    2018-04-15
欧美性久久久久