01 Linux档案与目录管理
1. 目录与路径
1.1绝对路径和相对路径
绝对路径:一定有根目录/写起,例如:/usr/share/doc
相对路径:不是由根目录/写起,例如:由/usr/share/doc要到/usr/share/man, 可以使用如下命令

相对路径意指:相对于当前工作目录的路径
.代表当前目录;..代表上级目录
1.2 cd 变换目录
Cd是change directory 的缩写,是用来变换工作目录的指令。

Cd – 回到刚刚的那个目录也就是/usr/share/doc
Cd .. 回到上级目录
TIPs:Linux默认指令列默认模式(bash shell)具有档案自动补齐功能,可以使用[Tab]键来达成你目录的完整性
1.3 pwd 显示目前所在的目录
Pwd是print working directory,显示当前目录所在的路径

#pwd –P 显示真正的目录,而不是链接目录,例如/var/mail目录指向的是/var/spool/mail(链接目录相当于windows下的快捷方式)

1.4 mkdir 建立新目录
#mkdir 目录名
#mkdir –p 目录1/目录2/目录3…. (创建递归目录,子目录,子子目录)

#mkdir –m 711 test0 (创建带权限的目录)

1.5 rmdir 删除空目录
#rmdir 目录名
#rmdir –p目录1/目录2/目录3…. (删除递归目录,子目录,子子目录)

#rmdir只能删除空目录
#touch filename(新建档案123)

#rm –r 非空目录(可以删除非空目录)

1.6 $PATH(必须大写)执行指令的路径
#ls 是查阅文件属性的指令,它位于/bin/ls(绝对路径),为什么我们在任何目录下都可以执行#ls指令呢?这是由于环境变量PATH所致。当我们执行ls指令时,系统会依照PATH的设定去每个PATH定义癿目录下搜寻文件名为ls的可执行文件, 如果在PATH定义的目录中含有多个文件名为ls的可执行文件,那么先被搜寻到的同名指令先被执行!
#echo $PATH (查看PATH定义的路径)


PATH下的每个目录中间用冒号:隔开,每个目录是有先后顺序的。你可以发现不管是root还是普通用户sky,PATH下都有/bin目录,所以在任何路径下都可以通过PATH来找到/bin/ls来执行ls指令。
1.7 ls档案与目录的检视

ls 最常被使用到的功能还是那个 -l 的选项,为此,很多distribution 在预设的情况中, 已经将 ll (L 的小写) 设定成为 ls -l 的意思了!其实,那个功能是 Bash shell 的 alias 功能
1.8 cp,rm,mv复制删除和移动
#cp 源文件 目标文件
#cp –i 源文件 目标文件(若目标已经存在,在覆盖时会询问动作的进行)
#cp –r 源文件 目标文件(递归复制目录)
#cp –a 源文件 目标文件(连同文件的属性一并复制过去)
#rm –f 档案或目录(强制删除)
#rm –i 档案或目录(删除前询问)
#rm –r 档案或目录(递归删除)
#mv移动档案与目录或更改名称

2. 档案内容查阅
2.1 cat 由第一行开始显示档案内容
cat 是 Concatenate (连续)的简写, 主要的功能是将一个档案的内容连续印出在屏幕上面!

2.2 tac从最后一行开始显示
2.3 nl 显示的时候,顺道显示出行号
2.4 more 分页显示档案内容
2.5 less 与more类似,但是可以往前翻页

2.6 head 只看头几行,默认显示10行



可以看到man.config一共有152行
#head –n -100 /ect/man.config 列出前面的52行,后面的100行不显示
2.7 tail 只看尾巴几行
#tail –n -100 /etc/man.config 列出100行后面的所有内容,也就是100-152行,前面的99行不会显示。
如果要显示/etc/man.config第11行到第20行,如何实现呢?

2.8 od 以二进制的方式读取档案内容
执行文档通常是binary file 二进制格式,如果用上面的指令读取其内容时,会显示乱码,这是就要用到od指令

例:将/usr/bin/passwd的内容以8进制存储值与ASCII的对照表显示

3. 档案时间与新建档案
3.1档案的时间参数
- Modification time(mtime)--档案内容更改的时间
- Status time(ctime)--档案权限或属性更改的时间
- Access time(atime)--档案的内容被取用的时间,比如cat

