1.如何取得/etiantian文件的权限对应的数字内容,如-rw-r--r-- 为644,要求使用命令取得644这样的数字。

解答:

实践过程:

[root@oldboy ~]# touch /ett #==>创建测试文件/ett

[root@oldboy ~]# stat /ett #==>通过stat命令可以看到文件的数字权限

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

那么我们如何获得这一文件的数字权限呢?

法一过程:(stat、sed、cut)

[root@oldboy ~]# stat /ett|sed -n '4p'#==>首先通过管道把stat结果传给sed处理取出需要的行。

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

[root@oldboy ~]# stat /ett|sed -n '4p'|cut -d "/" -f1 #==>对上面的结果以/线为分割符,然后取第1个字段。这里以斜线分割不是唯一的方法,大家注意下。

Access: (0644

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

#==>对上面的结果以(号为分割符,然后取第2个字段,就会得出我们需要的结果。

0644

特别说明:

1)上题中的sed -n '4p'是取结果的第二行的意思,也可以用笨办法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法如果大家有不懂的,也不用纠结,本文后面问题里会细讲。

提示::此题考察了大家对stat ,cut,awk,head,tail,sed等命令组合用法,有对这些命令还不熟悉的同学,可以分步分批总结下。

注意:敲字符时成对出现的’’,{}内容,最好连续敲完,以免后续落下。

法二过程:(stat)

当然还有更简单的方法:

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

644

注意:如何想到法二的思考过程,比答题更重要。当命令结果包含我们需要的内容的时候,我们要想到是否有具体的参数能够一步达到我们需要的结果。

特别说明:

有关stat -c的用法可以通过stat --help和man stat,info 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

...省略部分...

#==>这是可用的参数,如-c。

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

#==>这里是对于文件适用的格式,既-c后接的格式。

%a Access rights in octal #==>以8进制形式显示,即为本文的答案

%A Access rights in human readable form #==>拓展以人类可读的形式显示权限

%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 #==>获取字符权限

-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

本文出自 “老男孩的linux博客” 博客,请务必保留此出处http://oldboy.blog.51cto.com/2561410/791638

转载于:https://blog.51cto.com/4052845/792552

如何取得/etiantian文件的权限对应的数字内容,如-rw-r--r-- 为644,要求使用命令取...相关推荐

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

    说明:本文为老男孩linux培训某节课前考试试题及答案分享博文内容的一部分,也是独立成题的,你可以点下面地址查看全部的内容信息.http://oldboy.blog.51cto.com/2561410 ...

  2. linux域文件夹权限设置密码,如何配置Linux 文件权限(经典详细版本: rwxst)

    在Linux中,Linux文件权限一共分为三种.本文将向读者展示如何正确配置Linux文件权限. 三种特殊权限简介 SUID 当一个设置了SUID 位的可执行文件被执行时,该文件将以所有者的身份运行, ...

  3. 服务器的权限文件夹,服务器文件夹权限设置方法

    服务器文件夹权限设置方法 内容精选 换一换 当出现如下几种日志时,说明当前用户对当前文件或文件夹没有操作权限.现象1:  现象2:  现象3:  现象4:  当前用户对当前文件或文件夹没有操作权限.采 ...

  4. linux更改文件夹权限_Linux 一些重点知识,整理的很全面,有必要收藏

    我们都知道Linux是一个多用户,多任务的系统.这也是它的最优秀的特性,也就是说,可能有很多人同时在系统上工作,因此请不要强行关机. 同时,为了保护每个人的隐私和工作环境,对于某个文档(文件,目录), ...

  5. centos 学习日记 文件默认权限:umaks

    使用方法: [root@kin /]# umask 0022 [root@kin /]# umask -S u=rwx,g=rx,o=rx 上面显示的是本机上面文件默认的权限. 第二个好理解. 第一个 ...

  6. linux查看文件安全权限,Linux系统下如何查看及修改文件读写权限

    查看文件权限的语句: 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名) 那么就会出现相类似的信息,主要都是这些: -rw-rw-r-- 一共有10位数 其中: 最前面那个 - 代表 ...

  7. R语言使用fs包的file_info函数查看文件元信息(属性信息)、使用file_chmod函数修改文件的权限、使用file_chown函数修改文件的所有者

    R语言使用fs包的file_info函数查看文件元信息(属性信息).使用file_chmod函数修改文件的权限.使用file_chown函数修改文件的所有者 目录

  8. R语言sys方法:sys.chmod函数改变指定文件的权限、Sys.Date函数返回系统的当前日期、Sys.time函数返回系统的当前时间

    R语言sys方法:sys.chmod函数改变指定文件的权限.Sys.Date函数返回系统的当前日期.Sys.time函数返回系统的当前时间 目录

  9. 阿里云 Linux指令入门-文件与权限

    https://developer.aliyun.com/adc/scenario/exp/a12055b0e9e84e5692b05ae25d377ec0 连接ECS服务器 1.    打开系统自带 ...

  10. Linux的文件夹及文件的权限

    Linux的文件夹及文件的权限 使用ls -l命令可显示当前目录下所包含的文件及文件的属性和权限 [username@localhost ~]$ ls -l total 32 drwxr-xr-x. ...

最新文章

  1. 06开始完整制作网站
  2. Docker+Selenium Grid+Python搭建分布式测试环境
  3. Windows进程与线程学习笔记(四)—— 等待链表调度链表
  4. 数据库MySQL/mariadb知识点——操作篇(2)库管理语句
  5. UIWebView / NSURL / NSBoundle 相关应用 (实例,加载完成前的背景, 默认safari打开链接地址等)...
  6. GitHub 免费开放开发者计划,增加系列新优势
  7. CreateProcess 执行CMD命令,并重定向输出
  8. mysql 分段执行_19个MySQL优化技巧,索引优化这样做最有效!
  9. Atitit 组织软资产建设 知识管理 经济学架构体系
  10. “磁碟机”病毒技术分析报告
  11. Mat和IplImage
  12. ERP的主要功能模块简介
  13. 1 密码学的发展历程
  14. html多图轮播淡入淡出js,原生JS实现图片轮播与淡入效果的简单实例
  15. dba+开源工具:轻量级数据库审计日志平台,违规操作无所遁形(附下载)
  16. ClassOne 向 MicroLED 初创公司 Raxium 提供 Solstice 工具
  17. mongodb 分片集群安装 -- 二进制文件安装
  18. OSAL多任务资源分配机制
  19. 类的练习:定义一个Tree(树)类,有成员ages(树龄),成员函数grow(int years)对ages加上years,age()显示tree对象的ages的值。
  20. pringboot毕业生就业信息管理 毕业设计-附源码151501

热门文章

  1. 《直面苦难》--周国平
  2. PTC:能源互联网“双子星”,引领风电企业研发数字化变革
  3. ccxprocess用不用自启_你电脑上开机自启的软件都有哪些?
  4. MSOCache 文件夹是否可以删除
  5. acs代表什么_思科的ACS是什么?
  6. 思科的DUO解决方案到底是什么?
  7. 新西兰八大名校--新西兰公立大学
  8. 新西兰梅西大学有计算机专业吗,新西兰大学计算机排名第一之梅西大学计算机专业...
  9. Emacs的日常生活
  10. 快速排序(萝卜填坑算法)【必会知识】