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

打印 上一主题 下一主题

主题 533|帖子 533|积分 1599

目次


Linux概述
Linux特点
Linux应用范畴 
 Linux和Windows区别
 Linux下载安装
 安装VMWare假造机
 下载CentOS
 安装CentOS
 Linux三种网络配置
 背景
 桥接模式
 NAT
 Host-only
 Linux 长途登录
 配置Nat网络模式
 设置假造交换机网关
 管理员授权
 设置子网打开NAT设置
 设置网关
 配置vmware8网卡
 设置IPV4
 配置网络和DNS服务
 登录到Linux编辑网卡文件
设置XShell连接
 连接主机
 Linux系统目次结构
 文件系统组织结构
Linux用户和用户组 
 用户管理概述
 用户账号和用户组
 用户概念
 用户组概念
 Linux用户和组的关系
 Linux用户管理
 添加用户 useradd
 参数
修改用户 usermod
用户账号口令管理
删除用户 userdel
Linux用户组管理
 添加新组groupadd
修改群组groupmod
删除群组groupdel
 Linux超等用户与伪用户
 用户身份切换
Linux文件基本属性
 显示文件属性
 ls命令
 文件与目次操作
 Linux文件范例
 文件权限
​编辑 Linux权限字与权限操作
 ​编辑改变所属群组chgrp
 改变文件属性chmod
 数字设定法
 改变文件拥有者chown
Linux路径
 绝对路径
 相对路径
 Linux处理文件目次的常用命令
 pwd (显示目前所在的目次)
pwd示例: 
 mkdir (创建新目次)
 mkdir示例
rmdir (删除空的目次)
 rmdir示例:
cp (复制文件或目次)
cp示例:
rm (删除文件大概目次)
 rm示例:
mv (移动文件与目次,或修改名称)
 mv示例:
Linux文件编辑工具vi/vim
 vi/vim 的使用
 命令模式
 输入模式
底线命令模式 
 shift+zz 保存退出
vi/vim 使用实例
 常用语法
 命令操作
 Linux文件内容查察命令
 cat(显示文件内容)
 cat示例:
tac(倒着显示文件内容)
nl(显示行号)
 nl示例:
more(一页一页的显示文件内容)
 more示例:
less(往前翻页)
 示例:
head(只看头几行)
 head示例:
tail(只看尾几行)
 tail示例:
Linux打包压缩与搜刮命令
 tar 命令
gzip/gunzip压缩
 示例1
搜刮命令
grep 命令
 find命令
Linux常用系统工作命令
 reboot 命令
 poweroff 命令
 wget 命令
Linux管道符、重定向与环境变量
 输入输出重定向
 输入重定向作用表
 输出重定向作用表
管道命令符
 命令行的通配符
重要的环境变量
 用户级
Linux磁盘管理
 分区的方式
 Linux分区原理
 df命令
 lsblk命令
 参考实例
 fdisk命令
 参考实例
 Linux挂载硬盘
 假造机添加硬盘
 分区
设置分区
 查察分区
格式化
 挂载
 永久挂载
Linux系统状态检测命令
 ip addr 命令
 uname 命令
free 命令
 last 命令
 history 命令
 uptime 命令
 Linux下软件安装的命令
 源码安装
 RPM软件包管理
 YUM
 YUM的配置文件
容器说明
 容器查询
 配置文件修改
 YUM使用手册
Linux下常用软件安装_JDK和Tomcat安装
 Jdk 安装
解压jdk安装包
配置环境变量
生效环境变量
Tomcat 安装
解压Tomcat安装包
配置环境变量
Linux下常用软件安装_Mysql安装
 下载YUM库
安装YUM库
安装数据库
遇到报错
 办理办法
完成安装,重启mysql
修改密码计谋
修改密码
开启长途连接
Linux下常用软件安装_MySQL卸载
检查是否安装了MySQL组件。
卸载前关闭MySQL服务
收集MySQL对应的文件夹信息
卸载删除MySQL各类组件
删除MySQL对应的文件夹
删除mysql用户及用户组
Linux进程管理
 ps
top 
htop
htop的先容
htop的安装 
 kill
 netstat
Linux系统服务
 Service命令
Systemd命令
systemctl 
 systemd-analyze
hostnamectl
timedatectl
 Chkconfig
 常常使用服务先容
 Linux系统定时使命
 什么是定时使命
为什么要用crond
 crontab配置文件
crontab的时间编写规范
 crontab命令选项
Linux网络防火墙
 防火墙管理工具
 firewalld概述
 firewalld 中常用的区域名称及测了规则
 firewalld防火墙的配置
 终端管理工具
 firewalld-cmd 命令中使用的参数以及作用
 常用示例
区域管理示例
 服务管理示例
端口管理示例 
 SELinux
 SELinux 服务有三种配置模式:
 Linux内核机制


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/
   

  1. 如需遇到下载慢可以访问阿里镜像地址
  2. https://mirrors.aliyun.com/centos-vault/?spm=a2c6h.136
  3. 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编辑网卡文件

  1. vim /etc/sysconfig/network-scripts/ifcfgens33
  2. #修改为静态ip地址
  3. #BOOTPROTO=none
  4. BOOTPROTO=static
  5. #修改为开机自启动网卡
  6. #ONBOOT=NO
  7. ONBOOT=yes
  8. #配置ip
  9. IPADDR=192.168.66.100
  10. NETMASK=255.255.255.0
  11. GATEWAY=192.168.66.1
  12. DNS1=223.5.5.5
  13. DNS2=223.6.6.6
  14. # 保存退出   :wq
  15. # 重启网卡 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,则代表该用户不能登录到系统中:
  1. [root@itbaizhan ~]# useradd -d /home/linux -u
  2. 8888 -s /sbin/nologin linuxprobe
  3. [root@itbaizhan ~]# id linuxprobe
  4. uid=8888(linuxprobe) gid=8888(linuxprobe)
  5. groups=8888(linuxprobe)
复制代码
修改用户 usermod

   有些时间不小心在useradd的时间到场了错误的设定命据,此时我们固然可以直接到/etc/passwd或/etc/shadow中去修改相对应字段的数据。
     语法:usermod (选项) (参数)
  



 示例1
