全面解析Linux指令和权限管理 (2)

91 阅读7分钟

在这里插入图片描述 @[TOC]( 目录)

一.指令再讲解

1.时间相关的指令

date指令: date 用法:date [OPTION]... [+FORMAT] 在这里插入图片描述 我们还可以指定date显示时间的格式: 在这里插入图片描述 date指令还有以下的指令:

%H : 小时(00..23) %M : 分钟(00..59) %S : 秒(00..61) %X : 相当于 %H:%M:%S %d : 日 (01..31) %m : 月份 (01..12) %Y : 完整年份 (0000..9999) %F : 相当于 %Y-%m-%d

date +%s可以显示当前的时间戳: 在这里插入图片描述 还可以使用date -d@时间戳的格式显示时间戳代表的具体日期和时间: 在这里插入图片描述 还有一点要注意的是: 在这里插入图片描述 因为Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。但是转换到东八区就不是午夜时分了而是上午八时

cal指令: cal指令可以显示日历,用法如下 : 在这里插入图片描述 在这里插入图片描述

2.find等搜索指令与grep指令

find指令: find用来在磁盘中查找指定文件并显示(指定路径下查找): 在这里插入图片描述 which指令: 在指令路径下查找指令: 在这里插入图片描述 whereis指令在系统特定的路径下查找,既可以找到可执行程序,又可以找到手册,安装包压缩包等之类。 grep指令: grep [选项] 搜寻字符串 文件。grep是行文本过滤工具: 常用的选项:

-i 忽略大小写的不同,所以大小写视为相同-i: -n : 顺便输出行号 -v 反向选择,亦即显示出没有“搜寻字符串' 内容的那一行

举例我们先向文本文件中写入一万行数据: 在这里插入图片描述 我们过滤出含999的行文本。 在这里插入图片描述

3.打包和压缩相关的指令

在文件操作时我们常用到打包和压缩的操作:打包不容易造成文件丢失,压缩可以减少文件体积,增加文件下载速度。 在这里插入图片描述 然后可以使用unzip指令解压缩:

在这里插入图片描述 tar指令: tar指令的选项则较多: tar [-cxtzjvf]文件与目录.... 参数

-c:建立一个压缩文件的参数指令(create的意思); -x:解开一个压缩文件的参数指令! -t:查看tarle里面的文件! -z:是否同时具有gzip的属性?亦即是否需要用gzip压缩? -j:是否同时具有bzip2的属性?亦即是否需要用bzip2压缩? -v:压缩的过程中显示文件!这个常用,但不建议用在背景执行过程! -f:使用档名,请留意,在f之后要立即接档名喔!不要再加参数! -C : 解压到指定目录

4.一些其他指令与热键

bc指令: bc指令就是Linux下的计算机: 在这里插入图片描述 uname指令: 显示当前Linux的内核版本等详细信息: 在这里插入图片描述 还有几个常用的热键:

[Tab]按键---具有『命令补全』和『档案补齐』的功能 [Ctrl]-c按键---让当前的程序『停掉』 [Ctrl]-d按键---通常代表着:『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外,他也可以用来取代exit [Ctrl]-r按键,可以寻找到你历史输入过得指令。

二.Linux权限

1.Linux的权限管理

Linux下有两种用户:超级用户(root)、普通用户。

超级用户:可以再linux系统下做任何事情,不受限制 普通用户:在linux下做有限的事情。 超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。

命令:su [用户名] 功能:切换用户。 例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 suroot(root可以省略),此时系统会提示输入root用户的秘钥

2.文件类型与权限设置

在这里插入图片描述 在文件详细信息这一行中,分别代表着文件类型、文件权限、所有者、所属组、文件大小、修改时间、文件/目录名称。 其中最前面的10个字符,第一个字符代表着文件类型,后面每三个分别代表着拥有者,所属组,其他人的文件权限:

d: 文件夹 -:普通文件 l:软链接(类似Windows的快捷方式) b:块设备文件(例如硬盘、光驱等) p:管道文件 c:字符设备文件(例如屏幕等串口设备) s:套接口文件

r代表可读,w代表可写,x代表可执行,-代表此位无权限。 以下是Linux中 权限的数值表示:

在这里插入图片描述 (1)chmod指令可以用来修改文件权限: 说明:只有文件的拥有者和root才可以改变文件的权限

+:向权限范围增加权限代号所表示的权限 -:向权限范围取消权限代号所表示的权限 =:向权限范围赋予权限代号所表示的权限 用户符号: u:拥有者 g:拥有者同组用 o:其它用户 a:所有用户

在这里插入图片描述 也可以使用八进制位数,整体修改文件的权限:

在这里插入图片描述 (2)chown指令: chown可以修改文件的拥有者。 (3)chgrp指令: chgrp可以修改文件的所属组。

这里还要引出一个新的问题:一个文件的其实权限是什么:

其实呢: 1.默认给普通文件的起始权限其实是666 2.默认给目录文件的起始权限其实是777

但是下图显示的结果却和我们预想的不一样,这是为什么呢? 在这里插入图片描述

其实在Linux中有权限掩码这一概念。4 我们可以通过umask指令:观察当前系统下的权限掩码: 在这里插入图片描述 然后呢 又有定义:[最终权限 = 权限掩码 & (权限掩码取反)],所以才有我们上面看到的结果。

3.目录的权限与粘滞位

目录文件的权限解释:

r : 是否允许我们查看指定目录下的文件内容 w :是否允许我们在当前目录下进行创建,更改,删除 x :是否允许用户进入对应的目录!

还有以下注意事项 :

  1. 普通用户自己的家目录权限是 700, 我在我的家目录创建的文件,别人都看不到!
  2. 有时候,我们多个用户想进行文件数据的共享。所以我们所建立的共享文件,不能再任何一个人的家目录下。
  3. 一个文件能否被删除,并不由文件本身决定,由这个文件所处的目录决定!。
  4. 如果我们去掉了共享目录的w权限,我们也同时无法创建文件啦 那共享体现在哪里呢??
  5. 粘滞位:给目录没置,一般是共享目录,大家可以进行在目录进行各自文件的增明改查,只允许文件拥有者或者root能这个文件,其他人一概不允许,t是一种特殊的x权限

当目录设置了粘滞位后,该目录下的文件只有root或者文件拥有者可以删除在这里插入图片描述

总结:

  • -目录的可执行权限是表示你可否在目录下执行命令。

  • 如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目录,即使目录仍然有-r 读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)

  • 而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限

  • 所以在目录下,即使可以执行Is命令,但仍然没有权限读出目录下的文档