你知道常见的目录操作吗?

知道如何查询文件内容吗?

了解 umask 指令吗,知道如何查看和设置文件的默认权限吗?

知道文件的隐藏属性吗,了解如何设置(chattr指令)并查看(lsattr指令)吗?

知道文件的特殊权限吗,了解如何设置(chmod指令)和查看(ls指令)吗?

了解 file 指令吗,知道怎样查询文件的详细类型吗?

了解whereis 与locate以及find指令的区别吗,知道如何查找文件与指令的位置吗?

了解FHS吗?

如果有你不知道的,那么这篇文章可以带你了解这些知识。

1.目录与文件相关操作

1.对目录的操作

对目录的操作主要是:创建目录、删除目录、查看当前目录、变换目录等。

1.删除非空目录

格式:

  rm  -r  mydir  //删除目录(非空目录)及里面的所有内容。

注意:当需要删除一个非空目录时,最好通过普通用户来执行递归删除操作(系统不会每删除一个文件就询问一次 )。为什么呢?因为当使用root用户执行递归删除操作时,系统为了安全每删除一个文件就会询问一次。

2.移动文件与目录或更新目录名

移动文件: 当mv指令的第一个参数为文件A,最后一个参数为目录dir时,表示将A文件移到目录dir当中。

更新目录名:当mv指令的第一个参数为目录mydir,最后一个参数为修改后的目录名称(该目录名必须不存在,否则就是移动目录了)时,表示将目录mydir的名称更改目录名dir。

移动目录:当mv指令的第一个参数为目录mydir,最后一个参数为目录dir时,表示将目录mydir移到目录dir中。

2.对文件的操作

对文件的操作主要有:创建文件、删除文件、移动文件、查看文件等。

3.取得路径的文件名称与目录名称

指令格式:

  basename  文件绝对路径名  //获取文件名

  dirname  文件绝对路径名  //获取文件路径

2.文件内容查阅

3.文件与目录检视

4.文件默认权限

1.查询文件默认权限

指令:umask  //不带参数代表查询文件默认权限

不带选项和参数执行该指令默认情况下会输出 。

这4个数字分为两部分0(这是第一部分)和022(这是第二部分)来看。

接下来先看022代表的意思:

1.第一部分

这部分与文件的特殊权限有关。

该部分仅包含一个数字。

2.第二部分

这部分与普通权限(即读、写、执行)有关。

该部分包含3个数字,第一个数字(0)代表当前用户,第二个数字(2)代表当前组,第三个数字(2)代表其他用户。

0:代表当前用户的权限,且权限为rwx;为什么是这样?默认rwx权限都具备,这里的0代表没有减去权限,因此当前用户的权限还是rwx。

2:代表当前组的权限,且权限为r-x;为什么是这样?默认rwx权限都具备,这里的2(用二进制表示就是10)代表减去权限w,因此当前用户的权限是r-x。

2:代表当前组的权限,且权限为r-x;为什么是这样?默认rwx权限都具备,这里的2(用二进制表示就是10)代表减去权限w,因此当前用户的权限是r-x。

2.设置默认的文件权限

指令:umask  //带参数表示设置默认的文件权限

实例:umask  000  //表示当前用户、当前群组、其他用户创建的文件都具有rwx权限

5.文件隐藏属性

设置文件隐藏属性指令chattr与查看文件隐藏属性指令lsattr很重要

1.设置文件隐藏属性

指令:chattr  

个人认为上面的 a 和 i 这两个属性最重要。

接下来看一下文件隐藏属性案例:

这个指令很重要,尤其是在系统的数据安全方面,由于这些属性是影藏的,因此只有使用lsattr指令才能查看隐藏属性。

2.查看文件隐藏属性

指令:lsattr

6.文件特殊权限

1.文件特殊权限种类

一共有三种:SUIDSGIDSBIT

注意:SUID使用在文件上、而SBIT是用在目录上的,而SGID二者皆可。

2.特殊权限功能

1.SUID特殊权限

SUID的全称是Set UID,顾名思义,设置UID。该权限只针对文件有效(目录无效)

这样讲限制与功能你有可能不理解,那接下来我们举个例子:

3.设置特殊权限

chmod指令设置特殊权限。

1.chmod数字格式设置

指令案例:chmod 4777 filename  //给filename设置的所有用户的权限为rwxs

