Linux常用命令(二)之权限管理、文件搜索、帮助、压缩命令及管道

在(一)中提到过rwx的含义,但是我们还需深入理解,明白其真正的含义和权限,对于文件和目录,rwx权限是不同的,尤其是目录的权限往往是被忽略的:

这里写图片描述

对于目录,其权限和对应的操作:

r-ls
w-touch、mkdir、rm
x-cd

英文原意:change the permissions mode of a file
功能:改变文件或目录权限
语法:

注:+表示增加权限,-表示减少权限,=表示授权
例子:

原来一个文件a,假设其权限-rw-r–r–,通过,将others的r权限去掉,文件a的权限变成了-rw-r—–

通过数字方式,其对应关系是:r-4,w-2,x-1,则权限rxwr-xr-x对应的数字是755(每三个一组)

英文原意:change file group ownership
所在路径:/bin/chgrp
语法: chgrp [用户组] [文件或目录]
例子: 改变文件file1的所属组为adm

可以使用useradd [用户名]和passwd [用户名]来填加用户和密码
语法: chgrp [用户] [文件或目录]
例子: 改变文件file1的所有者为nobody

语法:umask 或 umask -S
-S:以rwx形式显示新建文件或目录缺省权限

这里写图片描述

0代表特殊权限位
022代表用户权限位,权限掩码值,并不是最终权限,需要用777减去掩码值,即777-022=755

linux权限规则:缺省创建的文件不能授予可执行x权限,这个权限可以屏蔽很多木马与病毒

命令所在路径:/usr/bin/which
语法:which [命令名]
例子:就可以找到命令ls所在的路径
linux系统中多有对象都是文件,也就是说命令也是文件,因此通过which定位命令所在的目录,也可以确定出命令的权限

原则:查找占用的系统资源越少越好
语法:find [搜索路径] [搜寻关键字]

搜索路径:即查找范围,尽量不要在根目录查找,因为在根目录查找就相当于查找整个硬盘,商务英语会占用大量系统资源和时间

find是一个复杂的命令,在此仅仅通过实例来介绍最常见的选项:

注意:与windows不同,windows通过关键字例如init进行查找,会将带有init的文件全部查找出来,而Linux中,仅仅会列出文件名匹配为init的文件

通配符*:匹配任意字符,例如以init开头的文件可以表示为:

通配符?:匹配单个字符

在/etc下查找inittab文件并显示其详细

注:一个数据块512字节=0.5KB

100MB=102400KB=204800block

+表示大于,-表示小于,什么都不写表示等于(一般用不到,因为很难记住每个文件的大小)

1、天ctime、atime、mtime
2、分钟cmin、amin、mmin

  • c表示change,改变,表示文件的属性被修改过,例如所有者,所属组,权限,可以通过ls -l来查看文件的属性
  • a表示access,访问,表示文件被浏览过,例如cat,more等
  • m表示modify,修改,表示文件的内容被改过

-表示之内,-ctime -1表示1天之内
+表示超过,-ctime +1表示超过一天

例如,/etc目录下2小时之内,内容被修改过的文件:

-a and 逻辑与

在/etc下查找大于80MB小于100MB的文件

-o or 逻辑或

-exec

固定格式:find …… -exec 命令 {} \;

{}表示find查询的结果
\表示转义符,使一些符号和命令使用其本身的含义
;表示语句的结束

例如,在/etc下查找inittab文件并显示其详细信息:

英文原义:list files in database
locate的搜索速度特别快,因为并不是在硬盘中进行文件搜索,而是在database中进行搜索,奥斯卡电影因此有时没有及时更新数据库可能找不到,一般要与updatedb指令(执行权限为root)结合使用(系统也会自动定期更新数据库)。
语法:locate [搜索关键字]

例如,输出/etc/services文件中带有ftp的行:

man命令会调用more命令进行显示、浏览帮助文档

例如,查看ls命令的帮助信息:

例如,查看配置文件services的帮助信息

man会优先查看命令的帮助,优先级高于配置文件

UNIX系统中没有此命令,只是浏览方式和信息的呈现形式上不同于man,并没有太大的区别

即获得一个命令的最简单用途,即做什么用的

语法:whatis [任何关键字]

查看配置文件的内容:apropos [配置文件名称]

windows可以解压所有linux的压缩文件,但是反过来并不一定可以,在此介绍一些Linux中常用的压缩格式和压缩命令

特点:
(1)只能压缩文件,不能压缩目录,与windows rar不同,windows rar任何都可以压缩
(2)不保留源文件,压缩之后仅留下压缩文件
例如经过

操作之后发现有newfile4文件,我们对其进行压缩

继续上述例子:

语法:tar 选项 [目录]
选项:
-c:产生.tar打包文件
-v:显示详细信息
-f:指定压缩后的文件名
-z:打包同时压缩

压缩后的文件格式:.tar.gz(cat是无法浏览的),可以通过file来显示文件类型

假设通过ls指令我们发现有一个newdir目录,将目录newdir打包并压缩,雅思考试内容生成一个newdir.tar.gz文件(打包后的文件名可以自定义)

注意,有的UNIX并不支持打包并压缩,我们可以分步进行
先打包成tar包

再进行压缩

会将文件解压到当前目录下
语法:tar 选项 [文件名]
选项:

-x:解包.tar文件
-v:显示详细信息
-f:指定解压文件
-z:解压缩

分步进行:

windows与Linux通过的格式:zip,可以使用zip指令进行压缩,并且zip指令也可以压缩目录,并且zip会保留源文件

zip语法:zip 选项 [压缩后的文件名] [要进行压缩的文件或目录]
注意:压缩目录需要加上-r的选项

解压使用unzip即可

语法: unzip [压缩文件]

Linux的压缩比是非常惊人的,强于windows,尤其是bzip2指令

管道:将一个命令的输出传送给另一个命令,作为另一个命令的输入

使用方法:命令1|命令2|命令3……|命令n

例如:

命令替换:将一个命令的输出作为另一个命令的参数
格式为:
这里写图片描述
将命令2的结果作为命令1的参数

posted @ 2018-12-07 11:20  张嫣然  阅读(454)  评论(0编辑  收藏  举报
友情链接:http://www.taidai-tj.com/ | http://www.ai200808.com/ | http://wh.xhd.cn/