注:斯蒂芬.库里 Curry

一.文件类型

-rw-r--r-)文件类型 (-二进制文件 d目录 l软连接文件)

rw- r-- r--u所有者 g所属组 o其他人  

r读 w写 x执行

二.目录处理命令:

1. 目录处理命令:ls

命令英文原意:lis

命令所在路径:/bin/ls

执行权限:所有用户

语法 : ls 选项[-lah] 文件或目录

-a 显示所有文件,包括隐藏文件

-l 详细信息显示

-d 查看目录属性

-h 更人性化显示文件大小单位(KB,MB,GB

-i 查看序列号

-t 按时间显示

-S 由大到小排序

-r 由小到大排序

2.排序:sort

语法:sort 文件或目录

默认按字母排序

选项:

-M:按月份排序

-n:从小到大

-r:反序,从大到小

-t:指定一个用来区分键位置字符

-k:后面跟数字,指定按第几列进行排序

3.目录处理命令:cd [切换目录]

命令英文原意:change directory

命令所在位置:shell内置命令

执行权限:所有用户

语法:cd [目录]

cd ~ 返回当前登录用户的目录

cd – 返回前一个目录位置

cd .. 返回上一级目录

4.目录处理命令:pwd  [显示当前目录]

命令英文原意:print working directory

命令所有路径:/bin/pwd

执行权限:所有用户

挂载命令:mount

命令位置:/bin/mount

执行用户:所有用户

语法:mount 【-t文件系统】 设备文件名 挂载点

挂载点:/dev/sr0   /dev/cdrom

卸载光盘:umount

语法:umount /dev/sr0

断开连接:eject

md5sum:命令工具检测MD5校验和

5.查看文件的详细信息stat [目录或文件]

注:atime访问时间

mtime修改时间

ctime改变时间

三.文件处理命令:

1. 文件处理命令rmdir [删除空目录]

命令英文愿意:remove empty directories

命令所在位置:/bin/rmdir

执行权限:所有用户

2.文件处理命令:mkdir //创建目录文件夹

命令英文愿意:makdirectories

文件路径:/bin/mkdir

执行权限:所有用户

语法:mkdir -p 目录

-p 递归创建 //嵌套创建

例:mkdir -p /tmp/Japan/boduo

3.文件处理命令:cp [复制文件或目录]

命令英文原意:copy

命令所在位置:/bin/cp

执行权限:所有用户

语法:cp -rp 【源文件或目录】 【目标目录】

-r:复制目录

-p:保留文件属性

-f:强制复制

install 可以用于复制指定权限

格式:install -m 权限 源文件 目标文件

4. 文件处理命令:mv 【剪切文件 改名】

命令英文原意:move

命令所有路径:/bin/mv

执行权限:所有用户

语法 mv 【源文件或目录】 【目标目录】

5.文件处理命令:rm  【删除文件或目录】

命令英文原意:remove

命令所在位置:bin/rm

执行权限:所有用户

语法:rm -rf 【文件或目录】

-r 删除目录

-f 强制执行

6.文件处理命令:touch 创建空文件

执行权限:所有用户

语法: touch 文件名

 touch “I Love” 【使用空格做名称】

7.文件处理命令:cat

命令存放路径:/bin/cat

执行权限:所有用户

语法:cat 文件位置

-n 显示行号

8.文件处理命令:tac 【倒序查看文件】

注:与cat查看相反查看顺序为倒着

9.文件处理命令:more 【分页显示文件内容】

文件存放位置:/bin/more

执行权限:所有用户

语法:more 【文件名】

【空格】或f  翻页

【Enter】    换行

【q或Q】   退出

10.文件处理命令:less 【分页查看文件】

文件所有位置:/usr/bin/less

执行权限:所有用用户

语法 less 文件名

/  查找文件内容  查找字符反白

n 当页没有查找下一个

11.文件处理命令:head  【查看文件前几行】

语法:head -n 10 文件路径  【查看前十行的内容】

-n :指定行数

12.文件处理命令:tail  【查看文件后几行】

语法:tail -n 10 文件路径  【查看后十行的内容】

-n :指定行数

-f : 动态显示文件

13.文件处理命令:ln 【生成链接文件】

命令英文原意:link

命令存放位置:/bin/ln

执行权限:所有用户

语法:ln -s 【源文件】 【目标文件】

-s 创建软链接

硬链接特征:
1.同步更新【cp -p】

2.不能跨分区

3.不能针对目录使用

4.硬链接被删除另一个位置的硬链接可以使用

软连接相反

14.文件处理命令 wc  【查看文件行数,字节,单词个数】

语法 wc 文件路径

-c:统计内容的字节数

-l:统计内容中的行数

-w:统计单词个数

四.权限管理命令: 

1. 权限管理命令:chmod 【改变文件或目录】

命令英文原意:change the permissions mode of a file

命令所在位置:/bin/chmod

执行权限:所有用户

语法: chmod [{ugoa}{+-=}{rwx}] [文件或目录]

【mode = 421】【文件或目录】

-R 递归修改

代表字符

权限

对文件的含义

对目录的含义

r

读权限

可以查看文件的内容

可以列出目录中的内容

w

写权限

可以修改文件内容

可以在目录中创建,删除文件

x

执行权限

可以执行文件

可以进入目录

警告

UID_MIN  500 #最小和最大UID范围

GID_MAX  6000

ENCRYPT_METPHOD  SHA512  #加密模式

五.文件搜索命令:
1.文件搜索命令:find 【搜索文件或目录】

语法: find /etc -name init

-iname 不区分大小写

-size :文件大小

+n 大于 -n 小于 n等于

-user 文件属主

-group 根据所属组查找

时间搜索:
-amin:访问时间access

-cmin:文件属性change

-mmin:文件内容modify

判断:

-a 两个条件同时满足

-o两个条件满足任意一个即可

find /etc -name “init” -exec ls -l {} \;

-exec/-ok 命令 {} \; 对搜索结果执行操作

执行命令

-type 根据文件类型查找

f文件 d目录 l软连接文件

-inum 根据i节点查找

-perm 根据权限查找

例:find /bin/ -perm 755 #等于0755权限的文件或文件

find /bin/ -perm -644 #至少有644权限的文件或目录

2.文件搜索命令:locate 【在文件资料中查找文件】

命令所在位置:/usr/bin/locate

执行权限:所有用户

语法:locate 文件名

3.文件搜索命令:which  【搜索命令所在目录以及别名信息】

命令所在位置:/usr/bin/which

执行权限:所有用户

语法:which 命令

4.文件搜索命令:whereis  【搜索命令所在目录及帮助文件路径】

命令所在路径:/usr/bin/whereis

执行用户:所有用户

语法: whereis 【命令名称】

5.文件搜索命令:grep 【在文件中搜索字符串匹配的行并输出】

命令所在路径:/bin/grep

执行权限:所有用户

语法:grep –iv 【指定字串】 【文件】

-I :不区分大小写

-v : 排除执行字符

六.帮助命令:
1.帮助命令:man 【获取帮助信息】

命令英文原意:manual

命令所在路径:/usr/bin/man

执行权限:所有用户

语法:man 【命令或配置文件】

2.uptime:查看Linux系统运行多长时间

七:用户管理命令:

  1. 用户管理命令:useradd 【添加新用户】

命令所在位置:/usr/sbin/useradd

执行权限:root

语法:useradd 用户名

2.用户管理命令:passwd  【设置用户密码】

命令所在位置:/usr/bin/passwd

执行权限:所用用户

语法:passwd 用户名

3.用户管理命令:who 【查看登录用户信息】

命令所在位置:/usr/bin/who

执行权限:所有用户

语法:who

返回值:tty 本地终端  pts远程终端

4.用户管理命令:w  【查看登录用户详细信息】

命令所在位置:/usr/bin/w

执行权限:所有用户

语法: w

八.文件压缩命令:

1.压缩解压命令:gzip  【压缩文件】

命令英文原意:gnu zip

命令所在位置:/bin/gzip

执行权限:所有用户

语法:gzip 【文件】

压缩格式:.gz

2.压缩解压命令:gunzip 【压缩.gz文件】

命令所在位置:/bin/gunzip

执行权限:所有用户

语法:gunzip 【压缩文件】

3.压缩解压命令:tar  【打包目录】

命令所在位置: /bin/tar

执行权限:所有用户

语法:tar 选项【-zcf】【压缩后文件名】【目录】

-c 打包

-v 显示详细信息

-f:指定文件名

-z:打包同时压缩

-x:解包

-v:显示详细信息

-C:指定解压位置

4.压缩解压命令:zip  【压缩文件或目录】

命令所在路径:/usr/bin/zip

执行权限:所有用户

语法:

zip 选项【-r】 【压缩后文件名】 【文件或目录】

-r 压缩目录

压缩后文件格式:.zip

5.压缩解压命令:unzip  【解压.zip的压缩文件】

命令所在路径:/usr/bin/unzip

执行权限:所有用户

语法:unzip 【压缩文件】

6.压缩解压命令:bzip2  【压缩文件】

命令所在路径:/usr/bin/bzip2

执行权限:所有用户

语法:bzip2 选项【-k】 【文件】

-k 产生压缩文件后保留源文件

压缩后文件格式:.bz2

7.压缩解压命令:bunzip2 【解压缩】

命令所有路径:/usr/bin/bunzip2

执行权限:所有用户

语法:bunzip 选项 【-k】 【压缩文件】

-k 解压缩后保留源文件

九.网络命令:

1.网络命令:write 【给用户发信息】 Ctrl+D保存结束

指令所在位置:/usr/bin/write

执行权限:所有用户

语法:write <用户名>

2.网络命令:wall 【发广播信息】

命令英文原意:write all

指令所在路径:/usr/bin/wall

执行权限:所有用户

语法:wall

  1. 网络命令:ping 【测试网络连通性】

命令所在路径:/bin/ping

执行权限:所有用户

语法:ping 选项 IP地址

-c 指定发送次数

3.网络命令:ifconfig 【查看和设置网卡信息】

命令英文原意:interface configure

命令所在路径:/sbin/ifconfig

执行权限:root

语法:ifconfig 网卡名称 ip地址

4.网络命令:mail 【查看发送电子邮箱】

命令所在路径:/bin/mail

执行权限:所有用户

语法:mail 【用户名】

mail #查看当前用户的电子邮箱

5.网络命令:last  【列出目前与过去登入系统的用户信息】

命令所在路径:/usr/bin/last

执行权限:所有用户

语法:last

6.网络命令:lastlog  【检查某特定用户上次登录的时间】

命令所在位置:/usr/bin/lastlog

执行权限:所有用户

语法:lastlog

7.网络命令:traceroute  【显示数据包到主机间的路径】

命令所在路径:/bin/traceroute

执行权限:所有用户

语法:traceroute

8.网络命令:netstat  【显示网络相关信息】

命令所在位置:/bin/netstat

执行权限:所有用户

语法:netstat 【选项】

选项:

-t:TCP协议

-u:UDP协议

-l:监听

-r:路由

-n:显示IP地址和端口号

netstat -tlun :查看本机监听的端口

netstat -an :查看本机所有的网络连接

netstat -rn :查看本机路由表

9.网络命令:setup 【配置网络】

命令所在位置:/usr/bin/setup

执行权限:root

语法:setup

10.网络命令:route 【查看路由表条目】

语法:route [-n#显示为数字格式]

11.网络命令:nslookup 【域名解析】

语法:nslookup 目标主机地址 【DNS服务器地址】

十.关机重启命令

1.命令:shutdown [选项] 时间

-c :取消前一个关机命令

-h :关机

-r :重启

其他关机命令:

halt

poweroff

init 0

2.命令:reboot  init6 重启

3.命令:logout 退出登录

IP地址配置

配置文件:vim /etc/sysconfig/network-scripts/ifcfg-eth0

选项:ONBOOT=no 【网卡关闭】

系统运行级别:

0:关机

1:单用户

2:不完整多用户,不含NFS服务

3:完整多用户

4:未分配

5:图形界面

6:重启

cat  /etc/inittab #修改系统默认运行级别

id:3:initdefault

runlevel:查询系统运行级别、

十一.vim编辑器

1.导入命令快捷键:r:!命令

2.定义快捷键:map 快捷键 触发命令

示范:map Ctrl+v+p I#<esc>

map ^B 0x

3.连续行注释:

:n1,n2s/^/#/g

:n1,n2s/^#//g

4.替换:ab mymail samlee@lampbrother.net

输入mymail会自动改为邮箱地址

默认快捷键位置:.vimrc  /home/username/vimrc

5.以左右方式打开两个文档

vim -o /etc/passwd /etc/hosts

注:ctrl+ww 在两个文档之间进行切换。大写O左右分屏,小写的o上下分屏

6.比较两个文件内容

格式:diff  比较第一个文件  比较第二个文件

diff /etc/passwd /etc/233.txt

vimdiff /etc/passwd /etc/233.txt

十二.RPM软件包

  1. rpm软件包:扩展名:.rpm

RPM包默认安装路径

/etc/  配置文件安装目录

/usr/bin/  可执行的命令安装目录

/usr/lib/   程序所使用的函数库保存位置

/usr/share/doc/ 基本的软件使用手册保存位置

/usr/share/man/ 帮助文件保存位置

  1. 语法:-q[子选项] [软件名]

选项:

-qa:查看系统中已安装的所有RPM软件包列表

-qi:查看指定软件的详细信息

-ql:查询指定软件包所安装的目录,文件列表

-qc:仅显示指定软件包安装的配置文件

-qd:仅显示指定软件包安装的文档文件

-q:查看软件包是否被安装

-qR:查询软件包的依赖包

4.查询文件或目录属于那个RPM软件

语法:rpm -qf 文件或目录名

5.查询未安装的RPM包文件

语法:rpm -qp【子选项】 RPM包文件

选项:

-qp:查看未安装信息的详细信息
-qpi:通过.rpm包文件查看该软件的详细信息

-qpl:查看.rpm安装包内所包含的目录,文件列表

-qpc:查看.rpm安装包内包含的配置文件列表

-qpd:查看.rpm安装包内包含的文档文件列表

-qRp:查看未安装包的依赖性

6.安装或升级RPM软件

格式:rpm 【选项】 RPM包文件

选项:
-i:安装一个新的rpm软件包

-U:升级某一个rpm软件,若原本未装,则进行安装

-F:更新某一个rpm软件,软原本未装,则放弃安装

7.卸载指定的RPM软件

格式:rpm -e 软件名

8.辅助选项

--force:强制安装所指定的rpm软件包

--nodeps:安装,升级或卸载软件时,忽略依赖关系

--h:以“#”号显示安装的进度

--v:显示安装过程中的详细信息

9.重建RPM数据库

--rebuilddb

--initdb

10.导入验证公钥

--import  公钥路径
11.完整性效验:

md5sum效验工具

RPM包效验:
rpm -V 已安装的包名

选项:

-V:效验指定RPM包中的文件(verify)

rpm -Vf RPM包的绝对路径

rpm -V 包的名称

rpm -Vf  查看系统中所有RPM包的文件是否被改过

出现下面的字符代表测试的失败:

5:MD5校验和是否改变

S:文件长度,大小是否改变

L:符号链接,文件路径是否改变

T:文件修改是否改变

注:计算MD5效验和,并与官方提供的值相比较,判断时候一致

12.编译安装过程

make 编译

make clean  清除当前二进制文件(重新配置)

make install 编译安装

13.RPM包依赖包

模块依赖查询网站:

www.rpmfind.net

14.恢复安装包的子选项

语法:rpm2cpio [包位置] | cpio -idv ./bin/子选项

十三.网络yum:

1.yum网络存放位置:vi /etc/yum.repos.d/CentOS-Base.repo

选项:

【base】:容器名称,一定要放在【】中

name:容器说明

mirrorlist:镜像站点,可以注释掉

baseurl:我们的yum源服务器地址

enabled:容器是否生效1生效0不生效

gpgcheck:如果是1指RPM的数字证书生效,如果是0则不生效

gpgkey:数字证书的公钥文件保存位置

2.常用yum命令:

查询:yum list #查询所有可用软件包列表

yum search 关键字  【搜索服务器上所有和关键字相关的包】

安装:yum -y install 包名 【安装软件包】

install 安装

-y 自动安装回答yes

升级:yum –y update 包名

update 安装

-y 自动回答yes

卸载:yum –y remove 包名

remove 卸载

-y 自动回答yes

仅下载不安装:yum  install --downloadonly  --downloaddir=存放位置  软件包名
--downloadonly:仅下载不安装

--downloaddir:存放位置

本地安装rpm:yum -y localinstall 软件包

清除缓存:

yum clean packages #清除缓存目录下的软件包

yum clean headers  #清除缓存目录下的headers

yum clean oldheaders #清除旧的缓存headers

yum clean all #清除所有缓存

查询命令属于哪个包的:yum provides  软件包名或命令

3.yum软件组管理命令

命令:

yum grouplist #列出所有可用的软件组列表

yum groupinstall #软件组名 #安装指定软件组,组名可以由grouplist查询出来

yum groupremove 软件组名 #卸载指定软件组

  1. 光盘yum源搭建步骤
  1. 挂载光盘
  2. 让网络yum源文件失效
  3. 修改光盘yum文件
    1. baseurl=file://mnt/cdrom  #地址为你自己的光盘挂载地址
    2. 注释两个不存在的地址

十四.用户管理

用户管理命令:useradd   【创建用户】

语法:useradd 【选项】 用户名

-u:指定UID标记号

-d:指定宿主目录

-e:指定账号失效时间

-g:指定用户的基本组名

-G:指定用户的附加组名

-M:不为用户建立并初始化宿主目录

-s:指定用户的登录shell

用户管理命令:passwd  【管理账号密码】

语法:passwd 【选项】 用户名

-d:清空用户的密码

-l:锁定用户账号

-S:查看用户账号的状态

-u:解锁用户账号

--stdin:使用管道符之前的字符串作用户密码

语法:echo ‘123’ | passwd –stdin 用户名

修改用户账号属性:usermod

语法:usermod 【选项】 用户名

选项:

-l:更改用户账号的登录名称

-L:锁定用户

-U:解锁用户账户

其他与usreadd含义相同

删除用户账号:userdel

语法:userdel 【-r】 用户名

-r:先用户的宿主目录一并删除

组账号文件:

/etc/group:保存账号基本信息

/etc/gshadow:保存组账号的密码信息

添加组账号:groupadd
语法:group 【-g GID】 组账号名

添加删除组成员:gpasswd

语法:gpasswd 【选项】 组账号名

-a:向组内添加一个用户

-d:从组中删除一个用户成员

-M:定义组成员列表,以逗号分割

删除组账号:groupdel

语法:groupdel 组账号名

查询账号信息

查询用户身份标识:id 用户名

查询用户所属组:groups 用户名

查询用户账号的详细信息:finger 用户名

查询以登录到主机的用户的信息:users,w,who

修改用户密码状态chage

语法:chage 【选项】用户名

选项:

-l:列出用户的详细密码状态

-d日期:修改密码最后一次更改日期

-m 天数:两次密码修改间隔

-M 天数:密码有有效期

-W天数:密码过期前警告天数

-I 天数:密码过后宽限天数

-E 日期:账号失效时间

切换用户身份su

语法:su 【选项】 用户名

选项:

-:选项只使用‘-‘代表连带用户的环境变量一起切换

-c:仅执行一次命令,而不切换用户身份

例子:su -root -c “useradd  user1”  #执行添加用户命令

十五.磁盘和文件系统:

主分区:最多四个

扩展分区:做多一个

逻辑分区:IDE硬盘最多59个逻辑分区

SCSI硬盘最多支持11个逻辑分区

检测查看硬盘:fdisk -l 磁盘设备

在交互式的操作环境中管理磁盘分区:fdisk 【磁盘设备】

交互常用指令:

m:查看操作指令的帮助信息

p:列表查看分区信息

n:新建分区

d:删除分区

t:变更分区类型

w:保存分区设置并退出

q:放弃分区并退出

创建文件系统:mkfs -t 文件系统类型 分区设备

创建XFS文件系统:mkfs -t xfs 分区设备

创建FAT32文件系统:mkfs -t vfat -F 32 分区设备

选项:-F 指定FAT的版本

创建交换文件系统:mkswap  分区设备

swapon:启动交换分区

swapoff:停用交换分区

重新读取分区表信息:partprobe

LVM:逻辑卷管理  #动态调整磁盘容量

图形界面管理工具:system-config-lvm

LVM机制:PV VG LV

功能:
scan扫描

create建立

display显示

remove删除

extend扩展

reduce减少

主要命令:

pvcreate 设备名1 设备名2

vgcreate 卷组名 物理卷名1 物理卷名2

lvcreate -L 容量大小 -n 逻辑卷名 卷组名

lvextend -L +大小 /dev/卷组名/逻辑卷名

ext4格式增减

lvresize -L +200G /dev/Vgtest/Lvtest #增加200G容量

e2fsck -f /dev/Vgtest/Lvtest #强制检测文件系统

resize2fs /dev/Vgtest/Lvtest #刷新

减:

umount /dev/bdqn #如果要减少容量需要先挂载光盘

e2fsck -f /dev/Vgtest/Lvtest #对lv强制执行文件系统检测

resize2fs /dev/Vgtest/Lgtest #使用resize2fs对lv逻辑卷的逻辑边界空间大小调整为缩减后的大小

lvreduce -L 7G /dev/Vgtest/Lgtest #使用lvreduce对lv逻辑卷的物理边界进行缩减

磁盘配额:
作用范围:针对指定的文件系统

限制对象:用户,组

限制类型:磁盘容量,文件数量

限制方法:软限制(soft) 硬限制(hard)

启动磁盘配置支持:usrquota,grpquota

ext4文件系统磁盘配额

  1. 生成配置文件 quotacheck -ug /dir
  2. 开启配额功能 quotaon /dir 关闭配额功能:quotaoff /dir
  3. 编辑用户配额 edquota -u 用户 /dir

XFS格式配额格式:

xfs_quota -x -c ‘limit -u bsoft=N bhard=N isoft=N ihard=N 用户名’ 挂载点

选项:
-u:用户

-g:组

-x:专家

-c:limit命令创建配额

bsoft:磁盘容量软限制

bhard:磁盘容量硬限制

isoft:文件数量软限制

ihard:文件数量硬限制

查看配额使用情况:
格式:xfs_qouta -x -c ‘report 选项’ 挂载点

选项:-a -i -b -u -g

查看磁盘使用情况:df 【选项】 【文件】

-hT:显示MB大小和文件类型

挂载,卸载文件系统:
挂载文件系统mount

格式:

mount 【-l】 #查询系统已经挂载的设备

mount 【-a】 #依据配置文件/etc/fstab的内容自动挂载

mount 【-t 文件系统】存储设备 挂载点目录

mount -o loop ISO镜像文件 挂载点目录 #指定系统文件挂载到指定目录

卸载已挂载的文件系统:umount  文件位置或挂载点目录

设置自动文件系统的自动挂载:/etc/fstab

格式:

设备名

文件系统挂载点 

文件系统类型

挂载参数:例:defaults,rw,ro,noexec,表示默认参数

文件是否需要dump备份:一般为1时表示需要,设为0时将被dump忽略

启动时进行磁盘的检测的顺序:0表示不进行检查,1表示优先检查,2表示其次检查,根分区应设为1,其他分区设为2.

显示磁盘状态命令:dumpe2fs

语法:dumpe2fs 分区设备文件名

dump备份命令

格式:dump [选项] 备份之后的文件名 源文件或目录

选项:

-level:就是我们说的0-9是个备份级别

-f 文件名:指定备份之后的文件名

-u:备份成功之后,把备份时间记录在/etc/dumpdates文件

-v:显示备份过程中更多的输出信息

-j:调用bzlib库压缩备份文件,其实就是把备份文件压缩为.bz2格式

-W:显示允许被dump的分区的备份等级及备份时间

restore还原命令

格式:restore [模式选项]  [选项]

选项:

-C:比较备份数据和实际数据的变化

-i:进入交互式模式,手工选择需要恢复的文件

-t:查看模式,用于查看备份文件中拥有那些数据

-r:还原模式,用于数据还原

-f:指定备份文件的文件名

十六.权限管理-ACL权限

  1. 查看分区ACL权限是否开启
    1. 语法:dumpe2fs -h /dev/sda3

:查询指定分区详细文件系统信息的命令

选项:-h:显示超级块中信息,而不显示磁盘块组的详细信息

  1. 临时开启分区ACL权限
    1. mount -o remount,acl /

:重新挂载跟分区,并挂载加入acl权限

永久挂载:/dev/fstab  添加内容

管理ACL命令:

  1. 查看ACL命令:getfacle 文件名  #查看acl权限
  2. 设定ACL权限的命令:

语法:setfacl 选项 文件名

选项:
-m:设定ACL权限

格式:setfacl -m u:user:rwx project/

u用户g组 m mask权限用户名:权限  目录

-x:删除指定的ACL权限

格式:setfacl -x u:user project/

 用户名

-b:删除所有的ACL权限

格式:setfacl -b 文件名

-d:设定默认ACL权限

#为父目录设定ACL权限,子文件也会继承权限

格式:setfacl -m d:u:用户名:权限  目录名

-k:删除默认ACL权限

-R:递归设定ACL权限

#所有子文件和子目录也会拥有ACL权限

格式:setfacl -m u:用户名:权限 -R 目录名

十七.权限管理-文件特殊权限

  1. SetUID   #身份升级

配置前提:

  1. 拥有x执行权限
  2. 只可以对二进制执行命令文件使用

设定SetUID:

chomod 4755 文件名

chomod u+s 文件名

  1. SetGID

配置针对执行文件前提:
  与配置SetUID相似

  1. 当用户去访问配置了SetGiD的文件后自动跳转好root组进行使用

可以对目录配置

  1. 普通用户必须对目录拥有r和x权限
  2. 此目录中的有效组变成此目录的属组
  3. 其他用户先建立了文件属组会变成这个目录的属主

 设定SetGID:

chomod 2755 文件名

chomod g+s 文件名

  1. Sticky BIT

SBIT粘着位作用:
 1.只对目录有效

 2.普通用户对该目录拥有w和x权限

 3.普通用户自己创建的只有自己可以删除,其他普通用户没有权限

设定Sticky BIT:

chmod 1755 /目录位置

chmod o+t /目录位置

  1. 文件系统属性chattr

格式:chattr [+-=] [选项] 文件或目录名

+:增加权限

-:删除权限

=:等于某权限

选项:

i:对文件设置I属性,不允许对文件进行删除,改名也不能添加和修改数据

对目录只能修改文件和数据,不能建立和删除

a:对文件只能增加数据

对目录只允许在目录下建立和修改不可以删除

  1. sudo权限

sudo的操作对象是系统命令

#root把本来只能超级用户执行的命令赋予普通用户执行

sudo使用

visudo #实际修改的是/etc/sudoers文件

语法:

root    ALL=(ALL)                         ALL

用户名   被管理主机的地址=(可使用的身份)授权命令

#%wheel  ALL=(ALL)                         ALL

#%组名    被管理主机的地址=(可使用的身份)授权命令(绝对路径)

十八.进程和计划任务管理

  1. 查看进程信息:
    1. ps :查看静态的进程统计信息

选项:
-A:显示所有程序。与-e具有同样的效果

-a: 显示所有终端机下执行的程序,除了阶段作业领导者之外。(跟终端无 关的程序)

a: 显示现行终端机下的所有程序,包括其他用户的程序。

-u: -u:此选项的效果和指定"-U"选项相同。

u:以用户为主的格式来显示程序状况。

x:显示所有程序,不以终端机来区分,通常与a这个参数一起使用。

-l或l(小写L):采用详细的格式来显示程序状况。

-j或j:采用工作控制的格式显示程序状况。(jobs format)

-f:显示UID,PPIP,C与STIME栏位。

    1. top:查看动态的进程排名信息

选项:

-b:以批处理模式操作;

-c:显示完整的治命令;

-d:屏幕刷新间隔时间;

-I:忽略失效过程;

-s:保密模式;

-S:累积模式;

-i:设置间隔时间;

-u:指定用户名;

-p:指定进程;

-n:循环显示的次数。

    1. pgrep:根据特定条件查询进程PID信息
      1. 选项:
        1. -l:显示进程名
        2. -U:指定用户
        3. -t:指定终端

d)pstree:以树形结构列出进程信息

选项:
-a:显示完整信息

-u:列出对应用户名

-p:列出对应PID

后台启动:在命令行尾加入&符号

ctrl+Z:调入到后台并停止执行

jobs:查看处于后台的任务列表

选项:

-l:显示进程号;

-p:仅任务对应的显示进程号;

-n:显示任务状态的变化;

-r:仅输出运行状态(running)的任务;

-s:仅输出停止状态(stoped)的任务。

fg:将后台进程恢复到前台

格式:fg  number

bg:将后台进程恢复到后台

格式:bg number

离线管理:nohup

nohup [选项与参数] --->在终端前台工作

nohup [选项与参数] & --->在终端后台工作

2.终止进程的运行

ctrl+C:中断正在执行  的命令

kill:用于终止指定PID号的进程

killall:用于终止指定名称的所有进程

选项:-9:强制终止

pkill:根据特定条件终止相应的的进程

选项:
-U:根据进程所属的用户名终止相应进程

-t:根据进程所有的终止相应进程

 3.计划任务管理:
1.一次性计划任务:at [HH:MM] [yyyy-mm-dd]

ctrl+D:提交任务

atq:查看未执行的任务列表

atrm:删除任务

格式:atrm 【ID号】

  2.batch

注:batch不同于at的地方仅在与其所生成的任务计划是在系统空闲时执行的,所有batch命令后不用指定时间。

其余和at命令相同

 4.lsof [进程号,端口]

选项:

-p:执行进程号

-i:指定端口

例:lsof -p 42352  #一般用于查看木马进程,在读那些文件

lsof -i :22      #用于查看端口,或查看黑客开启的后面端口是哪个进程在使用

  1. crontab命令

主要设置文件:

全局配置文件:/etc/crontab

系统默认的设置:/etc/cron.*/

用户定义的设置:/var/spool/cron/用户名

管理crontab计划任务

编辑计划任务:

crontab -e [-u 用户名]

查看计划任务:

crontab -l [-u 用户名]

删除计划任务:

crontab -r [-u 用户名]

选项:

-u:管理员可为其他用户创建任务

-e:打开编辑页面定义任务

-l:列出已经定义的所有任务

-r:移除所有任务

格式:
分钟 小时 日期 月份 星期  命令

时间数值的特殊表示方法

   *:表示该范围的任意时间

,:使用间隔的多个不连续时间点

-:表示一个连接的时间范围

/:指定间隔的时间频率

十九.分析和排查系统故障

  1. 日志消息的级别
    1. 0 EMERG:紧急
    2. 1 ALERT:警告
    3. 2 CRLT:严重
    4. 3 ERR:错误
    5. 4 WARNING:提醒
    6. 5 NOTICE:注意
    7. 6 INFO:信息
    8. 7 DEBUG:调式

1.日志的功能

用于记录系统、程序运行中发生的各种事件

通过阅读日志,有助于诊断和解决系统故障

2.日志文件的分类

内核及系统日志

  由系统服务rsyslog统一进行管理,日志格式基本相似

用户日志

  记录系统用户登录及退出系统的相关信息

程序日志

  由各种应用程序独立管理的日志文件,记录格式不统一

3.日志保存位置

默认位于:/var/log 目录下

4.主要日志文件介绍

内核及系统日志

/var/log/messages

计划任务日志

/var/log/cron

系统引导日志

/var/log/dmesg

邮件系统日志

/var/log/maillog

用户登录日志

/var/log/lastlog:最近的用户登录事件

/var/log/wtmp:用户成功登录、注销及系统开、关机事件,对应命令 last

/var/log/btmp: 用户失败登录,错误验证尝试事件,对应命令 lastb

/var/run/utmp:当前登录的每个用户的详细信息,对应查看命令 users  who  w

/var/log/secure:与用户验证相关的安全性事件

5.日志配置文件

/etc/rsyslog.conf

*.info #任何服务info级别及以上日志

mail.none #例外,不记录

6.日志级别

0  EMERG(紧急/疼痛):会导致主机系统不可用的情况

1  ALERT(警告):必须马上采取措施解决的问题

2  CRIT(严重):比较严重的情况

3  ERR(错误):运行出现错误

4  WARNING(提醒):可能会影响系统功能的事件

5  NOTICE(注意):不会影响系统但值得注意

6  INFO(信息):一般信息

7  DEBUG(调试):程序或系统调试信息等

7.日志一般格式

Jun  3 13:26:35 localhost vmusr[2439]: [critical] [GLib-GObject]

时间标签 主机   子系统名      日志级别和信息

8.程序日志

由相应的应用程序独立进行管理

Web服务:/var/log/httpd/

 access_log、error_log

代理服务:/var/log/squid/

 access.log、cache.log、

9.分析工具

文本查看、grep过滤检索、Webmin管理套件中查看

awk、sed等文本过滤、格式化编辑工具

Webalizer、Awstats等专用日志分析工具

10.日志管理策略

及时作好备份和归档

延长日志保存期限

控制日志访问权限:日志中可能会包含各类敏感信息,如账户、口令等

集中管理日志:

将服务器的日志文件发到统一的日志文件服务器(ELK)

便于日志信息的统一收集、整理和分析

杜绝日志信息的意外丢失、恶意篡改或删除

11.MBR故障修复

Mbr扇区

引导程序GRUB 446

分区表 64

结束标志 2

故障原因:

病毒、木马等造成的破坏

不正确的分区操作、磁盘读写误操作

故障现象:

找不到引导程序,启动中断

无法加载操作系统,开机后黑屏

解决思路:

应提前作好备份文件

以 CentOS 7安装光盘引导进入急救模式

从备份文件中恢复

Mbr扇区故障模拟:

1.添加新硬盘: 分区 fdisk  /dev/sdb    格式化 mkfs.xfs  /dev/sdb1 挂载到 mount /dev/sdb1   /bak

2.备份mbr扇区:dd  if=/dev/sda  of=/bak/mbr.bak  bs=512  count=1

3.模拟故障:dd if=/dev/zero of=/dev/sda bs=512 count=1

4.重启:观察现象

排除故障

1)挂系统盘,进入急救模式 3--2-1

