复习(四)--linux基础

一:FHS文件系统层级标准—规定了目录的类型和文件存放类型
定义了在linux系统中的目录结构和目录内容,即让用户了解到已安装软件通常放置于哪个目录下。
FHS filesystem hierarchy standard定义了两层规范
第一层是/下面的各个目录应该要放什么文件数据,
第二层则是针对/usr及/var这两个目录的子目录来定义。例如/var/log放置系统登录文件、/usr/share放置共享数据等等。

  • / 根目录,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织
    者也是最上级的领导者。
  • /usr 系统核心所在目录 系统资源 下面有库信息
  • /bin ,binary,用户命令
  • /sbin 管理员命令
  • /boot 系统启动相关的文件
  • /dev device,设备文件因为在这个目录中包含了所有linux系统中使用的外部设备。它实际上是一个访问这些外部设备的端口。可以非常方便地去访问这些外部设备,和访问一个文件,一个目录没有任何区别。
    设备文件
    块设备 可实现随机访问的设备,如磁盘,按数据块访问
    字符设备 线性访问的设备,如键盘,以字符为单位
  • /etc 配置文件(设置,对配置属性进行设置)
  • /home 家目录,root用户的家目录不在/home目录
  • /root root用户的家目录,在生产环境中不允许用root用户登录
  • /media 挂载点目录,通常挂载光盘,移动硬盘 永久挂载
  • /mnt 挂载点目录,通常挂载其他文件系统,这个目录一般是用于存放挂载储存设备的挂载目录的, 临时挂载
  • /var 可以理解为vary的缩写,/var下有/var/log 这是用来存放系统日志的目录。
  • /tmp temp,临时文件目录 全局可写
  • /lib library,库文件和内核模块文件,这个目录是用来存放系统动态连接共享库的。软连接文件
  • /srv 系统服务相关数据 系统启动服务时候可以访问的数据库目录
  • /opt option自由选择,主要给源码安装软件时候选择的安装目录位置
  • /proc process,该目录保存系统运行时(进程信息)内核的映射文件 伪文件目录
  • /run 进程相关的数据 伪文件目录
  • /sys 硬件设备的驱动程序信息 伪文件目录
    复习(四)--linux基础_第1张图片
    复习(四)--linux基础_第2张图片
    二:文本文件处理工具:grep&find
    1:grep–常与管道符 | 结合使用,表示将文件输出的结果再次进行处理
    查找文件里有字符R的字符串:grep R 文件名
    复习(四)--linux基础_第3张图片
    匹配整个单词:grep -w 单词 文件名
    复习(四)--linux基础_第4张图片
匹配以q开始的行:grep ^[q] 文件名   ^表示行首

复习(四)--linux基础_第5张图片

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

复习(四)--linux基础_第6张图片

匹配以数字开头的行:grep ^[0-9] 文件名 []指定的取值范围 只标记一个字符

复习(四)--linux基础_第7张图片

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

复习(四)--linux基础_第8张图片

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

复习(四)--linux基础_第9张图片

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

复习(四)--linux基础_第10张图片
匹配以#号开头的行:grep ^#
复习(四)--linux基础_第11张图片
过滤空白行以及注释行
复习(四)--linux基础_第12张图片

