Linux基础知识总结1

linux的文件系统层级结构

Linux基础知识总结1

 

删除目录和删除普通文件命令

删除目录文件 rm -rf使用rm -rf 目录名字 命令即可

-r 就是向下递归,不管有多少级目录,一并删除
-f 就是直接强行删除,不作任何提示的意思

eg

删除文件夹实例:rm -rf /var/log/httpd/access
将会删除/var/log/httpd/access目录以及其下所有文件、文件夹

删除文件使用实例:rm -f /var/log/httpd/access.log
将会强制删除/var/log/httpd/access.log这个文件


硬链接与软连接(符号链接)的区别:

软与源文件不是同一个文件,文件类型不同,inode不同,内容不同;硬链接则相同


Linux下 su命令与su - 命令的区别:

 

一、切换root身份不同

 

1、su命令:su只是切换了root身份,但Shell环境仍然是普通用户的Shell;而su -连用户和Shell环境一起切换成来root身份了。只有切换了Shell环境才不会出现PATH环境变量错误,报command not found的错误。

2、su - 命令:su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工自作目录;而用su -命令切换以后,工作目录变成root的工作目录了。

二、采用su deploy命令后,取目标用户不同

1、su命令:su不会读取目标用户的环境配置文件,如图。

 

2、su - 命令:su - 读取目标用户的环境配置文件,如图。

 

综上总结:有“-”和无“-”各自的环境变量不同。

三、service命令

1、su命令:使用 su root 切换到root用户后,不可以使用service命令;

2、su - 命令:使用 su - 后,就可以使用service命令了。

四、用echo $PATH命令后,环zhidao境量不同

1、su命令:环境量变为usr。

2、su - 命令:环境量变为oracle。

 


文本过滤显示:grep

可以根据特定的字符串,对指定文件的每一行进行搜索,如果找到了这个字符串,就将含有这些内容的行输出。

查找文件里有字符h的字符串:grep h 文件名

匹配整个单词:grep -w 单词 文件名

匹配以q开始的行:grep ^[q] 文件名

匹配以q结束的行:grep q$ 文件名

匹配以数字开头的行:grep ^[0-9] 文件名

匹配以q或者f开头的行:grep ^[qf] 文件名

不匹配以q或者f开头的行:grep ^[^qf] 文件名

匹配oo前面不是f或者g的字符串:grep [^gf]oo 文件名

匹配以#号开头的行:grep ^#

过滤空白行:grep ^$

如果要明确搜索子目录:grep -r h ./*

忽略子目录:grep -d skip h ./*

-l:查询多文件时只输出包含匹配字符的文件名

 搜索时忽略大小写:grep  -i

搜索时显示没有匹配到的行:grep    -v   

搜索时显示匹配到的那一行以及下2行:grep -A  2   

搜索时显示匹配到的那一行以及上2行:grep  -B  2

搜索时显示匹配到的那一行以及上下2行:grep  -C   2


find [path] [options] [expression]文件或目录查找而且可以直接对查找结果使用命令

1.与时间有关的参数:共有-atime(访问时间access time),-ctime(文件属性包括内容修改时间 change time),-mtime(文件内容修改时间 modify time)。ll --time=atime

-mtime n:意义为在n天之前的一天之内被更改过的文件;-mtime 4,前4~5那一天的文件名

-mtime -n:列出在n天之内(包含n天本身)被更改过的文件名;-mtime -4,小于等于4天内的文件名

-mtime +n:列出在n天之前(不包含n天本身)被更改过的文件名;-mtime +4,大于等于5天前的文件名

find /-mtime 0    #0代表目前的时间,所以从现在开始到24小时前有改动过内容的文件都会被列出来

find /etc/ -newer /etc/passwd寻找/etc/下面的文件,如果文件日期比/etc/passwd新就列出

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

-uid n:n为数字,这个数字是用户的账号ID,即UID

-gid n:GID

-user name:根据文件拥有者寻找文件

-group name:根据文件所属组寻找文件

-nouser:寻找文件的所有者不存在/etc/passwd的人

-nogroup:寻找文件的所有用户组不存在于/etc/group(当你自行安装软件时,很可能该软件的属性当中并没有文件所有者)

3.与文件权限及名称有关的参数

-name filename:查找文件名为filename的文件,支持通配符*和?(由于find命令自己能解析通配符的含义,所以加引号不会让*和?这两个符号失效)

-size [+-]SIZE:查找比SIZE还要大(+)或者小(-)的文件。这个SIZE的规格有:c代表字节,k代表1024字节。-size +50k表示要找比50kB还要大的文件。

-type TYPE:根据文件类型查找文件,一般正规文件f,设备文件c、b,目录d,链接文件l,socket(s),FIFO(p)

-perm -mode:根据文件权限寻找文件。-perm -0744,当一个文件权限为4755时,也会被列出来。

-perm +mode:查找文件权限“包含任一mode的权限”的文件。-perm +755,当一个文件权限为-rw-------时也会被列出来,因为它有rw的属性存在

find /bin /sbin -perm +6000找出在/bin和/sbin这两个目录下具有SUID或SGID的文件

4.其他可执行的操作

-exec command:command为其他命令,-exec后面可再接其他的命令来处理查找到的结果

-print:将结果打印到屏幕上,这个操作是默认操作

 

find / -perm +700 -exec ls -l {} \;

{}表示“由find找到的内容”,find的结果会被放置到{}位置中。

-exec一直到“\;”是关键字,代表额外命令的开始(-exec)到结束(\;),在这中间的就是find命令内的额外命令。额外的命令不支持命令别名。

 

经典案例

find  查找范围     查找条件

                         -name                 按名称查找Linux基础知识总结1

                        -maxdepth      查看多深的文件,不能超过所限制的目录下的内容

                        -mindepth        查看不小于多深的文件,不低于所限制内容Linux基础知识总结1

Linux基础知识总结1

 

                      -not      非

                      -o        或

                       -a       与   

                      -user    查找属于某用户的文件

                      -group  查找属于某用户组的文件
Linux基础知识总结1

Linux基础知识总结1

                    -size   20K   按文件大小查找20K 的文件

                    -size   -20K  查找不大于20K的文件

                    -size    +20K  查找大于 20K的文件
Linux基础知识总结1

                  -ctime   5       五内的时间点修改过的文件

                   -ctime   +5     五天前修改或的文件

                  -ctime  -5       小于五天修改过的文件

Linux基础知识总结1

                      -cmin  5  查看距现在5分钟时修改

                     -cmin   -5  查看五分钟内修改的文件

                     -cmin  +5  五分钟之前修改的文件

Linux基础知识总结1

                   -perm     按权限查找

                   -perm  555  查找权限为555的文件

                  -perm   -444  查找所有人 所有组 其他人 有读权限的文件

                   -perm  /444  查找所有人 或所有组 或其他人 至少有一个有读权限的文件
Linux基础知识总结1

将 /mnt 下有555权限的文件改为444

Linux基础知识总结1

查找/etc下所有后缀名为 .conf 的文件,并复制到 /mnt/mnt

Linux基础知识总结1