linux文件与目录管理

Posted 桔子桑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux文件与目录管理相关的知识,希望对你有一定的参考价值。

1.相对路径/绝对路径

绝对路径就是从根目录写起的,像这样:/user/share/doc;

相对路径是先对当前的位置而言的,加入现在处于/user/share/doc目录下,那么cd ../man,将实现跳转到

/user/share/man目录下;

2.目录相关操作

.                                     //当前目录
..                                    //上一层目录(根目录的上一层还是他自己)
-                                     //表示前一个工作目录             
~                                     //表示当前用户身份所在的住文件夹
cd                                    //切换目录
pwd                                   //显示当前目录位置(绝对路径)
mkdir test1                           //在当前目录下创建一个test1目录
mkdir -p test1/test2/test3            //在当前目录下递归地创建多级目录
rmdir test1                           //删除目录test1
rmdir -p test1/test2/test3            //删除test3,连同上级目录为空的也删除

3.系统变量$PATH

其实这个应该不会陌生,$PATH的目的就是让我们更方便地去调用系统的可执行文件;

没有系统变量$PATH之前,我们执行一个命令,可能需要这样:/bin/ls;

但是如果我们把/bin加入到系统路径变量$PATH里面了,那么我们只需要敲一下ls就可以了,此时系统会自动到$PATH

里面去找有没有和**/ls相匹配的执行文件,如果有,则执行之,如果有多个,那么就执行先查询到的那个目录下的该命令。

PATH="$PATH":/root                 //将/root添加到系统路径变量

4.查看文件和目录ls

最后一个-h用于查看文件的大小(以b为单位)

 5.复制、删除和移动

cp [options] source destination 将源文件复制到目标文件中,对于参数[options]下面列出:

-p                                      //连同文件的属性权限全部复制
-i                                      //若目标文件存在则询问是否覆盖
-f                                      //强制的意思,即使目标文件存在切无法开启,则删除后再尝试一次
-s                                      //复制为快捷方式文件
-u                                      //若目标文件比源文件旧才更新
-r                                      //递归操作,用于复制目录

rm [potions] 文件/目录

-i                                       //删除前询问
-r                                       //递归操作,用于目录的删除
-f                                       //不会询问

所以你应该知道 rm -rf这个命令有多危险了。

mv [options] source destination

-f                                        //如果目标文件已经存在,不会询问直接覆盖
-i                                        //如果目标文件存在则会询问
-u                                        //源文件比较新才会更新

6.文件内容查阅

对于同一个文件,不同的输出(显示)方式,cat为正常排版显示

当文件内容很多时,就需要翻页显示了:

more                             //一页一页翻动
空格----------------------向下翻一页
enter--------------------向下滚动一行
/字符串-------------------在当前页查询这个字符串
q------------------------离开这个more
b或者ctrl+b---------------往回翻

与之类似的还有less命令,但是less更有弹性:

空格----------------------向下翻一页
PageDown-----------------向下翻一页
PageUp-------------------向上翻一页
/字符串-------------------向下查询字符串
?字符串-------------------向上查询字符串
n------------------------重复前一个查询
N------------------------反向重复前一个查询
q------------------------离开less

以上命令分别为取前两行和后两行。

 对于非纯文本文件,可以使用od命令来查阅文本内容:

od -t [options] 非纯文本文件 options参数如下:

a                                    //默认字符输出
c                                    //ASCII字符输出

 7.文件的时间属性

linux下的文件都会记录该文件许多的时间参数,这里记录主要的三个时间参数:

modification time(mtime)当文件的内容数据更改时,会更新这个时间;

status time(ctime)当文件的状态,即权限与属性被更改了,都会更新这个时间;

access time(atime)当文件被取用时,会更新这个时间;

默认情况下显示文件的mtime;

前面提到过touch命令可以新建一个文件/文件夹,其实touch命令还可以修改文件的时间

touch -a file                               //修改文件atime为当前时间
touch -m file                               //修改文件mtime为当前时间
touch -c file                               //修改文件ctime为当前时间
touch -d "2 days ago" file                  //修改了atime和mtime,ctime不变
touch -t 1808080808 file                    //修改文件atime和mtime,ctime为目前时间

8.文件目录的默认权限和隐藏权限

我们新建一个文件/目录的时候,都会有一个默认权限,这个默认权限是怎么确定的呢

这个umask值0022指的是被拿掉的权限(用户组和其他被拿掉写的权限);

新建目录最高权限为drwxrwxrwx即777;

新建文件(默认没有x权限)最高权限为-rw-rw-rw-即666;

那么根据上面的umask值(022)来说,

新建一个文件的话,权限应该为:-rw-rw-rw- 减去 -----w--w- 等于-rw-r--r--;

新建一个目录的话,权限应该为:drwxrwxrwx 减去 -----w--w- 等于drwxr-xr-x;

9.文件隐藏属性

lsattr -a 文件/目录           该命令用来显示文件的隐藏属性;

-a                             //将隐藏文件的属性也秀出来
-d                             //如果接的是目录,则仅列出目录本身的属性(不包括目录内文件名)
-R                             //连同子目录的数据也一并列出来

chattr +-=[options] 文件/目录       该命令用来设置文件的隐藏属性(a、i为常用的)

A                              //该属性使得访问该文件时atime不会被修改
S                              //一般文件是一步写入磁盘的,该属性使其写入变为“同步”
a                              //该属性使得该文件只能增加数据,不能删除和修改,只有root才能修改该属性
c                              //这个属性,使得文件存入的时候压缩存储,读取的时候解压再读取
d                              //当dump程序被执行的时候,该属性使得该文件不会被dump备份
i                              //让一个文件不能被删除、改名、写入,只有root能设置此属性
s                              //如果该文件被删除,将会被完全从硬盘空间中删除
u                              //与s相反,如果文件被删除,数据其实还在磁盘中,可以用来找回该文件

10.文件特殊属性

SUID:仅对二进制程序有效,执行者对该程序有x权限、权限只在run-time有效、执行者将具有该程序所有者的权限

这个程序是用来改密码的,权限显示,其所有者为root,其他人有x的权限,并且仔细看所有者权限-rws

这个-rws中的s就是Set UID,简称SUID的特殊权限,那么非所有者执行这个程序的时候,会暂时以root的身份去执行

这个程序,进而更改密码。

SGID:Set GID,就是获取用户组的支持,(暂时不太明白)

SBIT:只针对目录有效,用户对该目录有读写权限后,在该目录下创建文件目录,只有root和用户自己才能删除

11.查看文件类型

file命令

12.命令和文件的查询

 

以上是关于linux文件与目录管理的主要内容,如果未能解决你的问题,请参考以下文章

Linux--目录管理与文件管理--03

Linux目录与文件管理

第七章Linux 文件与目录管理

Linux文件与目录管理

Linux文件与目录管理

Linux文件与目录管理