下面就举一个实例加深理解:

2.chmod字符格式设置

指令案例:chmod  u=rwxs,go=r-x filename  //给filename设置的当前用户权限为rwxs、组和其他用户设置r-x权限

2.SGID特殊权限

与SUID不同的是,SGID可以针对文件或目录来设置(即该权限对文件和目录都有效)。

SGID权限对于文件和目录的功能是不同的。

1.SGID权限对于文件的功能

SGID功能和要求如下:

下面讲解一个实例来加深理解:

SGID权限对于文件的功能已经讲完了,接下来讲一下SGID权限对于目录的功能。

2.SGID权限对于目录的功能

当目录设置成了SGID权限后就会具备以下功能:

3.SBIT特殊权限

7.查询文件的类型

之前通过 ls -l 指令可以查看文件的类型与属性,但是ls命令中显示的文件类型是比较宽松的文件类型(一般文件、连接文件、目录文件),那么如果我想知道详细的文件类型呢?该怎么办:使用file指令。

指令:file

8.文件与指令的搜索

文件与指令的搜索就是找出文件与指令的位置。

1.指令文件名的搜索

我们经常在终端上使用指令,比如ls、cat等,那怎么知道这些指令被放在哪里呢?可以通过which和type指令查找指令文件存放的位置。

1.which(寻找可执行文件)

这里的可执行文件指的是二进制文件

格式

  which  command  //列出一个从PATH可以找到的指令文件名

注意:which这个指令是根据PATH环境变量所规范的路径,去搜索“可执行文件”的文件名,所以重点是找出“可执行文件”而已!which后面接的是完整文件名。which无法寻找bash的内置指令(bash内置指令不在PATH环境变量中),但是可以通过type找出bash的内置指令。

2.文件文件名的搜索

在Linux下有很多搜索文件的指令。通常find指令不是很常用,因为速度比较慢。一般我们先用whereis或者locate指令来搜索,如果找不到才会用find来搜索。那么这些不同的搜索指令各有什么特点呢?

whereis:仅仅只寻找系统中某些特定目录下的文件。特定目录:/bin/sbin、/usr/share/man、/usr/src等几个目录下的某些子目录。

locate:利用数据库来搜索文件名。

find:直接搜索硬盘。

1.whereis指令详解

实例:

2.locate指令详解

keyword:表示部分文件名。

locate可以通过部分文件名找到一个或多个文件;可以通过部分文件名找到文件这个功能是特别好的。

注意:locate有个限制,因为locate搜寻的数据是从“已创建的数据库 /var/lib/mlocate/”里面的数据中查找的,而数据库的创建默认是在每天执行一次,所以在你新建文件之后,却在数据库更新之前去查找该文件,那么locate会告诉你找不到该文件,因为你必须以root身份使用updatedb手动更新数据库。手动更新数据库之后再使用locate就可以查找到文件了。

updatedb指令用法

格式:

  updatedb  //根据/etc/updatedb.conf的设置去搜寻硬盘内的文件名,并更新/var/lib/mlocate/目录内的数据库文件

3.find指令详解

find的功能特别强大,因此用法也有点复杂,有以下几种:

《1》查找并显示指定目录下那些指定时间段内被修改过的文件的文件位置。

《2》查找并显示指定目录下属于某个指定使用者或群组的文件的文件位置。

《3》查找并显示指定目录下指定的文件名或权限的文件的文件位置。

《4》额外的功能,就是使用额外的指令对查找的结果进行处理。

以上4种大的功能的查找是通过不同的选项以及参数来实现的。

统一格式

  find  [ path ]  [ opation ]  [ action ]

在此根据功能区分分别讲解选项与参数的意义:

1.查找并显示指定目录下那些指定时间段内被修改过的文件的文件位置

2.查找并显示指定目录下属于某个指定使用者或群组的文件的文件位置

3.查找并显示指定目录下指定的文件名或权限的文件的文件位置

4.额外功能

实例1

查找/home/zxp_user中大于1MB的文件

