预备知识:

本实验要求实验者具备如下的相关知识。

前面我们学习了linux的文件系统,了解的文件系统的结构,也学了linux档案的属性和权限,以及其设定。

当我们执行命令操作一个文件的时候,却不知道这个文件为何种文件怎么办呢?

当我们执行一个指令,我们想知道这个指令是放在哪个目录里面的。该怎么办呢?

当我们要找一个文件,却不知道它在哪儿,该怎么办呢?

所有我们这节实验就是要解决以上的问题。

分别会学到:文件类型查看命令:file ;搜索命令:which,whereis,以及find命令。

本实验需要登陆系统后,请使用“useradd heetian”创建一个用户,以便后面的实验。

权限与指令直接的关系:之前我们有讲过权限与用户,档案直接的关系。那么我们接下来说一下什么指令在什么样的权限下才能够运行吧。(极其重要!!!)

1、让用户进入某个目录成为工作目录的基本权限:

可使用的指令:例如cd等改变工作目录的命令

目录所需权限:用户对这个目录至少需要具有x权限

额外需求:如果用户想要在这个目录内利用ls列出档案,则用户对此目录还需要r的权限

2、用户在某个目录内读取一个文件的基本权限:

可用命令:例如cat,more,less等

目录所需权限:用户对该目录至少需要具有x权限

文件所需目录:使用者对档案至少需要具有 r 的权限才行

3、让使用者修改一个文件的权限:

可使用的指令:如vim编辑器等

目录所需权限:用户对该目录至少具有x权限

文件所需权限:使用者对该文件至少具有r,w权限

4、让一个使用者可以建立一个文件的权限:

目录所需权限:用户对该目录至少需要w,x权限

5、让用户进入某个目录并执行该目录下的某个命令所需权限:

目录所需权限:该用户在该目录至少需要x权限

文件所需权限:使用者对该文件至少需要x权限。

命令:file

语法:file [-bLvz] 文件

解释:-b:显示结果,但是不显示文件名称

-L:直接显示符号链接所指向的文件的类型

-v:显示版本信息

-z:测试去读取压缩文件的内容

直接file 文件,不加任何参数可以显示文件类型。

linux命令搜寻之which命令

命令:which

语法:which [-a] 命令

档案查找命令

命令之一:whereis

语法:whereis [-bmsu] 目录或文件名

解释:-b:只找binary(二进制)格式的文件

-m:只找在说明文件manual路径下的文件

-s:只找source来源档案

-u:搜索不在上述三个项目当真的其他特殊档案.

我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新

命令之二:locate

语法:locate [-ir] keyword

解释:-i :忽略大小写

-r :使用正规运算式做寻找的条件

3.

命令之find

语法:find [路径] [option] [action]

解释:find的参数有很多,我们介绍简单一点的,更多用法记得man find 。

与时间相关的选项:-atime,-ctime和-mtime,以-mtime说明:

-mtime n :n 为数字

-mtime +n :n天之前(不含n天本身)

-mtime -n:n天之内(含n天本身)

-nwer file:file为一个存在的文件,列出比file更新的文件。

find相关的时间的意义:

find [路径] -name 名称

找出 /etc/下 名为passwd的文件

三.分析与思考:

1.which 查看可执行文件的位置
whereis 查看文件的位置
locate 配 合数据库查看文件位置
find 实际搜寻硬盘查询文件名称

