Linux命令记载

一.文件类型

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

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

r读 w写 x执行

       二.目录处理命令:

1. 目录处理命令:ls

命令英文原意:list

命令所在路径:/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   //创建目录文件夹

                            命令英文愿意:make directories

                            文件路径:/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

执行权限

可以执行文件

可以进入目录

       2.权限管理命令:chown 【改变文件或目录的所有者】

              命令英文原意:change file ownership

              命令所在路径:/bin/chown

              执行权限:所有用户

              语法 :chown 【用户】【文件或目录】

       3.权限管理命令:chgrp 【改变文件或目录的所属组】

              命令英文原意:change file group ownership

              命令所在路径:/bin/chgrp

              执行权限:所在用户

              语法:chgrp 【用户组】【文件或目录】

       4.权限管理命令:umask 【显示,设置文件的缺省权限】

              命令英文原意:the user file-creation mask

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

              执行权限:所有用户

              语法:umask [-S]

                     -S:以rwx形式显示新建文件缺省权限

       用户默认值文件:

              /etc/default/useradd  用户默认值管理文件

                     GROUP=100 #用户默认组

                     HOME=/home #用户家目录

                     INACTIVE=-1  #密码过期宽限天数(shadow文件7字段)

                     EXPIRE=  #密码失效时间

                     SHELL=/bin/bash  #默认shell

                     SKEL=/etc/skel #模板目录

                     CREATE_MAIL_SPOOL=yes  #是否建立邮箱

              /etc/login.defs  #默认密码策略

                     PASS_MAX_DAYS 99999  #密码有效期

                     PASS_MIN_DAYS 0  #密码修改间隔

                     PASS_MIN_LEN 5  #密码最小5位

                     PASS_WARN_AGE 7  #密码到期警告

                     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#

                     map ^B 0x

3.连续行注释:

       :n1,n2s/^/#/g

       :n1,n2s/^#//g

4.替换:ab mymail [email protected]

              输入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 做一个等级为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:输出系统交换活动信息

一.文件类型

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

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

r读 w写 x执行

       二.目录处理命令:

1. 目录处理命令:ls

命令英文原意:list

命令所在路径:/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   //创建目录文件夹

                            命令英文愿意:make directories

                            文件路径:/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

执行权限

可以执行文件

可以进入目录

       2.权限管理命令:chown 【改变文件或目录的所有者】

              命令英文原意:change file ownership

              命令所在路径:/bin/chown

              执行权限:所有用户

              语法 :chown 【用户】【文件或目录】

       3.权限管理命令:chgrp 【改变文件或目录的所属组】

              命令英文原意:change file group ownership

              命令所在路径:/bin/chgrp

              执行权限:所在用户

              语法:chgrp 【用户组】【文件或目录】

       4.权限管理命令:umask 【显示,设置文件的缺省权限】

              命令英文原意:the user file-creation mask

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

              执行权限:所有用户

              语法:umask [-S]

                     -S:以rwx形式显示新建文件缺省权限

       用户默认值文件:

              /etc/default/useradd  用户默认值管理文件

                     GROUP=100 #用户默认组

                     HOME=/home #用户家目录

                     INACTIVE=-1  #密码过期宽限天数(shadow文件7字段)

                     EXPIRE=  #密码失效时间

                     SHELL=/bin/bash  #默认shell

                     SKEL=/etc/skel #模板目录

                     CREATE_MAIL_SPOOL=yes  #是否建立邮箱

              /etc/login.defs  #默认密码策略

                     PASS_MAX_DAYS 99999  #密码有效期

                     PASS_MIN_DAYS 0  #密码修改间隔

                     PASS_MIN_LEN 5  #密码最小5位

                     PASS_WARN_AGE 7  #密码到期警告

                     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#

                     map ^B 0x

3.连续行注释:

       :n1,n2s/^/#/g

       :n1,n2s/^#//g

4.替换:ab mymail [email protected]

              输入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 做一个等级为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:输出系统交换活动信

一.文件类型

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

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

r读 w写 x执行

       二.目录处理命令:

1. 目录处理命令:ls

命令英文原意:list

命令所在路径:/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   //创建目录文件夹

                            命令英文愿意:make directories

                            文件路径:/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

执行权限

可以执行文件

可以进入目录

       2.权限管理命令:chown 【改变文件或目录的所有者】

              命令英文原意:change file ownership

              命令所在路径:/bin/chown

              执行权限:所有用户

              语法 :chown 【用户】【文件或目录】

       3.权限管理命令:chgrp 【改变文件或目录的所属组】

              命令英文原意:change file group ownership

              命令所在路径:/bin/chgrp

              执行权限:所在用户

              语法:chgrp 【用户组】【文件或目录】

       4.权限管理命令:umask 【显示,设置文件的缺省权限】

              命令英文原意:the user file-creation mask

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

              执行权限:所有用户

              语法:umask [-S]

                     -S:以rwx形式显示新建文件缺省权限

       用户默认值文件:

              /etc/default/useradd  用户默认值管理文件

                     GROUP=100 #用户默认组

                     HOME=/home #用户家目录

                     INACTIVE=-1  #密码过期宽限天数(shadow文件7字段)

                     EXPIRE=  #密码失效时间

                     SHELL=/bin/bash  #默认shell

                     SKEL=/etc/skel #模板目录

                     CREATE_MAIL_SPOOL=yes  #是否建立邮箱

              /etc/login.defs  #默认密码策略

                     PASS_MAX_DAYS 99999  #密码有效期

                     PASS_MIN_DAYS 0  #密码修改间隔

                     PASS_MIN_LEN 5  #密码最小5位

                     PASS_WARN_AGE 7  #密码到期警告

                     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#

                     map ^B 0x

3.连续行注释:

       :n1,n2s/^/#/g

       :n1,n2s/^#//g

4.替换:ab mymail [email protected]

              输入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 做一个等级为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:输出系统交换活动信息

你可能感兴趣的:(linux,服务器,运维)