Linux(CentOS-7)-全面详解(学习总结---从入门到深化)


风晓
风晓 2024-01-08 14:47:50 65661 赞同 0 反对 0
分类: 资源
Linux(CentOS-7)-全面详解(学习总结---从入门到深化)

Linux概述
Linux特点
首先Linux作为自由软件有两个特点:一是它免费提供源代码, 二是爱好者可以根据自己的需要自由修改、复制和发布源码

 Linux的各个发行版本

 

 Linux 的发行版说简单点就是将 Linux 内核与应用软件做一个打 包。

1、Red Hat Linux

2、Ubuntu Linux 界面 桌面系统

3、SuSE Linux

4、Gentoo Linux

5、其他 Linux 发行版

Linux应用领域 
1、IT服务器

2、嵌入式

3、个人桌面

 Linux和Windows区别
目前国内 Linux 更多的是应用于服务器上,而桌面操作系统更多使用的是 Windows。

 主要区别如下

 

 Linux下载安装


 安装VMWare虚拟机
VMware是一个老牌的虚拟化软件。虚拟机指通过 软件 模拟的具 有完整 硬件 系统功能的、运行在一个完全隔离环境中的完整。

 

 下载CentOS
进入Centos官网找要下载的版本https://vault.centos.org/

 

如需遇到下载慢可以访问阿里镜像地址
https://mirrors.aliyun.com/centos-vault/?spm=a2c6h.136
51104.0.0.5f6612b2O7Cy9G
 安装CentOS


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 ​​​​

 

 Linux三种网络配置


 背景
A是本机,A1,A2是虚拟机,B是外部联网的机器(同事的电脑)

 桥接模式
相当于在物理主机与虚拟机网卡之间架设了一座桥梁,从而可以通过物理主机的网卡访问外网。

 

 注意: 桥接模式配置简单,但如果你的网络环境是ip资源很缺少或对ip管理比较严格的话。

 bridge(桥接模式): A可以和A1,A2互通,A1,A2 -> B可以,B -> A1,A2可以

 NAT
让 VM 虚拟机的网络服务发挥路由器的作用,使得通过虚拟机软件 模拟 的主机可以通过物理主机访问外网,在真机中 NAT 虚拟机网 卡对应的物理网卡是 VMnet8。

 

 注意: 实际上VMware Network Adapter VMnet8的作用是为了实现虚 拟机和主机之间相互通信!

Nat(网络地址转换): A可以和A1,A2互通,A1,A2 -> B可以,B - > A1,A2不行

 Host-only
仅让虚拟机内的主机与物理主机通信,不能访问外网,在真机中仅 主机 模式模拟网卡对应的物理网卡是 VMnet1。

 

 注意: NAT和host-only 不会占用一个ip地址,只能和你的本机进行通 讯。NAT和host-only还有一个区别就是,host-only只能和你的 本机进行通讯,不可以访问。

host-only(主机模式): A可以和A1,A2互通,A1,A2 -> B不可以, B -> A1,A2不行

 Linux 远程登录


 配置Nat网络模式


 设置虚拟交换机网关


 管理员授权
 

 设置子网打开NAT设置


 设置网关


 配置vmware8网卡


 设置IPV4


 配置网络和DNS服务


 登录到Linux编辑网卡文件
vim /etc/sysconfig/network-scripts/ifcfgens33
#修改为静态ip地址
#BOOTPROTO=none
BOOTPROTO=static
#修改为开机自启动网卡
#ONBOOT=NO
ONBOOT=yes
#配置ip
IPADDR=192.168.66.100
NETMASK=255.255.255.0
GATEWAY=192.168.66.1
DNS1=223.5.5.5
DNS2=223.6.6.6
# 保存退出   :wq
# 重启网卡 service network restar
设置XShell连接


 连接主机


 Linux系统目录结构


 文件系统组织结构
1、/lib

系统开机所需要最基本的动态链接共享库,其作用类似于 Windows里的DLL文件。几乎所有的应用程序都需要用到这些 共享库。 

2、/lost+found

一般情况下是空的,当系统非法关机后,这里就存放了一些文 件。

3、/etc

所有系统管理所需要的配置文件和子目录。my.conf

4、/usr

用户的很多应用程序和文件都放在这个目录下。

5、/bin

是Binary的缩写,这个目录存放着经常使用的命令

6、/sbin (usr/sbin、/usr/local/sbin)

sbin就是per user的意思,这里存放的是系统管理员使用的系统 管理程序

7、/home

存放普通用户的主目录,在Linux中的每个用户都有一个自己的 目录,一般该目录一用户的账号名命名 

8、/root

该目录为系统管理员,超级权限者的用户目录

9、/boot

存放的启动Linux时使用的一些核心文件,包括一些链接文件和 镜像文件

10、/proc

虚拟目录,是系统内存的映射,访问这个目录来获取系统信 息。

11、/srv

service 的缩写,该目录是存放一些服务启动之后需要提取的数 据 

12、/sys

Linux2.6内核的一个很大变化,该目录安装了2.6内核中新出现 的一个文件系统

13、/tmp

存放临时文件

14、/dev

类似于 windows的设备管理器,把所有的硬件用文件的形式存储

15、/media

Linux系统会自动识别一些设备,例如U盘、光驱等等,当识别 后,Linux 会把识别的设备挂载到这个目录下。

16、/mnt

系统提供该目录是为了让用户临时挂载别的文件系统的,我们可 以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的 内容了。d:/ myshare

17、/opt

这是给主机额外安装软件所摆放的目录。如安装 ORACLE数据 库就可放到该目录下。默认为空。

18、/usr/local

这是另个给主机额外安装软件所安装的目录。一般是通过编译 源码方式安装的程序。

19、/var

这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目 录放在这个目录下。包括各种日志文件。 

20、/selinux [security-enhanced linux] 类似 360

Selinux是一种安全子系统,它能控制程序只能访同特定文件。

 登录系统后,在当前命令窗口下输入命令:

ls /

 在 Linux 系统中,有几个目录是比较重要的,平时需要注意不 要误删除或者随意更改内部文件。

/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在 /bin/ls 目录下的。
值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给 root 使用的指令。
/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在 /var/log 目录下,另外 mail 的预设放置也是在这里。

Linux用户和用户组 


 用户管理概述
Linux是一个多用户、多任务的操作系统。

 

 用户账号和用户组


 用户概念
通过前面对Linux 多用户的理解,我们明白Linux 是真正意义上的多用户操作系统,所以我们能在Linux系统中建若干用户 (user)

 用户组概念
用户组(group)就是具有相同特征的用户(user)的集合体; 比如有时我们要让多个用户具有相同的权限,比如查看、修改 某一文件或执行某个命令,这时我们需要用户组,我们把用户 都定义到同一用户组,我们通过修改文件或目录的权限,让用 户组具有一定的操作权限,这样用户组下的用户对该文件或目 录都具有相同的权限,这是我们通过定义组和修改文件的权限 来实现的;

 Linux用户和组的关系


 Linux用户管理


 Linux 系统的管理员之所以是 root,是因为该用户的身份号码即 UID的数值为 0,UID 就相当于我们的身份证号码一样具有唯一性, 因此可通过用户的 UID 值来判断用户身份。

 

 添加用户 useradd