linu命令进阶篇的更多相关文章

  1. Linux命令进阶篇-文件查看与查找

    上一篇的博客对于Linux如何在不同目录下跳转和查看目录下内容做出了总结,主要靠cd和ls,很常见也很实用.但是你看到目录下面那么多不同花花绿绿的文件,心里是不是痒痒,是不是想进去一探究竟,有办法! ...

  2. Linux命令进阶篇之一

    利用file命令查看那文件的类型 cd /etc 这里面的文件 命令:file 语法:file [-bLvz] 文件 解释:-b:显示结果,但是不显示文件名称 -L:直接显示符号链接所指向的文件的类型 ...

  3. linux 命令进阶篇之二

    一.预备知识 选取init的进程. cat :由第一行开始显示文件内容 tac:由最后一行开始显示,有没有发现和cat是反过来写的 more:一页一页的显示内容 less:与more相似,但是可以往前 ...

  4. Linux命令进阶篇之二

    实验内容: cat :由第一行开始显示文件内容       tac:由最后一行开始显示,有没有发现和cat是反过来写的       more:一页一页的显示内容       less:与more相似, ...

  5. C#使用Xamarin开发可移植移动应用(3.进阶篇MVVM双向绑定和命令绑定)附源码

    前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.com/l2999019/DemoApp 可以Star一下,随意 - - 说点什么.. 嗯..前面 ...

  6. C#使用Xamarin开发可移植移动应用(4.进阶篇MVVM双向绑定和命令绑定)附源码

    前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.com/l2999019/DemoApp 可以Star一下,随意 - - 说点什么.. 嗯..前面 ...

  7. 最快让你上手ReactiveCocoa之进阶篇

    前言 由于时间的问题,暂且只更新这么多了,后续还会持续更新本文<最快让你上手ReactiveCocoa之进阶篇>,目前只是简短的介绍了些RAC核心的一些方法,后续还需要加上MVVM+Rea ...

  8. SQL Server调优系列进阶篇(深入剖析统计信息)

    前言 经过前几篇的分析,其实大体已经初窥到SQL Server统计信息的重要性了,所以本篇就要祭出这个神器了. 该篇内容会很长,坐好板凳,瓜子零食之类... 不废话,进正题 技术准备 数据库版本为SQ ...

  9. SQL Server调优系列进阶篇(如何维护数据库索引)

    前言 上一篇我们研究了如何利用索引在数据库里面调优,简要的介绍了索引的原理,更重要的分析了如何选择索引以及索引的利弊项,有兴趣的可以点击查看. 本篇延续上一篇的内容,继续分析索引这块,侧重索引项的日常 ...

随机推荐

  1. 分布式事务最终一致性-CAP框架轻松搞定

    前言 对于分布式事务,常用的解决方案根据一致性的程度可以进行如下划分: 强一致性(2PC.3PC):数据库层面的实现,通过锁定资源,牺牲可用性,保证数据的强一致性,效率相对比较低. 弱一致性(TCC) ...

  2. linux命令打基础

    目录 一.shell概述 二.linux命令分类 三.linux命令行 3.1 格式 3.2 编辑Linux命令行 四.Linux基础命令 4.1 pwd:查看当前的工作目录 4.2 cd:切换工作目 ...

  3. Java面向对象14——接口

    接口  package oop.demon01.demon09; ​ //抽象思维~Java ​ //interface 定义的关键字 , 接口都需要有实现类 public interface Use ...

  4. 深入理解jvm-2Edition-Java内存区域

    1.运行时数据区域 Java虚拟机会将内存区域划分为几个区域,每个区域储存不同类型的数据或承担不同的功能. PC,堆-Java堆,栈-虚拟机栈.本地方法栈,方法区.直接内存. 当类被实例化或stati ...

  5. Linux 鸟叔的私房菜--完全结束

    2018年10月22日 我不想再拖下去了,一本书看不完就无法进行下一本书的阅读,可能算是我的一个强迫症(借口吧) 之前看05年第一版<鸟叔的Linux私房菜>停在脚本语言那里,迟迟没有前进 ...

  6. 构建工具之Maven的使用(一)

    一.前言 对于开发一个Java项目,上线之前会通过编译,测试,打包,部署这几个构建过程,如果文件较少,我们可以使用java-->javac-->jar这些命令去完成上述的构建流程.但是当工 ...

  7. 从跨域与同源策略谈CSRF防御与绕过

    之前偶然看到群里有小伙汁问这个token相关的问题,当时我酝酿了一下子,没想好怎么总结,今天来说一下 CSRF在过去还属于OWASP TOP10 ,现在已经不是了(补充一点:关于OWASP API 请 ...

  8. 题解 P3317 [SDOI2014]重建

    题解 前置芝士:深度理解的矩阵树定理 矩阵树定理能求生成树个数的原因是,它本质上求的是: \[\sum_T \prod_{e\in T} w_e \] 其中 \(w_e\) 是边权,那么我们会发现其实 ...

  9. docker部署Redis6-0-6

    下载redis.conf配置 下载地址: http://download.redis.io/redis-stable/redis.conf 拉取docker镜像 docker pull redis:6 ...

  10. pytorch之对预训练的bert进行剪枝

    大体过程 对层数进行剪枝 1.加载预训练的模型: 2.提取所需要层的权重,并对其进行重命名.比如我们想要第0层和第11层的权重,那么需要将第11层的权重保留下来并且重命名为第1层的名字: 3.更改模型 ...