一:FHS文件系统层级标准—规定了目录的类型和文件存放类型
定义了在linux系统中的目录结构和目录内容,即让用户了解到已安装软件通常放置于哪个目录下。
FHS filesystem hierarchy standard定义了两层规范
第一层是/下面的各个目录应该要放什么文件数据,
第二层则是针对/usr及/var这两个目录的子目录来定义。例如/var/log放置系统登录文件、/usr/share放置共享数据等等。
匹配以q开始的行:grep ^[q] 文件名 ^表示行首
匹配以q结束的行:grep q$ 文件名 $表示行尾
匹配以数字开头的行:grep ^[0-9] 文件名 []指定的取值范围 只标记一个字符
匹配以q或者f开头的行:grep ^[qf] 文件名
不匹配以q或者f开头的行:grep ^[^qf] 文件名 [^ ]非
匹配oo前面不是f或者g的字符串:grep [^gf]oo 文件名
如果要明确搜索子目录:grep -r h ./*
忽略子目录:grep -d skip h ./*
搜索时忽略大小写:grep -i
搜索时显示没有匹配到的行:grep -v 反过滤
搜索时显示匹配到的那一行以及下2行:grep -A 2
搜索时显示匹配到的那一行以及上2行:grep -B 2
搜索时显示匹配到的那一行以及上下2行:grep -C 2
查询指定进程
查询指定进程的个数
2:find–find [path] [options] [expression]
1.与时间有关的参数:共有-atime,-ctime,-mtime。ll --time=atime
-mtime n:意义为在n天之前的一天之内被更改过的文件;
-mtime -n:列出在n天之内(包含n天本身)被更改过的文件名;
-mtime +n:列出在n天之前(不包含n天本身)被更改过的文件名;
find /-mtime 0 #0代表目前的时间,所以从现在开始到24小时前有改动过内容的文件都会被列出来
find /etc/ -newer /etc/passwd寻找/etc/下面的文件,如果文件日期比/etc/passwd新就列出
2.与用户或者用户组名有关的参数
-uid n:n为数字,根据文件用户id寻找文件,这个数字是用户的账号ID,即UID
-gid n:GID
-user name:根据文件拥有者寻找文件
-group name:根据文件所属组寻找文件
-nouser:寻找文件的所有者不存在/etc/passwd的人
-nogroup:寻找文件的所有用户组不存在于/etc/group(当你自行安装软件时,很可能该软件的属性当中并没有文件所有者)
3.与文件权限及名称有关的参数
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
示例2:解压缩 ---- -d选项
实例3:因为gzip默认压缩后源文件会消失的,若要保留源文件可以加-c选项,压缩到标准输出中,原文件保持不变(解压时需要保留原压缩文件也可以用-c选项)
示例4:-v选项显示压缩率
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的压缩文件,源文件消失
示例2:不保留源文件进行解压缩
实例3:压缩时保留源文件
实例4:解压缩时保留源文件
四:用户及组管理
/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
-l 修改登陆名
-u UID 指定UID
-g GID 指定基本组
-G GID1,GID2,... 指定附加组 useradd -G 组名 用户名
-c “注释信息” 指定用户注释信息 chfn
-d /path/to/dir 指定某个目录为用户家目录 71
-s /shell 指定用户使用的shell
-u 修改UID
-g 修改基本组,基本组必须事先存在
-G 这个选项会覆盖之前的附加组,和-a选项配合使用
usermod -G 组名 用户名(已存在的用户)
usermod -a -G 追加附加组
-c 修改用户注释信息
-s 修改用户shell
-l 修改登陆名
-L 锁住密码,使账号不能用
-U 为用户密码解锁
Userdel USERNAME 只删除用户,不删除用户家目录和邮箱
-r 删除用户时删除用户家目录和用户的邮箱
id 查看用户的ID信息,选项同useradd
-d /path/to/dir 指定某个目录为用户家目录
-u 显示UID
-G 显示附加GID
-g 显示GID
-n 指定密码的最短使用期限
-x 指定密码的最长使用期限
-w 设置密码过期警告时间
-l 锁定用户账号密码
-u 解锁用户账号
-d 删除用户密码,在redhat中,空密码用户禁止登陆
echo 密码 | passwd --stdin 用户名
2;组管理
**/etc/group
student:!!::student
组名:组密码占位符(!开头,表示无合法密码,无群组管理员):GID:以该组为附加组的用户名(当前组中的用户名)
-n 改组名
-g GID(添加组id名不能=)?
-r 添加系统组
-g GID
-n GRPNAME 修改组名
-a 添加用户到组
gpasswd -a 用户名 组名
或usermod/useradd -G 组名 username
-d 将指定用户移出本组(删除组内成员)
-M 设置组成员列表 (将多个用户拉入组中,覆盖之前的成员)
-A 指定管理员(组长)
-r 删除组密码
-R 限制用户登录组,只有组中成员才能加入该组(锁定组密码)
newgrp 登陆一个新组
五:关于/var/log下目录文件的日志信息
/var/log/ 目录之下的日志文件