如果要明确搜索子目录:grep -r h ./*
复习(四)--linux基础_第13张图片
忽略子目录:grep -d skip h ./*
搜索时忽略大小写:grep -i
复习(四)--linux基础_第14张图片
搜索时显示没有匹配到的行:grep -v 反过滤
复习(四)--linux基础_第15张图片
搜索时显示匹配到的那一行以及下2行:grep -A 2
复习(四)--linux基础_第16张图片
搜索时显示匹配到的那一行以及上2行:grep -B 2
复习(四)--linux基础_第17张图片
搜索时显示匹配到的那一行以及上下2行:grep -C 2
复习(四)--linux基础_第18张图片
查询指定进程
在这里插入图片描述
查询指定进程的个数
在这里插入图片描述
2:find–find [path] [options] [expression]
1.与时间有关的参数:共有-atime,-ctime,-mtime。ll --time=atime
-mtime n:意义为在n天之前的一天之内被更改过的文件;
复习(四)--linux基础_第19张图片
-mtime -n:列出在n天之内(包含n天本身)被更改过的文件名;
复习(四)--linux基础_第20张图片
-mtime +n:列出在n天之前(不包含n天本身)被更改过的文件名;
复习(四)--linux基础_第21张图片
find /-mtime 0 #0代表目前的时间,所以从现在开始到24小时前有改动过内容的文件都会被列出来
find /etc/ -newer /etc/passwd寻找/etc/下面的文件,如果文件日期比/etc/passwd新就列出
复习(四)--linux基础_第22张图片
2.与用户或者用户组名有关的参数
-uid n:n为数字,根据文件用户id寻找文件,这个数字是用户的账号ID,即UID
复习(四)--linux基础_第23张图片
-gid n:GID

-user name:根据文件拥有者寻找文件
复习(四)--linux基础_第24张图片
-group name:根据文件所属组寻找文件
复习(四)--linux基础_第25张图片
-nouser:寻找文件的所有者不存在/etc/passwd的人
-nogroup:寻找文件的所有用户组不存在于/etc/group(当你自行安装软件时,很可能该软件的属性当中并没有文件所有者)
3.与文件权限及名称有关的参数

  • -name filename:查找文件名为filename的文件,支持通配符和?(由于find命令自己能解析通配符的含义,所以加引号不会让和?这两个符号失效)
    在这里插入图片描述
  • -size [±]SIZE:查找比SIZE还要大(+)或者小(-)的文件。这个SIZE的规格有:c代表字节,k代表1024字节。-size +50k表示要找比50kB还要大的文件。
    复习(四)--linux基础_第26张图片
  • -type TYPE:根据文件类型查找文件,一般正规文件f,设备文件c、b,目录d,链接文件l,socket(s),FIFO(p)
    复习(四)--linux基础_第27张图片
  • -perm -mode:根据文件权限寻找文件。-perm -0744,当一个文件权限为4755时,也会被列出来。
    复习(四)--linux基础_第28张图片
  • -perm +mode:查找文件权限“包含任一mode的权限”的文件。-perm +755,当一个文件权限为-rw-------时也会被列出来,因为它有rw的属性存在

find /bin /sbin -perm +6000找出在/bin和/sbin这两个目录下具有SUID或SGID的文件
SUID/GUID
4.其他可执行的操作
-exec command:command为其他命令,-exec后面可再接其他的命令来处理查找到的结果
-print:将结果打印到屏幕上,这个操作是默认操作
find -perm +700 -exec ls -l {} ;
{}表示“由find找到的内容”,find的结果会被放置到{}位置中。
-exec一直到“;”是关键字,代表额外命令的开始(-exec)到结束(;),在这中间的就是find命令内的额外命令。额外的命令不支持命令别名。

三:常用压缩与解压缩命令之gzip&bzip
1:gzip
gzip 是linux中常见的压缩/解压工具,最常见的使用对象是*.gz格式的文件
常用选项:
OPTIONS
-c --stdout --to-stdout 结果写到标准输出,原文件保持不变
-d --decompress --uncompress 解压
-r --recursive
-t --test 检查压缩文件的完整性
-v --verbose 显示每个文件的名子和压缩率
-# --fast --best 取值从-1(最快)到-9(最好),默认是-6

示例1:压缩文件–原文件名为test1,压缩后源文件消失,压缩后的文件名为test1.gz复习(四)--linux基础_第29张图片
示例2:解压缩 ---- -d选项
复习(四)--linux基础_第30张图片
实例3:因为gzip默认压缩后源文件会消失的,若要保留源文件可以加-c选项,压缩到标准输出中,原文件保持不变(解压时需要保留原压缩文件也可以用-c选项)
复习(四)--linux基础_第31张图片
示例4:-v选项显示压缩率
复习(四)--linux基础_第32张图片
2:bzip–
Linux系统中bzip2命令的英文是“bunzip2”,即.bz2文件格式的压缩程序。若没有加上任何参数,bzip2压缩完文件后会产生.bz2的压缩文件,并删除原始的文件。
常见选项:
-c或——stdout:将压缩与解压缩的结果送到标准输出;
-d或——decompress:执行解压缩;

-f或-force:bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖。请使用此参数;
-h或——help:在线帮助;
-k或——keep:bzip2在压缩或解压缩后,会删除原始文件。若要保留原始文件,请使用此参数;
-s或——small:降低程序执行时内存的使用量;
-t或——test:测试.bz2压缩文件的完整性;
-v或——verbose:压缩或解压缩文件时,显示详细的信息;
-z或——compress:强制执行压缩;
-V或——version:显示版本信息;
–repetitive-best:若文件中有重复出现的资料时,可利用此参数提高压缩效果;
–repetitive-fast:若文件中有重复出现的资料时,可利用此参数加快执行效果。

示例1:不加任何选项,直接压缩为.bz2的压缩文件,源文件消失
复习(四)--linux基础_第33张图片
示例2:不保留源文件进行解压缩
复习(四)--linux基础_第34张图片
实例3:压缩时保留源文件
复习(四)--linux基础_第35张图片
实例4:解压缩时保留源文件
复习(四)--linux基础_第36张图片
四:用户及组管理

/etc/passwd      用户相关信息
/etc/shadow      用户密码
/etc/group       组相关信息
/etc/gshadow     组密码
/etc/login.defs      设置用户创建时默认相关信息
/etc/defualt/useradd    用户添加时会创建的相关信息设置
/etc/skel               用户家目录下相关隐藏文件
/var/spool/mail    /var/mail 用户邮箱记录

1;用户管理:
(用户配置文件----- /etc/passwd
#用户名:密码的占位符:UID:GID:描述字段(注释):用户家目录:shell字段设置

[root@localhost Desktop]# man 5 passwd
          a3:x:1238:1238::/home/a3:/bin/bash
#用户名:密码的占位符:UID:GID:描述字段(注释):用户家目录:shell字段设置
    用户名
	password	     密码,x为密码占位符,目标为/etc/shadow第二个字段
	UID			     用户ID
	GID			     基本组ID,额外组信息在/etc/group文件中
	CECOS		     用户基本信息
	HOME DIR	     用户家目录,系统用户不允许登陆
	shell		     用户的默认shell,/etc/shells保存了所有的合法shell
  • useradd USERNAME/adduser
-l        修改登陆名
-u UID        指定UID
-g GID        指定基本组
-G GID1,GID2,...   指定附加组   useradd -G  组名 用户名
-c        “注释信息”  指定用户注释信息      chfn
-d        /path/to/dir    指定某个目录为用户家目录  71
-s       /shell     指定用户使用的shell 
  • Usermod(对配置文件进行修改) 修改用户相关信息,选项同useradd
-u        修改UID
-g        修改基本组,基本组必须事先存在
-G        这个选项会覆盖之前的附加组,和-a选项配合使用
          usermod -G  组名 用户名(已存在的用户)
          usermod -a -G 追加附加组
-c        修改用户注释信息
-s        修改用户shell
-l        修改登陆名
-L        锁住密码,使账号不能用
-U        为用户密码解锁
  • userdel
Userdel  USERNAME   只删除用户,不删除用户家目录和邮箱
-r        删除用户时删除用户家目录和用户的邮箱
id        查看用户的ID信息,选项同useradd
-d        /path/to/dir    指定某个目录为用户家目录
-u        显示UID
-G        显示附加GID
-g        显示GID
  • passwd 修改密码:passwd 用户名
-n      指定密码的最短使用期限
-x      指定密码的最长使用期限
-w      设置密码过期警告时间
-l      锁定用户账号密码
-u      解锁用户账号 
-d      删除用户密码,在redhat中,空密码用户禁止登陆
echo 密码 | passwd --stdin 用户名

2;组管理
**/etc/group
student:!!::student
组名:组密码占位符(!开头,表示无合法密码,无群组管理员):GID:以该组为附加组的用户名(当前组中的用户名)

  • groupadd 添加一个组