语法: useradd (选项)(参数)

 

 参数
用户名:要创建的用户名。

示例 1

下面我们创建一个普通用户并指定家目录的路径、用户的 UID 以及 Shell 解释器。在下面的命令中,请注意/sbin/nologin,它是终端解释器中的一员,与 Bash 解释器有着天壤之别。 一旦用户的解释器被设置为 nologin,则代表该用户不能登录到系统中:

[root@itbaizhan ~]# useradd -d /home/linux -u
8888 -s /sbin/nologin linuxprobe
[root@itbaizhan ~]# id linuxprobe
uid=8888(linuxprobe) gid=8888(linuxprobe)
groups=8888(linuxprobe)
修改用户 usermod
有些时候不小心在useradd的时候加入了错误的设定数据,此时我们当然可以直接到/etc/passwd或/etc/shadow中去修改相对应字段的数据。

 语法:usermod (选项) (参数)

 

 

 示例1

来看一下账户 linuxprobe 的默认信息:

id linuxprobe
uid=1000(linuxprobe) gid=1000(linuxprobe)
groups=1000(linuxprobe)
然后将用户 linuxprobe 加入到 root 用户组中,这样扩展组列表中 则会出现 root 用户组的 字样,而基本组不会受到影响:

[root@itbaizhan ~]# usermod -G root
linuxprobe
[root@itbaizhan ~]# id linuxprobe
uid=1000(linuxprobe) gid=1000(linuxprobe)
groups=1000(linuxprobe),0(root)
再来试试用-u 参数修改 linuxprobe 用户的 UID 号码值。除此之 外,我们还可以用-g 参数 修改用户的基本组 ID,用-G 参数修改用 户扩展组 ID。

[root@linuxprobe ~]# usermod -u 8888
linuxprobe
[root@linuxprobe ~]# id linuxprobe
uid=8888(linuxprobe) gid=1000(linuxprobe)
groups=1000(linuxprobe),0(root)
用户账号口令管理
passwd 命令用于修改用户密码、过期时间、认证信息等。

语法:passwd (选项) (参数)

 

 示例1

用root帮linuxpro修改密码

passwd linuxpro
示例2

假设您有位同事正在度假,而且假期很长,那么可以使用 passwd 命令禁止该用户登录系统,等假期结束回归工作岗位时,再使用该 命令允许用户登录系统,而不是将其删除。 这样既保证了这段时间 内系统的安全,也避免了频繁添加、删除用户带来的麻烦。

[root@itbaizhan ~]# passwd -l linuxprobe
Locking password for user linuxprobe.
passwd: Success
[root@itbaizhan ~]# passwd -S linuxprobe
linuxprobe LK 2017-12-26 0 99999 7 -1
(Password locked.)
[root@itbaizhan ~]# passwd -u linuxprobe
Unlocking password for user linuxprobe.
passwd: Success
[root@itbaizhan ~]# passwd -S linuxprobe
linuxprobe PS 2017-12-26 0 99999 7 -1
(Password set, SHA512 crypt.)
删除用户 userdel
userdel 命令用于删除用户

语法:userdel [选项] 用户名

 

 语法:[root@localhost~]#userdel [-r] username

 参数:-r : 连同用户的家目录也一起删除。

 示例1

下面使用 userdel 命令将 linuxprobe 用户删除,其操作如下:

[root@itbaizhan ~]# id linuxprobe
uid=8888(linuxprobe) gid=1000(linuxprobe)
groups=1000(linuxprobe),0(root)
[root@itbaizhan ~]# userdel -r linuxprobe
[root@itbaizhan ~]# id linuxprobe
id: linuxprobe: no such user
Linux用户组管理


 添加新组groupadd
语法:groupadd (选项) (参数)

 

 示例1

建立一个新组,并设置组ID加入系统:

groupadd -g 334 bigdata
修改群组groupmod
语法:groupmod(选项)(参数)

 ​​​​

 示例1

把建立bigdata组改为bigdata2并设置GID改为506

groupmod -g 506 -n bigdata2 bigdata
删除群组groupdel
语法:groupdel groupname

 Linux超级用户与伪用户


 

 用户身份切换
由于超级权限在系统管理中的不可缺少的重要作用,为了完成系统 管理任务,必须用到超级权限。

su   

su命令就是切换用户的工具。

 语法:su [-fmp] [-c command] [-s shell] [--help] [- -version] [-] [USER [ARG]]

 

 示例1

[root@itbaizhan ~]# id
uid=0(root) gid=0(root) groups=0(root)
[root@itbaizhan ~]# su - linuxprobe
Last login: Wed Jan 4 01:17:25 EST 2017 on
pts/0
[linuxprobe@linuxprobe ~]$ id
uid=1000(linuxprobe) gid=1000(linuxprobe)
groups=1000(linuxprobe) context=unconfined_
u:unconfined_r:unconfined_t:s0-s0:c0.c1023
注意: 上面的 su 命令与用户名之间有一个减号(-),这意味着完全 切 换到新的用户,即把环境变量信息也变更为新用户的相应信 息,而不是保留原始的信息。强烈建议在切换用户身份时添加这个减号(-)。

 sudo

Sudo 的全称为: super user do 。 顾名思义:干超级用户才能干的事! 所以Sudo最常用的功能就是提升一个命名的执行权限。

语法:sudo [参数] 命令名称

 ​​​​​​

 编辑配置文件命令: visudo 来配置用户权限。

 

 

 示例1

配置baizhan拥有root的权限

visudo
baizhan ALL=(ALL) ALL
示例2

在每次执行 sudo 命令后都会要求验证一下密码。

[root@location opt]$ touch a.info
#切换用户
[baizhan@location ~]# su baizhan
#删除a.info文件
[baizhan@location ~]# rm -rf a.info
rm: cannot remove ‘a.info/’: Permission
denied
[baizhan@location ~]# sudo rm -rf a.info
这样,当切换到普通用户后再执行命令时,就不用再频繁地验证密 码了,我们在日常工 作中也就痛快至极了。

visudo
baizhan ALL=NOPASSWD: ALL
Linux文件基本属性


 显示文件属性


 ls命令
Linux ls(英文全拼:list files)命令用于显示指定工作目录下之内 容(列出目前工作目录所含之文件及子目录)。

语法:ls [参数]

 ​​​​​

 文件与目录操作
Linux可以支持长达256个字符的文件名称,且文件名是区分大小写 的,“abc” 与 "ABC"所代表的是不同文件。

 Linux文件类型

 


 文件权限
