Linux常用命令(链接命令权限管理命令和文件搜索命令)

Posted 林夕07

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux常用命令(链接命令权限管理命令和文件搜索命令)相关的知识,希望对你有一定的参考价值。

链接命令

ln

功能:生成链接文件(-s是软连接,没有参数是硬链接)
全称:link
所在地址:/bin/ln
格式:ln 参数[-s] [原文件] [目标文件]
权限:所有用户

参数解释
-s生成软连接
连接类型特点
软连接l 代表软连接类似于windows的快捷方式 虽然是三个rwx但是决定权限的是原文件权限。原文件丢失,软链接就使用不了了。1、软链接都是l开头,软链接文件权限都是lrwxrwxrwx。2、软链接很小 (十几字节)3、还有明显的箭头标识
硬链接相当于文件保存了属性的拷贝1、同时还具有同步更新2、可以通过前面的编号识别硬链接编号相同(ls -i)3、不能跨分4、不能对目录使用

无参数-硬链接
ln ./1.c ./q.hard
将1.c文件生成一个硬链接1.hard。我们发现俩者的身份证(编号)相同
在这里插入图片描述

软连接-参数n
ln -s ./1.c ./1.soft
将1.c文件生成一个软连接1.soft。可以看到软连接有明显的箭头标识
在这里插入图片描述

权限管理命令

chmod

功能:改变文件或目录权限
全称:change the permissions mode of a file 修改文件的权限模式
所在地址:/bin/chmod
格式:chmod [{ugoa}{±=}{rwx}] [文件或目录] [mode=42][文件或目录] -R 递归修改
权限:所有用户(只有拥有者和root才有修改权限)

参数解析参数解析参数解析
u拥有者+增加权限r(4)读权限
g所属组-减少权限w(2)写权限
o其他人=直接赋予新权限x(1)执行权限

使用+/-参数
chmod u+x,g+w,o-r ./1.c
查看1.c文件发现权限为拥有者有读写全权限,所属组有读权限,其他人拥有读权限。我们将这些权限原有基础上拥有者增加执行权限,所属组增加写权限,其他人减少读权限。
在这里插入图片描述
使用=参数
chmod u=rw,g=r,o=r ./1.c
直接将文件1.c权限设置为拥有者有读写权限,所属组有读权限,其他人有读权限
在这里插入图片描述
我们还有一种更加简单的方法
权限的数字表示方法
r-4 w-2 x-1
我们只需要分别计算拥有者、所属组、其他人的权限总和就ok了,比如我们现在给1.c文件给rwx-rw-r 转换为数字就是764
chmod 764 ./1.c
在这里插入图片描述

文件目录权限总结(重点)

对文件的操作取决于对文件所在目录的权限

代表字符权限对文件的含义对目录的含义
r读权限可以查看文件内容可以列出目录中的内容
w写权限可以修改文件内容可以在目录中创建
x执行权限可以执行文件可以进入目录

chown(拥有者权限修改)