-n        改组名
-g        GID(添加组id名不能=)?
-r        添加系统组
  • groupdel 删除一个组 (不能删除基本组)
  • groupmod 修改一个组
-g        GID
-n        GRPNAME    修改组名
  • gpasswd +用户名 设置组密码
 -a            添加用户到组
              gpasswd -a   用户名   组名
             或usermod/useradd  -G  组名  username  
-d             将指定用户移出本组(删除组内成员)
-M             设置组成员列表 (将多个用户拉入组中,覆盖之前的成员)   
-A             指定管理员(组长)    
-r             删除组密码
-R             限制用户登录组,只有组中成员才能加入该组(锁定组密码)
newgrp	  登陆一个新组

五:关于/var/log下目录文件的日志信息
/var/log/ 目录之下的日志文件

  • /var/log/messages — 包括整体系统信息,其中也包含系统启动期间的日志。此外,mail,cron,daemon,kern和auth等内容也记录在var/log/messages日志中。
  • /var/log/dmesg — 包含内核缓冲信息(kernel ring buffer)。在系统启动时,会在屏幕上显示许多与硬件有关的信息。可以用dmesg查看它们。
  • /var/log/auth.log — 包含系统授权信息,包括用户登录和使用的权限机制等。
  • /var/log/boot.log — 包含系统启动时的日志
    更多戳我

你可能感兴趣的:(复习(四)--linux基础)