2)重新挂载:mount /dev/sdb1  /aa

3)恢复:dd  if=/aa/mbr.bak   of=/dev/sda  bs=512  count=1

4)exit

12.修复 GRUB 引导故障

故障原因:

MBR 中的 GRUB 引导程序遭到破坏

grub.conf 文件丢失、引导配置有误

故障现象:

系统引导停滞,显示“grub>” 提示符

解决思路:

尝试手动输入引导命令

进入急救模式,重写或者从备份中恢复 grub.conf

向 MBR 扇区中重建 grub 程序

模拟grub引导故障

1.cp  /boot/grub2/grub.cfg   /boot/grub2/grub.cfg.bak

2.Rm  -f   /boot/grub/grub.cfg

3.Reboot

解决grub引导故障

插入系统盘,光盘启动

进入急救模式

chroot  /mnt/sysimage

cp  /boot/grub/grub.cfg.bak    /boot/grub/grub.cfg   

13.修复文件系统

故障原因

非正常关机、突然断电、设备读写失误等

文件系统的超级块(super-block)信息被破坏

故障现象

无法向分区中读取或写入数据

启动后提示“Give root password for maintenance”

解决思路

根据提示输入 root 口令,进入修复状态

使用xfs_repair命令进行修复

模拟故障:

破坏:  创建分区、格式化,先不要挂载