Linux系列(6):入门之文件与目录管理的更多相关文章

  1. Linux命令工具基础02 文件及目录管理

    文件及目录管理 文件管理不外乎文件或目录的创建.删除.查询.移动,有mkdir/rm/mv 文件查询是重点,用find来进行查询:find的参数丰富,也非常强大: 查看文件内容是个大的话题,文本的处理 ...

  2. linux学习(2)——文件和目录管理

    (二) 一:绝对路径和相对路径                                                                                     ...

  3. Linux学习笔记之1——文件和目录管理(硬连接和软连接)(连结档,相当于快捷方式)

    在这节将要学习linux的连接档,在之前用"ls -l" 查看文件属性的命令时, 其中第二个属性是连接数.那么这个连接数是干什么的?这就要理解inode. 先说一下文件是怎么存储的 ...

  4. (五)Linux之文件与目录管理以及文本处理

    Linux之文件与目录管理 目录 Linux之文件与目录管理 前言 绝对路径与相对路径说明: 一.目录常用命令 常用处理目录的命令: 切换目录 cd 显示当前路径 pwd 查看目录下文件 ls 创建目 ...

  5. Linux 文件与目录管理

    Linux 文件与目录管理 我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /. 其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们. 在开始本教程前我们需要先知道什么是绝对 ...

  6. CentOS(十)--与Linux文件和目录管理相关的一些重要命令②

    在结束了第二期的广交会实习之后,又迎来了几天休闲的日子,继续学习Linux.在上一篇随笔 Linux学习之CentOS(十七)--与Linux文件和目录管理相关的一些重要命令① 中,详细记录了与Lin ...

  7. CentOS(九)--与Linux文件和目录管理相关的一些重要命令①

       接上一篇文章,实际生产过程中的目录管理一定要注意用户是root 还是其他用户. 一.目录与路径 1.相对路径与绝对路径 因为我们在Linux系统中,常常要涉及到目录的切换,所以我们必须要了解 & ...

  8. [Linux] Linux学习笔记(5)-文件与目录管理

    1.Linux目录结构为树状结构,最顶层的目录为跟目录"/",其它目录通过挂载可以将它添加到目录树中,通过解除挂载移除它们. 2.绝对路径与相对路径 绝对路径写法:由根目录&quo ...

  9. Linux学习-文件和目录管理 

    Linux文件和目录管理  文件系统架构  1.Linux文件系统具有层级性     1)文件或者目录起始于根目录"/"成为树状结构    2)最顶层由/开始   2 ...

随机推荐

  1. Django从Models 10分钟建立一套RestfulApi

    目录 Django从Models 10分钟建立一套RestfulApi Django从Models 10分钟定制一个Admin后台 简介 Django是一套完善而强大的web开发框架, 结合Djang ...

  2. leetcode题目142.环形链表Ⅱ(中等)

    题目描述: 给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始). 如果 p ...

  3. instanceof 实现

    A instanceof B // 实现 instanceof function instance(a, b) { const proto = a.__proto__; // eslint-disab ...

  4. ContentProvider 共享数据

      onCreate 其它应用第一次访问时被调. insert 外部应用使用此方法添加数据. delete 外部应用使用此方法删除数据. update 外部应用使用此方法更新数据. query 外部应 ...

  5. 机器学习之保存与加载.pickle模型文件

    import pickle from sklearn.externals import joblib from sklearn.svm import SVC from sklearn import d ...

  6. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-3.微信Oauth2.0交互流程讲解

    笔记 3.微信Oauth2.0交互流程讲解     简介:讲解微信Oauth2.0交互流程              参考:https://open.weixin.qq.com/cgi-bin/sho ...

  7. swoole详解

    1.swoole结构图 2.swoole流程图 3.详细流程图 3.1.Master:处理核心事件驱动(主进程)3.2.Reactor: 处理TCP连接,收发数据的线程.Swoole的主线程在Acce ...

  8. Metasploit-初篇

    Metasploit metasploit 是一款开源的安全漏洞检测工具 渗透测试的操作系统 无需赘言,kali Linux发行版是目前最流行的安全操作系统;基于Debian的操作系统附带了600多个 ...

  9. Zabbix介绍及安装(1)

    Zabbix的介绍 一.什么是zabbix及优缺点(对比cacti和nagios) Zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种 ...

  10. 【并行计算-CUDA开发】CUDA并行存储模型

    CUDA并行存储模型 CUDA将CPU作为主机(Host),GPU作为设备(Device).一个系统中可以有一个主机和多个设备.CPU负责逻辑性强的事务处理和串行计算,GPU专注于执行高度线程化的并行 ...