所谓的文件权限,是指对文件访问权限,包括对文件的读、写、删 除、执行操作。Linux是一个多用户操作系统,它运行多个用户同时登陆和工作,因此Linux将一个文件或者目录与一个用户和组联系起来。

 

 

 例如,我们以 root 的身份登陆 Linux,并执行如下指令:

[root@localhost ~]# ls -al
total 156
drwxr-x---.   4   root   root     4096   Sep
8 14:06 .
drwxr-xr-x. 23   root   root     4096   Sep
8 14:21 ..
解析:文件设定不同用户的读、写和执行权限,仅涉及到 9 位字符

 Linux权限字与权限操作


 改变所属群组chgrp
改变一个文件的群组很简单,直接用chgrp命令,这个命令是 change group的缩写。

 语法:chgrp [-R] 属组名 文件名

 ​​​​​

 改变文件属性chmod
Linux文件属性有两种设置方法,一种是数字,一种是符号。

Linux 文件的基本权限就有九个,分别是 owner/group/others(拥有者/组/其他) 三种身份各有自己的 read/write/execute 权限。

文字设定法 

基本上就九个权限分别是:

 

 那么我们就可以使用 u, g, o 来代表三种身份的权限。 此外, a 则代表 all,即全部的身份。读写的权限可以写成 r, w, x,也就是可以使用下表的方式来看:

 

 语法: chmod [who] [+ | – | =] [mode]

 

 数字设定法
 我们必须首先了解用数字表示的属性的含义:

0表示没有权限,

1表示可执行权限,

2表示可写权限,

4表示可读权限,然后将其相加。

所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u) (g)(o)。 例如,如果想让某个文件的属主有“读/写”二种权限,需要把4(可 读)+2(可写)=6(读/写)。 先复习一下刚刚上面提到的数据:文件的权限字符为: - rwxrwxrwx , 这九个权限是三个三个一组的!其中,我们可以使 用数字来代表各个权限,各权限的分数对照表如下:

 

每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要 累加的,例如当权限为:

- rwx r-- r-x
分数则是:

 

 所以等一下我们设定权限的变更时,该文件的权限数字就是 770。 变更权限的指令 chmod 的语法是这样的:

 chmod [-R] xyz 文件或目录

 ​​​​​

 示例1

如果我们需要将文件权限设置为 - rwx r-x r-- 。

chomd 754 a.info

 示例2

将 .bashrc 这个文件所有的权限都设定启用。

chmod 777 .bashrc

 改变文件拥有者chown
更改文件属主,也可以同时更改文件属组

语法: chown [–R] 属主名 文件名

            chown [-R] 属主名:属组名 文件名

 示例:

进入 /root 目录(~)将install.log的拥有者改为bin这个账号:
[root@itbaizhan ~] cd ~
[root@itbaizhan ~]# chown bin install.log
[root@itbaizhan ~]# ls -l
-rw-r--r-- 1 bin users 68495 Jun 25 08:53
install.log
将install.log的拥有者与群组改回为root:
[root@itbaizhan ~]# chown root:root
install.log
[root@itbaizhan ~]# ls -l
-rw-r--r-- 1 root root 68495 Jun 25 08:53
install.log
Linux路径


 路径,顾名思议,是指从树形目录中的某个目录层次到某个文件的 一条道路。 Linux系统中是从" / "开始的。

 注意事项: 引入路径的概念的最终目的就是找到需要的目录或者文件。路径是由目录或者文件名构成。

 绝对路径
绝对路径是指从“根”开始的路径。例如/usr/local,/etc/hosts,如果一 个路径是从“/”开始它一定是绝对路径。

 注意: 绝对路径必须以 “/” 开头,它表示根目录。

 相对路径
相对路径是以 “ . ” 或者 " .. "开始的。. 表示用户操作所处的位置 .. 表示上级目录。

 

  在路径一些特殊符号的说明

 

 Linux处理文件目录的常用命令


 pwd (显示目前所在的目录)
pwd 是 Print Working Directory 的缩写,也就是显示目前所在目录的命令。

[root@www ~]# pwd [-P]
选项与参数:

       -P :显示出确实的路径,而非使用连结 (link) 路径。

pwd示例: 
[root@itbaizhan ~]# pwd
/root   <== 显示出目录啦~
注意: pwd -P 的选项后,会不以连结档的数据显示,而是显示正确的完整路径啊!

 mkdir (创建新目录)
如果想要创建新的目录的话,那么就使用mkdir (make directory) 吧。

语法:mkdir [-mp] 目录名称

 选项与参数:

       -p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来!

 mkdir示例
[root@itbaizhan ~]# cd /tmp
[root@itbaizhan tmp]# mkdir test   <==创建一
名为 test 的新目录
[root@itbaizhan tmp]# mkdir
test1/test2/test3/test4
[root@itbaizhan ~]# mkdir -m 711 test2
rmdir (删除空的目录)
语法:rmdir [-p] 目录名称

 选项与参数:

      -p :从该目录起,一次删除多级空目录

删除 runoob 目录

 rmdir示例:
[root@itbaizhan tmp]# rmdir itbaizhan/
cp (复制文件或目录)
cp 即拷贝文件和目录。copy的意思。

语法:

[root@itbaizhan ~]# cp [-adfilprsu] 来源档 目标档
选项与参数: -r:递归持续复制,用於目录的复制行为

cp示例:
[root@itbaizhan ~]# cp ~/.bashrc /tmp/bashrc
[root@itbaizhan ~]# cp -i ~/.bashrc
/tmp/bashrc
cp: overwrite `/tmp/bashrc'? n <==n不覆盖,y为
覆盖
rm (删除文件或者目录)
语法:

rm [-fir] 文件或目录

 选项与参数:

    -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;

    -r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!

 rm示例:
[root@www tmp]# rm -i bashrc
rm: remove regular file `bashrc'? y
如果加上 -i 的选项就会主动询问喔,避免你删除到错误的
档名!
mv (移动文件与目录,或修改名称)
语法:

[root@itbaizhan ~]# mv [-fiu] source
destination
[root@itbaizhan ~]# mv [options] source1
source2 source3 .... directory
选项与参数:

-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;

-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

-u :若目标文件已经存在,且 source 比较新,才会升级 (update)

 mv示例:
[root@itbaizhan ~]# cd /tmp
[root@itbaizhan tmp]# cp ~/.bashrc bashrc
[root@itbaizhan tmp]# mkdir mvtest
[root@itbaizhan tmp]# mv bashrc mvtest
Linux文件编辑工具vi/vim


 vi/vim 的使用
vi或vim是Linux最常用的文本编辑器工具,vi或vim没有图形界面编辑器那样单机鼠标的简单操作,但vi编辑器在系统管理、服务器管理中,永远是图形界面的编辑器所不能比的。

 ​​​​​

 基本上 vi/vim 共分为三种模式 :

1、命令模式(Command mode)

2、输入模式(Insert mode)

3、底线命令模式(Last line mode)

 命令模式
用户刚刚启动 vi/vim,便进入了命令模式。 此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

 

 输入模式