dd if=/dev/zero of=/dev/sdb1 bs=512 count=4

修复:xfs_repair /dev/sdb1

14.硬盘i节点耗尽

故障原因

磁盘空间已被大量的数据占满,空间耗尽

虽然还有可用空间,但文件数i节点耗尽

故障现象

无法写入新的文件,提示“… : 设备上没有空间”

部分程序无法运行,甚至系统无法启动

解决思路

清理磁盘空间,删除无用、冗余的文件

转移或删除占用大量 i 节点的琐碎文件

进入急救模式进行修复

为用户设置磁盘配额

模拟故障:

添加一块硬盘

划分一个100M的分区,格式化,挂载到/data目录下

df -i  /data (查看i节点的数量)

vim  killnode.sh

#!/bin/bash

i=1

while [ $i -le 前面查到的i节点数 ]

do

touch /data/file$i

let i++

done

sh   killnode.sh &

15.磁盘坏道

故障原因

磁盘设备中存在坏道(逻辑的或物理的)

故障现象

读取磁盘中的数据时,磁盘设备发出异常声响。

访问磁盘中的某个文件时,反复读取且出错,提示文件损坏

对于新建立的分区无法完成格式化

系统使用该磁盘时频繁死机

解决思路

检测硬盘中是否存在坏道

