【鸟哥的linux私房菜】学习笔记7

第七章 档案与目录管理

目录的相关操作

  • . 当前目录
  • .. 上一层目录
  • - 上一个工作目录
  • ~ 用户所在的家目录
  • ~acount acount所在的家目录

  • pwd [-P]: 显示当前目录

    -P:显示出确实的路径,而非链接路径

  • mkdir [-mp]: 建立新目录

    -m:设置目录权限 mkdir -m 711 test2

    -p:建立多层目录 mkdir -p test1/test2/test3

  • rmdir [-p]: 删除一个空目录, 目录中又其他档案时不能删除

    -p:连同上层的空目录一并删除

    rmdir 仅能删除空目录,要删除非空目录需使用『 rm -r 』指令;

关于执行文件路径的变量:$PATH

环境变量:PATH(原来linux下面也有这货)

用户能使用的指令是依据 PATH 变量所规定的目录去搜寻的;

echo $PATH: 显示目前的PATH

echo有显示,打印的意思 $表示后面接的是变量

添加PATH: PATH="$PATH":/xxxx (这个类似于字符串拼接Y^o^Y )

不同身份使用者预设的PATH不同,默认能够随意执行的指令也不同

本目录 . 最好不要放到PATH中

档案与目录管理

查看 ls

显示经过排序的档案,蓝色显示目录,白色显示文件

选项:

  • a : 列出全部档案,包括隐藏档
  • l : 档案的详细信息,包括属性和权限等数据, ls -l = ll
  • t : 依时间排序,而不是ABCD
  • d : 仅列出目录本身,而不列出目录内的档案数据

复制、删除与移动

复制cp

默认情况下,目的档案的拥有者为指令操作者; 对于连接档,复制他指向的原文件

选项:

  • a:复制一个与源文件一模一样的东西(完全辨别不出真假,除了名字不同以外)
  • i: 询问是否覆盖原文件(哎呀,一个不小心,另外一个相同文件名的东西就没有了)
  • u: 备份时常用,当源文件与目标文件有差异是才执行复制操作

复制档案给其他人使用时,注意修改文件权限

可以将多个数据一次性复制到同一个目录下

由于一般用户并不能随意更改档案的拥有者与群组,即使加上-a选项,也无法达成完整复制权限

复制文件时考虑的四件事情:

  • 是否需要完整的保留来源当的信息? -a
  • 来源档是否为连接档? ll -d
  • 来源档是否为特殊的档案?
  • 来源文件是否是目录?
删除rm

rm bashrc*: 开头为bashrc的档名通通删除

*通配符

rm -r xxx 递归删除目录下地所有文件、目录

命令简单,数据无价,且行且珍惜

移动/更名 mv

查阅档案内容

直接检视档案内容 cat

  • cat -A xxx: 显示制表符,换行符等特殊字符
  • cat -n xxx: 显示行号(包括空白行)
  • cat -b xxx: 显示行号(不包括空白行)

反向检视 tac

与cat相反的顺序,从最后一行到第一行

一页一页翻动 less

与man page类似

  • 空格键&pagedown:向下翻页
  • pageup: 向上翻页
  • /字符串: 向下搜寻字符串
  • ?字符串: 向上搜寻字符串
  • n / N: 重复前一个搜寻
  • q : 离开

资料截取 head/tail

以行为单位进行数据截取

默认情况下显示10行

head -n xxx

两个命令可以结合起来一起使用,如获取第11行到第20行

head -n -20 xxx | tail -n 10

以上读取命令只使用于纯文本文档

非纯文本文档

od [-t TYPE] xx

od -t c xx:将数据内的字符以ASCII类型的字符来显示

好复杂,以后用到的时候再来看吧

修改档案时间或建立空档案:touch

查看/修改默认情况下建立的档案的权限:umask

档案隐藏属性

对于强烈地需求系统安全的人来说非常重要


档案特殊权限SUID,SGID,SBIT

(略,o(╯□╰)o,太复杂了,以后再看)

观察文件类型file

ASCII、binary或data档案,有没有使用share library

指令与档案的搜寻



指令搜寻which

which:绝对路径

which -a command

which根据用户设定的PATH变量内的目录去搜寻可执行文件,所以不同的PATH设定内容找到的指令不一样


档案搜寻whereis, locate, find

如果找不到某个指令时,可以用档案搜寻试试

whereis,locate利用数据库来搜寻数据,速度快。

find搜寻硬盘,速度慢。使用whereis,locate找不到时使用find搜索。

whereis [-bmsu] xxx

  • b: 只找binary格式的文档
  • m: 只找说明文件
  • s: 只找source来源的档案
  • u: 除以上三种以外的其他档案

locate keyword

Linux将系统内的所有档案都记录在一个数据库档案里面。当使用 whereis 或者locate 时,都会以此数据库档案的内容为准。

因此,有的时后你还会发现使用这两个执行档时,会找到已经被杀掉的档案! 而且也找不到最新的刚刚建立的档案呢!这就是数据库还没有更新!

数据库的建立默认是每天执行一次,更新locate数据库只需要输入updatedb就可以了,可能会等待数分钟的时间。

  • updatedb:根据 /etc/updatedb.conf 的设定去搜寻系统硬盘内的文件名,并更新 /var/lib/mlocate 内的数据库档案;
  • locate:依据 /var/lib/mlocate 内的数据库记载,找出用户输入的关键词文件名。

find [PATH] [option] [action]

选项与参数:

  1. 与时间有关的选项:

    find / -mtime 0 : 从现在开始到24小时前,有变动过的内容

    find / -mtime 3 : 三天前的24小时内,有变动过的内容

  2. 与使用者或组名有关的参数

  3. 与档案权限及名称有关的参数

  4. 额外可进行的操作

find可以根据属性搜寻指定的文件,可选的参数相当复杂


看到这章的结尾部分,特殊权限似乎很重要,过两天补上吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值