Linux_RHEL8

目录树结构

路径表示方法:

/ 根目录

./ or .当前目录

…/ or …父目录

基本操作

基本命令
file 判断文件类型文件类型- d 目录- -/f 普通文件- b 块设备- c 字符设备- l 软连接- p 管道- s socket
pwd  查看当前工作路径
cd   更改工作路径,切换路径(切换到家目录)
-a all,查看目录下的所有文件,包括隐藏文件
-l 长列表显示
-h human,以人性化方式显示出来
-d 只列出目录名,不列出其他内容
-t 按修改时间排序
-r 逆序排列
-S 按文件的大小排序
-i 显示文件的inode号(索引号)
-R 递归列出目录中的内容
-m 用逗号分隔显示内容
mkdir -p 创建目录(连续创建文件夹)
cp
-a 递归拷贝文件,包括目录及文件属性信息
-r 拷贝目录
-p 拷贝文件包含文件的属性信息
-v 显示拷贝过程信息

a和p区别
相同点都是需要拷贝文件的属性信息,比如拥有者(谁创建的等);

不同点在于,-p只能拷贝文件,-a既可以拷贝文件也可以拷贝目录。

cat      查看文件内容(小文件)
touch
创建文件 touch /tmp/file1
修改时间 touch -a file1 -t "202010101212"-a访问时间-m更改时间-d一起修改
格式:touch -d "20201010" file1
rm
-r 递归删除,一般用于删除目录
-f 直接删除,不提示
mv   移动&重命名文件
移动文件用法(不同路径下):
# mv 需要移动的文件 移动到新的路径下重命名用法(相同路径下):
# mv 原来文件的名字 新文件的名字
查找文件

which <命令>查找命令的绝对路径

whereis <命令>查找命令路径+man手册

find命令:

按照名称

find /test -iname file1

按照类型

find /usr/bin/ -type l

按照大小

find /etc -type f -size +1M

按照拥有者/所属组

find ./ -user baiyang -group baiyang -type f

按照权限

find ./ -type f -perm 644

按照时间

​ -mtime 修改时间

​ -atime 访问时间

​ -ctime 创建时间

-daystart开始时间今天,并不是二十四小时以前的(只对后面的选项生效)

实例:

-mtime +n(n天以前) -n(n天以内)

今天是22号

-n/+n分别表示n天以内/n天以前

查找出来后执行命令
find /test/ -type f -ok cp {} /tmp \;
find /tmp/dir1/ -type f -exec rm -f {} \;

{} 代表find查找的文件

-exec 直接执行 (后必须加< ;>结尾)

-ok 询问后执行 (后必须加< ;>结尾)

-delete

-ls


man章节说明

Bash的标准输入输出

指令>和>>区别

指令 > : 如果文件存在,将原来文件的内容覆盖;原文件不存在则创建文件,再添加信息。

指令 >>:不会覆盖原文件内容,将内容追加到文件的尾部。

cat 文件1 > 文件2 将文件1的内容覆盖到文件2中
cat 文件1 >> 文件2 将文件1的内容追加到文件2的尾部

echo “内容” > filename 将内容写入覆盖到文件中

echo “内容” >> filename 将内容写入追加到文件的尾部

解压缩

zip:支持多个文件压缩成一个文件

​ zip -r /tmp/test_passwd.zip /test/ /etc/passwd -r 递归压缩

​ unzip test_passwd.zip -d /backup -d 指定解压路径

gzip/bzip/xz 只能压缩单个文件

tar

不会改变属性信息

格式:tar <选项> <打包压缩后的文件> <需要打包压缩的文件>

date查看与设置时间

hwclock

timedatectl

应用场景mkdir $(date +%F)以当前日期命名文件名称


用户与组的命令概述


用户的基本管理
1.创建用户(useradd)

useradd [选项] 用户名

​ -u 指定用户uid,唯一标识,必须唯一

​ -g 指定用户的默认组(主组)

​ -G 指定用户附加组(一个用户可以加入多个组,但是默认组只有一个)

​ -d 指定用户家目录(每个用户都有一个自己的家,并且默认在/home/xxx)

​ -s 指定用户默认shell

