当前位置: 首页 > news >正文

Linux常用基础命令❀

文章目录❀

❀ls命令

❀cd命令

❀pwd命令

❀date命令

❀创建、删除文件和目录命令

❀alias命令

❀复制、移动、重命名、查看(文件、目录)命令

❀find查找、wc统计命令

❀vi/vim命令

1、打开文件

2、工作模式

vi与vim的四个模式

进入编辑模式

❀压缩与解压缩

❀grep sed awk命令以及正则表达式

❀制作模板机

❀软件包管理

❀用户、用户组管理

❀文件权限管理

❀磁盘管理

❀RAID 独立磁盘冗余阵列 数据安全性

❀linux系统启动流程

❀重定向

❀周期性计划任务和任务调度

❀进程管理

❀用户提权

❀文件系统-软连接、硬链接

❀日志管理

❀网络管理


            
 ❀ls命令

1.ls (list) 列出目录下的内容

-help查看帮助文档
-a (all)查看所有内容包括隐藏文件
-h 以人类可读方式显示
-l 以长格式显示文件信息
-d查看目录本身
-S由大到小排序
-r由小到大排序
-t由新到旧

ls 命令可以说是linux下最常用的命令之一。

-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。
-c 输出文件的 i 节点的修改时间,并以此排序。
-d 将目录象文件一样显示,而不是显示其下的文件。
-e 输出时间的全部信息,而不是输出简略信息。
-f -U 对输出的文件不排序。
-g 无用。
-i 输出文件的 i 节点的索引信息。
-k 以 k 字节的形式表示文件的大小。
-l 列出文件的详细信息。
-m 横向输出文件名,并以“,”作分格符。
-n 用数字的 UID,GID 代替名称。
-o 显示文件的除组信息外的详细信息。
-p -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通
文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套
接字(sockets)。
-q 用?代替不可输出的字符。
-r 对目录反向排序。
-s 在每个文件名后输出该文件的大小。
-t 以时间排序。
-u 以文件上次被访问的时间排序。
-x 按列输出,横向排序。
-A 显示除 “.”和“..”外的所有文件。
-B 不输出以 “~”结尾的备份文件。
-C 按列输出,纵向排序。
-G 输出文件的组的信息。
-L 列出链接文件名而不是链接到的文件。
-N 不限制文件长度。
-Q 把输出的文件名用双引号括起来。
-R 列出所有子目录下的文件。
-S 以文件大小排序。
-X 以文件的扩展名(最后一个 . 后的字符)排序。
-1 一行只输出一个文件。

–color=no 不显示彩色文件名
–help 在标准输出上显示帮助信息。
–version 在标准输出上输出版本信息并退出。

只列出子目录
1. ls -F | grep /”(linux)
2. ls -l | grep “^d” 或者 ls -lL | grep “^d” (Solaris)               


❀cd命令

语法格式:cd [参数] [目录名]

常用参数:

-L

切换至符号链接所在的目录

-P切换至符号链接对应的实际目录
cd -切换至上次所在目录
cd ~切换至用户家目录
cd ..切换至当前位置的上一级目录

切换到指定目录:

[root@linuxcool ~]# cd /Dir

[root@linuxcool Dir]#

切换至当前用户的家目录:

[root@linuxcool Dir]# cd ~

[root@linuxcool ~]#

进入到上一级所在目录:

[root@linuxcool ~]# cd ..

[root@linuxcool /]#

返回到上一次所在目录:

[root@linuxcool /]# cd - /root

[root@linuxcool ~]#


❀pwd命令

pwd-----显示当前工作目录的路径

语法格式:pwd【参数】

常用参数:

-L显示逻辑路径
-P显示实际物理地址
--help显示帮助信息
--version显示版本信息

参考:

[root@linuxcool ~]# pwd

/root


❀date命令

date查看系统时间和日期 (+%Y-%m-%d %H:%M:%S)
date     +%F只显示当前年月日
date     +%X

只显示当前时间到秒

使用“+”开头的字符串指定其格式

%H 小时(以00-23来表示)。
%I 小时(以01-12来表示)。
%K 小时(以0-23来表示)。
%l 小时(以0-12来表示)。
%M 分钟(以00-59来表示)。
%P AM或PM。
%r 时间(含时分秒,小时以12小时AM/PM来表示)。
%s 总秒数。起算时间为1970-01-01 00:00:00 UTC。
%S 秒(以本地的惯用法来表示)。
%T 时间(含时分秒,小时以24小时制来表示)。
%X 时间(以本地的惯用法来表示)。
%Z 市区。
%a 星期的缩写。
%A 星期的完整名称。
%b 月份英文名的缩写。
%B 月份的完整英文名称。
%c 日期与时间。只输入date指令也会显示同样的结果。
%d 日期(以01-31来表示)。
%D 日期(含年月日)。
%j 该年中的第几天。
%m 月份(以01-12来表示)。
%U 该年中的周数。
%w 该周的天数,0代表周日,1代表周一,异词类推。
%x 日期(以本地的惯用法来表示)。
%y 年份(以00-99来表示)。
%Y 年份(以四位数来表示)。
%n 在显示时,插入新的一行。
%t 在显示时,插入tab。
MM 月份(必要)
DD 日期(必要)
hh 小时(必要)
mm 分钟(必要)
ss 秒(选择性)


❀创建、删除文件和目录命令

创建文件:

touch 创建文件或者更新文件时间戳
stat查看文件信息(stat后面加文件名)

[root@qfedu ~]# touch file1.txt  #无则创建,如果存在修改时间
[root@qfedu ~]# touch /home/file10.txt
[root@qfedu ~]# touch /home/{zhuzhu,gougou} #{}集合
[root@qfedu ~]# touch /home/file{1..20}  #批量创建

创建目录:

语法:mkdir -v 详细 -p 递归 目录

mkdir 创建一个新的目录
-v(详细)为每个创建的目录打印一条消息(在mkdir后面加-v和目录名)
-p (递归) 如果存在,就不会创建,如果不存在,就会创建父目录(例如:mkdir -pv dir1/dir2/dir3)


    

{1…100}批量创建表示1到100

# mkdir dir1
创建两个目录:
# mkdir /home/dir2 /home/dir3
# mkdir /home/{dir4,dir5} 
# mkdir -v /home/{dir6,dir7}   #-v :verbose 冗长的。显示创建时的详细信息
# mkdir -p /home/dir8/111/222  #-p 创建连级目录,一级一级的创建


删除文件或目录:

删除 rm -r 递归删除目录 -f force强制 -v 详细过程 *通配符:

rm   删除文件
-r    删除目录(rm -r 目录名)
-f    忽略提示,直接强制删除

实例1:删除/home/dir1

# cd /home/
# rm -rf dir1/
​
-r 递归,删除目录时
-f force强制
-v 详细过程

示例2:

[root@qfedu ~]# mkdir /home/dir10
[root@qfedu ~]# touch /home/dir10/{file2,file3,.file4}
[root@qfedu ~]# rm -rf /home/dir10/*  //不包括隐藏文件
[root@qfedu ~]# ls /home/dir10/ -a 
.  ..  .file4

示例3:

[root@qfedu ~]# touch {1..10}.txt
[root@qfedu ~]# touch file{1..20}.txt  #创建file1-10的txt文件
[root@qfedu ~]# rm -rf file1*

文件基本信息

时间类型

访问时间:atime,查看内容 
修改时间:mtime,修改内容
改变时间:ctime,文件属性,比如权限,mv改名

查询示例

[root@qfedu ~]# ls -l passwd 
-rw-r--r--. 1 root root 839 Oct 31 21:29 passwd
 
[root@qfedu ~]# stat passwd File: ‘passwd’Size: 839         Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 33583688    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2019-10-31 21:29:40.750993492 +0800
Modify: 2019-10-31 21:29:36.449993550 +0800
Change: 2019-10-31 21:29:36.452993550 +0800Birth: -

ls -l 文件名 仅看的是文件的修改时间

❀alias命令

alias 别名(例如:a=”rm -r“好比如rm -r)

alias 取消别名(unalias 别名)


alias实战:

查看别名:
[root@qfedu.com ~]# type -a ll
ll is aliased to `ls -l --color=auto'
设置别名:
语法:alias 别名='命令'
[root@qfedu.com ~]# alias ddd='df -Th'
[root@qfedu.com ~]# alias ddd
alias ddd='df -Th'
[root@qfedu.com ~]# ddd
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        17G  1.1G   16G   7% /
devtmpfs                devtmpfs  478M     0  478M   0% /dev
tmpfs                   tmpfs     489M     0  489M   0% /dev/shm
tmpfs                   tmpfs     489M  6.7M  482M   2% /run
tmpfs                   tmpfs     489M     0  489M   0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  125M  890M  13% /boot
tmpfs                   tmpfs      98M     0   98M   0% /run/user/0
取消别名:
[root@qfedu.com ~]# unalias ddd
[root@qfedu.com ~]# ddd
-bash: ddd: command not found

❀复制、移动、重命名、查看(文件、目录)命令

         mv移动或重命名

mv  原路径   目标路径

mv  原文件名    要修改的文件名

                         cp                      复制
                         -r                      复制目录
                          *                      匹配任意所有
                          ?

                      匹配任意一个字符

cp 【选项】 原路径   目标路径

cat查看文件内容
-n带行号
tac查看倒过来的文件内容
nl带行号显示文件内容,不显示空格行
more分页(回车是一行,空格是一页,q退出)
less可以上下查看内容
head.默认查看前十行
tail默认看后十行
-n指定查看几行
-f持续观察查看

tail -f 文件名 【一般用来持续查看文件,比如查看日志或者是启动一个程序输出的结果】
简化:
tailf 文件名


❀find查找、wc统计命令

find 按条件查找文件

find 查找范围(默认是当前目录) 条件

-size    按大小查找(例如:find / -size +1M(查找大于1M))
-type    按类型查找(例如:find / -name ".cfg" -type f(查找名字是.cfg的和类型为f的管道文件) )
-name    按名字查找(例如:find / -name ".cfg"(查找名字是.cfg的文件))
-mtime +天数    按天数查找(例如:find /application/log/ -mtime +0 -type d (查找/application/log下一天前的日志,类型为目录))
管道 |  

 将前一个命令的执行结果给后一个命令处理(例如:head -3 anaconda-ks.cfg)


删除系统中所有a.txt文件
rm -rf $(find / -name “a.txt”)
find / -name “a.txt” -exec rm -rf {} \
find / -name “a.txt” |xargs rm -rf

删除/application/log/下的一天前的日志并设置为每周一删除,类型为目录
0 0 * * 1 find /application/log/ -mtime +0 -type d | xargs rm -rf

wc  统计(后面直接跟文件名)
-l    统计行数
-w    统计单词
-c    统计字节
-m    统计字符


 


❀vi/vim命令

1、打开文件

[root@qfedu.com ~]# vim   文件名

2、工作模式

vi与vim的四个模式

image-20191031171516018

进入编辑模式
i       #在光标所在处进入编辑模式
a       #在当前光标后面进入编辑模式
o       #在光标的下一行进入编辑模式
I       #在光标所在处行首进入编辑模式
A       #在光标所在处行尾进入编辑模式
O       #在光标的上一行进入编辑模式
​# 从编辑模式进入命令模式:ESC

命令模式

光标定位键盘:
0 $         #行首行尾
gg          #页首--文本顶端
G(shift+g)  #页尾--文本底部
3G           #进入第三行
/string     #查找字符,n下一个,N上一个    (n N 可以循环的)

文本编辑

 yy      #复制 3yy     #从光标开始复制3行。在最后粘贴ygg     #从当前光标复制到页首yG      #从光标开始复制到页尾dd      #删除一行3dd     #从光标开始删除3行dgg     #从光标开始删除到页首 dG      #从光标开始删除到页尾d^      #删除当前光标之前的内容p       #粘贴到本行的下一行
大P      #粘贴到本行的上一行x       #删除光标所在的字符D       #从光标处删除到行尾u       #undo撤销r       #可以用来修改一个字符

扩展命令(尾行)模式:

 shift+:    #进入尾行模式(扩展命令模式):10        #进入第10行 :w         #保存 :q         #退出 :wq        #保存并退出 :q!        #不保存并退出 :wq! 强制保存退出

进入其他模式

ctrl+v     #进入可视块模式
shift+v    #进入可视行模式

查找替换

语法----> :范围 s/old/new/选项 
:s/world/nice/         #替换当前光标所在行
:3s/sbin/nice/         #替换指定行
:1,5 s/nologin/soso/   #从1-5行的nologin 替换为soso
:%s/bin/soso/          #替换所有行
:%s/sbin/nice/g        #替换行内所有关键字
​
注释:%表示替换所有行  g表示行内所有关键字
​
将文件另存(另存为)
语法----> :w 存储到当前文件
:w /tmp/aaa.txt    #另存为/tmp/aaa.txt 
:1,3 w /tmp/2.txt  #从1-3行的内容另存为/tmp/2.txt

设置环境 :

:set nu    #设置行号 
:set list  #显示控制字符
:set nonu  #取消设置行号 


❀压缩与解压缩

gzip与gunzip

1-9 9最大 生成文件小,速度越慢
gunzip=gzip -d

压缩:gzip 原文件 文件名
解压缩:gunzip 原文件 文件名

bzip2与bunzip2

bunzip2=bzip2 -d

压缩:bzip2 原文件 文件名
解压缩:bunzip2 原文件 文件名

tar的压缩与解压缩

tar   制作或释放归档文件
-c    create 创建
-v    显示详细信息
-j    掉用bzip2压缩格式
-z    掉用gzip压缩格式
-f    指定归档文件
-x    解包
-t    列出归档文件内容
-C    

指定释放归档文件的路径


–exclude=“”指定排除不需要传输的文件模式
比如:tar -cvzf bash.tar.gz /dir1 --exclude=“*.txt” 排除所有以.txt为后缀的文件不传输

一般常用的压缩与解压缩
压缩:tar cvf 原文件 文件名
解压缩:tar xvf 原文件 文件名

file(压缩包名)可以查看这个文件是否是压缩包和类型


❀grep sed awk命令以及正则表达式

grep:

语法:

grep 【选项】 ‘内容’ 文件名

grep    以行为单位过滤
-i    不区分大小写
-v   取反
-w   以单词为单位进行过滤
-B   指定行数,过滤指定内容以及下几行
-A    指定行数,过滤指定内容以及上几行
-C    指定行数,过滤指定内容以及上下各几行
-o    只输出过滤的内容
-c    统计过滤的行数
-n  显示行号


正则表达式:

基础正则表达式 -->grep可以直接使用
$ 以…结尾
^ 以…开头
. 匹配任意一个字符
- 匹配前一个字符或子表达式任意次(例如:grep "g.d" a.txt(过滤a.txt文件中的以g开头以d结尾可以代表有任意多个字符或没有字符))
[A-Z] [a-z] [0-9] [A-Za-z0-9]
[^a-z] 取反

扩展正则表达式 egrep =grep -E
{n,m} 匹配前一个字符或子表达式n到m次
{n, } 匹配前一个字符或子表达式最少n次
{ ,m} 匹配前一个字符或表达式最少m次
{n} 匹配前一个字符或子表达式n次

+ 匹配前一个字符或子表达式1次以上(*包括0+不包括,至少)
? 匹配前一个字符或子表达式0次或1次以上
| 或
() 分组(例如:(g|f)ood)

\ 转义,取消一个字符的特殊含义

查找/root这层目录有多少个普通文件?
find ./ -maxdepth 1 -type f ! -name “.*” | wc -l | ll | grep -c “^_”

sed:

语法:

sed [选项] ‘[操作地址]sed内置操作’ 文件

常用选项:

sed    流文件处理工具
-n    只输出处理的行
-i    修改文件内容,编辑文件
-e    指定多个sed内置操作,现在不常用,多个sed内置操作可以使用分号隔开
-r    支持扩展正则表达式
 

操作地址:

2    代表处理文件的第2行
1,5    代表处理文件的第1到5行
1;5    代表处理文件的第1行和第5行
1~2    代表指定步长为2,处理的是1,3,5…行
2,~2    代表处理文件的第2行开始,到2的倍数行结束。(2,~2=2,4 ;4,~4=4,8行)
4,$    代表处理文件第4行到最后一行
1,+2    代表处理文件的第1行到第1+2行,也就是1到3行

内置操作:

p    打印
a    在指定行后追加数据
i    在指定行前插入行前
d    删除指定行
c    替换指定整行
s    替换指定字符,默认替换每行第一个字符
g    通常与s组合使用,替换全部指定字符
n    获取下一行
y    字符转换,类似于tr命令(正则不能使用)
r    将文件读入指定行后
w    将指定行另存为文件
q    结束sed操作
N    不会清空模式空间内的内容,将下一行追加到模式空间,两行数据以换行符

awk:

语法:

awk [选项] ‘BEGIN{command}匹配模式{command}END{command}’ 文件

内置操作:

$0    文件的整行
$1~$n   awk处理的列,以FS为分隔符
NF    查看一共有多少列
$NF    查看文件的最后一列
NR    表示处理的行数(一共有多少行) 外:指定输出第几行
FNR   表示处理当前文件的行数
FS   输入字段的分隔符,默认空格或制表符
RS    输入记录的分隔符,默认是换行
OFS    输出字段的分隔符,默认空格
ORS    输出行的分隔符,默认换行
FILENAME    awk处理的文件名
PATH   文件路径
ARGC   命令行参数个数
ARGV    命令行参数数组
ENVIRON    获取Linux系统中的环境变量


which 文件名查找命令的绝对路径


❀制作模板机

#进入:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
#1.网络配置  NAT
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.2.10
NETMASK=255.255.255.0
GATEWAY=192.168.2.1
DNS1=255.255.225.0/etc/init.d/network restart 重启网络服务 
ip a  查看网络信息 



xshell连接慢如何解决:

进入vi /etc/ssh/sshd_config
再找到UseDNS 吧yes改成no,前面“#”符号也要删,保存退出

重启ssh服务:
systemctl restart sshd

防火墙与selinux的关闭及开启和永久生效 :

systemctl stop firewalld 关闭防火墙服务
start

systemctl disable firewalld 禁止防火墙开机自启动
enable

firewall-cmd --state 查看防火墙状态
systemctl status firewalld

systemctl is-enabled firewalld
查看防火墙是否开机自启动

getenforce 查看selinux的状态
setenforce 设置selinux的状态
vi /etc/selinux/config
vi /etc/sysconfig/selinux
SELINUX=disabled
重启系统生效

挂载磁盘:

查看磁盘信息:
fdisk -l 查看

创建目录:
mkdir /media/cdrom
mount /dev/sr0 /media/cdrom 挂载磁盘

df -Th 挂在完查看挂载信息

配置本地yum仓库:

cd /etc/yum.repos.d/
mkdir bak
mv *.repo bak


yum源文件存在 /etc/yum.repos.d 中

创建一个文件(local.repo):
vi local.repo
[local]
name=local
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0

配置完成之后

yum clean all 清除yum缓存
yum makecache 建立新的yum缓存
或者直接用:yum makecache fast 加载未加载的缓存
安装vim和man命令: yum -y install vim man

设置永久挂载:

进入fstab:

vim /etc/fstab
/dev/sr0 /media/cdrom iso9660 defaults 0 0
第一段:挂载的设备 (dev/sr0)
第二段:挂载的目录 (/media/cdrom)
第三段:文件系统类型 (iso9660)
第四段:挂载的参数 defaults默认参数 (defaults )
第五段:是否使用dump备份 0不备份 1备份 (0)
第六段:是否使用fsck检测 0不检测(0)

注解:

1.系统中只有一块硬盘,sda,分区sda1,sda2 ;
2.根目录是整个系统目录的顶点,/mnt也在根目录下;
3.如果知道根目录对应的是哪个硬盘分区,可以判断出
a.txt存到哪个设备上;

mount /dev/sr0 /media/cdrom
mount /dev/sdb4 /mnt

扩展:格式化磁盘

#Cetnos6格式化磁盘
mkfd.ext4 -f /dev/[sda]
#Centos7格式化磁盘
mkfs.xfs -f /dev/[sda]

重启系统的命令:reboot、init 6、shutdown -r


❀软件包管理


❀用户、用户组管理


❀文件权限管理


❀磁盘管理

——————————————————  扩容根目录 ———————————————————


创建分区
[root@server-1 ~]# fdisk /dev/sdb
创建物理卷
[root@server-1 ~]# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created  #已成功创建物理卷“/dev/sdb1”
扩展'centos'卷组
[root@server-1 ~]# vgextend centos /dev/sdb1
  Volume group "centos" successfully extended  #卷组“centos”成功扩展
初始化分区
[root@server-1 ~]# mkswap /dev/sda2
扩容逻辑卷
[root@server-1 ~]# lvextend -L +19.5G /dev/mapper/centos-root (加+是在原有的基础上扩容     不加则是直接扩容到多少内存  )
[root@server-1 ~]# df -Th
 扩容xfs类型
[root@server-1 ~]# xfs_growfs /dev/mapper/centos-root

———————————————————————————————————————————

——————————————————  扩容交换分区  ——————————————————

[root@server-1 ~]# free -m
查看交换分区信息
[root@server-1 ~]# swapon -s
建一个分区出来
[root@server-1 ~]# fdisk /dev/sdc
刷新分区表
[root@server-1 ~]# partprobe /dev/sdc
查看分区表内容
[root@server-1 ~]# ll /dev/sdc*
初始化分区
[root@server-1 ~]# mkswap /dev/sdc1
查看UUID
[root@server-1 ~]# blkid /dev/sdc1
制作开机挂载
[root@server-1 ~]# vi /etc/fstab
/dev/sdc1       swap    swap    defaults        0 0
激活swap分区(读取/etc/fstab)
[root@server-1 ~]# swapon -a
查看交换分区
[root@server-1 ~]# swapon -s

———————————————————————————————————————————

Linux硬链和软链的区别在于,硬链创建了指向文件实际数据的新的文件名,而软链则创建了一个指向另一个文件名的链接文件。硬链接的文件名和文件内容是绑定在一起的,删除任何一个都会造成文件不完整,而软链接只是一个指向其他文件的文件名,删除链接文件不会影响实际的文件,因此软链接更加灵活。


———————————————————————————————————————————


#查看磁盘设备   lsblk

#查看磁盘分区信息   fdisk -l /dev/sdb

#两种格式: MBR   GPT

#针对MBR格式,创建分区      fdisk  /dev/sdb
m 查看帮助            
n 新建分区
p 新建主分区(打印分区信息)
e 创建扩展分区
l 创建逻辑分区
w 保存退出

#更新刷新磁盘分区表,不用重启      partprobe /dev/sdb

#转格式  parted -s /dev/__分区表名___  mklabel __(gpt,msdos)___
#安装分区工具     yum -y install gdisk 
#查看分区信息     gdisk -l /dev/__表名___

#格式化文件系统类型
ext4格式 : mkfs.ext4 /dev/____
xfs格式 :   mkfs.xfs  /dev/____

#磁盘挂载
  创建挂载目录 :mkdir /mnt/______
 mount  /dev/__需要挂载的磁盘___   /mnt/__挂载的目录__/


#查看磁盘挂载与磁盘使用空间    df -Th


#取消挂载
  umount /mnt/_____/
 强行卸载即使目录被进程占用  umount  -l  /mnt/___/


#fstab开机自动挂载
      查看uuid和文件系统类型    blkid   /dev/____
改配置文件   vi  /etc/fstab
 第1列:挂载设备
  第2列:挂载点(挂载目录)
  第3列:文件系统类型(xfs,ext4)
  第4列:文件系统属性(defaults)
  第5列:是否对文件系统进行磁带备份:0 不备份
  第6列:是否检查文件系统:0 不检查
#自动挂载    mount -a


LVM是 Logical Volume Manager(逻辑卷管理)
PV:物理卷(Physical volume):一块硬盘,或多块硬盘
VG:卷组(Volume Group):一堆磁盘的统称
LV:逻辑卷(Logical Volume):一个逻辑分区,一个分区


###创建LVM 
1.将物理磁盘转换为物理卷 -pv
pvcreate /dev/____
查看pv信息:pvscan,pvs,pvdisplay
2.创建卷组-vg
vgcreate vg1 /dev/sdc
查看卷组信息:vgscan,vgs,vgdisplay
3.创建逻辑卷 -L大小(可指定M,G) -n卷名  vg1组名
lvcreate -L +200M -n lv1 vg1
查看逻辑卷信息:lvscan
4.创建文件系统并挂载
a.创建文件系统/格式化
mkfs.ext4 /dev/vg1/lv1
          /dev/卷组名/逻辑卷名
b.创建挂载点
mkdir /mnt/lv1
c.挂载
mount /dev/vg1/lv1  /mnt/lv1
5.查看挂载结果
df

###VG管理(扩大vg卷组)
1.扩大vgextend
a.创建pv
  pvcreate /dev/sdd
b.扩展VG
  vgextend vg1 /dev/sdd 
c.查看VG
  vgs


###LV扩容
1.扩大lvextend
1.1  lv扩容
a.查看VG空间  vgs
b.扩容LV   lvextend -L +200M /dev/vg1/lv1
1.2  FS扩容
a.先观察文件系统容量  df -Th
b.#xfs扩容      xfs_growfs /dev/vg1/lv1
    #ext4扩容     resize2fs /dev/vg1/lv2   
c.查看FS    df -Th
请注意对比,之前的输出结果,文件系统的大小发生改变。


###交换分区管理 Swap

A.swap分区大小设置规则:
大于 4GB 而小于 16GB 内存的系统,最小需要 4GB 交换空间;
大于 16GB 而小于 64GB 内存的系统,最小需要 8GB 交换空间;
大于 64GB 而小于 256GB 内存的系统,最小需要 16GB 交换空间。

B.交换分区管理的作用:提升内存的容量,防止OOM(OutOfMemory)内存不足

1.查看当前的交换分区  free -m
  查看交换分区信息  swapon -s
2.增加交换分区:
a.准备分区  
分一个主分区  fdisk /dev/sde
刷新分区表  partprobe /dev/sde
查看分区表信息  ll /dev/sde*
b.格式化
初始化  mkswap /dev/sde1
c.挂载
 swapon /dev/sde1 
3.验证
free -m
 


❀RAID 独立磁盘冗余阵列 数据安全性


❀linux系统启动流程


❀重定向


❀周期性计划任务和任务调度


❀进程管理


❀用户提权


❀文件系统-软连接、硬链接


❀日志管理

❀部署网上商城ecshop

一、基础环境设置

[root@server-1 ~]# sed -ri '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config 
[root@server-1 ~]# setenforce 0
[root@server-1 ~]# systemctl stop firewalld.service 
[root@server-1 ~]# systemctl disable firewalld.service

二、安装LAMP

[root@server-1 ~]# yum -y install httpd mariadb-server mariadb php php-mysql gd php-gd
[root@server-1 ~]# systemctl start httpd mariadb
[root@server-1 ~]# systemctl enable httpd mariadb
#设置数据库登录的密码
[root@server-1 ~]# mysql_secure_installationEnter current password for root (enter for none): #回车Set root password? [Y/n] Y#输入你要设置的密码
New password: 
Re-enter new password: 疯狂:Y

三、Apache配置虚拟主机

[root@server-1 ~]# cat >> /etc/httpd/conf.d/ecshop.conf<<-EOF
<VirtualHost *:80>ServerName www.yzp.ecshop.comServerAlias ecshop.comDocumentRoot /www/shop
</VirtualHost><Directory "/www/shop">Require all granted
</Directory>
EOF

配置完成后重启Apache服务器 :       systemctl restart httpd

导入ecshop网站源码(需提前下载ecshop源码包): 

[root@server-1 ~]# mkdir -p /www/shop/   #创建发布目录[root@server-1 ~]# unzip ECShop_v3.6.0_UTF8_release170921.zip[root@server-1 ~]# cp -rf ECShop_v3.6.0_UTF8_release170921/* /www/shop/#修改网站目录权限[root@server-1 ~]# chown -R apache.apache /www/shop/

四、配置域名解析:

在wind电脑上面打开C:\Windows\System32\drivers\etc\hosts文件。可以用管理员身份打开

修改php.ini时区:

[root@server-1 ~]# vim /etc/php.ini

 [root@server-1 ~]# systemctl restart httpd   #重启服务

五、输入域名进行测试:

1.进行安全配置

 2.配置完权限后,页面拉到最下面点击重新检查

 3.配置系统

 4.刷新页面

 5.因需要注册后才能激活系统,出现这个页面即可



❀部署论坛系统Discuz!

一、基础环境

[root@server-1 ~]# sed -ri '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config 
[root@server-1 ~]# setenforce 0
[root@server-1 ~]# systemctl stop firewalld.service 
[root@server-1 ~]# systemctl disable firewalld.service

二、安装LAMP

[root@server-1 ~]# yum -y install httpd mariadb-server mariadb php php-mysql gd php-gd
[root@server-1 ~]# systemctl start httpd mariadb
[root@server-1 ~]# systemctl enable httpd mariadb
#设置数据库登录的密码
[root@server-1 ~]# mysql_secure_installation#输入你要设置的密码
New password: 
Re-enter new password: Remove anonymous users? [Y/n] y      #疯狂Y

三、创建虚拟主机

[root@server-1 ~]# cat >> /etc/httpd/conf.d/discuz.conf<<-EOF
<VirtualHost *:80>ServerName www.yzp.discuz.comServerAlias discuz.comDocumentRoot /www/discuz
</VirtualHost><Directory "/www/discuz">Require all granted
</Directory>
EOF
[root@server-1 ~]# systemctl restart httpd
[root@server-1 ~]# mkdir -p /www/discuz/
#导入discuz源码
[root@server-1 ~]# unzip Discuz_X3.4_SC_UTF8.zip
[root@server-1 ~]# cp -rf upload/* /www/discuz/修改网站目录权限[root@server-1 ~]# chown -R apache.apache /www/discuz/

四、登录数据库,创建数据库

# 登录数据库,创建数据库
[root@server-1 ~]# mysql -uroot -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 11
Server version: 5.5.68-MariaDB MariaDB ServerCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]> create database ultrax;
Query OK, 1 row affected (0.00 sec)MariaDB [(none)]> \q

五、配置域名解析:

在wind电脑上面打开C:\Windows\System32\drivers\etc\hosts文件。可以用管理员身份打开

 六、通过域名进行访问

 

 

 点击下一步安装完成

 

相关文章:

Linux常用基础命令❀

文章目录❀ ❀ls命令 ❀cd命令 ❀pwd命令 ❀date命令 ❀创建、删除文件和目录命令 ❀alias命令 ❀复制、移动、重命名、查看&#xff08;文件、目录&#xff09;命令 ❀find查找、wc统计命令 ❀vi/vim命令 1、打开文件 2、工作模式 vi与vim的四个模式 进入编辑模式…...

SQL-进阶

mysql --local-infile -u root -pset global local_infile 1;load data local infile 目录 into able 表名 fields terminated by , lines terminated by \n;...

[Pytorch]卷积运算conv2d

文章目录 [Pytorch]卷积运算conv2d一.F.Conv2d二.nn.Conv2d三.nn.Conv2d的运算过程 [Pytorch]卷积运算conv2d 一.F.Conv2d torch.nn.functional.Conv2d()的详细参数&#xff1a; conv2d(input: Tensor, weight: Tensor, bias: Optional[Tensor]None, stride: Union[_int, _s…...

主流开源监控系统一览

减少故障有两个层面的意思&#xff0c;一个是做好常态预防&#xff0c;不让故障发生&#xff1b;另一个是如果故障发生&#xff0c;要能尽快止损&#xff0c;减少故障时长。而监控的典型作用&#xff0c;就是帮助我们发现及定位故障&#xff0c;这两个环节对于减少故障时长至关…...

爬虫原理详解及requests抓包工具用法介绍

文章目录 一、什么是爬虫&#xff1f;二、爬虫的分类三、网址的构成四、爬虫的基本步骤五、动态页面和静态页面六、伪装请求头七、requests库介绍1. 概念&#xff1a;2. 安装方式&#xff08;使用镜像源&#xff09;&#xff1a;3. 基本使用&#xff1a;4. response对象对应的方…...

tinkerCAD案例:31. 3D 基元形状简介

tinkerCAD案例&#xff1a;31. 3D 基元形状简介 1 将一个想法从头脑带到现实世界是一次令人兴奋的冒险。在 Tinkercad 中&#xff0c;这将从一个新的设计开始。 在新设计中&#xff0c;简单的原始形状可以通过不同的方式组合成更复杂的形状。 在这个项目中&#xff0c;你将探索…...

Vue2基础一、快速入门

零、文章目录 Vue2基础一、快速入门 1、Vue 概念 &#xff08;1&#xff09;为什么学 前端必备技能 岗位多&#xff0c;绝大互联网公司都在使用Vue 提高开发效率 高薪必备技能&#xff08;Vue2Vue3&#xff09; &#xff08;2&#xff09;Vue是什么 **概念&#xff1a;…...

【POJ-3279】Fliptile(递推+搜索)

POJ-3279. Fliptile&#xff08;递推搜索&#xff09; Vjudge链接 题目描述 农场主约翰知道&#xff0c;一头智力得到满足的奶牛是一头快乐的奶牛&#xff0c;它会产更多的奶。他为奶牛安排了一项脑力活动&#xff0c;让它们摆弄一个 M N M N MN 的方格 ( 1 ≤ M ≤ 15 …...

522个matplotlib绘图案例,包含:折线图、散点图、条形图、饼图、直方图、3D图等,源码可直接运行!

文章目录 matplotlib介绍图表介绍折线图&#xff08;Line Plot&#xff09;散点图&#xff08;Scatter Plot&#xff09;条形图&#xff08;Bar Plot&#xff09;饼图&#xff08;Pie Chart&#xff09;直方图&#xff08;Histogram&#xff09;箱线图&#xff08;Box Plot&…...

windows安装Elasticsearch8.9.0

官网解压安装好路径&#xff08;非中文&#xff0c;无空格&#xff09; 可参考 言之有李LAX csdn http://t.csdn.cn/S2oju本人使用jdk17 修改配置elasticsearch.yml xpack.security.enabled: false xpack.security.http.ssl:enabled: false直接点击bin\elasticsearch.bat…...

用Delphi编写一个通用视频转换工具,让视频格式转换变得更简单

用Delphi编写的简单视频格式转换程序&#xff0c;它使用TComboBox、TOpenDialog和TSaveDialog组件来选择转换格式、选择源视频文件和选择目标视频文件。程序还使用TEdit组件允许用户输入参数&#xff0c;然后将这些组件中的信息拼接成转换命令并在DOS窗口中运行它。 procedure…...

Kafka系列之:安装Know Streaming详细步骤

Kafka系列之:安装Know Streaming详细步骤 一、相关技术博客二、安装elasticsearch1.下载elasticsearch2.创建数据目录3.创建es用户4.修改最大文件数5.解压elasticsearch6.赋予es用户目录权限7.修改es配置8.切换es用户启动elasticsearch三、安装KnowStreaming1.下载KnowStreami…...

绝杀 GETPOST 嵌套的 JSON 参数

JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式&#xff0c;常用于Web应用程序中的数据传输。在HTTP数据包信息传递时&#xff0c;JSON扮演着非常正常的角色&#xff0c;因为它是一种通用的数据格式&#xff0c;可以被多种编程语言和应用程…...

Spring 项目过程及如何使用 Spring

文章目录 1.创建 Spring 项目步骤1.1 创建 Maven 项目1.2添加 Spring 框架支持1.3 添加启动项2.如何使用 Spring2.1 存储 Bean 对象2.1.1 创建 Bean对象2.1.2 将 Bean对象注册到容器中 2.2 获取并使用 Bean对象2.2.1 使用 ApplicationContext 获取对象2.2.2 使用 BeanFactory 获…...

信息学奥赛一本通——1258:【例9.2】数字金字塔

文章目录 题目【题目描述】【输入】【输出】【输入样例】【输出样例】 AC代码 题目 【题目描述】 观察下面的数字金字塔。写一个程序查找从最高点到底部任意处结束的路径&#xff0c;使路径经过数字的和最大。每一步可以从当前点走到左下方的点也可以到达右下方的点。 在上面…...

selenium官网文档阅读总结(day 2)

1.selenium元素定位方法 1.1selenium命令 当我们使用chormdriver打开网页后&#xff0c;接下来就要用python操作元素&#xff0c;模拟用户会作出的操作&#xff0c;这些操作元素的方法就是命令。比如 (1) click&#xff1a;点击&#xff08;按钮&#xff0c;单选框&#xff…...

VMware虚拟机安装VMware tools

一、挂载光驱 执行以下命令来创建 /mnt/cdrom 目录&#xff1a; mkdir -p /mnt/cdrom-p 参数会确保如果 /mnt/cdrom 的上级目录&#xff08;例如 /mnt&#xff09;不存在的话也会被创建。 然后&#xff0c;你可以再次尝试挂载光盘&#xff1a; mount /dev/sr0 /mnt/cdrom这次…...

【Linux命令200例】rm用来删除文件或目录(谨慎使用)

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;全栈领域新星创作者✌&#xff0c;阿里云社区专家博主&#xff0c;2023年6月csdn上海赛道top4。 &#x1f3c6;本文已收录于专栏&#xff1a;Linux命令大全。 &#x1f3c6;本专栏我们会通过具体的系统的命令讲解加上鲜…...

行云管家荣获CFS第十二届财经峰会 “2023产品科技创新奖”

7月26日至27日&#xff0c;CFS第十二届财经峰会暨2023可持续商业大会在京盛大召开。峰会主题为“激活高质量发展澎湃活力”&#xff0c;超1000位政商领袖、专家学者、企业及媒体代表出席了本次盛会&#xff0c;共同分享新技术新产品新趋势、研判全球新挑战与新变局下企业的机遇…...

uniapp禁止页面滚动

用 touchmove.stop.prevent“moveHandle”&#xff0c;moveHandle 可以用来处理 touchmove 的事件&#xff0c;也可以是一个空函数。 <viewclass“mask” touchmove.stop.prevent“moveHandle”>...

ModuleNotFoundError: No module named ‘_sqlite3‘

前言 遇到报错信息如下&#xff1a; ModuleNotFoundError: No module named _sqlite3解决方式 参考解决方式&#xff1a; https://blog.csdn.net/jaket5219999/article/details/53512071 find / -name _sqlite*.socp /usr/lib64/python3.6/lib-dynload/_sqlite3.cpython-36…...

Rust的入门篇(下)

这篇博客是rust入门篇下 45. 生命周期注释 // 生命周期// 下面代码不能通过编译 // longer 函数取 s1 和 s2 两个字符串切片中较长的一个返回其引用值 // 返回值引用可能会返回过期的引用 // fn longer(s1: &str, s2: &str) -> &str { // if s2.len() >…...

PYTHON-logging-工具类-支持中文字符控制台输出和文件写入-不会导致乱码

import logging import sys import os import time from logging.handlers import RotatingFileHandler import iodef get_logger(tag):# 创建一个新的输出流&#xff0c;并指定编码为UTF-8sys.stdout io.TextIOWrapper(sys.stdout.buffer, encodingutf-8)accPath logsif not…...

对gpt的简单认识

1.gpt是什么&#xff1f; GPT&#xff08;Generative Pre-trained Transformer 生成式预训练Transformer模型&#xff09;是一种基于Transformer架构的预训练语言模型&#xff0c;由OpenAI开发。GPT模型以无监督学习的方式使用大规模语料库进行预训练&#xff0c;并具有生成文…...

java类和对象详解(1)

面向对象的初步认知 什么是面向对象 Java是一门纯面向对象的语言(Object Oriented Program, 简称OOP),在面向对象的世界里&#xff0c;一切皆为对象。面向对象是解决问题的一种思想&#xff0c;主要依靠对象之间的交互完成一件事情。 用面向对象的思想来涉及程序&#xff0c;更…...

RxJava 倒计时,轮询器

笔记 倒计时 /*** 短信倒计时** param s*/private Subscription subscription30;public void startCountdownFinishRx30(int s) {clearFinishSubscription30();subscription30 Observable.interval(0, 1, TimeUnit.SECONDS).take(s 1).map(new Func1<Long, Long>() {O…...

SE-Net注意力机制

📌本次任务:了解SE-Net原理 SE-Net 是 ImageNet 2017(ImageNet 收官赛)的冠军模型,是由WMW团队发布。具有复杂度低,参数少和计算量小的优点。且SENet 思路很简单,很容易扩展到已有网络结构如 Inception 和 ResNet 中。(这篇论文是2019年的,应该是后续做了更新) 一…...

【Lua学习笔记】Lua进阶——垃圾回收

按照唐老师的课程本来要讲自带库的&#xff0c;但是想想这东西能看文档&#xff0c;ctrl左键还能看注解&#xff0c;并且最重要的许多自带库的方法基本大部分语言都有&#xff0c;其实看看就能懂了。所以还是重点讲讲垃圾回收 文章目录 GC辅助垃圾回收collectgarbage增量模式分…...

session和cookie

cookie和session结合使用 web开发发展至今&#xff0c;cookie和session的使用已经出现了一些非常成熟的方案。在如今的市场或者企业里&#xff0c;一般有两种存储方式&#xff1a; 1、存储在服务端&#xff1a;通过cookie存储一个session_id&#xff0c;然后具体的数据则是保…...

P7243 最大公约数

题目 思路 利用曼哈顿原理求离&#xff08;x&#xff0c;y&#xff09;最远的点 代码 #include<bits/stdc.h> using namespace std; #define int long long #define INF 0x3f3f3f3f const int maxn2005; int gcd(int a,int b) { return b?gcd(b,a%b):a; } int n,m; i…...