修复硬盘,或更换新的硬盘

badblocks -sv /dev/sdb

make方法

make clean #清除上一次make命令生成的文件

make distclean #清除上一次make以及configure命令生成的文件

make -j 4 #使用4进程同时编译,提升编译速度

XFS增量备份

语法:xfsdump -f 备份目标位置 备份目录(挂载目录或磁盘分区)

提示:编写标签,第一次为会话标签,第二次为设备标签

免交互备份:

语法:xfsdump -f 存放位置 备份目录 -L 会话标签 -M 设备标签

xfsdump -f /opt/dump_sda1 /dev/sda1 -L dump_sda1 -M sda1_is

指定只备份分区中某个目录

参数:-s 文件路径 只能指定的问价进行备份,-s指定时,路径写的是相对路径(-s可以是文件或目录)

格式:xfsdump -f /opt/233_dump -s 233.txt /dev/sdb1  -L dump_233 -M sdb1

查看备份记录

xfsdump -I

文件系统恢复

语法:xfsrestore -f 指定恢复文件的位置  指定存放恢复后的文件的路径

恢复单个文件

语法:xfsrestore -f 恢复文件路径 -s 恢复文件 恢复目录

增量备份

先备份完整备份

语法:xfsdump -l 1 -f 备份保存位置 备份文件