在命令模式下按下i、o、a就进入了输入模式。

在输入模式中,可以使用以下按键:

1、字符按键以及Shift组合,输入字符

2、ENTER,回车键,换行

3、BACK SPACE,退格键,删除光标前一个字符

4、DEL,删除键,删除光标后一个字符

5、方向键,在文本中移动光标

6、HOME/END,移动光标到行首/行尾

7、Page Up/Page Down,上/下翻页

8、Insert,切换光标为输入/替换模式,光标将变成竖线/下划线

9、ESC,退出输入模式,切换到命令模式

底线命令模式 
主要保存或者退出文件,以及设置Vim编辑器的工作环境,还可以 让用户执行外部的Linux命令或跳转所编写文档的特定行数。

 

 shift+zz 保存退出
vi/vim 使用实例
编辑模式

在一般模式中可以进行删除、复制、贴上等等的动作,但是却无法 编辑文件内容的! 要等到你按下『i, I, o, O, a, A, r, R』等任何一个字母之后才会进入 编辑模式。

 

 ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

常用语法

1)进入编辑模式 (1)i 当前光标前 (2)a 当前光标后 (3)o 当前光标行的下一行

2)退出编辑模式 按『Esc』键

 指令模式

在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号等动作是在此模式中达成的!

 常用语法
1 基本语法
  : 选项
    w 保存
    q 退出
    ! 感叹号强制执行
 
  / 查找,/被查找词,n是查找下一个,shift+n是往上查找
  ? 查找,?被查找词,n是查找上一个,shift+n是往下查找
示例:

:w 保存

:q 退出

:q! 强制退出(放弃对文档的修改内容)

:wq! 强制保存退出

:set nu 显示行号

:set nonu 不显示行号

:命令 执行该命令

:整数 跳转到该行

 命令操作

 


 Linux文件内容查看命令


 cat(显示文件内容)
由第一行开始显示文件内容

语法:cat [-AbEnTv]

 

 cat示例:
[root@itbaizhan ~]# cat /etc/issue
CentOS release 6.4 (Final)
Kernel \r on an \m
tac(倒着显示文件内容)
tac与cat命令刚好相反,文件内容从最后一行开始显示,可以看出 tac 是 cat 的倒着写!如:

[root@itbaizhan ~]# tac /etc/issue
Kernel \r on an \m
CentOS release 6.4 (Final)
nl(显示行号)
语法:nl [-bnw] 文件

 

 nl示例:
[root@itbaizhan ~]# nl /etc/issue
     1 CentOS release 6.4 (Final)
     2 Kernel \r on an \m
more(一页一页的显示文件内容)
一页一页翻动

 

 more示例:
[root@itbaizhan ~]# more /etc/man_db.config
#
# Generated automatically from man.conf.in by
the
# configure script.
#
# man.conf from man-1.6d
....(中间省略)....
--More--(28%) <== 重点在这一行喔!你的光标也会在
这里等待你的命令
less(往前翻页)
一页一页翻动,以下实例输出/etc/man.config文件的内容:

 

 

 示例:
[root@itbaizhan ~]# less /etc/man.config
#
# Generated automatically from man.conf.in by
the
# configure script.
#
# man.conf from man-1.6d
....(中间省略)....
:   <== 这里可以等待你输入命令!
head(只看头几行)
取出文件前面几行

语法:head [-n number] 文件

 选项与参数:

1、-n :后面接数字,代表显示几行的意思

 head示例:
head -n 20 /etc/man.config
tail(只看尾几行)
取出文件后面几行

语法:tail [-n number] 文件

 

 tail示例:
[root@itbaizhan ~]# tail /etc/man.config
# 默认的情况中,显示最后的十行!若要显示最后的 20
行,就得要这样:
[root@itbaizhan ~]# tail -n 20
/etc/man.config
Linux打包压缩与搜索命令


 tar 命令
语法:tar [选项] [文件]

 选项:

-c 产生.tar打包文件

-v 显示详细信息

-f 指定压缩后的文件名

-z 打包同时压缩 Gzip

-x 解包.tar文件

 示例1

压缩多个文件

tar -zcvf  XXX.tar.gz   n1.txt    n2.txt
示例2

压缩目录

 tar -zcvf test.java.tar.gz test1
示例3

解压:tar -zxvf XXX.tar.gz

解压到当前目录
[root@itbaizhan opt]# tar -zxvf test.tar.gz
解压到/opt目录
[root@itbaizhan opt]# tar -zxvf test.tar.gz –
C /opt
gzip/gunzip压缩
语法:

gzip+文件 (功能描述:压缩文件,只能将文件压缩为
*.gz文件)
gunzip+文件.gz (功能描述:解压缩文件命令)
 示例1
gzip压缩

[root@itbaizhan opt]# ls
test.java
[root@itbaizhan opt]# gzip test.java
[root@itbaizhan opt]# ls
示例2

gunzip解压缩文件

[root@itbaizhan opt]# gunzip test.java.gz
[root@itbaizhan opt]# ls
test.java
搜索命令
grep 命令
grep 命令用于在文本中执行关键词搜索,并显示匹配的结果。

语法:grep [参数 查找内容 源文件]

 

 示例1

[root@itbaizhan ~]# grep /sbin/nologin
/etc/passwd
 find命令
find 命令用于按照指定条件来查找文件。

语法:find [查找路径] 寻找条件 操作

 

 

 示例1

按文件名:根据名称查找/目录下的filename.txt文件。

find /opt/ -name *.txt
示例2

按拥有者:查找/opt目录下,用户名称为-user的文件

find /opt/ -user atguigu
Linux常用系统工作命令


 reboot 命令
reboot 命令用于重启系统,其格式为 reboot。

由于重启计算机这种操作会涉及硬件资源的管理权限,因此默认只能使用 root 管理员来重启,其命令如下:

 [root@linuxprobe ~]# reboot
 poweroff 命令
poweroff 命令用于关闭系统,其格式为 poweroff。

该命令与 reboot 命令相同,都会涉及硬件资源的管理权限,因此默认只有 root 管理员才可以关闭电脑,其命令如下:

[root@linuxprobe ~]# poweroff
 wget 命令
wget 命令用于在终端中下载网络文件。

语法:wget [参数] 下载地址

 

 示例1

尝试使用 wget 命令下载tomcat。

wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.54/bin/apache-tomcat-9.0.54.tar.gz
1
报错:

ERROR: cannot verify dlcdn.apache.org's
certificate, issued by ‘/C=US/O=Let's
Encrypt/CN=R3’:
解决:
yum install -y ca-certificates
Linux管道符、重定向与环境变量


 输入输出重定向
把多个 Linux 命令适当地组合到一起,使其协同工作,以便我们更加高效地处理数据。

 

 示例1

比如我们分别查看两个文件的属性信息,其中第二个文件是不存在的,虽然针对这两个文件的操作都分别会在屏幕上输出一些数据信 息,但这两个操作的差异其实很大:

