1 一个文件有三种访问方式:

1、读,可以显示该文件的内容

2、写,删除或者编辑这个文件

3、执行,如果该文件时一个shell脚本或程序

按照文件所针对的用户,用户可以分为三种:

1、文件属主,即该文件的创建者。

2、同组用户,即拥有该文件的用户所在组中的任何用户

3、其他用户,即不属于拥有该文件的用户组中的某一用户。

1.1文件

创建一个文件时,系统会保存有关该文件的全部信息:

1、文件的位置   2、文件类型    3、文件长度  4、哪位用户拥有该文件,哪些用户可以访问该文件

5、i节点           6、文件的修改时间  7、文件的权限位

ls -l命令:

total 4232 显示该目录下所有文件占用的空间

-rwxr-xr-x  文件的权限位。除去第一个斜杠,后面共9位,对应三组权限

第一个“-”,文件类型,详解见1.2

rwx 文件属主用户权限

r-x 同组用户权限  中间三位

r-x 其他用户权限  最后三位

1 表示该文件的硬链接的数目

root 该文件的属主

root 文件的属主root所在的缺省组(也叫做root)

3756 用字节来表示文件的长度,不是K字节!  only  字节!

Oct 14 04:44 文件更新的时间

dmesg文件名

1.2文件类型

如上图所示, -rwxr-xr-x  文件的权限位。

第一个斜杠,代表文件的类型,共有7种,ls -l命令查看

d 目录

l  符号链接(指向另一个文件)
s  套接字文件

b 块设备文件

c 字符设备文件

p 命名管道文件

- 普通文件,准确的说,不属于以上几种文件

1.3文件权限

¥ touch myfile

1.4 改变权限位

1.4.1符号模式

chmod 命令格式: chmod [who] operator [permission]  filename

who的含义是:

u  文件属主权限

g 同组用户权限

o 其他用户权限

a 所有用户权限(u+g+o)

permission的含义:

r 读权限 w 写权限  x执行权限  s 文件属主和组set—ID   t粘性位*   l 给文件加锁,使其他用户无法访问

*在列文件或目录时,有时会遇到“ t ”位。 “t ”代表了粘性位。如果在一个目录上出现
“t ”位,这就意味着该目录中的文件只有其属主才可以删除,即使某个同组用户具有和属主
同等的权限。不过有的系统在这一规则上并不十分严格。

如果在文件列表时看到“ t ” ,那么这就意味着该脚本或程序在执行时会被放在交换区 ( 虚
存)。不过由于当今的内存价格如此之低,大可不必理会文件的“ t”的使用。

chmod命令举例:

chmod a-x myfile rw- rw- rw- 收回所有用户的执行权限
chmod og-w myfile rw- r-- r- - 收回同组用户和其他用户的写权限
chmod g+w myfile rw- rw- r - - 赋予同组用户写权限
chmod u+x myfile rwx rw- r- - 赋予文件属主执行权限
chmod go+x myfile rwx rwx r- x 赋予同组用户和其他用户执行权限

如果希望某个脚本文件对你自己来说可执行,而且你对该文件的缺省权限很放心,那么
只要使它对你来说具有执行权限即可。
$ chmod u+x dt

1.4.3 绝对模式

chmod [mode] filename

mode是八进制模式

如果希望一次设置目录下所有文件的权限,可以用:
chmod 644*
这将使文件属主和同组用户都具有读和写的权限,其他用户只具有读权限。