​ 创建用户stu2,同时指定该用户的家目录为/rhome/stu2

​ 注意:-d 指定用户的家目录,前提该用户家目录的上一级目录/rhome必须存在

2.设置密码passwd

​ passwd 用户名 表示给指定用户修改密码

​ passwd 直接回车 表示给当前用户修改密码

1.用户信息保存文件/etc/passwd

2.用户密码信息保存文件/etc/shadow

不需要交互 #echo 123 | passwd --stdinstu2 #

更改用户的账号信息(chage)
chage    -d  0   stu1 -d 表示将最近一次密码设置时间设为“最近日期”0表示下次登陆必须要修改密码
#chage -E $(date -d '+30days' +%F) stu2

​ -d 修改用户最后一次更改密码的时间

​ -m 修改密码的最小存活期(几天后才能修改密码)

​ -M 修改密码的最大存活期(每隔多少天更新一次密码)

​ -W 修改密码过期前警告(过期前几天发出警告)

​ -I 修改允许密码过期几天

​ -E 修改账户过期时间

​ -l 列出账户的信息

3.修改用户信息(usermod)

​ -u 指定用户uid,唯一标识,必须唯一

​ -g 指定用户的默认组

​ -G 指定用户附加组(一个用户可以加入多个组,但是默认组只有一个)

​ -d 指定用户家目录(每个用户都有一个自己的家,并且默认在/home/xxx)

​ 用这个时,用户的家必须全部存在

​ -s 指定用户默认shell /sbin/nologin无法登录系统

​ -m 移动用户家目录,和==-d==一起使用

4.删除用户(userdel)

userdel [选项] 用户名

​ -r 删除用户并且移除其家目录和邮箱

​ -f 强制删除正在登录的用户

组的掌握
1.创建组(groupadd)

groupadd [选项] 组名

​ -g 指定组的GID(编号),默认唯一

2.删除组(groupdel)
3.组成员管理(gpasswd)

gpasswd [选项] 组名

​ -a 添加用户到组

​ -d 从组中删除成员

​ -A 指定管理员

​ -M 指定组成员,可以批量添加用户到组中 覆盖原来的用户

​ -r 删除密码

​ gpasswd 组名 给组设置密码

组的信息保存文件——>/etc/group和/etc/gshadow

​ grep admin /etc/group 查看是否创建

经验总结:

  1. ​ usermod -g 组名 用户名

​ usermod 用户名 -g 组名

  1. ​ gpasswd 组名 -A 用户名

    ​ gpasswd -A 用户名 组名

VIM文本编辑器

三种模式

命令行模式

进行一些基本的复制、删除、跳转、撤销、移动等操作

编辑模式

esc退出

底行模式

从命令行模式按 : 进入

保存和退出、 搜索替换、其他

保存退出

​ 保存文件,命令 :w ; 另存为到其他文件,命令 :w 文件名

​ 保存退出,命令 :wq ; 强制保存退出 :wq!

​ 退出不保存,命令 :q ; 强制退出 :q!

​ 命令 :x 在文件没有修改的情况下,表示直接退出(等价于:q),在文件修改的情况下表 示保存并退出(:wq)

搜索功能

命令行模式下可以按 / 搜索

底行模式下也可按 / 搜索

:%s/root/ROOT/gc                全文搜索替换(没用g的话只替换没行第一个)(c是交互式的)
:%s#/sbin/nologin#heima#gc      可以自定义分隔符
:%s/\/sbin\/nologin/heima/gc    反斜杠 \   可以转义
:7s/shutdown/SHUTDOWN/g         加数字-指定搜索
:noh                            取消高亮
其他功能
1、临时设置行号:set number  或者  :set nu
2、永久设置行号
echo "set number" >> /etc/vimrc (亦可以直接用vim打开文件进行编辑修改)
3、查看控制字符
:set list
4、地址定位①:1,5 w /tmp/5.txt        保存前五行内容到/tmp/5.txt②:r /tmp/5.txt            在光标所在的行下面读取/tmp/5.txt文件内容③3r /tmp/5.txt         在当前文本的第3行读取/tmp/5.txt文件④1,8d                    删除文本1-8行⑤:nr !command           在第n行下面读取命令所执行的结果⑥:n !command            用命令的执行结果替换第n行的内容
可视化模式

