设为首页收藏本站

LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区!

 找回密码
 注册

QQ登录

只需一步,快速开始

#公告#抱歉,网站将关闭,不再开放。由于PC时代已远逝 。在这个后移动互联网时代,我们继续携手前行,保持对技术的热情。共同构建linuxtone知识星球欢迎加入,一起讨论技术、招聘人才、分享资源。请新老linuxtone人 扫码移步到 知识星球:linuxtone

学习是一种信仰!分享是一种快乐!能力= 心态 * 沟通 * 知识 (你的每一天需要正能量!)

 网站的发展需要你贡献一份力量!希望你能每天坚持看贴1小时,并回答网友的问题!祝你在浏览论坛的过程中取得进步!谢谢!linuxtone加油!大家加油! 友情提示: 你今天学习了吗?你今天进步了吗?少一点抱怨!多一点进步!Life is short ! Why not linuxtone ?  

网站的发展、感谢每位坛友的努力!

查看: 3822|回复: 7

[shell] 通过ls获取文件的数字属性 [复制链接]

论坛元老

LT fans

Rank: 8Rank: 8

签到
343
注册时间
2011-5-31
最后登录
2019-7-22
在线时间
220 小时
阅读权限
90
积分
30041
帖子
243
主题
23
精华
0
UID
13960
发表于 2012-6-12 17:21:10 |显示全部楼层
通过ls来获取文件的rwx属性,并转换成对应的641。
最终结果如下:
file1    621
file2    644
file3    600
file4    777

各种版本都可以,越精简越好。
欢迎各位大侠拍砖。

论坛元老

LT fans

Rank: 8Rank: 8

注册时间
2011-5-31
最后登录
2019-7-22
在线时间
220 小时
阅读权限
90
积分
30041
帖子
243
主题
23
精华
0
UID
13960
发表于 2012-6-12 18:18:13 |显示全部楼层
zooyo 发表于 2012-6-12 17:41
果然是懒人驱动生活啊

额,我可不是懒人啊。只是我自己写了一个,感觉不好,想采纳一下大家的想法。

使用道具 举报

论坛元老

LT fans

Rank: 8Rank: 8

注册时间
2011-5-31
最后登录
2019-7-22
在线时间
220 小时
阅读权限
90
积分
30041
帖子
243
主题
23
精华
0
UID
13960
发表于 2012-6-12 18:35:59 |显示全部楼层
被zooyo大牛说了,不能懒的。好吧,分享一下自己写的python版。
  1. #!/usr/bin/env python
  2. import os
  3. import glob

  4. path='/root/shell/'
  5. for file in glob.glob(path+'*'):
  6.         filename=os.path.split(file)[1]
  7.         per=oct(os.stat(file).st_mode)[-3:]
  8.         print filename,per
复制代码

使用道具 举报

论坛元老

LT fans

Rank: 8Rank: 8

注册时间
2011-5-31
最后登录
2019-7-22
在线时间
220 小时
阅读权限
90
积分
30041
帖子
243
主题
23
精华
0
UID
13960
发表于 2012-6-12 20:09:35 |显示全部楼层
zooyo 发表于 2012-6-12 19:40
开个玩笑别介意

呵呵,没事的,况且我这么膜拜你。

使用道具 举报

Rank: 8Rank: 8

注册时间
2012-1-3
最后登录
2014-6-5
在线时间
181 小时
阅读权限
90
积分
23493
帖子
242
主题
4
精华
0
UID
17093
发表于 2012-6-13 09:05:15 |显示全部楼层
stat -c %a /filename  这么地行不

使用道具 举报

Rank: 8Rank: 8

注册时间
2010-10-15
最后登录
2016-4-3
在线时间
1023 小时
阅读权限
90
积分
175563
帖子
696
主题
14
精华
0
UID
10623
发表于 2012-6-13 09:23:58 |显示全部楼层
本帖最后由 dn833 于 2012-6-13 09:44 编辑
  1. [root@localhost name]# ll
  2. total 4
  3. -rw-r--r-- 1 root root  0 Jun 13 08:56 file1
  4. -rw-r--r-- 1 root root 61 Jun 13 09:23 getfile
  5. [root@localhost name]# sh getfile file1
  6. file1 0644
  7. [root@localhost name]# cat getfile
  8. stat $1|awk -v file="$1" -F "[/(]" '/\(/{print  file,$2}'
复制代码

使用道具 举报

论坛元老

LT fans

Rank: 8Rank: 8

注册时间
2011-5-31
最后登录
2019-7-22
在线时间
220 小时
阅读权限
90
积分
30041
帖子
243
主题
23
精华
0
UID
13960
发表于 2012-6-13 10:23:27 |显示全部楼层
天涯孤客 发表于 2012-6-13 09:05
stat -c %a /filename  这么地行不

原来stat可以这么玩,学习了。
  1. [root@localhost html]# stat -c %A 50x.html
  2. -rw-r--r--
  3. [root@localhost html]# stat -c %a 50x.html
  4. 644
复制代码

使用道具 举报

论坛元老

LT fans

Rank: 8Rank: 8

注册时间
2011-5-31
最后登录
2019-7-22
在线时间
220 小时
阅读权限
90
积分
30041
帖子
243
主题
23
精华
0
UID
13960
发表于 2012-6-13 10:24:16 |显示全部楼层
dn833 发表于 2012-6-13 09:23

很好,比我写的简单多了

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

IT运维专家网感谢您的支持

合作联系: QQ:67888954/MSN:cnseek@msn.com/mail:netseek@linuxtone.org

Archiver|手机版|感谢所有关心和支持过LinuxTone的朋友们 转载本站内容请注明原作者名及出处 ( 京ICP备08103151 )   |

GMT+8, 2020-4-7 07:35 , Processed in 0.024856 second(s), 12 queries , Apc On.

Powered by Discuz! X2 Licensed

© 2001-2011 Comsenz Inc.

回顶部