日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

1、取得/etiantian文件的权限对应的数字(考试题答案系列)

發(fā)布時(shí)間:2023/12/15 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1、取得/etiantian文件的权限对应的数字(考试题答案系列) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

說明:本文為老男孩linux培訓(xùn)某節(jié)課前考試試題及答案分享博文內(nèi)容的一部分,也是獨(dú)立成題的,你可以點(diǎn)下面地址查看全部的內(nèi)容信息。
http://oldboy.blog.51cto.com/2561410/791245
答題的思維比做題本身更重要,就是老男孩如何想到的解決問題的思路。

1.如何取得/etiantian文件的權(quán)限對應(yīng)的數(shù)字內(nèi)容,如-rw-r--r-- 644,要求使用命令取得644這樣的數(shù)字。

解答:


實(shí)踐過程:

[root@oldboy ~]# touch /ett #==>創(chuàng)建測試文件/ett

[root@oldboy ~]# stat /ett #==>通過stat命令可以看到文件的數(shù)字權(quán)限

? File: `/ett'

? Size: 0?????????????? Blocks: 0????????? IO Block: 4096?? regular empty file

Device: 803h/2051d????? Inode: 98211?????? Links: 1

Access: (0644/-rw-r--r--)? Uid: (??? 0/??? root)?? Gid: (??? 0/??? root)

Access: 2012-02-20 08:04:24.000000000 +0800

Modify: 2012-02-20 08:04:24.000000000 +0800

Change: 2012-02-20 08:04:24.000000000 +0800

那么我們?nèi)绾潍@得這一文件的數(shù)字權(quán)限呢?

法一過程:(stat、sed、cut

[root@oldboy ~]# stat /ett|sed -n '4p'#==>首先通過管道把stat結(jié)果傳給sed處理取出需要的行。

Access: (0644/-rw-r--r--)? Uid: (??? 0/??? root)?? Gid: (??? 0/??? root)

[root@oldboy ~]# stat /ett|sed -n '4p'|cut -d "/" -f1 #==>對上面的結(jié)果以/線為分割符,然后取第1個(gè)字段。這里以斜線分割不是唯一的方法,大家注意下。

Access: (0644

[root@oldboy ~]# stat /ett|sed -n '4p'|cut -d "/" -f1|cut -d "(" -f2 #==>這就是法一答案

#==>對上面的結(jié)果以(號為分割符,然后取第2個(gè)字段,就會得出我們需要的結(jié)果。

0644

特別說明:

1)上題中的sed -n '4p'是取結(jié)果的第二行的意思,也可以用笨辦法head -4|tail -1替代。例:

[root@oldboy ~]# stat /ett|head -4|tail -1|cut -d "/" -f1|cut -d "(" -f2 #==>法二答案

0644

2)上題中的cut -d "/" -f1|cut -d "(" -f2部分,也可以用awk,sed等命令替代。如例:

[root@oldboy ~]# stat /ett|head -4|tail -1|awk -F "/" '{print $1}'|awk -F "(" '{print $2}'

0644 #==>法三答案,awk法如果大家有不懂的,也不用糾結(jié),本文后面問題里會細(xì)講。

提示::此題考察了大家對stat ,cut,awk,head,tailsed等命令組合用法,有對這些命令還不熟悉的同學(xué),可以分步分批總結(jié)下。

注意:敲字符時(shí)成對出現(xiàn)的’’,{}內(nèi)容,最好連續(xù)敲完,以免后續(xù)落下。

法二過程:(stat

當(dāng)然還有更簡單的方法:

[root@oldboy ~]# stat -c %a /ett

644

注意:如何想到法二的思考過程,比答題更重要。當(dāng)命令結(jié)果包含我們需要的內(nèi)容的時(shí)候,我們要想到是否有具體的參數(shù)能夠一步達(dá)到我們需要的結(jié)果。

特別說明:

有關(guān)stat -c的用法可以通過stat --helpman statinfo stat,這是所有命令的三大幫助殺手锏,必須要掌握了。

?

[root@oldboy ~]# stat --help

Usage: stat [OPTION] FILE... #==>這是語法格式

Display file or file system status.

...省略部分...

? -f, --file-system???? display file system status instead of file status

? -c ?--format=FORMAT?? use the specified FORMAT instead of the default;

????????????????????????? output a newline after each use of FORMAT

...省略部分...

?

#==>這是可用的參數(shù),如-c

The valid format sequences for files (without --file-system):

#==>這里是對于文件適用的格式,既-c后接的格式。

??%a?? Access rights in octal #==>8進(jìn)制形式顯示,即為本文的答案

? %A?? Access rights in human readable form #==>拓展以人類可讀的形式顯示權(quán)限

? %b?? Number of blocks allocated (see %B)

? %B?? The size in bytes of each block reported by %b

? %d?? Device number in decimal

? %D?? Device number in hex

? %f?? Raw mode in hex

? %F?? File type

? %g?? Group ID of owner

? %G?? Group name of owner

? %h?? Number of hard links

? %i?? Inode number

? %n?? File name

? %N?? Quoted file name with dereference if symbolic link

? %o?? I/O block size

? %s?? Total size, in bytes

...省略部分...

本題的拓展部分:

[root@oldboy ~]# ls -li /ett

98211 -rw-r--r-- 1 root root 0 Feb 20 08:04 /ett

?

[root@oldboy ~]# stat -c %a /ett?

644

[root@oldboy ~]# stat -c %A /ett #==>獲取字符權(quán)限

-rw-r--r--

[root@oldboy ~]# stat -c %B /ett

512

[root@oldboy ~]# stat -c %b /ett

0

[root@oldboy ~]# stat -c %i /ett #==>inode信息

98211

[root@oldboy ~]# stat -c %n /ett

/ett

[root@oldboy ~]# stat -c %o /ett #==>block size

4096

總結(jié)

以上是生活随笔為你收集整理的1、取得/etiantian文件的权限对应的数字(考试题答案系列)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。