来看一下账户 linuxprobe 的默认信息:
  1. id linuxprobe
  2. uid=1000(linuxprobe) gid=1000(linuxprobe)
  3. groups=1000(linuxprobe)
复制代码
  然后将用户 linuxprobe 到场到 root 用户组中,如许扩展组列表中 则会出现 root 用户组的 字样,而基本组不会受到影响:
  1. [root@itbaizhan ~]# usermod -G rootlinuxprobe[root@itbaizhan ~]# id linuxprobe
  2. uid=1000(linuxprobe) gid=1000(linuxprobe)
  3. groups=1000(linuxprobe)
  4. ,0(root)
复制代码
  再来试试用-u 参数修改 linuxprobe 用户的 UID 号码值。除此之 外,我们还可以用-g 参数 修改用户的基本组 ID,用-G 参数修改用 户扩展组 ID。
  1. [root@linuxprobe ~]# usermod -u 8888
  2. linuxprobe
  3. [root@linuxprobe ~]# id linuxprobe
  4. uid=8888(linuxprobe) gid=1000(linuxprobe)
  5. groups=1000(linuxprobe),0(root)
复制代码
用户账号口令管理

passwd 命令用于修改用户密码、逾期时间、认证信息等。
   语法:passwd (选项) (参数)
  

 示例1
用root帮linuxpro修改密码
  1. passwd linuxpro
复制代码
示例2
   假设您有位同事正在度假,而且假期很长,那么可以使用 passwd 命令克制该用户登录系统,等假期结束回归工作岗位时,再使用该 命令答应用户登录系统,而不是将其删除。 如许既保证了这段时间 内系统的安全,也克制了频繁添加、删除用户带来的贫苦。
  1. [root@itbaizhan ~]# passwd -l linuxprobe
  2. Locking password for user linuxprobe.
  3. passwd: Success
  4. [root@itbaizhan ~]# passwd -S linuxprobe
  5. linuxprobe LK 2017-12-26 0 99999 7 -1
  6. (Password locked.)
  7. [root@itbaizhan ~]# passwd -u linuxprobe
  8. Unlocking password for user linuxprobe.
  9. passwd: Success
  10. [root@itbaizhan ~]# passwd -S linuxprobe
  11. linuxprobe PS 2017-12-26 0 99999 7 -1
  12. (Password set, SHA512 crypt.)
复制代码
删除用户 userdel

userdel 命令用于删除用户
   语法:userdel [选项] 用户名
  

    语法:[root@localhost~]#userdel [-r] username
     参数:-r : 连同用户的家目次也一起删除。
   示例1
下面使用 userdel 命令将 linuxprobe 用户删除,其操作如下:
  1. [root@itbaizhan ~]# id linuxprobe
  2. uid=8888(linuxprobe) gid=1000(linuxprobe)
  3. groups=1000(linuxprobe),0(root)
  4. [root@itbaizhan ~]# userdel -r linuxprobe
  5. [root@itbaizhan ~]# id linuxprobe
  6. id: linuxprobe: no such user
复制代码
Linux用户组管理


 添加新组groupadd

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

 示例1
创建一个新组,并设置组ID到场系统:
  1. groupadd -g 334 bigdata
复制代码
修改群组groupmod

   语法:groupmod(选项)(参数)
   ​​​​

 示例1
把创建bigdata组改为bigdata2并设置GID改为506
  1. groupmod -g 506 -n bigdata2 bigdata
复制代码
删除群组groupdel

   语法:groupdel groupname
   Linux超等用户与伪用户


 

 用户身份切换

由于超等权限在系统管理中的不可缺少的重要作用,为了完成系统 管理使命,必须用到超等权限。
   su   
  su命令就是切换用户的工具。
     语法:su [-fmp] [-c command] [-s shell] [--help] [- -version] [-] [USER [ARG]]
  

 示例1
  1. [root@itbaizhan ~]# id
  2. uid=0(root) gid=0(root) groups=0(root)
  3. [root@itbaizhan ~]# su - linuxprobe
  4. Last login: Wed Jan 4 01:17:25 EST 2017 on
  5. pts/0
  6. [linuxprobe@linuxprobe ~]$ id
  7. uid=1000(linuxprobe) gid=1000(linuxprobe)
  8. groups=1000(linuxprobe) context=unconfined_
  9. u:unconfined_r:unconfined_t:s0-s0:c0.c1023
复制代码
  留意: 上面的 su 命令与用户名之间有一个减号(-),这意味着完全 切 换到新的用户,即把环境变量信息也变更为新用户的相应信 息,而不是保存原始的信息。强烈建议在切换用户身份时添加这个减号(-)。
   sudo
Sudo 的全称为: super user do 。 顾名思义:干超等用户才能干的事! 所以Sudo最常用的功能就是提升一个命名的实行权限。
   语法:sudo [参数] 命令名称
   ​​​​​​

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


 示例1
配置baizhan拥有root的权限
  1. visudo
  2. baizhan ALL=(ALL) ALL
复制代码
示例2
在每次实行 sudo 命令后都会要求验证一下密码。
  1. [root@location opt]$ touch a.info
  2. #切换用户
  3. [baizhan@location ~]# su baizhan
  4. #删除a.info文件
  5. [baizhan@location ~]# rm -rf a.info
  6. rm: cannot remove ‘a.info/’: Permission
  7. denied
  8. [baizhan@location ~]# sudo rm -rf a.info
复制代码
如许,当切换到普通用户后再实行命令时,就不消再频繁地验证密 码了,我们在一样平常工 作中也就愉快至极了。
  1. visudo
  2. baizhan ALL=NOPASSWD: ALL
复制代码
Linux文件基本属性


 显示文件属性


 ls命令