[root@itbaizhan ~]# touch itbaizhan
[root@itbaizhan ~]# ls -l itbaizhan
-rw-r--r--. 1 root root 0 Aug 5 05:35
itbaizhan
[root@itbaizhan ~]# ls -l xxxxxx
ls: cannot access xxxxxx: No such file or
directory


 输入重定向作用表


 输出重定向作用表

 


 示例2

如果想把命令的报错信息写入到文件,该怎么操作呢?

[root@itbaizhan ~]# ls -l xxxxxx
cannot access xxxxxx: No such file or
directory
[root@itbaizhan ~]# ls -l xxxxxx >
/root/stderr.txt
cannot access xxxxxx: No such file or
directory
[root@itbaizhan ~]# ls -l xxxxxx 2>
/root/stderr.txt
[root@itbaizhan ~]# cat /root/stderr.txt
ls: cannot access xxxxxx: No such file or
directory
管道命令符


 管道命令符其执行格式为“命令 A | 命令 B”。命令符的作用也可以 用一句话来概括“把前一个命令原本要输出到屏幕的数据当作是后一个命令的标准输入”。

 示例1

找出被限制登录用户的命令是 grep "/sbin/nologin"
/etc/passwd
统计文本行数的命令则是 wc -l
现在要做的就是把搜索命令的输出值传递给统计命令,即把原本要 输出到屏幕的用户信息列表再交给 wc 命令作进一步的加工,因此只需要把管道符放到两条命令之间即可,具体如 下。这简直是太方便了!

grep "/sbin/nologin" /etc/passwd | wc -l
这个管道符就像一个法宝,我们可以将它套用到其他不同的命令上,比如用翻页的形式查看/etc 目录中的文件列表及属性信息(这 些内容默认会一股脑儿地显示到屏幕上,根本看不清楚):

 ls -l /etc/ | more
在修改用户密码时,通常都需要输入两次密码以进行确认,这在编写自动化脚本时将成为一个非常致命的缺陷。通过把管道符和 passwd 命令的--stdin 参数相结合,我们可以用一条命令来完成密码重置操作:

echo "linuxprobe" | passwd --stdin root


 命令行的通配符

 


 通配符就是通用的匹配信息的符号,比如星号(*)代 表匹配零个 或多个字符,问号(?)代表匹配单个字符,中括号内加上数字[0-9] 代表匹配 0~9 之间的单个数字的字符,而中括号内加上字母[abc] 则是代表匹配 a、b、c 三个字符中的任意一个字符。

 示例1

[root@itbaizhan ~]# ls -l /dev/sda*
brw-rw----. 1 root disk 8, 0 May 4 15:55
/dev/sda
brw-rw----. 1 root disk 8, 1 May 4 15:55
/dev/sda1
brw-rw----. 1 root disk 8, 2 May 4 15:55
/dev/sda2
如果只想查看文件名为 sda 开头,但是后面还紧跟其他某一个字符的文件的相关信息, 该怎么操作呢?这时就需要用到问号来进行通配了。

[root@itbaizhan ~]# ls -l /dev/sda?
brw-rw----. 1 root disk 8, 1 May 4 15:55
/dev/sda1
brw-rw----. 1 root disk 8, 2 May 4 15:55
/dev/sda2
除了使用[0-9]来匹配 0~9 之间的单个数字,也可以用[135]这样的方式仅匹配这三个指定数字中的一个,若没有匹配到,则不会显示出来:

[root@itbaizhan ~]# ls -l /dev/sda[0-9]
brw-rw----. 1 root disk 8, 1 May 4 15:55
/dev/sda1
brw-rw----. 1 root disk 8, 2 May 4 15:55
/dev/sda2
[root@itbaizhan ~]# ls -l /dev/sda[135]
brw-rw----. 1 root disk 8, 1 May 4 15:55
/dev/sda1
重要的环境变量
在Linux系统中,环境变量按照其作用范围不同大致可以分为系统级环境变量和用户级环境变量。

 

 自然而然地,环境变量的配置文件也相应的被分成了系统级和用户级两种。

 系统级

/etc/profile
在系统启动后第一个用户登录时运行,并从/etc/profile.d目录的配 置文件中搜集shell的设置,使用该文件配置的环境变量将应用于登录到系统的每一个用户。

 

 

 用户级
~/.profile(推荐首选)
当用户登录时执行,每个用户都可以使用该文件来配置专属于自己使用的shell信息。

 示例1

配置tomcat环境变量

vim /etc/profile
export TOMCAT_HOME=
export PATH=$PATH:$TOMCAT_HOME/bin
Linux磁盘管理


 分区的方式


 Linux分区原理
Linux的文件系统是树形的,安装的系统必须是在 / 目录下,因为/ 目录下挂载了一个主分区。/目录是树形的根,其他所有目录都是他的子节点。

 

 df命令
用于显示 Linux 系统中各文件系统的硬盘使用情况,包括文件系统所在硬盘分区的总容量、已使用的容量、剩余容量等。

 语法:df [选项] [目录或文件名]

 

 示例1:

 

 

 lsblk命令
lsblk命令来自于英文词组”list block“的缩写,其功能是用于查看系统的磁盘使用情况。

 

 参考实例
显示系统中所有磁盘设备的使用情况信息:

 

 fdisk命令
Linux fdisk是一个创建和维护分区表的程序,它兼容DOS类型的分区表、BSD或者SUN类型的磁盘列表。

 

 参考实例
显示当前分区情况:

[root@localhost ~]# fdisk -l


 Linux挂载硬盘


 需求是给我们Linux系统增加一个新的硬盘, 并且挂载 到/home/itbaizhan。

 虚拟机添加硬盘


 分区
设置分区
fdisk /dev/sdb


 查看分区
lsblk -f
格式化
mkfs -t ext4 /dev/sdb1


 挂载
先创建目录 /home/itbaizhan

mount /dev/sdb1 /home/itbaizhan


 

 永久挂载
vim /etc/fstab


mount -a
Linux系统状态检测命令


 ip addr 命令
命令用于获取网卡配置与网络状态等信息。

 

 uname 命令
uname 命令用于查看系统内核与系统版本等信息。

uname -a
Linux zk3 3.10.0-1160.el7.x86_64 #1 SMP Mon
Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64
GNU/Linux
注意:在使用 uname 命令时,一般会固定搭配上-a 参数来完整地查看当前系统的内核名称、主 机名、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理器类型以及操作系统名称等信息。

 顺带一提,如果要查看当前系统版本的详细信息,则需要查看 redhat-release 文件,其命令以及相应的结果如下:

cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
free 命令
free 用于显示当前系统中内存的使用量信息。

free -h

 


 last 命令
last 命令用于查看所有系统的登录记录。

语法:last [参数]

 

[root@zk3 opt]# last
 history 命令
history 命令用于显示历史执行过的命令。

语法:history [-c]

 

 uptime 命令
