題目:檔案屬性為-rw-r--r-- 對應許可權為644,如何使用命令獲取許可權對應的數字??
舉例如下:
[baby@localhost ~]$ ll -l使用stat命令可以檢視-rw-r--r-- 1 baby wheel 38 oct 12 16:29 1.txt
[baby@localhost ~]$ stat 1.txt
file: `1.txt'
size: 38 blocks: 8 io block: 4096 regular file
device: fd00h/64768d inode: 390954 links: 1
access: (0644/-rw-r--r--) uid: ( 503/ baby) gid: ( 10/ wheel)
access: 2015-10-12 16:29:34.674990005 +0800
modify: 2015-10-12 16:29:32.248990536 +0800
change: 2015-10-12 16:29:32.248990536 +0800
取出對應的數字則需要使用正則sed awk 或cut ,head,tail命令;
方法1:使用正則或命令取
head,tail,cut
[baby@localhost ~]$ stat 1.txt |head -n4|tail -n1|cut -d "/" -f1|cut -d "(" -f20644
sed,cut
[baby@localhost ~]$ stat 1.txt |sed -n '4p'|cut -d "/" -f1|cut -d "(" -f2sed,awk0644
[baby@localhost ~]$ stat 1.txt |sed -n '4p'|awk -f"/" ''|awk -f"(" ''0644
方法2:stat -c 命令
[baby@localhost ~]$ stat -c %a 1.txt注意:如何想到法二的思考過程,比答題更重要。當命令結果包含我們需要的內容的時候,我們要想到是否有具體的引數能夠一步達到我們需要的結果。644
man stat 檢視幫助
-c --format=format
use the specified format instead of the default; output a new line after each use of format
使用特殊格式代替預設輸出;
常用的引數有如下:
%a access rights in octal 8進製顯示訪問許可權,0644
%a access rights in human readable form 以人類可讀的形式輸出,
%f file type 檔案的型別
%g group id of owner 所屬組gid的號碼
%g group name of owner 所屬組的名稱
%h number of hard links 硬連線的數量
%i inode number inode的值
%n file name 檔名
%o i/o block size io塊大小
%s total size, in bytes 檔案的總大小,位元組顯示;
%u user id of owner 所屬主的uid號碼
%u user name of owner 所屬主的名稱
%x time of last access 最後訪問的時間
%x time of last access as seconds since epoch 最後訪問時間的時間戳
%y time of last modification 最後修改的時間
%y time of last modification as seconds since epoch 最後修改時間的時間戳
%z time of last change 最後更改的時間
%z time of last change as seconds since epoch 最後更改的時間的時間戳
使用引數結果如下:
[baby@localhost ~]$ ls -l 1.txt
-rw-r--r-- 1 baby wheel 38 oct 12 16:29 1.txt
[baby@localhost ~]$ stat -c %a 1.txt
644[baby@localhost ~]$ stat -c %a 1.txt
-rw-r--r--
[baby@localhost ~]$ stat -c %b 1.txt
8[baby@localhost ~]$ stat -c %b 1.txt
512[baby@localhost ~]$ stat -c %d 1.txt
64768
[baby@localhost ~]$ stat -c %f 1.txt
regular file
[baby@localhost ~]$ stat -c %g 1.txt
10[baby@localhost ~]$ stat -c %g 1.txt
wheel
[baby@localhost ~]$ stat -c %u 1.txt
503[baby@localhost ~]$ stat -c %u 1.txt
baby
[baby@localhost ~]$ stat -c %h 1.txt
1[baby@localhost ~]$ stat -c %i 1.txt
390954
[baby@localhost ~]$ stat -c %n 1.txt
1.txt
[baby@localhost ~]$ stat -c %o 1.txt
4096
[baby@localhost ~]$ stat -c %s 1.txt
38題目和方法2的思想**於51cto老男孩部落格。非常感謝。
stat用法 獲取檔案對應許可權的數字
題目 檔案屬性為 rw r r 對應許可權為644,如何使用命令獲取許可權對應的數字?舉例如下 linuxidc localhost ll l rw r r 1linuxidc wheel 38oct 1216 291.txt使用stat命令可以檢視 linuxidc localhost stat ...
關於stat的用法
看了個關於stat的帖子 原來還公尺用過滴 在網上查了資料 自己除錯了下 原來stat 是這麼好用哇 以下是 別人的blog 函式都是獲取檔案 普通檔案,目錄,管道,socket,字元,塊 的屬性。函式原型 include int stat const char restrict pathname,...
stat函式的用法
stat函式的用法 標頭檔案 include 函式定義 int stat const char file name,struct stat buf 函式說明 通過檔名filename獲取檔案資訊,並儲存在buf所指的結構體stat中 返回值 執行成功則返回0,失敗返回 1,錯誤 存於errno 需要...