Linux ls(英文全拼:list files)命令用于显示指定工作目次下之内 容(列出目前工作目次所含之文件及子目次)。
   语法:ls [参数]
   ​​​​​

 文件与目次操作

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



 文件权限

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

 

 比方,我们以 root 的身份登陆 Linux,并实行如下指令:
  1. [root@localhost ~]# ls -al
  2. total 156
  3. drwxr-x---.   4   root   root     4096   Sep
  4. 8 14:06 .
  5. drwxr-xr-x. 23   root   root     4096   Sep
  6. 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)分数是需要 累加的,比方当权限为:
  1. - 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] 属主名:属组名 文件名
   示例:
  1. 进入 /root 目录(~)将install.log的拥有者改为bin这个账号:
  2. [root@itbaizhan ~] cd ~
  3. [root@itbaizhan ~]# chown bin install.log
  4. [root@itbaizhan ~]# ls -l
  5. -rw-r--r-- 1 bin users 68495 Jun 25 08:53
  6. install.log
  7. 将install.log的拥有者与群组改回为root:
  8. [root@itbaizhan ~]# chown root:root
  9. install.log
  10. [root@itbaizhan ~]# ls -l
  11. -rw-r--r-- 1 root root 68495 Jun 25 08:53
  12. install.log
复制代码
Linux路径


    路径,顾名思议,是指从树形目次中的某个目次层次到某个文件的 一条道路。 Linux系统中是从" / "开始的。
     留意事项: 引入路径的概念的终极目标就是找到需要的目次大概文件。路径是由目次大概文件名构成。
   绝对路径

   绝对路径是指从“根”开始的路径。比方/usr/local,/etc/hosts,如果一 个路径是从“/”开始它一定是绝对路径。
     留意: 绝对路径必须以 “/” 开头,它表示根目次。
   相对路径

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

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

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


 pwd (显示目前所在的目次)

   pwd 是 Print Working Directory 的缩写,也就是显示目前所在目次的命令。
  1. [root@www ~]# pwd [-P]
复制代码
  选项与参数:
         -P :显示出确实的路径,而非使用连结 (link) 路径。
  pwd示例: 

  1. [root@itbaizhan ~]# pwd
  2. /root   <== 显示出目录啦~
复制代码
  留意: pwd -P 的选项后,会不以连结档的数据显示,而是显示精确的完备路径啊!
   mkdir (创建新目次)

如果想要创建新的目次的话,那么就使用mkdir (make directory) 吧。
   语法:mkdir [-mp] 目次名称
     选项与参数:
         -p :帮助你直接将所需要的目次(包含上一级目次)递归创建起来!
   mkdir示例

  1. [root@itbaizhan ~]# cd /tmp
  2. [root@itbaizhan tmp]# mkdir test   <==创建一
  3. 名为 test 的新目录
  4. [root@itbaizhan tmp]# mkdir
  5. test1/test2/test3/test4
  6. [root@itbaizhan ~]# mkdir -m 711 test2
复制代码
rmdir (删除空的目次)

   语法:rmdir [-p] 目次名称
     选项与参数:
        -p :从该目次起,一次删除多级空目次
  删除 runoob 目次
   rmdir示例:

  1. [root@itbaizhan tmp]# rmdir itbaizhan/
复制代码
cp (复制文件或目次)

cp 即拷贝文件和目次。copy的意思。
语法:
  1. [root@itbaizhan ~]# cp [-adfilprsu] 来源档 目标档
复制代码
  选项与参数: -r:递归一连复制,用於目次的复制举动
  cp示例:

  1. [root@itbaizhan ~]# cp ~/.bashrc /tmp/bashrc
  2. [root@itbaizhan ~]# cp -i ~/.bashrc
  3. /tmp/bashrc
  4. cp: overwrite `/tmp/bashrc'? n <==n不覆盖,y为
  5. 覆盖
复制代码
rm (删除文件大概目次)

语法:
   rm [-fir] 文件或目次
     选项与参数:
      -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
      -r :递归删除啊!最常用在目次的删除了!这好坏常伤害的选项!!!
   rm示例:

  1. [root@www tmp]# rm -i bashrc
  2. rm: remove regular file `bashrc'? y
  3. 如果加上 -i 的选项就会主动询问喔,避免你删除到错误的
  4. 档名!
复制代码
mv (移动文件与目次,或修改名称)

语法:
  1. [root@itbaizhan ~]# mv [-fiu] source
  2. destination
  3. [root@itbaizhan ~]# mv [options] source1
  4. source2 source3 .... directory