uptime 用于查看系统的负载信息,格式为 uptime。

[root@zk3 opt]# uptime
 17:56:03 up 7:14, 2 users, load average:
0.02, 0.02, 0.05
 注意:uptime 命令真的很棒,它可以显示当前系统时间、系统已运行时间、启用终端数量以 及平均负载值等信息。平均负载值指的 是系统在最近 1 分钟、5 分钟、15 分钟内的压力情 况(下面加粗的信息部分);负载值越低越好,尽量不要长期超过 1,在生产环境中不要超过 5。

 Linux下软件安装的命令


 源码安装
以源代码安装软件,每次都需要配置操作系统、配置编译参数、实际编译,最后还要依据个人喜好的方式来安装软件。这个过程很麻烦很累人。

 RPM软件包管理


 RPM安装软件的默认路径:

 

 常用的 RPM 软件包命令

 

 

 软件安装

如你需要安装一个jdk,首先要到网上下载一个jdk的rpm包,如jdk-8u171-linux-x64.rpm。最简单的安装命令如下:

rpm -i jdk-8u171-linux-x64.rpm
不过,这样的参数其实无法显示安装的进度,所以通常我们执行的命令是这样:

rpm -ivh package-name
 卸载软件

使用rpm的卸载过程一定要由最上层往下卸载,以rp-pppoe为例, 这个软件主要是依据ppp这个软件来安装的,所以当你要卸载ppp 的时候,就必须先卸载rp-pppoe才行! 删除的命令非常简单,通过-e参数就可以完成。不过,很常发生软件属性依赖导致无法山洼某些软件的问题。

rpm -e gcc


 YUM
YUM可以看作是CS架构的软件,YUM的存在很好的解决了RPM的属性依赖问题。

YUM通过依赖rpm软件包管理器, 实现了rpm软件包管理器在功能上的扩展, 因此YUM是不能脱离rpm而独立运行的。

 

 

 YUM的配置文件
容器说明
虽然yum是你在联网后就能直接使用,不过,由于你系统的站点镜像没选择好,会导致连接速度非常慢!所以,这时候就需要我们去手动修改yum的设置文档了。

 容器查询
首先,可以先查询一下目录yum server所使用的容器有哪些。 使用命令:yum repolist all,查询结果如下:

 

 

 配置文件修改
打开配置文件:vi /etc/yum.repos.d/CenOS-Base.repo,内容如下

 

 

 

 

 示例1

配置阿里yum源

1:安装wget
     yum install -y wget   (如果已经安装了则省
略)
2:备份 /etc/yum.repos.d/CentOS-Base.repo文件
     cd /etc/yum.repos.d/
     mv CentOS-Base.repo CentOSBase.repo.back
3:下载阿里云的Centos-7.repo文件
         wget -O CentOS-Base.repo
http://mirrors.aliyun.com/repo/Centos-7.repo
4:重新加载yum
     yum clean all
     yum makecache
5:检查配置的源是否是阿里的
     cat /etc/yum.repos.d/CentOS-Base.repo


 YUM使用手册


 小技巧:

使用参数-y,当遇到需要等待用户输入时,这个选项会提供yes的响应,如上面的例子可以写成:

yum install -y emacs
Linux下常用软件安装_JDK和Tomcat安装


 Jdk 安装
解压jdk安装包
tar -zxvf jdk-8u201-linux-x64.tar.gz -C
/usr/local
配置环境变量
vim /etc/profile
底部加入如下配置
export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$JAVA_HOME/bin
生效环境变量
source /etc/profile
Tomcat 安装
解压Tomcat安装包
tar -zxvf apache-tomcat-9.0.54.tar.gz -C
/usr/local
配置环境变量
export TOMCAT_HOME=/usr/local/tomcat
export
PATH=$PATH:$TOMCAT_HOME/bin:$JAVA_HOME/bin
Linux下常用软件安装_Mysql安装


 下载YUM库
wget http://dev.mysql.com/get/mysql57-
community-release-el7-10.noarch.rpm
安装YUM库
rpm -ivh mysql57-community-release-el7-
10.noarch.rpm
安装数据库
yum -y install mysql-community-server
遇到报错
Failing package is: mysql-community-libscompat-5.7.37-1.el7.x86_64
 GPG Keys are configured as:
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
失败原因: GPG对于包的源key的验证没有通过。

 解决办法
在yum install 版本后面加上 --nogpgcheck

yum -y install mysql-community-server --
nogpgcheck
完成安装,重启mysql
systemctl restart mysqld
此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此 时root用户的密码,通过如下命令可以在日志文件中找出密码:

grep "password" /var/log/mysqld.log
[root@hadoop8 ~]# grep "password"
/var/log/mysqld.log
2018-10-13T08:33:27.994868Z 1 [Note] A
temporary password is generated for
root@localhost: yj0v.0w*ywPk
复制粘贴上边的密码进入数据库

mysql -uroot -p
输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密 码之后才能操作数据库修改密码命令:

ALTER USER 'root'@'localhost' IDENTIFIED BY
'123456';
Your password does not satisfy the current
policy requirements
解决报错

修改密码策略
因为当前的密码太复杂不方便后期做实验,所以使用命令修改密码策略两种方式:

mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global
validate_password_policy=LOW;
Query OK, 0 rows affected (0.00 sec)
mysql> SET GLOBAL validate_password_length=6;
Query OK, 0 rows affected (0.00 sec)
注:执行完初始化命令后需要输入数据库root用户密码
注:密码策略分四种
1、OFF(关闭) 2、LOW(低) 3、MEDIUM(中) 4、
STRONG(强)
修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY
'123456';
开启远程连接
select User,Host,Password from user;
update user set host ="%" where user = “root”
刷新信息
mysql> flush privileges;
Linux下常用软件安装_MySQL卸载
检查是否安装了MySQL组件。
[root@localhost ~]# rpm -qa | grep -i mysql
mysql57-community-release-el7-10.noarch
mysql-community-libs-5.7.36-1.el7.x86_64
mysql-community-server-5.7.36-1.el7.x86_64
mysql-community-common-5.7.36-1.el7.x86_64
mysql-community-client-5.7.36-1.el7.x86_64
mysql-community-libs-compat-5.7.36-
1.el7.x86_64
卸载前关闭MySQL服务
systemctl stop mysqld
systemctl status mysqld
收集MySQL对应的文件夹信息
whereis mysql
mysql: /usr/bin/mysql /usr/lib64/mysql
/usr/share/mysql
/usr/share/man/man1/mysql.1.gz
卸载删除MySQL各类组件
rpm -ev --nodeps mysql57-community-release-el7-10.noarch
rpm -ev --nodeps mysql-community-libs-5.7.36-1.el7.x86_64
rpm -ev --nodeps mysql-community-server-5.7.36-1.el7.x86_64
rpm -ev --nodeps mysql-community-common-5.7.36-1.el7.x86_64
rpm -ev --nodeps mysql-community-client-5.7.36-1.el7.x86_64
rpm -ev --nodeps mysql-community-libs-compat-5.7.36-1.el7.x86_64
删除MySQL对应的文件夹
[root@DB-Server init.d]# whereis mysql
mysql:
[root@DB-Server init.d]# find / -name mysql
/var/lib/mysql
/var/lib/mysql/mysql
/usr/lib64/mysql
[root@DB-Server init.d]# rm -rf
/var/lib/mysql
[root@DB-Server init.d]# rm -rf
/var/lib/mysql/mysql
[root@DB-Server init.d]# rm -rf
/usr/lib64/mysql
删除mysql用户及用户组
[root@DB-Server init.d]# rpm -qa | grep -i
mysql
Linux进程管理


 ps