还可以通过使用- R选项连同子目录下的文件一起设置:
chmod -R 664 /usr/local/home/dave/*
这样就可以一次将 / u s r / l o c a l / h o m e / d a v e目录下的所有文件连同各个子目录下的文件的权限
全部设置为文件属主和同组用户可读和写,其他用户只读。使用 - R 选项一定要谨慎,只有在
需要改变目录树下全部文件权限时才可以使用。

1.4.5 可以选择使用符号模式或绝对模式
       上面的例子中既有绝对模式的,也有符号模式的,我们可以从中看出,如果使用该命的符号模式,可以设置或取消个别权限位,

而在绝对模式中则不然。我个人倾向于使用符号模式,因为它比绝对模式方便快捷。

TIPs:对刚修改完的文件,使其立刻生效的命令 source filename

unix shell-01 file的更多相关文章

  1. Linux/Unix shell 监控Oracle告警日志(monitor alter log file)

    使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等.本文给出Linu ...

  2. Linux/Unix shell 监控Oracle监听器(monitor listener)

    使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等.本文给出Linu ...

  3. Linux/Unix shell 监控Oracle实例(monitor instance)

    使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等.本文给出Linu ...

  4. Linux/Unix shell 自动发送AWR report(二)

    观察Oracle数据库性能,Oracle自带的awr 功能为我们提供了一个近乎完美的解决方案,通过awr特性我们可以随时从数据库提取awr报告.不过awrrpt.sql脚本执行时需要我们提供一些交互信 ...

  5. Unix Shell 通配符、转义字符、元字符、特殊字符

    shell通配符: * 匹配0或多个字符 a*b a与b之间可以有任意长度的任意字符, 也可以一个也没有, 如aabcb, a01b, ab等 ? 匹配任意一个字符 a?b a与b之间有且只有一个字符 ...

  6. PowerShell与Unix Shell对比:八大实例

    PowerShell与Unix Shell对比:八大实例 本文将从八个实例对比PowerShell和Unix Shell,通常是Linux Bourne Shell(包括sh.ksh和bash等).二 ...

  7. Cygwin 是一个用于 Windows 的类 UNIX shell 环境

    cygwin的安装使用   Cygwin 是一个用于 Windows 的类 UNIX shell 环境. 它由两个组件组成:一个 UNIX API 库,它模拟 UNIX 操作系统提供的许多特性:以及 ...

  8. KoaHub.JS用于Node.js的可移植Unix shell命令程序代码

    shelljs Portable Unix shell commands for Node.js ShellJS - Unix shell commands for Node.js     Shell ...

  9. 【转】fnmatch模块的使用——主要作用是文件名称的匹配,并且匹配的模式使用的unix shell风格

    [转]fnmatch模块的使用 fnmatch模块的使用 此模块的主要作用是文件名称的匹配,并且匹配的模式使用的unix shell风格.fnmatch比较简单就4个方法分别是:fnmatch,fnm ...

  10. UNIX SHELL基础知识总结(二)

    1. vim,vi及ex的关系 vim不需要安装,vi为ex的“Visual Mode”,Vim是vi的高级版本: 2. Unix Shell 快捷键 Ctrl+a/e将光标定位到 命令的头/尾 Ct ...

随机推荐

  1. 转!!EL表达式大全

    EL表达式      1.EL简介 1)语法结构        ${expression} 2)[]与.运算符      EL 提供.和[]两种运算符来存取数据.      当要存取的属性名称中包含一 ...

  2. KD-tree

    就是K维空间上的二叉查找树. 每个node对应k维空间的超矩形区域 在方差最大的维度上,比较数据与kd-tree的根节点.中间节点,在该维度上的中值处划分,得到新的子空间,直到不能再分. 用于最近邻查 ...

  3. LinuxShell脚本攻略--第一章 小试牛刀

    使用 shell 进行数学运算: #!/bin/bash no1=; no2=; let result=no1+no2 echo $result result=$[ $no1 + no2 ] resu ...

  4. linux下创建管理员组 使用 su - 命令

    通常情况下,用户通过执行“su -”命令.输入正确的root密码,可以登录为root用户来对系统进行管理员级别的配置.但是,为了更进一步加强系统的安全性,有必要建立一个管理员的组,只允许这个组的用户来 ...

  5. 响应式web设计读书笔记

    1.媒体查询可以在链接link标签和具体的CSS中使用: 2.通过<link>标签的 media 属性为样式表指定设备类型和其他条件  中间用and和()来分隔,如下 <link r ...

  6. js时间差转为天数

    function DateDiff(sDate1, sDate2){ //sDate1和sDate2是2006-12-18格式 var aDate, oDate1, oDate2, iDays aDa ...

  7. easyui中对于dialog页面传值的接收

    dialog的功能是将B页面嵌入至A页面,这样,A页面作为B页面的父容器,所有的元素均可以被B页面访问 那么问题来了:我怎么获取B页面的链接参数呢? 其实很简单,只要找到B页面的存放容器即可: 代码如 ...

  8. mysql 各种运算对于null值的处理

    1.A,B,C作为列名时,任意一项为null 则A+B+C为null; 2.count对于null值处理; count(*)包含null项:count(具体列名)忽略null项;count(null) ...

  9. listview加载性能优化ViewHolder

    在android开发中Listview是一个很重要的组件,它以列表的形式根据数据的长自适应展示具体内容,用户可以自由的定义listview每一列的布局, 但当listview有大量的数据需要加载的时候 ...

  10. uva 242

    242 - Stamps and Envelope Size Time limit: 3.000 seconds  Stamps and Envelope Size  Philatelists hav ...