复制代码
  选项与参数:
  -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
  -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
  -u :若目标文件已经存在,且 source 比较新,才会升级 (update)
   mv示例:

  1. [root@itbaizhan ~]# cd /tmp
  2. [root@itbaizhan tmp]# cp ~/.bashrc bashrc
  3. [root@itbaizhan tmp]# mkdir mvtest
  4. [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. 1 基本语法
  2.   : 选项
  3.     w 保存
  4.     q 退出
  5.     ! 感叹号强制执行
  6.   / 查找,/被查找词,n是查找下一个,shift+n是往上查找
  7.   ? 查找,?被查找词,n是查找上一个,shift+n是往下查找
复制代码
示例:
   :w 保存
  :q 退出
  :q! 强制退出(放弃对文档的修改内容)
  :wq! 强制保存退出
  :set nu 显示行号
  :set nonu 不显示行号
  :命令 实行该命令
  :整数 跳转到该行
   命令操作



 Linux文件内容查察命令


 cat(显示文件内容)

由第一行开始显示文件内容
   语法:cat [-AbEnTv]
  

 cat示例:

  1. [root@itbaizhan ~]# cat /etc/issue
  2. CentOS release 6.4 (Final)
  3. Kernel \r on an \m
复制代码
tac(倒着显示文件内容)

tac与cat命令刚好相反,文件内容从末了一行开始显示,可以看出 tac 是 cat 的倒着写!如:
  1. [root@itbaizhan ~]# tac /etc/issue
  2. Kernel \r on an \m
  3. CentOS release 6.4 (Final)
复制代码
nl(显示行号)

   语法:nl [-bnw] 文件
  

 nl示例:

  1. [root@itbaizhan ~]# nl /etc/issue
  2.      1 CentOS release 6.4 (Final)
  3.      2 Kernel \r on an \m
复制代码
more(一页一页的显示文件内容)

一页一页翻动

 more示例:

  1. [root@itbaizhan ~]# more /etc/man_db.config
  2. #
  3. # Generated automatically from man.conf.in by
  4. the
  5. # configure script.
  6. #
  7. # man.conf from man-1.6d
  8. ....(中间省略)....
  9. --More--(28%) <== 重点在这一行喔!你的光标也会在
  10. 这里等待你的命令
复制代码
less(往前翻页)

一页一页翻动,以下实例输出/etc/man.config文件的内容:


 示例:

  1. [root@itbaizhan ~]# less /etc/man.config
  2. #
  3. # Generated automatically from man.conf.in by
  4. the
  5. # configure script.
  6. #
  7. # man.conf from man-1.6d
  8. ....(中间省略)....
  9. :   <== 这里可以等待你输入命令!
复制代码
head(只看头几行)

取出文件前面几行
   语法:head [-n number] 文件
     选项与参数:
  1、-n :后面接数字,代表显示几行的意思
   head示例:

  1. head -n 20 /etc/man.config
复制代码
tail(只看尾几行)

取出文件后面几行
   语法:tail [-n number] 文件
  

 tail示例:

  1. [root@itbaizhan ~]# tail /etc/man.config
  2. # 默认的情况中,显示最后的十行!若要显示最后的 20
  3. 行,就得要这样:
  4. [root@itbaizhan ~]# tail -n 20
  5. /etc/man.config
复制代码
Linux打包压缩与搜刮命令


 tar 命令

   语法:tar [选项] [文件]
     选项:
  -c 产生.tar打包文件
  -v 显示具体信息
  -f 指定压缩后的文件名
  -z 打包同时压缩 Gzip
  -x 解包.tar文件
   示例1
压缩多个文件
  1. tar -zcvf  XXX.tar.gz   n1.txt    n2.txt
复制代码
示例2
压缩目次
  1. tar -zcvf test.java.tar.gz test1
复制代码
示例3
解压:tar -zxvf XXX.tar.gz
  1. 解压到当前目录
  2. [root@itbaizhan opt]# tar -zxvf test.tar.gz
  3. 解压到/opt目录
  4. [root@itbaizhan opt]# tar -zxvf test.tar.gz –
  5. C /opt
复制代码
gzip/gunzip压缩

   语法:
  1. gzip+文件 (功能描述:压缩文件,只能将文件压缩为
  2. *.gz文件)
  3. gunzip+文件.gz (功能描述:解压缩文件命令)
复制代码
 示例1

gzip压缩
  1. [root@itbaizhan opt]# ls
  2. test.java
  3. [root@itbaizhan opt]# gzip test.java
  4. [root@itbaizhan opt]# ls
复制代码
示例2
gunzip解压缩文件
  1. [root@itbaizhan opt]# gunzip test.java.gz
  2. [root@itbaizhan opt]# ls
  3. test.java
复制代码
搜刮命令

grep 命令

grep 命令用于在文本中实行关键词搜刮,并显示匹配的结果。
   语法:grep [参数 查找内容 源文件]
  

 示例1
  1. [root@itbaizhan ~]# grep /sbin/nologin
  2. /etc/passwd
复制代码
 find命令

find 命令用于按照指定条件来查找文件。
   语法:find [查找路径] 探求条件 操作
   


 示例1
按文件名:根据名称查找/目次下的filename.txt文件。
  1. find /opt/ -name *.txt
复制代码
示例2
按拥有者:查找/opt目次下,用户名称为-user的文件
  1. find /opt/ -user atguigu
复制代码
Linux常用系统工作命令


 reboot 命令

   reboot 命令用于重启系统,其格式为 reboot。
  由于重启盘算机这种操作会涉及硬件资源的管理权限,因此默认只能使用 root 管理员来重启,其命令如下:
  1. [root@linuxprobe ~]# reboot
复制代码
 poweroff 命令

   poweroff 命令用于关闭系统,其格式为 poweroff。
  该命令与 reboot 命令雷同,都会涉及硬件资源的管理权限,因此默认只有 root 管理员才可以关闭电脑,其命令如下:
  1. [root@linuxprobe ~]# poweroff
复制代码
 wget 命令

wget 命令用于在终端中下载网络文件。
   语法:wget [参数] 下载地址
  

 示例1
尝试使用 wget 命令下载tomcat。
  1. wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.54/bin/apache-tomcat-9.0.54.tar.gz
  2. 1
复制代码
报错:
  1. ERROR: cannot verify dlcdn.apache.org's
  2. certificate, issued by ‘/C=US/O=Let's
  3. Encrypt/CN=R3’:
  4. 解决:
  5. yum install -y ca-certificates
复制代码
Linux管道符、重定向与环境变量


 输入输出重定向

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

 示例1
比如我们分别查察两个文件的属性信息,其中第二个文件是不存在的,虽然针对这两个文件的操作都分别会在屏幕上输出一些数据信 息,但这两个操作的差异其实很大:
  1. [root@itbaizhan ~]# touch itbaizhan
  2. [root@itbaizhan ~]# ls -l itbaizhan
  3. -rw-r--r--. 1 root root 0 Aug 5 05:35
  4. itbaizhan
  5. [root@itbaizhan ~]# ls -l xxxxxx
  6. ls: cannot access xxxxxx: No such file or
  7. directory
复制代码

 输入重定向作用表


 输出重定向作用表



 示例2
如果想把命令的报错信息写入到文件,该怎么操作呢?
  1. [root@itbaizhan ~]# ls -l xxxxxx
  2. cannot access xxxxxx: No such file or
  3. directory
  4. [root@itbaizhan ~]# ls -l xxxxxx >
  5. /root/stderr.txt
  6. cannot access xxxxxx: No such file or
  7. directory
  8. [root@itbaizhan ~]# ls -l xxxxxx 2>
  9. /root/stderr.txt
  10. [root@itbaizhan ~]# cat /root/stderr.txt
  11. ls: cannot access xxxxxx: No such file or
  12. directory
复制代码
管道命令符


    管道命令符其实行格式为“命令 A | 命令 B”。命令符的作用也可以 用一句话来概括“把前一个命令原本要输出到屏幕的数据当作是后一个命令的标准输入”。
   示例1
  1. 找出被限制登录用户的命令是 grep "/sbin/nologin"
  2. /etc/passwd
  3. 统计文本行数的命令则是 wc -l
复制代码
  如今要做的就是把搜刮命令的输出值传递给统计命令,即把原本要 输出到屏幕的用户信息列表再交给 wc 命令作进一步的加工,因此只需要把管道符放到两条命令之间即可,具体如 下。这简直是太方便了!
  1. grep "/sbin/nologin" /etc/passwd | wc -l
复制代码
  这个管道符就像一个法宝,我们可以将它套用到其他不同的命令上,比如用翻页的情势查察/etc 目次中的文件列表及属性信息(这 些内容默认会一股脑儿地显示到屏幕上,根本看不清楚):
  1. ls -l /etc/ | more
复制代码
  在修改用户密码时,通常都需要输入两次密码以进行确认,这在编写自动化脚本时将成为一个非常致命的缺陷。通过把管道符和 passwd 命令的--stdin 参数相结合,我们可以用一条命令来完成密码重置操作:
  1. echo "linuxprobe" | passwd --stdin root
复制代码

 命令行的通配符



    通配符就是通用的匹配信息的符号,比如星号(*)代 表匹配零个 或多个字符,问号(?)代表匹配单个字符,中括号内加上数字[0-9] 代表匹配 0~9 之间的单个数字的字符,而中括号内加上字母[abc] 则是代表匹配 a、b、c 三个字符中的任意一个字符。
   示例1
  1. [root@itbaizhan ~]# ls -l /dev/sda*
  2. brw-rw----. 1 root disk 8, 0 May 4 15:55
  3. /dev/sda
  4. brw-rw----. 1 root disk 8, 1 May 4 15:55
  5. /dev/sda1
  6. brw-rw----. 1 root disk 8, 2 May 4 15:55
  7. /dev/sda2
复制代码
  如果只想查察文件名为 sda 开头,但是后面还紧跟其他某一个字符的文件的相关信息, 该怎么操作呢?这时就需要用到问号来进行通配了。
  1. [root@itbaizhan ~]# ls -l /dev/sda?
  2. brw-rw----. 1 root disk 8, 1 May 4 15:55
  3. /dev/sda1
  4. brw-rw----. 1 root disk 8, 2 May 4 15:55
  5. /dev/sda2
复制代码
  除了使用[0-9]来匹配 0~9 之间的单个数字,也可以用[135]如许的方式仅匹配这三个指定命字中的一个,若没有匹配到,则不会显示出来:
  1. [root@itbaizhan ~]# ls -l /dev/sda[0-9]
  2. brw-rw----. 1 root disk 8, 1 May 4 15:55
  3. /dev/sda1
  4. brw-rw----. 1 root disk 8, 2 May 4 15:55
  5. /dev/sda2
  6. [root@itbaizhan ~]# ls -l /dev/sda[135]
  7. brw-rw----. 1 root disk 8, 1 May 4 15:55
  8. /dev/sda1
复制代码
重要的环境变量

   在Linux系统中,环境变量按照其作用范围不同大抵可以分为系统级环境变量和用户级环境变量。
  

 天然而然地,环境变量的配置文件也相应的被分成了系统级和用户级两种。
 系统级
  1. /etc/profile
复制代码
  在系统启动后第一个用户登录时运行,并从/etc/profile.d目次的配 置文件中搜集shell的设置,使用该文件配置的环境变量将应用于登录到系统的每一个用户。
  


 用户级

  1. ~/.profile(推荐首选)
复制代码
当用户登录时实行,每个用户都可以使用该文件来配置专属于自己使用的shell信息。
 示例1
配置tomcat环境变量
  1. vim /etc/profile
  2. export TOMCAT_HOME=
  3. export PATH=$PATH:$TOMCAT_HOME/bin
复制代码
Linux磁盘管理


 分区的方式


 Linux分区原理

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

 df命令

用于显示 Linux 系统中各文件系统的硬盘使用环境,包括文件系统所在硬盘分区的总容量、已使用的容量、剩余容量等。
    语法:df [选项] [目次或文件名]
  

 示例1:

 

 lsblk命令

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

 参考实例

显示系统中所有磁盘装备的使用环境信息:

 fdisk命令

Linux fdisk是一个创建和维护分区表的程序,它兼容DOS范例的分区表、BSD大概SUN范例的磁盘列表。

 参考实例

显示当前分区环境:
  1. [root@localhost ~]# fdisk -l
复制代码

 Linux挂载硬盘


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


 分区

设置分区

  1. fdisk /dev/sdb
复制代码

 查察分区

  1. lsblk -f
复制代码
格式化

  1. mkfs -t ext4 /dev/sdb1
复制代码

 挂载

先创建目次 /home/itbaizhan
  1. mount /dev/sdb1 /home/itbaizhan
复制代码

 

 永久挂载

  1. vim /etc/fstab
复制代码

  1. mount -a
复制代码
Linux系统状态检测命令


 ip addr 命令

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

 uname 命令

uname 命令用于查察系统内核与系统版本等信息。
  1. uname -a
  2. Linux zk3 3.10.0-1160.el7.x86_64 #1 SMP Mon
  3. Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64
  4. GNU/Linux
复制代码
  留意:在使用 uname 命令时,一样平常会固定搭配上-a 参数来完备地查察当前系统的内核名称、主 机名、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理器范例以及操作系统名称等信息。
   顺带一提,如果要查察当前系统版本的具体信息,则需要查察 redhat-release 文件,其命令以及相应的结果如下:
  1. cat /etc/redhat-release
  2. CentOS Linux release 7.9.2009 (Core)
复制代码
free 命令

free 用于显示当前系统中内存的使用量信息。
  1. free -h
复制代码


 last 命令

last 命令用于查察所有系统的登录记录。
   语法:last [参数]
  

  1. [root@zk3 opt]# last
复制代码
 history 命令

history 命令用于显示汗青实行过的命令。
   语法:history [-c]
  

 uptime 命令

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


 源码安装

   以源代码安装软件,每次都需要配置操作系统、配置编译参数、现实编译,末了还要依据个人喜好的方式来安装软件。这个过程很贫苦很累人。
   RPM软件包管理


 RPM安装软件的默认路径:

 常用的 RPM 软件包命令


 软件安装
   如你需要安装一个jdk,首先要到网上下载一个jdk的rpm包,如jdk-8u171-linux-x64.rpm。最简单的安装命令如下:
  1. rpm -i jdk-8u171-linux-x64.rpm
复制代码
  不外,如许的参数其实无法显示安装的进度,所以通常我们实行的命令是如许:
  1. rpm -ivh package-name
复制代码
 卸载软件
   使用rpm的卸载过程一定要由最上层往下卸载,以rp-pppoe为例, 这个软件主要是依据ppp这个软件来安装的,所以当你要卸载ppp 的时间,就必须先卸载rp-pppoe才行! 删除的命令非常简单,通过-e参数就可以完成。不外,很常发生软件属性依靠导致无法山洼某些软件的题目。
  1. 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. 1:安装wget
  2.      yum install -y wget   (如果已经安装了则省
  3. 略)
  4. 2:备份 /etc/yum.repos.d/CentOS-Base.repo文件
  5.      cd /etc/yum.repos.d/
  6.      mv CentOS-Base.repo CentOSBase.repo.back
  7. 3:下载阿里云的Centos-7.repo文件
  8.          wget -O CentOS-Base.repo
  9. http://mirrors.aliyun.com/repo/Centos-7.repo
  10. 4:重新加载yum
  11.      yum clean all
  12.      yum makecache
  13. 5:检查配置的源是否是阿里的
  14.      cat /etc/yum.repos.d/CentOS-Base.repo
复制代码

 YUM使用手册


 小技巧:
使用参数-y,当遇到需要等待用户输入时,这个选项会提供yes的相应,如上面的例子可以写成:
  1. yum install -y emacs
复制代码
Linux下常用软件安装_JDK和Tomcat安装


 Jdk 安装

解压jdk安装包

  1. tar -zxvf jdk-8u201-linux-x64.tar.gz -C
  2. /usr/local
复制代码
配置环境变量

  1. vim /etc/profile
  2. 底部加入如下配置
  3. export JAVA_HOME=/usr/local/jdk
  4. export PATH=$PATH:$JAVA_HOME/bin
复制代码
生效环境变量

  1. source /etc/profile
复制代码
Tomcat 安装

解压Tomcat安装包

  1. tar -zxvf apache-tomcat-9.0.54.tar.gz -C
  2. /usr/local
复制代码
配置环境变量

  1. export TOMCAT_HOME=/usr/local/tomcat
  2. export
  3. PATH=$PATH:$TOMCAT_HOME/bin:$JAVA_HOME/bin
复制代码
Linux下常用软件安装_Mysql安装


 下载YUM库

  1. wget http://dev.mysql.com/get/mysql57-
  2. community-release-el7-10.noarch.rpm
复制代码
安装YUM库

  1. rpm -ivh mysql57-community-release-el7-
  2. 10.noarch.rpm
复制代码
安装数据库

  1. yum -y install mysql-community-server
复制代码
遇到报错

  1. Failing package is: mysql-community-libscompat-5.7.37-1.el7.x86_64
  2. GPG Keys are configured as:
  3. file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
复制代码
  失败缘故原由: GPG对于包的源key的验证没有通过。
   办理办法

在yum install 版本后面加上 --nogpgcheck
  1. yum -y install mysql-community-server --
  2. nogpgcheck
复制代码
完成安装,重启mysql

  1. systemctl restart mysqld
复制代码
此时MySQL已经开始正常运行,不外要想进入MySQL还得先找出此 时root用户的密码,通过如下命令可以在日志文件中找出密码:
  1. grep "password" /var/log/mysqld.log
  2. [root@hadoop8 ~]# grep "password"
  3. /var/log/mysqld.log
  4. 2018-10-13T08:33:27.994868Z 1 [Note] A
  5. temporary password is generated for
  6. root@localhost: yj0v.0w*ywPk
复制代码
复制粘贴上边的密码进入数据库
  1. mysql -uroot -p
复制代码
输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密 码之后才能操作数据库修改密码命令:
  1. ALTER USER 'root'@'localhost' IDENTIFIED BY
  2. '123456';
  3. Your password does not satisfy the current
  4. policy requirements
复制代码
办理报错
修改密码计谋

因为当前的密码太复杂不方便后期做实验,所以使用命令修改密码计谋两种方式:
  1. mysql> set global validate_password_policy=0;
  2. Query OK, 0 rows affected (0.00 sec)
  3. mysql> set global
  4. validate_password_policy=LOW;
  5. Query OK, 0 rows affected (0.00 sec)
  6. mysql> SET GLOBAL validate_password_length=6;
  7. Query OK, 0 rows affected (0.00 sec)
  8. 注:执行完初始化命令后需要输入数据库root用户密码
  9. 注:密码策略分四种
  10. 1、OFF(关闭) 2、LOW(低) 3、MEDIUM(中) 4、
  11. STRONG(强)
复制代码
修改密码

  1. ALTER USER 'root'@'localhost' IDENTIFIED BY
  2. '123456';
复制代码
开启长途连接

  1. select User,Host,Password from user;
  2. update user set host ="%" where user = “root”
  3. 刷新信息
  4. mysql> flush privileges;
复制代码
Linux下常用软件安装_MySQL卸载

检查是否安装了MySQL组件。

  1. [root@localhost ~]# rpm -qa | grep -i mysql
  2. mysql57-community-release-el7-10.noarch
  3. mysql-community-libs-5.7.36-1.el7.x86_64
  4. mysql-community-server-5.7.36-1.el7.x86_64
  5. mysql-community-common-5.7.36-1.el7.x86_64
  6. mysql-community-client-5.7.36-1.el7.x86_64
  7. mysql-community-libs-compat-5.7.36-
  8. 1.el7.x86_64
复制代码
卸载前关闭MySQL服务

  1. systemctl stop mysqld
  2. systemctl status mysqld
复制代码
收集MySQL对应的文件夹信息

  1. whereis mysql
  2. mysql: /usr/bin/mysql /usr/lib64/mysql
  3. /usr/share/mysql
  4. /usr/share/man/man1/mysql.1.gz
复制代码
卸载删除MySQL各类组件

  1. rpm -ev --nodeps mysql57-community-release-el7-10.noarch
  2. rpm -ev --nodeps mysql-community-libs-5.7.36-1.el7.x86_64
  3. rpm -ev --nodeps mysql-community-server-5.7.36-1.el7.x86_64
  4. rpm -ev --nodeps mysql-community-common-5.7.36-1.el7.x86_64
  5. rpm -ev --nodeps mysql-community-client-5.7.36-1.el7.x86_64
  6. rpm -ev --nodeps mysql-community-libs-compat-5.7.36-1.el7.x86_64
复制代码
删除MySQL对应的文件夹

  1. [root@DB-Server init.d]# whereis mysql
  2. mysql:
  3. [root@DB-Server init.d]# find / -name mysql
  4. /var/lib/mysql
  5. /var/lib/mysql/mysql
  6. /usr/lib64/mysql
  7. [root@DB-Server init.d]# rm -rf
  8. /var/lib/mysql
  9. [root@DB-Server init.d]# rm -rf
  10. /var/lib/mysql/mysql
  11. [root@DB-Server init.d]# rm -rf
  12. /usr/lib64/mysql
复制代码
删除mysql用户及用户组

  1. [root@DB-Server init.d]# rpm -qa | grep -i
  2. mysql
复制代码
Linux进程管理


 ps

查察系统中所有进程
   语法:ps [options] [--help]
     参数:
  -a 显示所有进程(包括其他用户的进程)
  -u 用户以及其他具体信息
  -x 显示没有控制终端的进程
  1. USER PID %CPU %MEM VSZ RSS TTY STAT START
  2. TIME COMMAND
复制代码

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

 示例2
找出和cron 与 syslog 这两个服务有关的PID号码。
  1. [root@zk3 home]# ps -aux|egrep
  2. '(cron|syslog)'
  3. root       714 0.0 0.1 126388 1680 ?   
  4.   Ss   Oct17   0:01 /usr/sbin/crond -n
  5. root       1069 0.0 0.4 222780 4552 ?   
  6.   Ssl Oct17   0:49 /usr/sbin/rsyslogd -n
  7. root     15844 0.0 0.0 112808   988 pts/0
  8.   R+   10:39   0:00 grep -E --color=auto
  9. (cron|syslog)
复制代码
  温馨提示:
  

  top 

查察系统健康状态 ,windows 加强版使命管理器
   语法:top [-d] | top [-bnp]
  

 示例1
每2s更新一次top,观察团体信息。
  1. top -d 2
复制代码

   top是一个不错的进程观察工具,但不同于ps是静态的结果输出。
  top这个进程可以一连地监测整个系统的进程的工作状态。
  





 


 

 


 

 


 示例2
假设10 604是一个已经存在的PID,观察该进程。
  1. top -d 2 -p 10604
复制代码
htop

htop的先容

   htop 是Linux系统中的一个互动的进程查察器,与Linux传统的top比 较的话, htop 更 人性化 并且还 支持鼠标 操作!
  htop的安装 

  1. #安装epel源
  2. yum install epel-release -y
  3. #安装htop
  4. yum install -y htop
  5. #安装完毕后命令行输入
  6. htop
复制代码

 kill

终止进程,kill的应用是和ps大概pgrep命名结合在一起使用的。
   语法:kill [信号量] 进程ID
   注: 信号代码可以省略,常用的信号代码是 - 9,表示强制终止
示例1
终止所有的httpd进程。
  1. [root@zk3 home]# ps auxf|grep httpd
  2. root     15968 0.0 0.0 112808   968 pts/0
  3.   S+   11:35   0:00 |       \_ grep --
  4. color=auto httpd
复制代码
看上面输出中的第二列,就是进程PID.
  1. kill 15968
  2. ps -auxf|grep httpd
复制代码

 netstat

netstat命令是一个监控TCP/IP网络的非常有效的工具,它可以显示路由表、现实的网络连接以及每一个网络接口装备的状态信息。
   语法:netstat [选项]
   参数:

 示例1
列出所有端口

 示例2
 显示每个协议的统计信息

 示例3
显示焦点路由信息

 示例4
查察端标语

Linux系统服务


 Service命令

服务(service) 本质就是进程,但是是运行在后台的,通常都会监听 某个端口,等待其它程序的请求,比如(mysql , sshd 防火墙等),因 此我们又称为守护进程。
   语法:
  1. service 服务名 [start | stop | restart |
  2. reload | status]
复制代码
留意: service命令其实是去/etc/init.d目次下,去实行相关程序
   示例1
查察当前防火墙的状况,关闭防火墙和重启防火墙。
  1. [root@zk3 ~]# service iptables status
复制代码
Systemd命令

Linux的启动一直采用init进程。
  1. $ sudo /etc/init.d/apache2 start
  2. # 或者
  3. $ service apache2 start
复制代码

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

   systemctl 是 Systemd 的主命令,用于管理系统。
  
System V init命令systemctl命令作用
service foo startsystemctl start foo.service启动服务
service foo restartsystemctl restart foo.service重启服务
service foo stopsystemctl stop foo.service停止服务
service foo reloadsystemctl reload foo.service 重新加载配置文件
(不终止服务)
service foo statussystemctl status foo.service查察服务状态
 systemd-analyze

   systemd-analyze 命令用于查察启动耗时。
  1. # 查看启动耗时
  2. $ systemd-analyze                           
  3.          
  4. # 查看每个服务的启动耗时
  5. $ systemd-analyze blame
  6. # 显示瀑布状的启动过程流
  7. $ systemd-analyze critical-chain
  8. # 显示指定服务的启动流
  9. $ systemd-analyze critical-chain atd.service
复制代码
hostnamectl

   hostnamectl 命令用于查察当前主机的信息。
  1. # 显示当前主机的信息
  2. $ hostnamectl
  3. # 设置主机名。
  4. $ sudo hostnamectl set-hostname rhel7
复制代码
timedatectl

   timedatectl 命令用于查察当前时区设置。
  1. # 查看当前时区设置
  2. $ timedatectl
  3. # 显示所有可用的时区
  4. $ timedatectl list-timezones               
  5.                
  6. # 设置当前时区
  7. $ sudo timedatectl set-timezone
  8. America/New_York
  9. $ sudo timedatectl set-time YYYY-MM-DD
  10. $ sudo timedatectl set-time HH:MM:SS
复制代码
  Systemd 并不是一个命令,而是一组命令,涉及到系统管理的方方面面。
  

 Chkconfig

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

 示例1
列出chkconfig 所知道的所有命令。
  1. # chkconfig --list
复制代码
开启服务。
  1. # chkconfig telnet on //开启Telnet 服务
  2. # chkconfig --list     //列出chkconfig 所知道的
  3. 所有的服务的情况
复制代码
关闭服务
  1. # chkconfig telnet off // 关闭 Telnet 服务
  2. # chkconfig --list     // 列出chkconfig所知道的
  3. 所有的服务的情况
复制代码
systemctl 设置服务开机启动、不启动、查察各级别下服务启动状态等常用命令

 常常使用服务先容



 Linux系统定时使命


 什么是定时使命

定时使命命令是cond,crond就是筹划使命,类似于我们平时生活 中的闹钟,定点实行。
为什么要用crond

筹划使命主要是做一些周期性的使命,比如凌晨3点定时备份数据、 晚上23点开启网站抢购接口、凌晨0点关闭抢占接口等。

 crontab配置文件

  1. [root@centos7 ~]# vim /etc/crontab
  2. SHELL=/bin/bash
  3. PATH=/sbin:/bin:/usr/sbin:/usr/bin
  4. MAILTO=root
  5. # For details see man 4 crontabs
  6. # Example of job definition:
  7. # .---------------- minute (0 - 59)
  8. # | .------------- hour (0 - 23)
  9. # | | .---------- day of month (1 - 31)
  10. # | | | .------- month (1 - 12) OR
  11. jan,feb,mar,apr ...
  12. # | | | | .---- day of week (0 - 6)
  13. (Sunday=0 or 7) OR
  14. sun,mon,tue,wed,thu,fri,sat
  15. # | | | | |
  16. # * * * * * user-name command to be
  17. executed
  18. 备注:
  19. 1) * 表示任意的(分、时、日、月、周)时间都执行
  20. 2) - 表示一个时间范围段, 如5-7点
  21. 3) , 表示分隔时段, 如6,0,4表示周六、日、四
  22. 4) /1 表示每隔n单位时间, 如*/10 每10分钟