查看系统中所有进程

语法:ps [options] [--help]

 参数:

-a 显示所有进程(包括其他用户的进程)

-u 用户以及其他详细信息

-x 显示没有控制终端的进程

USER PID %CPU %MEM VSZ RSS TTY STAT START
TIME COMMAND


 示例1

列出目前所有的正在内存当中的进程。

​​​​​​​

 

 示例2

找出和cron 与 syslog 这两个服务有关的PID号码。

[root@zk3 home]# ps -aux|egrep
'(cron|syslog)'
root       714 0.0 0.1 126388 1680 ?    
  Ss   Oct17   0:01 /usr/sbin/crond -n
root       1069 0.0 0.4 222780 4552 ?    
  Ssl Oct17   0:49 /usr/sbin/rsyslogd -n
root     15844 0.0 0.0 112808   988 pts/0
  R+   10:39   0:00 grep -E --color=auto
(cron|syslog)
温馨提示:

 

top 
查看系统健康状态 ,windows 加强版任务管理器

语法:top [-d] | top [-bnp]

 

 示例1

每2s更新一次top,观察整体信息。

top -d 2


top是一个不错的进程观察工具,但不同于ps是静态的结果输出。

top这个进程可以持续地监测整个系统的进程的工作状态。

 

 

 

 

 

 

 

 

 

 

 

 

 

 示例2

假设10 604是一个已经存在的PID,观察该进程。

top -d 2 -p 10604
htop
htop的介绍
htop 是Linux系统中的一个互动的进程查看器,与Linux传统的top比 较的话, htop 更 人性化 并且还 支持鼠标 操作!

htop的安装 
#安装epel源
yum install epel-release -y
#安装htop
yum install -y htop
#安装完毕后命令行输入
htop


 kill
终止进程,kill的应用是和ps或者pgrep命名结合在一起使用的。

语法:kill [信号量] 进程ID

 注: 信号代码可以省略,常用的信号代码是 - 9,表示强制终止

示例1

终止所有的httpd进程。

[root@zk3 home]# ps auxf|grep httpd
root     15968 0.0 0.0 112808   968 pts/0
  S+   11:35   0:00 |       \_ grep --
color=auto httpd
看上面输出中的第二列,就是进程PID.

kill 15968
ps -auxf|grep httpd


 netstat
netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。

语法:netstat [选项]

 参数:

 

 示例1

列出所有端口

 

 示例2

 显示每个协议的统计信息

 

 示例3

显示核心路由信息

 

 示例4

查看端口号

 

Linux系统服务


 Service命令
服务(service) 本质就是进程,但是是运行在后台的,通常都会监听 某个端口,等待其它程序的请求,比如(mysql , sshd 防火墙等),因 此我们又称为守护进程。

语法:

service 服务名 [start | stop | restart |
reload | status]
注意: service命令其实是去/etc/init.d目录下,去执行相关程序

 示例1

查看当前防火墙的状况,关闭防火墙和重启防火墙。

[root@zk3 ~]# service iptables status
Systemd命令
Linux的启动一直采用init进程。

$ sudo /etc/init.d/apache2 start
# 或者
$ service apache2 start


 Systemd 并不是一个命令,而是一组命令,涉及到系统管理的方方面面。

systemctl 
systemctl 是 Systemd 的主命令,用于管理系统。

System V init命令    systemctl命令    作用
service foo start    systemctl start foo.service    启动服务
service foo restart    systemctl restart foo.service    重启服务
service foo stop    systemctl stop foo.service    停止服务
service foo reload    systemctl reload foo.service    
重新加载配置文件

(不终止服务)

service foo status    systemctl status foo.service    查看服务状态
 systemd-analyze
systemd-analyze 命令用于查看启动耗时。

# 查看启动耗时
$ systemd-analyze                            
         
# 查看每个服务的启动耗时
$ systemd-analyze blame
# 显示瀑布状的启动过程流
$ systemd-analyze critical-chain
# 显示指定服务的启动流
$ systemd-analyze critical-chain atd.service
hostnamectl
hostnamectl 命令用于查看当前主机的信息。

# 显示当前主机的信息
$ hostnamectl
# 设置主机名。
$ sudo hostnamectl set-hostname rhel7
timedatectl
timedatectl 命令用于查看当前时区设置。

# 查看当前时区设置
$ timedatectl
# 显示所有可用的时区
$ timedatectl list-timezones                
               
# 设置当前时区
$ sudo timedatectl set-timezone
America/New_York
$ sudo timedatectl set-time YYYY-MM-DD
$ sudo timedatectl set-time HH:MM:SS
Systemd 并不是一个命令,而是一组命令,涉及到系统管理的方方面面。

 

 Chkconfig
chkconfig命令用来更新、查询、改动不同执行级上的系统服务。比 方安装了httpd服务,而且把启动的脚本放在了/etc/rc.d/init.d文件 夹下,有时候须要开机自己主动启动它,而有时候则不须要,因 此,就能够使chkconfig命令来进行控制。

 选项:

 

 示例1

列出chkconfig 所知道的所有命令。

# chkconfig --list
开启服务。

# chkconfig telnet on //开启Telnet 服务
# chkconfig --list     //列出chkconfig 所知道的
所有的服务的情况
关闭服务

# chkconfig telnet off // 关闭 Telnet 服务
# chkconfig --list     // 列出chkconfig所知道的
所有的服务的情况
systemctl 设置服务开机启动、不启动、查看各级别下服务启动状态等常用命令

 

 经常使用服务介绍

 


 Linux系统定时任务


 什么是定时任务
定时任务命令是cond,crond就是计划任务,类似于我们平时生活 中的闹钟,定点执行。

为什么要用crond
计划任务主要是做一些周期性的任务,比如凌晨3点定时备份数据、 晚上23点开启网站抢购接口、凌晨0点关闭抢占接口等。

 

 crontab配置文件
[root@centos7 ~]# vim /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR
jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6)
(Sunday=0 or 7) OR
sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be
executed
备注:
1) * 表示任意的(分、时、日、月、周)时间都执行
2) - 表示一个时间范围段, 如5-7点
3) , 表示分隔时段, 如6,0,4表示周六、日、四
4) /1 表示每隔n单位时间, 如*/10 每10分钟
crontab的时间编写规范
00 02 * * * ls          #每天的凌晨2点整执行
00 02 1 * * ls          #每月的1日的凌晨2点整执