ctrl + v(可视块)或V(可视行),然后按下↑ ↓ ← →方向键来选中需要 复制的区块,按下y 键进行复制(不要按下yy),最后按下p 键粘贴 退出可视模式按下Esc

文件权限管理

权限是设置在文件上面的,而不是用户

(一)普通权限
  • 读权限 -r 4

  • 写权限 -w 2

  • 执行权限 -x (execute) 1

  • 无权限 - 0

理解UGO(用户身份)

  • U文件的拥有者or创建者
  • G在文件所属组里的用户
  • O既不是文件创建者,也不是文件属组里的用户,称为其他人
  • a所有用户,包含UGO
修改文件普通权限==(chmod)==

chmod [选项] 模式 文件名

常见选项:

-R, --recursive 递归更改目录和目录里文件的权限

格式实例:

chmod u+x file1 可 + - =

chmod u+x,g+w,o=— file3

chmod a+x file4 a可以不加

是否可以在一个目录里创建或删除文件要看当前目录是否有w权限!

一般目录都具有r和x权限

普通权限说明

(二)高级权限

用chmod

  • 冒险位对于命令而言的s 临时拥有文件拥有者的权限
  • 强制位对于目录而言的s 用户在目录里创建的文件属组继承该目录的属组
  • 粘滞位对于公共目录而言的t 该目录下的文件只有root和文件的创建者可以删除,其他人自己管理自己
(三)默认权限

只在当前终端进程中生效

umask是针对用户的

umask=文件的最大权限-文件的默认权限

linux中,默认创建目录的最大权限是0777;文件的最大权限是0666(没有x)

权限的最小化

​ 一个文件创建出来不可能有x权限

临时控制

永久控制

​ 需要修改配置文件,对用户所有终端进程生效,可以设置所有用户或者单个用户

如何设置

相关的配置文件介绍

配置文件分为全局和局部配置

两者冲突是一般以局部为准,二般情况,看情况

(四)ACL策略(setfacl)

针对某个人在某个文件上具有权限

实例:

setfacl -m u:baiyang:rw file1    (u:用户名)
setfacl -m g:admin:rw file2     (g:组名)
setfacl -m m::r file1

​ m放在后面,R放在前面

查看文件权限的详情信息(getfacl)

文件的属主和属组
修改属主与属组(chown)

chgrp

​ 只能修改文件的属组。

​ 格式:chgrp 组名 文件名


Linux系统配置

(一)Web控制台安装

①系统默认已安装

yum list|grep cockpit

②设置开机自启动

查看是否自启动systemctl list-unit-files|grep cockpit
设置自启动systemctl enable --now cockpit.socket
再次查看systemctl list-unit-files|grep cockpit
启动cockpit服务systemctl start cockpit.service
查看状态systemctl status cockpit.service说明:①默认情况下,cockpit服务是启动的,我们可以使用以下命令检查9090端口是否监听lsof -i :9090②web控制台登录账号认证文件位于 /etc/pam.d/cockpit允许系统上任何本地帐户的用户名和密码登录③本地登录http://localhost:9090④设置防火墙策略说明:如果系统防火墙开启,则需要执行以下操作,添加cockpit服务到防火墙以打开9090端口firewall-cmd --add-service=cockpit --permanentsuccessfirewall-cmd --reloadsuccess
(二)命令修改主机名
hostnamectl set-hostname RedHat8.itcast.cn
cat /etc/hostname
也可以直接修改/etc/hostname文件
(三)静态IP地址修改
通过修改配置文件

路径 /etc/sysconfig/network-scripts/

文件 ifcfg-ens160

相关说明

使用nmcli工具配置
  • 查看网络连接情况

    nmcli connectiong show
    
  • 修改当前网卡IP地址

     nmcli connection modify ens160 ipv4.addresses 192.168.159.101/24
    
  • 增加/删除IP地址(子接口)

    nmcli connection modify ens160 +ipv4.addresses 10.1.1.1/24
    nmcli connection modify ens160 -ipv4.addresses 10.1.1.1/24
    