复制代码
crontab的时间编写规范

  1. 00 02 * * * ls          #每天的凌晨2点整执行
  2. 00 02 1 * * ls          #每月的1日的凌晨2点整执
  3. 00 02 14 2 * ls         #每年的2月14日凌晨2点执
  4. 00 02 * * 7 ls          #每周天的凌晨2点整执行
  5. 00 02 * 6 5 ls          #每年的6月周五凌晨2点执
  6. 00 02 14 * 7 ls         #每月14日或每周日的凌晨2
  7. 点都执行
  8. 00 02 14 2 7 ls         #每年2月14日或每年2月的
  9. 周天的凌晨2点执行
  10. */10  02 * * * ls       #每天凌晨2点,每隔10分钟
  11. 执行一次
  12. * * * * *  ls           #每分钟都执行
  13. 00 00 14 2 *  ls        #每年2月14日的凌晨执行命
  14. */5 * * * *  ls         #每隔5分钟执行一次
  15. 00 02 * 1,5,8 * ls      #每年的1月5月8月凌晨2点
  16. 执行
  17. 00 02 1-8 * *  ls       #每月1号到8号凌晨2点执行
  18. 0 21 * * * ls           #每天晚上21:00执行
  19. 45 4 1,10,22 * * ls     #每月的1,10,22号的4:
  20. 45执行
  21. 45 4 1-10 * * ls        #每月的1到10号的4:45执
  22. 3,15 8-11 */2 * * ls    #每隔两天上午8点到11点的
  23. 第3和第15分钟执行
  24. 0 23-7/1 * * * ls       #晚上11点到早上7点之间,
  25. 每隔一个小时执行
  26. 15 21 * * 1-5 ls        #周一到周五每天晚上21:
  27. 15执行