-l <level> 做一个等级为1的备份

恢复增量备份

语法:xfsrestore -f 恢复文件  恢复目标位置

 注:按顺序恢复增量备份,恢复数据会不完整

windows文本文件上传到Linux上出现乱码

解决:

格式:iconv -f gb2312 -t utf8 乱码文件 -o 转换为的名称

在Linux上编写的shell脚本到windowx上出现没有换行

解决:

工具:dos2unix unix2dos等工具

格式: dos2unix Linux上的shell文件

使用远程xshell命令上传文件和下传文件

注:需要rz工具下载,只可以用于远程工具连接

rz本地上传文件   sz下传文件

系统监控

proc文件系统

和整个Linux系统相关的参数如下:

/proc/cmdline:加载kernal时的相关指令与参数

/proc/cpuinfo:CPU相关的信息,包括频率,类型与运算能力

/proc/devices:记录了系统各个主要设备的主设备号码

/proc/filesystems:记录系统加载的文件系统

/proc/loadavg:平均负载值top看到的

/proc/meminfo:内存信息,free命令查看的

/proc/modules:系统已经加载的模块

/proc/mounts:系统已经挂载的数据

/proc/partitons:系统的分区文件

/proc/version:系统的核心版本uname -a看到的内容

常用的系统监视命令:

  1. uptime