3.2 创建档案
3.3 修改档案时间
4. 档案与目录的默认权限与隐藏权限
档案的权限有rwx读写执行;目录的属性有d – l 目录、档案、链接档案等
4.1 chgrp 更改档案目录的所属群组
#chgrp [-R] 组名 档案目录名 // -R表示递归,目录的子目录,子子目录
4.2 chown 更改档案目录的拥有者
#chown [-R] 拥有者 档案目录
#chown [-R] 拥有者:组名 档案目录 //同时更改拥有者和所属组
4.3 chmod 更改档案目录的权限
- #chmod [-R] xyz 档案目录 // x,y,z分别代表拥有者,所属组,其他用户的权限,比如x=7(r+w+x),r=4,w=2,x=1
- #chmod [-R] u=rwx,go=rx 档案目录 //u=user;g=group;o=other;a=all
- #chmod [-R] a+w 档案目录 //+代表增加权限,-代表删除权限,=代表赋予权限,a+w这里表示所有用户都增加w写的权限
实例:
在/tpm下创建test目录,在test目录下创建123文本档案,我们可以看到在root用户下创建的档案和目录,所属主和所属组都是root,这里我们将test目录及其目录下的所有档案目录(这里只有123档案)的所属主设置成sky,所属组设置成user组。并且除了自己sky以外的其他用户只有读和操作的权限。
切换到普通用户sky,并编辑123档案,编辑内容"hello my Linux"
切换到普通用户tyang3,可以查看/tmp/test下的档案,但是无权更改写里面的内容
切换到sky用户,除了自己以外,其他用户对test目录的权限只有r只读的权限
再切换到其他用户tyang3,无法访问sky用户的test目录及查看其内部的档案
将/tmp/test目录权限更改为对其他用户只有x执行的权限,我们发现其他用户tyang3可以进入目录,但是无法查看目录内的档案

总结:
r--: 用户无法进入目录,也无法访问目录内的档案
--x: 用户可以进入目录,但是无权操作,比如ls,cp
r-x: 用户可以进入目录,也可以进行操作,但是无法修改目录内档案的内容
4.4 umask档案预设权限
当我们创建档案或目录时,都会有个默认的权限,umask的分数指的是默认值需要减掉的权限,r,w,x分别是4、2、1分
- #umask //数字形态的权限设定分数,第一组数字是特殊权限用的,其他三组为用户权限
- #umask –S //符号类型显示设定的权限

- 创建档案
创建档案时,预设是没有可执行X权限,只有rw的权限,即-rw-rw-rw-,所以umask最大的分值是666分
- 创建目录
创建目录时,权限默认值是drwxrwxrwx,所以umask最大分值是777分
如上图所示,root管理员umask默认值是0022,我们只看后三位022,
Root管理员创建档案时,所属主user不减权限(0),所属组group减掉w权限(2),其他用户也减掉w权限(2),所以最后创建的档案权限是-rw-r—r--
Root管理员创建目录时,所属主user不减权限(0),所属组group减掉w权限(2),其他用户也减掉w权限(2),所以最后创建的目录权限是drwxr-xr-x