复制代码

 crontab命令选项


 示例1
   假设在每周一、三、五的凌晨 3 点 25 分,都需要使用 tar 命令把某 个网站的数据目次进行打包处理,使其作为一个备份文件。
  1. 25 3 * * 1,3,5 /usr/bin/tar -zcvf
  2. backup.tar.gz /opt/wwwroot
复制代码
Linux网络防火墙


 防火墙管理工具


 firewalld概述

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


 firewalld防火墙的配置



 终端管理工具

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



 常用示例

区域管理示例

   1、显示当前系统中的默认区域
  1. firewall-cmd --get-default-zone
复制代码
2、显示默认区域的所有规则
  1. firewall-cmd --list-all
复制代码
3、显示当前正在使用的区域及其对应的网卡接口
  1. firewall-cmd --get-active-zones
复制代码
4、设置默认区域
  1. firewall-cmd --set-default-zone=home
  2. firewall-cmd --get-default-zone
复制代码
 服务管理示例

   1、查察默认区域内答应访问的所有服务
  1. firewall-cmd --list-service
复制代码
2、添加httpd 服务到public 区域
  1. firewall-cmd --add-service=http --zone=public
复制代码
3、查察public 区域已配置规则
  1. firewall-cmd --list-all --zone=public
复制代码
4、删除public 区域的httpd 服务
  1. firewall-cmd --remove-service=http --
  2. zone=public
复制代码
5、同时添加httpd、https 服务到默认区域,设置成永久生效
  1. firewall-cmd --add-service=http --addservice=https --permanent
  2. firewall-cmd --reload
  3. firewall-cmd --list-all
复制代码
端口管理示例 

   1、查察开启的端口列表
  1. [root@localhost local]# firewall-cmd --
  2. zone=public --list-ports
复制代码
2、开启某端口
  1. [root@localhost local]# firewall-cmd --
  2. zone=public --add-port=8080/tcp
  3. success
复制代码
3、关闭某端口
  1. [root@localhost local]# firewall-cmd --
  2. zone=public --remove-port=8080/tcp
  3. success
复制代码
 SELinux

   安全加强型 Linux(Security-Enhanced Linux)简称 SELinux,它 是一个 Linux 内核模块,也是 Linux 的一个安全子系统。
  SELinux 主要由美国国家安全局开发。2.6 及以上版本的 Linux 内核 都已经集成了 SELinux 模块。
  


 SELinux 服务有三种配置模式:




  1. [root@linuxprobe ~]# getenforce
  2. Enforcing
复制代码

 Linux内核机制


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

 地基

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

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


 大门

 


 

 


 

 

 



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

半亩花草

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表