00 02 14 2 * ls         #每年的2月14日凌晨2点执

00 02 * * 7 ls          #每周天的凌晨2点整执行
00 02 * 6 5 ls          #每年的6月周五凌晨2点执

00 02 14 * 7 ls         #每月14日或每周日的凌晨2
点都执行
00 02 14 2 7 ls         #每年2月14日或每年2月的
周天的凌晨2点执行
*/10  02 * * * ls       #每天凌晨2点,每隔10分钟
执行一次
* * * * *  ls           #每分钟都执行
00 00 14 2 *  ls        #每年2月14日的凌晨执行命

*/5 * * * *  ls         #每隔5分钟执行一次
00 02 * 1,5,8 * ls      #每年的1月5月8月凌晨2点
执行
00 02 1-8 * *  ls       #每月1号到8号凌晨2点执行
0 21 * * * ls           #每天晚上21:00执行
45 4 1,10,22 * * ls     #每月的1,10,22号的4:
45执行
45 4 1-10 * * ls        #每月的1到10号的4:45执

3,15 8-11 */2 * * ls    #每隔两天上午8点到11点的
第3和第15分钟执行
0 23-7/1 * * * ls       #晚上11点到早上7点之间,
每隔一个小时执行
15 21 * * 1-5 ls        #周一到周五每天晚上21:
15执行


 crontab命令选项


 示例1

假设在每周一、三、五的凌晨 3 点 25 分,都需要使用 tar 命令把某 个网站的数据目录进行打包处理,使其作为一个备份文件。

25 3 * * 1,3,5 /usr/bin/tar -zcvf
backup.tar.gz /opt/wwwroot
Linux网络防火墙


 防火墙管理工具


 firewalld概述
Centos 系统中集成了多款防火墙管理工具,其中 firewalld服务是 默认的防火墙配置管理工具,它拥有基于 CLI(命 令行界面)和基 于 GUI(图形用户界面)的两种管理方式。

 firewalld 中常用的区域名称及测了规则


 firewalld防火墙的配置

 


 终端管理工具
Linux 命令时曾经听到,命令行终端是一种极富效率的工作方式, firewalld-cmd 是 firewalld 防火墙配置管理工具的 CLI(命令行界 面)版本。

 firewalld-cmd 命令中使用的参数以及作用

 


 常用示例
区域管理示例
1、显示当前系统中的默认区域

 firewall-cmd --get-default-zone
2、显示默认区域的所有规则

firewall-cmd --list-all
3、显示当前正在使用的区域及其对应的网卡接口

firewall-cmd --get-active-zones
4、设置默认区域

firewall-cmd --set-default-zone=home
firewall-cmd --get-default-zone
 服务管理示例
1、查看默认区域内允许访问的所有服务

firewall-cmd --list-service
2、添加httpd 服务到public 区域

firewall-cmd --add-service=http --zone=public
3、查看public 区域已配置规则

firewall-cmd --list-all --zone=public
4、删除public 区域的httpd 服务

firewall-cmd --remove-service=http --
zone=public
5、同时添加httpd、https 服务到默认区域,设置成永久生效

firewall-cmd --add-service=http --addservice=https --permanent
firewall-cmd --reload 
firewall-cmd --list-all
端口管理示例 
1、查看开启的端口列表

[root@localhost local]# firewall-cmd --
zone=public --list-ports
2、开启某端口

[root@localhost local]# firewall-cmd --
zone=public --add-port=8080/tcp
success
3、关闭某端口

[root@localhost local]# firewall-cmd --
zone=public --remove-port=8080/tcp
success
 SELinux
安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它 是一个 Linux 内核模块,也是 Linux 的一个安全子系统。

SELinux 主要由美国国家安全局开发。2.6 及以上版本的 Linux 内核 都已经集成了 SELinux 模块。

 

 

 SELinux 服务有三种配置模式:

 

 


[root@linuxprobe ~]# getenforce
Enforcing


 Linux内核机制


 今天为大家解读一副来自极客漫画网站作者Daniel Stori关于Linux 有趣的作品。

 

 地基

 

 解释:

地基(底层)由一排排的文件柜组成,然有序,文件柜里放置 着“文件”—电脑中的文件。左上角,有一只胸前挂着421号牌的 小企鹅,它表示着PID (进程ID(Process ID) )为421的进程、它正在查看文件柜中的文件,这代表系统中正有一个进程在访问 文件系统。在右下角有一只小狗,它是看门狗(watchdog) 、这代表对文件系统的监控。

 地面层

 

 看完了地基,接下来我们来看地基上面的一层,都有哪些东西。

 

 

 大门

 

 

如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!

评价 0 条
风晓L1
粉丝 1 资源 2038 + 关注 私信
最近热门资源
银河麒麟桌面操作系统V10SP1-2403-update1版本中,通过“麒麟管家-设备管理-硬件信息-硬盘”查看硬盘类型时,显示的是HDD(机械硬盘),而实际上该笔记本的硬盘类型为SSD  43
统信uos安装mysql的实例参考  32
分享解决宏碁电脑关机时自动重启的方法  32
在银河麒麟高级服务器操作系统V10SP3中,需要将默认shell类型修改为csh。  30
分享如何解决报错:归档 xxx.deb 对成员 control.tar.zst 使用了未知的压缩,放弃操作  29
统信uosboot区分未挂载导致更新备份失败  28
格之格打印机dp3300系列国产系统uos打印机驱动选择  27
以openkylin为例编译安装内核  24
最近下载排行榜
银河麒麟桌面操作系统V10SP1-2403-update1版本中,通过“麒麟管家-设备管理-硬件信息-硬盘”查看硬盘类型时,显示的是HDD(机械硬盘),而实际上该笔记本的硬盘类型为SSD 0
统信uos安装mysql的实例参考 0
分享解决宏碁电脑关机时自动重启的方法 0
在银河麒麟高级服务器操作系统V10SP3中,需要将默认shell类型修改为csh。 0
分享如何解决报错:归档 xxx.deb 对成员 control.tar.zst 使用了未知的压缩,放弃操作 0
统信uosboot区分未挂载导致更新备份失败 0
格之格打印机dp3300系列国产系统uos打印机驱动选择 0
以openkylin为例编译安装内核 0
作者收入月榜
1

prtyaa 收益400.53元

2

zlj141319 收益237.46元

3

哆啦漫漫喵 收益231.42元

4

IT-feng 收益219.81元

5

1843880570 收益214.2元

6

风晓 收益208.24元

7

777 收益173.07元

8

Fhawking 收益106.6元

9

信创来了 收益106.03元

10

克里斯蒂亚诺诺 收益91.08元

请使用微信扫码

添加我为好友,拉您入交流群!

请使用微信扫一扫!