功能:改变文件或目录的拥有者
全称:change the permissions mode of a file 修改文件的权限模式
所在地址:/bin/chown
格式:chmod [[用户] [文件或目录]
权限:只有管理员root才可以

将文件拥有者修改为zm用户
chown zm ./1.c
在这里插入图片描述
将目录拥有者修改为zm用户
chown zm ./test
在这里插入图片描述

chgrp(所属组权限修改)

功能:改变文件或目录的所属组
全称:change file group ownership更改文件组的拥有权
所在地址:/bin/chgrp
格式:chgrp[[用户组][文件或目录]
权限:只有管理员root才可以

将1.c文件所属组修改为zm用户
chgrp zm ./1.c
在这里插入图片描述
将test目录所属组修改为zm用户
chgrp zm ./test
在这里插入图片描述

umask(文件默认权限)

功能:显示、设置文件的缺省权限(安全提醒:缺省创建的文件是不能拥有可执行权限的(x))
全称:the user file-cretion mask用户文件创建掩码
所在地址:Shell命令
格式:umask [-S]
权限:只有管理员root才可以

参数解析
-S以rwx形式显示新建文件缺省权限

无参数显示默认权限
umask
为什么会有四个数字呢?
第一个是特殊权限(后面会说到),剩下三个022就是正常权限掩码(— -w- -w-)那么正常权限就是(rwx r-x r-x) 即为755权限
在这里插入图片描述
使用参数-S显示默认权限
umask -S
以rwx形式显示新建文件缺省权限
在这里插入图片描述

设置缺省权限
比如我们要设置rwx-rw-r,则转换为二进制为754,
转换为掩码:777-754=023即为--- -w- -wx
umask 023
在这里插入图片描述

文件搜索命令

find

功能:文件搜索
所在地址:/bin/find
格式:find [搜索范围] [参数] [匹配条件]
权限:只有管理员root才可以

参数解析
name通过文件名来搜索 (精准搜索,区分大小写)
iname通过文件名来搜索 (不区分大小写)
size通过大小来搜索(+代表大于,-代表小于,=代表等于)单位:c-字节 k-1024字节 M-1024k G - 1024M
user通过文件拥有者来搜索
group通过文件所属组来搜索
amin通过文件修改访问时间属性来搜索
cmin通过文件修改文件属性来搜索
mmin通过文件修改内容属性来搜索
type根据文件类型查找(f文件、d目录、l软链接文件)
-exec/-ok 命令 {} ;-ok 和-exec功能相同,但是ok会逐步提醒用户是否确认该操作
-inum根据编号查找
perm八进制的文件访问权限条件数字
通配符解析
*表示任意字符且任意长度
表示任意单个字符

通过文件名来搜索 name (精准搜索)
find ./ -name 1.c
在这里插入图片描述

通过文件名来搜索 (不区分大小写)
find ./ -name 1.c
在这里插入图片描述
通过文件名来搜索 (模糊搜索)
find /etc -name *init*
在 /etc目录下搜索带有“init”字符的所有文件
在这里插入图片描述
通过文件名来搜索 (模糊搜索)
find /etc -name init???
搜索在/etc目录下init开头后面还有三个字符的所有文件
在这里插入图片描述

通过文件大小来搜索
find ./ -size -3c
搜索当前目录下小于3字节的所有文件
在这里插入图片描述
通过文件拥有者来搜索
find ./ -user zm
搜索当前目录下文件拥有者为zm的所有文件
在这里插入图片描述

通过文件所属组来搜索
find ./ -group zm
搜索当前目录下文件所属组为zm的所有文件
在这里插入图片描述
通过文件内容修改时间属性来搜索
find ./ -mmin -300
搜索当前文件下,300分钟内被修改过的所有文件
在这里插入图片描述
使用多条件查找

条件变量解释
-a俩个条件都满足(and)
-o俩个条件只需要满足一个就好(or)

查找/etc目录下大于8M且小于10M的
find /etc -size +8M -a -size -10M
在这里插入图片描述

type根据文件类型查找

文件类型解析
f文件
d目录
l软连接文件

查找在home目录下名字为book开头 .c结尾的 且 文件类型为文件的
find /home -name book*.c -a type f
在这里插入图片描述

查找同时执行文件操作
格式:-exec/-ok [命令] {} ;
解析:ok 和exec功能相同,但是ok会逐步提醒用户是否确认该操作

查找/etc目录下名为inittab的文件且详细输出(ls -l)
find /etc/ -name inittab -exec ls -l {} \\;
在这里插入图片描述
查找/etc目录下名为init开头的的文件且详细输出(ls -l)
find /etc -name init* -a -type f -exec ls -l {} \\;
在这里插入图片描述
根据编号(inum)查找
查找1.c文件的编号为36843655
然后查找编号为36843655的文件将其删除时并逐步询问用户确定该操作
find ./ -inum 36843655 -ok rm {} \\;
在这里插入图片描述
根据文件的权限(perm)进行查找
find ./ -perm 755 -ls
在当前目录下查找755权限的所有文件
在这里插入图片描述

locate

功能:在文件资料库(数据库)中查找文件
所在地址:/usr/bin/locate
格式:locate 文件名
权限:所有用户

这个数据库一天更新一次,所以新创建的就可能查找不到
tmp目录下的文件不会被收录到资料库中
更新资料库命令:updatedb
下载跟新资料库(一般用于命令失效时使用):sudo updatedb

参数解析
i不区分大小写

命令失效
出现命令失效,使用updatedb
在这里插入图片描述
默认查找(区分大小写)
locate -i zhangsan
在这里插入图片描述

使用参数-i查找(不区分大小写)
locate -i zhangsan
在这里插入图片描述

which

功能:搜索命令所在目录及其别名信息
所在地址:/usr/bin/which
格式:which 命令
权限:所有用户

查看命令ls和rm别名信息
which ls
which rm
发现使用ls命令实际使用的是ls --color=auto,使用rm命令实际是rm -i
注释:–color=auto 表示搜索出的关键字用颜色显示
在这里插入图片描述

whereis

功能:搜索命令所在目录及其帮助文档路径
所在地址:/usr/bin/whereis
格式:whereis 命令
权限:所有用户

搜索命令ls和rm
whereis ls
第一个是绝对路径(/usr/bin/ls),其他就是帮助文档路径
在这里插入图片描述

grep

功能:在文件中搜寻子串匹配的行,并输出
所在地址:/usr/bin/grep
格式:grep 参数[-inv] [指定字串] [文件]
权限:所有用户

参数解析
i忽略大小写
n输出行号
v反向查找
–color=auto搜索出的关键字用颜色显示

默认搜索(区分大小写)
grep int ./MapDesign.cpp
搜索文件MapDesign.cpp文件中有int的子串的行,并输出
在这里插入图片描述
使用参数-i(不区分大小写)
grep -i azhang ./1.c
在文件中查找包含子串azhang(不区分大小写)的行,并输出
在这里插入图片描述
使用参数-n(输出行号)
grep -n int ./MapDesign.cpp
在这里插入图片描述
使用参数-v(反向输出)
grep -v azhang ./1.c
输出文件中不包含azhang子串的行
在这里插入图片描述

以上是关于Linux常用命令(链接命令权限管理命令和文件搜索命令)的主要内容,如果未能解决你的问题,请参考以下文章

Linux文本编辑器vim

Linux常用命令博文收集整理

Linux系列教程——Linux文件搜索命令

Linux常用命令合集

Linux系列教程——Linux文本编辑器vim

Linux笔记03: Linux常用命令_3.5权限管理命令