unix shell-01 file
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的更多相关文章
- Linux/Unix shell 监控Oracle告警日志(monitor alter log file)
使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等.本文给出Linu ...
- Linux/Unix shell 监控Oracle监听器(monitor listener)
使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等.本文给出Linu ...
- Linux/Unix shell 监控Oracle实例(monitor instance)
使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等.本文给出Linu ...
- Linux/Unix shell 自动发送AWR report(二)
观察Oracle数据库性能,Oracle自带的awr 功能为我们提供了一个近乎完美的解决方案,通过awr特性我们可以随时从数据库提取awr报告.不过awrrpt.sql脚本执行时需要我们提供一些交互信 ...
- Unix Shell 通配符、转义字符、元字符、特殊字符
shell通配符: * 匹配0或多个字符 a*b a与b之间可以有任意长度的任意字符, 也可以一个也没有, 如aabcb, a01b, ab等 ? 匹配任意一个字符 a?b a与b之间有且只有一个字符 ...
- PowerShell与Unix Shell对比:八大实例
PowerShell与Unix Shell对比:八大实例 本文将从八个实例对比PowerShell和Unix Shell,通常是Linux Bourne Shell(包括sh.ksh和bash等).二 ...
- Cygwin 是一个用于 Windows 的类 UNIX shell 环境
cygwin的安装使用 Cygwin 是一个用于 Windows 的类 UNIX shell 环境. 它由两个组件组成:一个 UNIX API 库,它模拟 UNIX 操作系统提供的许多特性:以及 ...
- KoaHub.JS用于Node.js的可移植Unix shell命令程序代码
shelljs Portable Unix shell commands for Node.js ShellJS - Unix shell commands for Node.js Shell ...
- 【转】fnmatch模块的使用——主要作用是文件名称的匹配,并且匹配的模式使用的unix shell风格
[转]fnmatch模块的使用 fnmatch模块的使用 此模块的主要作用是文件名称的匹配,并且匹配的模式使用的unix shell风格.fnmatch比较简单就4个方法分别是:fnmatch,fnm ...
- UNIX SHELL基础知识总结(二)
1. vim,vi及ex的关系 vim不需要安装,vi为ex的“Visual Mode”,Vim是vi的高级版本: 2. Unix Shell 快捷键 Ctrl+a/e将光标定位到 命令的头/尾 Ct ...
随机推荐
- Microsoft SQL Server
instance / database / schema / object login / user / schema (dbo) sequence Collation PSM: Both Insta ...
- Jni碰到的一个异常
Java与C++都有String对象,而c没有,只有char类型,所以在向C传入String类型的时候,如何处理需要注意一点 jstring Java_com_skymaster_hs_test4_M ...
- Android日常开发60条经验
1. 全部Activity可继承自BaseActivity,便于统一风格与处理公共事件,构建对话框统一构建器的建立,万一需要整体变动,一处修改到处有效. 2. 数据库表段字段常量和SQL逻辑分离,更清 ...
- Unity shader(CG) 写一个 散色、折射、反射、菲涅尔、gamma、简单后期屏幕特效
http://www.lai18.com/content/506918.html 1.自生要求是很重要的,当然不是什么强迫工作之类的,而是自己有限的能力上不断的扩展兴趣上的内容. 2.用生活的眼光去发 ...
- 【转】 探索UDP套接字编程
UDP和TCP处于同一层网络模型中,也就是运输层,基于二者之上的应用有很多,常见的基于TCP的有HTTP.Telnet等,基于UDP有DNS.NFS.SNMP等.UDP是无连接,不可靠的数据协议服务, ...
- Js作用域链及变量作用域
要理解变量的作用域范围就得先理解作用域链 用var关键字声明一个变量时,就是为该变量所在的对象添加了一个属性. 作用域链:由于js的变量都是对象的属性,而该对象可能又是其它对象的属性,而所有的对象都是 ...
- 安装Ubuntu Linux系统时硬盘分区最合理的方法
无论是安装Windows还是Linux操作系统,硬盘分区都是整个系统安装过程中最为棘手的环节,网上的一些Ubuntu Linux安装教程一般都是自动分区,给初学者带来很大的不便,下面我就根据多年来在合 ...
- Columbia遗留问题
本来Columbia只是按照顺序,导航不可以点击,数组按照顺序push的小东西 在leader的要求下,要变成导航可以点击,无顺序的一团浆糊,经过了大概长达两天(我是不是太适合做程序!)的反复纠结,浆 ...
- java多线程下如何调用一个共同的内存单元(调用同一个对象)
/* * 关于线程下共享相同的内存单元(包括代码与数据) * ,并利用这些共享单元来实现数据交换,实时通信与必要的同步操作. * 对于Thread(Runnable target)构造方法创建的线程, ...
- ARM指令集(上)
ADuC702x可以用两套指令集:ARM指令集和Thumb指令集.本小节介绍ARM指令集.在介绍ARM指令集之前,先介绍指令的格式. A.2.1 指令格式 (1)基本格式 ...