Bingo!Bingo!完全正确,有兴趣的同仁可以切换到普通用户进行测试。
如何修改umask的默认值?
#umask 修改值
Root管理员的umask默认是022,而普通用户umask默认是002
4.5 chattr档案的隐藏属性
用法:#chattr [+—=] [ASacdistu] 档案或目录
实例:创建attrtest档案,并添加i的属性(不能删除、改名、创建链接)
取消档案i的权限
4.6 lsattr 显示档案的隐藏属性
4.7 档案的特殊权限
01 Linux档案与目录管理的更多相关文章
- Linux档案与目录管理
Linux档案与目录管理1. 目录与路径1.1 相对路径与绝对路径1.2 目录的相关操作: cd, pwd, mkdir, rmdir cd [相对路径或绝对路径]cd ~ [用户]: 切换家目录cd ...
- 鸟哥的linux私房菜 - 第5/6/7/9章(在线求助 man page、Linux档案权限与目录配置、Linux档案与目录管理、压缩与打包)
第五章.在线求助 man page X window与文本模式的切换 Ctrl+Alt+F1~F6:文字接口登入tty1~tty6终端机: Ctrl+Alt+F7:图形接口桌面. 注销当前用户:exi ...
- Linux 档案与目录管理
『 cd /etc 』这个情况,这也就是所谓的『绝对路径』,他是从根目录连续写上来的一个情况,所以不论你在哪一个路径现执行这一个指令,都会将你移动到该路径下.那如果我是使用『 cd etc 』呢?那表 ...
- linux杂记(七)linux档案与目录管理指令
1.目录的相关操作:cd,pwd,mkdir,rmdir 路径(PATH): 绝对路径:路径的写法[一定由根目录/写起],例如/usr/share/doc这个目录 相对路径:路径的写法[不是由/写起] ...
- linux档案和目录管理(后续)
资料来自鸟哥的linux私房菜 四:档案和目录的预设权限和隐藏权限 umask:预设权限,相比与chomd的4,2,1权限,档案满分为666,目录满分为777,umask可以预设消除部分权限,比如一个 ...
- 鸟哥私房菜基础篇:Linux 档案与目录管理习题
猫宁!!! 参考链接:http://linux.vbird.org/linux_basic/0220filemanager.php 鸟哥是为中国信息技术发展做出巨大贡献的人. 1-什么是绝对路径与相对 ...
- linux 私房菜 CH7 Linux 档案与目录管理
路径 ``` . 此层目录 .. 上一级目录 前一个工作目录 ~ 当前用户的家的目录 ``` 变换目录 cd 显示目录 pwd [-P] -P 显示出确实的路径,而非使用链接 (link) 路径. 创 ...
- Linux学习(四)档案与目录管理
1. 目录与路径 1.1 相对路径与绝对路径 1.2 目录的相关操作: cd, pwd, mkdir, rmdir 1.3 关于执行文件路径的变量: $PATH2. 档案与目录管理 2.1 档 ...
- linux:档案与目录管理
几个常见的目录处理命令: cd(change directory):变更目录 pwd(print working directory):显示当前目录[目录为连结档,则只显示连结档的路径]([-P]不以 ...
随机推荐
- snoopy采集
Snoopy是一个php类,用来模拟浏览器的功能,可以获取网页内容,发送表单.Snoopy正确运行需要你的服务器的PHP版本在4以上,并且支持PCRE(Perl Compatible Regular ...
- android4.4以上,快捷实现标题栏透明
方法很简单写一个values-v19的文件夹,当安卓版本大于4.4时便会调用该文件夹下的styles.xml文件 结构如图: styles.xml <resources> <!-- ...
- NSOperation实现线程间通信
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { //1.创建队列 NSOperat ...
- fork函数创建新进程过程分析
gdb调试执行流程,首先设置断点b sys_clone,当在shell下输入fork命令后,系统执行至断点,接下来按步执行: 判断是否被跟踪 判断是否被创建为轻量级进程(vfork) 判断父进程是否被 ...
- ARM汇编
ARM汇编 ISA ISA即指指令集架构(Instruction Set Architecture)是与程序设计有关的计算机架构的一部分,包括本地数据类型.指令.寄存器.地址模式.内存架构.中断和意外 ...
- PHP 监控服务器动态
预期准备 一个139邮箱,收到邮件后,可以免费给你短信提醒.如果你不需要短信提醒功能,用什么邮箱都可以 另外一个可以运行PHP文件的Web服务器(相当于监控服务器),现在免费的PHP网站空间很多,上网 ...
- Win10/UWP开发—凭据保险箱PasswordVault
PasswordVault用户凭据保险箱其实并不算是Win10的新功能,早在Windows 8.0时代就已经存在了,本文仅仅是介绍在UWP应用中如何使用凭据保险箱进行安全存储和检索用户凭据. 那么什么 ...
- Newtonsoft.Json 处理多态类型的反序列化
Newtonsoft.Json的序列化和反序列化很成熟也很好用, 最近在处理多态类型的反序列化中遇到了问题, 反序列化后只能到基类,而得不到也不能转换到子类.从网上查询了一番后,需要写一个创建类型的C ...
- 一键编译go文件命令.bat
一键编译go文件命令.bat , 请新建 一键编译go文件命令.bat 文件,放到你的xxx.go文件目录下 ( 欢迎加入go语言群: 218160862 , 群内有实践) 点击加入 @e ...
- div中显示页面
在css中显示页面,在页面布局中很多时候都要在一个div 里显示某些页面.在这里写下我用到的一种方式. <script type="text/javascript"> ...