无论何种方式,每次修改网络后需要重载配置文件并激活连接

  • 重载网卡配置文件

    nmcli connection reload ens160
    
  • 激活网卡连接

    nmcli connection up ens160
    
使用nmtui文本图形工具
nmtui

软件包分类

  1. 二进制包
    • 常见的二进制包

    • 安装方式

      ①rpm工具安装

      ②yum/dnf工具安装——>需要配置软件仓库

  2. 源码包
  • 可以在任意平台编译安装

    ​ 配置——>功能的定制

    ​ 编译——>编译成二进制

    ​ 安装

  1. 二进制源码包

    repbuild重建

管理rpm包

rpm工具
1.安装相关
安装rpm -ivh 包全名查看是否安装成功rpm -q zsh 包最前面的名称只查看目录rpm -qc zsh
文件列表rpm -ql zsh卸载rpm -e zsh
升级rpm -Uvh 全名   未安装的话先安装+升级rpm -Fvh 全名 升级
2.查看rpm包相关信息
 1.查看已经安装的软件的文件列表rpm -ql 软件包名2.查看未安装的rpm包里的文件列表rpm -qlp 软件包(xxx.rpm)3.查看已经安装的所有rpm包rpm -qa 软件包名rpm -aq|grep 软件包名4.查看已经安装软件的文档列表rpm -qd 软件包名5.查看已经安装软件的配置文件rpm -qc 软件包名6.查看已经安装软件的详细信息rpm -qi 软件包名7.查看指定文件来自哪个rpm包rpm -qf 文件名
3.其他
 --force 表示强制rpm -ivh 软件包 --force rpm -e 软件包名 --force --nodeps 忽略依赖关系rpm -ivh 软件包 --nodeps rpm -e 软件包 --nodeps 其他了解:rpm --import key_file 导入公钥用于检查rpm文件的签名rpm --checksig package.rpm 检查rpm包的签名
yum/dnf工具
①配置yum源
  • BaseOS存储库——基础软件
  • AppStream存储库——用户空间应用程序、运行时语言和数据库

Step1:

​ 挂载镜像到本地系统

查看镜像是否挂载df -h
修改挂载目录
mount -o ro /dev/sr0 /media

Step2:

​ 修改配置文件