显示顺序:现在的时间,系统运行时间,目前多少登录用户,系统在过去一分钟,5分钟,15分钟内的平均负载。

[root@localhost 1]# uptime

 07:32:01 up 15 min,  1 user,  load average: 0.00, 0.01, 0.02

  1. free

显示当前系统未使用和已经使用的内存数目。

[root@localhost 1]# free -h

              total        used        free      shared  buff/cache   available

Mem:           976M         79M        761M        7.0M        135M        745M

Swap:          2.0G          0B        2.0G

  1. vmstat

显示虚拟内存状态,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。

[root@localhost 1]# vmstat

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----

 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st

 1  0      0 779916    896 138060    0    0    93     5   44  111  0  0 100  0  0

  1. mpstat

最大特点:可以查看CPU中每个计算机核心的统计数据。

注:需要安装sysstat

  1. iostat

用于监视系统输入输出设备和CPU的使用情况。能查看到系统IO情况信息,从而确定IO性能是否存在瓶颈。

  1. sar

sar是目前Linux上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况,系统调用的使用情况,磁盘I/O,CPU效率,内存使用情况,进程活动及IPC有关的活动等。

sar命令常用格式:sar [options] [-A] [-o file] t [n] 其中:

t为采样间隔,n为采样次数,默认值是1;

-o file表示将命令结果以二进制格式存放在文件中,file 是文件名。

options 为命令行选项,sar命令常用选项如下:

-A:所有报告的总和

-u:输出CPU使用情况的统计信息

-v:输出inode、文件和其他内核表的统计信息

-d:输出每一个块设备的活动信息

-r:输出内存和交换空间的统计信息

-b:显示I/O和传送速率的统计信息

-a:文件读写情况

-c:输出进程统计信息,每秒创建的进程数

-R:输出内存页面的统计信息

-y:终端设备活动情况

-w:输出系统交换活动信息

GitHub 加速计划 / li / linux-dash
6
1
下载
A beautiful web dashboard for Linux
最近提交(Master分支:3 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