您现在的位置是:首页 >技术教程 >全面解析Linux指令和权限管理网站首页技术教程
全面解析Linux指令和权限管理
目录
一.指令再讲解
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 :是否允许用户进入对应的目录!
还有以下注意事项 :
- 普通用户自己的家目录权限是 700, 我在我的家目录创建的文件,别人都看不到!
- 有时候,我们多个用户想进行文件数据的共享。所以我们所建立的共享文件,不能再任何一个人的家目录下。
- 一个文件能否被删除,并不由文件本身决定,由这个文件所处的目录决定!。
- 如果我们去掉了共享目录的w权限,我们也同时无法创建文件啦 那共享体现在哪里呢??
- 粘滞位:给目录没置,一般是共享目录,大家可以进行在目录进行各自文件的增明改查,只允许文件拥有者或者root能这个文件,其他人一概不允许,t是一种特殊的x权限。
当目录设置了粘滞位后,该目录下的文件只有root或者文件拥有者可以删除。
总结:
- -目录的可执行权限是表示你可否在目录下执行命令。
- 如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目录,即使目录仍然有-r 读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)
- 而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限
- 所以在目录下,即使可以执行Is命令,但仍然没有权限读出目录下的文档。