文件路径 /etc/yum.repos.d/RedHat.repo
vim编辑
[BaseOS]
name=BaseOS
baseurl=file:///mnt/BaseOS
gpgcheck=0
enabled=1[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream
enabled=1
gpgcheck=0

Step:查看是否成功

清空yum缓存yum clean all
创建yun缓存yum makecache
查看仓库yum repolist
②yun/dnf工具使用
  • 安装

    yum -y install 软件包1 软件包2
    yun -y groupinstall "包组名"-y表示取消交互
    
  • 卸载

    yum -y remove 软件包名
    yum -y groupremove "包组名"
    
  • 升级

    yum update 软件包名注意:如果不加软件包名默认升级所有,切不可操作
    

SSH远程连接服务

服务端与客户端

  • ​ Browser/Server架构

  • ​ Client/Server架构

(一)了解端口号

0~255:一般是知名的端口号,如ftp21、web80、ssh22、telnet23等

256~1023:通常都是由Unix系统占用来提供特定的服务

1024~5000:客户端的临时接口,随机产生

大于5000:为互联网其他服务预留

(二)了解SSH

访问服务——> IP+Port端口号

SSH——>用于Linux下远程连接管理服务的安全协议

C/S架构

  • 服务器端(开启SSH服务):安装软件(openssh-server)
  • 客户端
    • Windows:MobaXterm
    • Linux:openssh-clients
(三)查看SSH默认端口
netstat命令 查看网络连接状态-n不显示名称-l查看监听状态-tTCP协议-p查看程序名字
查看网络状态
netstat -nltp|grep :22或者lsof -i :22
(四)修改SSH服务默认端口号
修改
vim /etc/ssh/sshd_config
重启服务
systemctl restart sshd.service
客户端测试验证
(五)服务开机自启动
查看是否开机自启动
systemctl list-unit-files |grep sshd.service
查看状态
systemctl status sshd.service
自启动
systemctl enabled sshd.service
systemctl disabe sshd.service
重启/停止
systemctl start sshd.service
systemctl stop sshd.service
systemctl restart sshd.service
(六)总结:搭建服务步骤

(七)基于SSH服务的命令
Linux下客户端工具SSH

功能①Linux客户端远程连接登录Linux服务器端(ssh服务)

功能②在不登录情况下客户端远程访问Linux服务器 执行相应的命令

①格式
ssh [选项] 用户名@远程IP  #用户名为远程服务器端的用户-l指定用户访问-p指定端口号
ssh -p 22 -l user01 192.168.159.100
ssh -p 22 user01@192.168.159.100
②格式
ssh [选项] 远程IP 命令
ssh -p 22 user01@192.168.159.100 hostname
远程拷贝命令scp

1.本地文件上传到服务器(push)

scp [选项] 本地文件 远程服务器IP:/路径

2.远程服务器下载文件到本地(pull)

scp [选项] 远程服务器IP:/路径 本地路径-P指定端口号-r递归拷贝指定远程服务器用户下载
scp -P 22 heima@192.168.159.100:/etc/passwd /backup/
将文件重命名为file1
scp -P 22 heima@192.168.159.100:/etc/passwd /backup/file1

注意:
当前用户是否拥有目的路径的相关权限
如果解析比较慢可以将远程服务器的IP和主机名写到==/etc/hosts==下


管道文件

(一)匿名管道

用于父子关系的同一终端进程的通讯

作用:将上一个命令所执行的结果(标准输出)作为下一条命令的标准输入

(二)命名管道

用于任何进程通讯

mkfifo创建

终端1
rpm -aq > /tmp/p_file
终端2
grep openssh /tmp/p_file
cat openssh /tmp/p_file
(三)引申

grep过滤

xargs

结合|使用,将上一个命令的标准输出作为下一个命令的参数

find /tmp/dir1/ -type f|xargs rm -f选项-n 指定一行显示的参数个数-d

进程概述与查看

运行的程序

进程产生多个线程

(一)进程生命周期

systemd

唯一标识PID和PPID(父进程)

(二)静态查看(ps)
常用
ps -ef
ps -eF
ps -ely
ps -aux
ps -auxfa   显示当前终端下的所有进程,包括其他用户的进程
u   显示进程拥有者、状态、资源占用等的详细信息(注意有“-”和无“-”的区别)
x   显示没有控制终端的进程。通常与a这个参数一起使用,可列出较完整信息
o   自定义打印内容
-e  显示所有进程。
-f  完整输出显示进程之间的父子关系
-l  较长、较详细的将该进程的信息列出
进程信息解释说明
USER:    运行进程的用户
PID:    进程ID
%CPU:   CPU占用率
%MEM:   内存占用率
VSZ:    占用虚拟内存
RSS:    占用实际内存,驻留内存
TTY:    进程运行的终端STAT: 进程状态,man ps获取帮助(/STATE)R 运行S 可中断睡眠 SleepD 不可中断睡眠T 停止的进程Z 僵尸进程Ss s进程的领导者,父进程S< <优先级较高的进程SN N优先级较低的进程R+ +表示是前台的进程组Sl 以线程的方式运行START 进程的启动时间
TIME 进程占用CPU的总时间
COMMAND 进程文件,进程名
其他
pidof 查看指定进程的PID
pstree 查看进程树
(三)动态查看(top)

top分统计信息和进程信息

命令查看CPU
查看物理CPU的个数
# cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l
查看CPU是几核
# cat /proc/cpuinfo |grep "cores"|uniq
查看逻辑CPU的个数
# cat /proc/cpuinfo |grep "processor"|wc -l
top中当前CPU运行情况
us 用户进程占用CPU的比率
sy 内核、内核进程占用CPU的比率;
ni 如果一些用户进程修改过优先级,这里显示这些进程占用CPU时间的比率;
id CPU空闲比率,如果系统缓慢而这个值很高,说明系统慢的原因不是CPU负载高;
wa CPU等待执行I/O操作的时间比率,该指标可以用来排查磁盘I/O的问题,通常结合wa和id判断
hi CPU处理硬件中断所占时间的比率;
si CPU处理软件中断所占时间的比率;
st 其他任务所占CPU时间的比率;说明:
1. 用户进程占比高,wa低,说明系统缓慢的原因在于进程占用大量CPU,通常还会伴有教低的id,说明CPU空闲时间很少;
2. wa低,id高,可以排除CPU资源瓶颈的可能。
3. wa高,说明I/O占用了大量的CPU时间,需要检查交换空间的使用;如果内存充足,但wa很高,说明需要检查哪个进程占用了大量的I/O资源。
top常用的按键
h|? 帮助M 按内存的使用排序
P 按CPU使用排序
T 按该进程使用的CPU时间累积排序
k 给某个PID一个信号(signal),默认值是信号15
1 显示所有CPU的负载
s 改变两次刷新之间的时间。默认是5秒
q 退出程序N 以PID的大小排序
R 对排序进行反转
f 自定义显示字段
r 重新安排一个进程的优先级别
top常用的选项
-d 后面可以接秒数,指定每两次屏幕信息刷新之间的时间间隔;
-p 指定某个进程来进行监控;
-u 指定进程的拥有者
-b -n 以批处理方式执行top命令。通常使用数据流重定向,将处理结果输出为文件;# top -d 1
# top -d 1 -p 10126 查看指定进程的动态信息
# top -d 1 -u apache 查看指定用户的进程
# top -d 1 -b -n 2 > top.txt 将2次top信息写入到文件

进程控制

(一)控制进程优先级

改变NICE—>PR 优先级的范围: -20——19 数字越低,优先级越高,系统会按照更多的cpu时间给该进程

1.调整正在运行进程的优先级(renice)
  • 使用top按"r"来调整

  • 命令行使用renice调整

    renice -20 2544(PID)
    
2.程序运行时指定优先级(nice)
启动进程时,通常会继承父进程的 nice级别,默认为0。
# nice -n -5 sleep 6000 &
# ps axo command,pid,nice |grep sleep
(二)运行状态控制

用户通过给进程发送信号来控制进程的状态

常见信号

如何发送信号
1.   kill [信号] 进程PID
2.  killall     进程名称
3.  pkill       进程名称
①给进程号为15621的进程发送默认信号(-15可以省略)kill -15 15621
②给stu1用户的所有进程发送9号信号(结束stu1的所有进程),根据用户结束进程pkill -9 -u stu1
③给进程名为vsftpd的进程发送9号信号(根据进程名来结束进程)pkill -9 vsftpdkillall -15 vsftpd
(三)前后台进程控制
# command & 放到后台运行
# jobs 查看当前终端后台的进程
# fg 把后台进程放到前台来运行
# bg 把后台暂停的进程放到后台运行# fg %1 将作业1调回到前台
# bg %2 把后台编号为2的进程恢复运行状态# kill -20 %3 给job编号为3的进程发送信号
# firefox www.baidu.com & 打开浏览器放到后台运行fg %2 把后台job编号为2的进程放到前台来运行
bg %3 把后台job编号为3的进程放到后台继续运行

时间同步与计划任务

时间同步服务(chrony)
方法一修改配置文件
vim /etc/chrony.conf
pool cn.ntp.org.cn iburst
server 203.1.7.6.88 iburst
重启服务
systemctl restart chronyd.service
systemctl status chronyd.service
date一段时间自动修改方法二用chronyd命令临时指定服务器
需要把先把chronyd.service关闭才可以用
# chronyd -q "server cn.ntp.org.cn iburst"
搭建时间同步服务

服务器端

客户端

配置源查看
chronyc sources
chronyc sourcestats
报错
506 Cannot talk to daemon
原因
修改配置文件后没有重启服务
计划任务服务(crond)
相关文件
/etc/cron.d/
/etc/crontab 该文件的作用相当于/etc/cron.d/下面的某一个文件,可以定义系统计划任务/etc/cron.d/0hourly 系统每小时第一分钟需要执行的任务
/etc/cron.hourly/ 存放系统每小时需要执行的脚本
/etc/cron.daily/ 存放系统每天需要执行的脚本
/etc/cron.monthly/ 存放系统每个月需要执行的脚本
/etc/cron.weekly/ 存放系统每周需要执行的脚本/etc/cron.deny 用户拒绝列表(在该文件中的用户不能使用cron服务)
/var/spool/cron 这个目录用来存放各个用户自己设定的定时任务,普通用户没有权限直接访问
表示方法
cat /etc/crontab分钟:0-59小时:0-23日期:1-31月份:1-12星期:0-7(0或7表示周日)
#记忆方法   分时日月周特殊符号:, 表示分割,间隔- 表示一个段/n 表示每个n的单位执行一次
实例:
每个月的1号-15号,和25号的早上8:00到晚上6:00每隔2小时执行一个任务
00 08-18/2 1-15,25 * *
创建/查看/删除计划任务

​ 1.修改配置文件 /etc/crontab(不建议)

​ 2.用户通过命令crontab

①用户编辑自己的定时任务

crontab -e 编辑当前用户自己的定时任务(使用环境变量EDITOR指定的默认编辑器)
crontab -l 列出当前用户自己所有的定时任务
crontab -r 删除当前用户自己所有的定时任务
计划列表(按用户)    /var/spool/cron
日志文件        /var/log/cron

②管理员给用户编写计划任务

crontab -eu heima
crontab -lu heima

部署LAMP环境

概述:

  • 环境准备

    • 防火墙、SELinux
    • 软件仓库
  • 构建LAMP环境

    • 安装Apache-httpd
    • 安装PHP
    • 安装Mariadb
  • 启动服务

    • 启动后台数据库
    • 启动前端Web服务
  • 测试是否可以解析PHP页面

(一)搭建并测试LAMP
  • 了解机制

1.数据库
  • 启动

    yum install mariadb-server mariadb        (服务器端 与 客户端软件)
    systemctl start mariadb.service     开启服务
    systemctl enable mariadb.service    自启动
    netstat -nltp|grep 3306 查看端口是否监听
    mysql   登录
    mysqladmin -u root password 123 设置密码
    mysql -u root -p    登录
    
  • Mariadb端口:3306

  • 数据文件存放路径

    /var/lib/mysql/
    
2.Apache-httpd
RedHat8默认自带httpd-2.4.37版本
yum install httpd
systemctl start httpd.service
systemctl enable httpd.service
netstat -nltp|grep :80
3.PHP
  • 不需要启动
RedHat8默认php-7.2版本
yum -y install php-xml-7.2.11-1.module+el8+2561+1aca3413.x86_64 \
php-json-7.2.11-1.module+el8+2561+1aca3413.x86_64 \
php-mysqlnd-7.2.11-1.module+el8+2561+1aca3413.x86_64 \
php-common-7.2.11-1.module+el8+2561+1aca3413.x86_64 \
php-fpm-7.2.11-1.module+el8+2561+1aca3413.x86_64 \
php-bcmath-7.2.11-1.module+el8+2561+1aca3413.x86_64 \
php-cli-7.2.11-1.module+el8+2561+1aca3413.x86_64 \
php-7.2.11-1.module+el8+2561+1aca3413.x86_64 \
php-gd-7.2.11-1.module+el8+2561+1aca3413.x86_64 \
php-pdo-7.2.11-1.module+el8+2561+1aca3413.x86_64 \
php-devel-7.2.11-1.module+el8+2561+1aca3413.x86_64
  • 测试是否可以解析PHP页面

    cd /var/www/html/
    vim index.php
    <?phpphpinfo();
    ?>
    
(二)上传源代码文件到Web
上传文件
  • 把源码文件解压后放到  /var/www/html
    
    Web配置文件 /etc/httpd/conf/httpd.conf 显示默认用户是apache
    
  • 将html文件下的子文件的属主和属组设置为apache赋予其读写权限
    chown -R apache.apache ./*
    
总结

Linux入门笔记(完结版)相关推荐

  1. Linux入门笔记-尚硅谷韩顺平-基础篇实操篇

    文章目录 课程导论 基础篇 Linux入门 Linux介绍 Linux和Unix的关系 Linux和Windows比较 基础篇 Linux的目录结构 基本介绍 具体的目录结构 实操篇 vi和vim的使 ...

  2. Linux入门笔记——cat、sort、uniq、wc、head、tail、tee

    cat - 连接文件 cat 命令读取一个或多个文件,然后复制它们到标准输出.你可以使用 cat 来显示 文件而没有分页     cat 经常被用来显示简短的文本文件. 案例 意义 cat ls-ou ...

  3. Linux入门笔记——系统目录结构

    目录 评论 / 根目录,万物起源. /bin 包含系统启动和运行所必须的二进制程序. /boot 包含 Linux 内核,最初的 RAM 磁盘映像(系统启动时,由驱动程序所需),和 启动加载程序. 有 ...

  4. docker入门笔记(基础版)

    镜像命令 # 查看docker概要信息 docker info # 列出本地主机上的镜像 docker images docker images -a # 查看远程库的镜像 docker search ...

  5. Linux入门笔记——type、switch、help、man、apropos、whatis、info

    type 显示命令的类型 switch 显示可执行程序的位置 help 得到shell 内部命令的帮助文档 例如:help cd --help 许多可执行程序支持一个 --help 选项,这个选项是显 ...

  6. Linux入门笔记——文件操作命令1

    pwd Print name of current working directory(打印出当前工作目录名) cd Change directory(更改目录)     例子:         cd ...

  7. Linux入门笔记——cal、date、free、clear、history、man、whatis、uname

    1.cal      显示日历 2.date      显示系统当前的日期和时间 3.df     查看磁盘剩余空间的数量,常用参数 -h (human)人性化显示内容 4.free     显示空闲 ...

  8. Linux 入门笔记

    linux基础 一.人机交互接口 1.GUI:graphic user interface         (1)windows         (2)X-window:gnome.KDE.Xface ...

  9. kali入门笔记(残缺版)

    目录 1. 环境搭建 2. 虚拟机使用技巧 3. kali 常用命令 4. Arping的使用 5. hping3 端口扫描 6. nslookup 7. 使用dnsenum收集域名信息 8. DNS ...

最新文章

  1. Python 技巧篇-官方网站打不开的情况下通过官方获取最新python安装包方法
  2. 【自动驾驶】29.坐标变换与坐标轴旋转
  3. hdu 4109 Instrction Arrangement 拓扑排序 关键路径
  4. Linux fork()函数底层CopyOnWrite写时复制实现原理剖析
  5. python3(十四)Python 异常处理
  6. oracle系统库名,Oracle 札记之 一:数据库名,数据库实例名,数据库域名,操作系统环境变量...
  7. QMutexLocker作用范围
  8. supervisor入门应用
  9. PyCharm 入手第一记
  10. Kafka权威指南,Kafka消费者
  11. 抖音矩阵系统,抖音矩阵系统源码,抖音SEO源码。
  12. 2020年低压电工模拟考试题库及低压电工模拟考试系统
  13. 熟练操作计算机办公软件英语怎么说,办公软件用英语怎么说英文表达
  14. 单元测试总结反思_单元考试反思总结
  15. 证书服务器 过期,iis7服务器证书过期如何换新的以及证书服务器
  16. 【Java系列】(四)Java多线程---线程安全
  17. 网站域名过期后还能买回来吗?
  18. 小波变换完美通俗讲解系列之 (一)
  19. supervisor 同时开启多个进程 numprocs 1
  20. Python简易的HTTP服务器

热门文章

  1. 应届毕业生该如何找工作
  2. 使用SQL Server数据库支持SharePoint的5条技巧
  3. Google 测试——VTS测试
  4. 计算e=1+1/1!+1/2!+1/3!+...,当1/n!<1e-7时停止
  5. GBase 8a在V95版本做节点替换报错single vc mode does not support ‘–freenode’
  6. 宁波SEO博客优化网站排名,文章真的很重要吗?
  7. CST微波工作室学习笔记—2.工作界面
  8. vue文本识别 “ \n ” 的换行问题 和顶部温馨提示实践
  9. OpenCV-10-直方图匹配/直方图规定化
  10. 双曲嵌入Poincare disk