磁盘管理:
系统分区:/ 根分区 (主要用于存放系统文件及程序),大小至少5G
swap 交换分区 (主要用于支持虚拟内存) 当物理内存小于8G,交换分区一般为1.5倍物理内存
/boot 系统引导分区,用来存储系统的引导文件 一般分配200M
/data 数据存储分区
/usr 用来安装其他软件
/home 用来存储个人本地文件(家目录)
作业:1、linux中的各文件的颜色分别表示什么?
白色:表示普通文件
蓝色:表示目录
绿色:表示可执行文件
红色:表示压缩文件
浅蓝色:链接文件
红色闪烁:表示链接的文件有问题
黄色:表示设备文件
灰色:表示其他文件
1、普通用户与管理用户切换: 普到管:sudo su 管到普:exit
2、hostname:用于查看主机名
hostname name 将主机名改成name(临时修改主机名,系统重启后会失效)
hostnamectl set-hostname name(永久改法)
3、man:用来查看指定命令的帮助信息
4、lS:用来显示指定目录下的内容,列出指定目录下所含的文件及子目录。
语法:lS [选项] {目录或文件}
lS -a 显示指定目录下的所有文件及子目录,包含隐藏文件
lS -A 显示指定目录下的(除.和..)所有文件及子目录
lS -d 显示指定目录的属性信息
lS -l 显示指定目录下的文件和子目录的详细信息
lS -r 倒序显示指定目录下的文件及目录
lS -t 以时间顺序显示指定目录下的文件及子目录
lS -al
rwx 读写执行
-(f):普通文件
d:目录文件
l:链接文件
b:块设备文件
c:字符设备文件
p:管道文件
tybes
clear:清屏
5、cd:用于切换目录 cd [选项] .当前目录 ..上一级目录
cd / 切换到根目录下
cd .. 切换到上级目录
cd ~ 切换到当前登录用户的家目录下
pwd:显示路径
练习:切换到/usr/local
6、关机:
shutdown:用于对系统执行关机操作
shutdown -t推迟多少秒关机
-f重新启动不执行fsck命令
-h 将系统关机
-r 关机之后重新启动
-c 取消已经执行的shutdown
reboot:重启
init:init0 关机
init6 重启
halt:关机
命令格式
[root@localhost ~]# shutdown [选项] 时间 [警告信息]
选项:
#把定义重启命令放入后台,&是后台的意思
[root@localhost ~]# shutdown -c
//取消定时重启
[root@localhost ~]# shutdown -r +10
//十分钟后重启
【例题2】关机和定时关机
[root@localhost ~]# shutdown -h now
//现在关机
[root@localhost ~]# shutdown -h 05:30
//指定时间关机
reboot命令
在现在的系统中,reboot命令也是安全的而且不需要加入过多的选项
[root@localhost ~]# reboot
//重启
halt和poweroff命令
这两个都是关机命令,直接执行即可
[root@localhost ~]# halt
//关机
[root@localhost ~]# poweroff
//关机
7、添加用户:
useradd:用于创建新的系统用户
语法:useradd[选项] 用户名
选项: -d 指定用户的家目录(默认用户名目录为/home/用户名,root用户名家目录是/root)
-g 指定用户所属组
-M 不自动建立用户登录的目录 (默认的用户登录目录是用户家目录)
-u 指定用户ID
8、passwd 用于设置/修改用户密码 passwd[用户名]
9、whoami 用于显示当前登录到系统的用户名
周测:1、找到/etc/ppp/ipup 文件,写出操作命令过程,并显示详细信息,粘贴到文档上
# cd /etc/ppp/
IS -al
2、新建一个新用户admin,指定/root家目录下,并指定用户ID为6666,
设置密码为:admin@123。写出命令过程
3、写出推出30秒的关机命令
shutdown -t +0.5
shutdown -t 5
10、free 用于查看系统内存状态,包括系统物理内存、虚拟内存、系统缓冲。
free[选项]
-b 指定以字节为单位显示
-m 指定以MB为单位显示
-k 指定以KM为单位显示
-h 以友好的格式输出结果(配合上述3个选项一同使用)
-s <间隔秒数> 持续观察内存使用状态
-t显示内存总和 -mht
-V 显示版本信息 -Vmht
11、ps 用于显示当前进程的状态
ps [选项]
-a 显示所有用户的进程并包含每个进程的完整路径
-A 显示所有的进程 |more (向后翻页查看) less (向前翻页查看) q 退出
-u 显示使用者的名称和起始时间(常与a选项配合使用) ps -au | less(more) -ef
-f 全格式详细输出进程信息
-e 显示除系统内核以外所有的进程信息
UID:使用此进程的用户ID
PID:进程的进程ID
PPID:进程的父进程ID,
C:运行此进程CPU占有率
STINE:此进程开始运行的时间
TTY:开启此进程的终端
TIME:此进程运行的总时间
CMD:正在执行的命令行
12、date 用于显示或修改系统时间与日期
date [选项]显示时间格式(以“+”开头,后面接时间格式参数)
-d STRING 显示STRING中指定的时间,而非系统时间。 date -s 20220301 date -d '5 day ago' date -d '+5 days' hwclock -w
-s STRING 将系统时间设置为STRING中指定的时间。
时间格式:
%H 显示小时,显示范围00~23
%M 显示分钟,显示范围00~59
%S 显示秒钟,(以“+”开头,后面接时间格式),显示范围00~59
%m 显示月份,显示01~12
%d 显示一个月的第几天
%T 以hh:mm:ss格式显示时间,
%D 以mm/dd/yy显示年份和月份,yy代表年份的最后两位数
%Y %y 显示年份,%Y显示完整年份,%y显示年份的最后两位数 date '+%y' date '+%Y'
13、cal[选项]
-1 显示当月日历
-3 显示前一个月当前月后一个月日历
-s 显示星期天为第一天的日历
-m 显示星期一为第一天的日历
-j 显示该年第几天
-y 显示该年的日历
-v 显示版本信息
14、touch 用于修改文件的时间属性,若文件不存在,系统会自动创建此文件
(因此也可以使用touch命令来创建新的空白文件)且此文件创建时间为当前系统时间
touch[选项]文件名
-a 修改文件的访问时间为系统当前时间
-m 修改文件的修改时间为系统当前时间
-d 将文件的修改时间修改为指定时间
-r<参考文件>将文件的时间修改为参考文件的时间
15、cat 用于查看文件内容,还可以合并文件,如果合并文件不存在,则自动创建。
cat[选项]文件名
cat 文件a 文件b >文件c
-n 从1开始对文件所有输出的行数编号,包括空白行
-b 从1开始对文件所有输出的行数编号,空白行不编号
-s 当文件输出内容有连续两行以上的空白行时,替换成一行空白行
vi编辑器:
vi 文件名——i a s(进入插入模式)——内容编辑——编辑完成后,按Esc
——:wq保存退出,强制后面加!
16、mkdir 用于创建一个新目录
mkdir [选项] 目录名
-m 创建目录的同时设置目录权限
-p 递归创建目录
r:4 w:2 X:1 user group other
711:rwx--x--x
766: rwxrw -rw-
555: r-xr-xr-x
655: rw-r-xr-x
644: rw-r--r--
17、rmdir 用于删除空目录
18、rm 用于删除文件或目录。要注意:一旦用rm删除文件或目录时,就无法再回复。
语法:rm [选项] 文件或目录
-i 删除文件或目录之前进行确定
-f 强制删除文件或在目录,不进行确定
-r 递归方式删除目录及其子目录
-v 显示命令执行的详细过程
19、cp 用于复制,它可以将单个文件复制成一个指定文件名的文件或将其复制到一个存在的目录下。还可以同时复制多个文件或目录
语法:cp [选项] 文件或目录名
cp [选项] 源文件或目录 目标文件或目录
-a 复制目录时使用。保留其所有信息,包括文件链接、文件属性,并可递归复制目录
-f 强制复制文件或目录,无论目标文件或目录是否存在
-i 覆盖文件之前进行确认
-p 保留源文件或目录的属性
-r/R 递归复制,将指定目录下所有文件与子目录一同复制
20、mv 用于将文件或目录由一个目录移动到另一个目录中。如果源文件,而目标为目录,mv将重命名目录
语法: mv [选项] 源文件或目录 目标文件或目录
-f 若目标文件或目录与需要移动的文件或目录重复,则直接覆盖
-b 若目标文件存在,则覆盖前为其创建一个备份
-i 覆盖文件之前进行确认
21、配置网卡:
网卡路径:/etc/sysconfig/network-scripts/ifcfg-ens33
修改网卡配置文件:
ONBOOT=yes #激活网卡
BOOTPROTO=dhcp #IP配置方式为DHCP
BOOTPROTO=static #IP配置方式为静态
IPADDR=192.168.31.139 #配置IP为192.168.31.139
GATEWAY=192.168.31.1
DNS1=8.8.4.4
DNS2=114.114.114.114
重启网卡命令: systemctl restart network
查看IP: ip addr
22、关闭防火墙:systemctl stop firewalld #停止防火墙服务
systemctl disable firewalld #禁止开启自启动
firewall-cmd -- state #查看防火墙状态
23、关闭selinux: /etc/selinux/configure
修改配置文件:将SELINUX=enforcing改为SELINUX=disabled
getenforce #查看selinux状态
临时关闭selinux(不用重启):setenforce 0
查看状态:getenforce
23、find :用于查找指定目录下的文件
语法:find[目录路径][选项]文件名
-name <字符串> 查找文件名匹配指定字符串的文件 find /home/wfl -name "file.txt" find -name "*1*"
-type <文件类型>查找指定文件类型的文件 find /home/wfl -name "*file" -type f 普通文件 find /home/wfl -name "*file" -type d 目录文件1
-mtime<+d/-d>按时间查找文件,+d 表示d天之前,-d表示今天到第d天之前的时间 find -mtime +5 -type f find -mtime -3 -type f
-size<size>在指定目录下按大小查找文件 find -size 1k -type f
-depth 从指定目录的最深的子目录下开始查找
-maxdepth<n>从指定目录的最大第n级子目录开始查找
-uid<id>查找匹配指定的UID的文件或目录
-empty 查找大小为0的文件 find -empty -type f
通配符:* 表示通配任意的字符
?表示通配任意的单个字符
[]表示通配括号里面的任意一个字符
24、chmod:修改用户权限
chmod [-R] xyz 档案或目录
选项参数:
xzy :就是刚刚提到的数字类型的权限属性,为rwx属性数值的相加。
-R: 进行递归(recursive)的持续变更,亦即连同次目录下的所有档案都会变更
u (user) chmod 666 file.txt chmod go-w file.txt chmod go=r file.txt chmod a=r file.txt
g (group) +(加入) r
chmod o (other) -(除去) w 档案或目录
a (all) =(设定) x
25、chgrp : 更改文件属组
语法:
chgrp [-R] 属组名 文件名 chgrp wfl file.txt chown wfl:root file.txt
参数选项
-R: 递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改
26、chown:改变档案拥有者
chown [-R] 账号名称:组名 档案或目录
选项参数:
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有档案都会变更
范例:将 install.log的拥有者改为 bin 这个账号:
[root@www~]# chown bin install.log
27、tar:用于对文件或目录创建归档
语法: tar[选项]文件名或目录
-cf 打包 tar -cf test.tar test.txt test1.txt -tf 列出档案内容 tar -tf test.tar 压缩 tar -zcvf test.tar.gz test.txt test1.txt
-f <文件名>:使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名
-c 创建归档文件
-C 此选项在解压缩时使用,将文件解压至指定目录
-v 显示命令执行的详细过程
-t 列出归档文件里的内容
-z 通过gzip 指令处理归档文件
-x 从归档文件中将文件解压出来
-p 保持原来文件的属性信息
--exclude=<文件名> 将符合的文件排除
注意:-f必选
周测题:1、在/usr目录中新建一个目录名称为:mytest。并在mytest目录中新建文件net.txt。设置文件的属性为文件属主(u)增加执行权限,文件属主同组用户(g)增加写入权限。
其他用户(o)擅长读权限。
2、将mytest目录归档,并将其压缩成gz格式。列出归档文件里的内容
3、查找/etc目录下大于20k且类型为普通文件的所有文件。查找/etc目录下以1vm开头并且文件格式为.conf的所有文件
1、 cd/usr
mkdir mytest
touch mytest/net.txt
chmod u+x,g+w,o-r net.txt
2、tar -czvf mytest.tar.gz mytest
tar -tf mytest.tar.gz
3、find /etc -size +20k -type f
find /etc -name "lvm*.conf"
28、zip:用于压缩文件或者对文件进行打包操作。
zip[选项] 文件名
zip mytest
-b <目录名>指定存放文件目录
-d 从压缩文件删除指定的文件
-o 将压缩文件的更改时间设置成与压缩文件内最新更改文件的时间相同
-x<文件名>压缩时排除符合条件的文件
-t<日期时间>将压缩文件日期设置成指定的日期
29、unzip :用于解压缩由zip命令压缩的压缩包(.zip格式)
unzip [选项] 文件名
-l 显示压缩包5内所含的文件
-t 检查文件是否正确
-o 解压时直接覆盖所有的文件
-n 解压缩不覆盖原有文件
-d<目录>将压缩文件解压至指定目录下
30、vim编辑器:
(1)什么是vim
vim是vi的加强版,可执行:查找、删除、替换、输出多种文本的操作。
三种模式:
命令模式:通过移动光标,对字符或行进行删除操作
插入模式:按i/a/s键可进入插入模式,只有在插入模式下才可进行文字、字符的输入操作
按Esc可退出
底行模式:可以保存文件、设置编辑环境,以及退出VIM编辑器
(2)光标移动方法
ctrl+F : 屏幕向下翻页(pgdn)
ctrl+B ;屏幕向上翻页(pgup)
0(数字):移动到行首位置
$ :移动到行尾位置
gg :移动到第一行
GG :移动到最后一行
num G :移动到缓冲区第num行
n(enter):光标向下移动n行(n为数字)
q:如果未修改缓冲区数据,退出
q!:取消所有对缓冲区数据的修改并退出
w filename:将文件保存到另一个文件中
wq:将缓冲区数据保存到文件中并退出
x: 删除当前光标所在位置的后一个字符
dd: 删除当前光标所在行
dw:删除当前光标所在位置的单词
d$: 删除当前光标所在位置至行尾的内容
J: 删除当前光标所在行行尾的换行符(拼接行)
U: 撤销前一编辑命令
yy:复制光标当前所在的行
nyy:复制当前光标所在向下的n行(n为数字)
ndd:删除当前光标所在向下的n行(n为数字)
p小:将复制的内容粘贴在光标所在的下一行
P:将复制的内容粘贴在光标所在的上一行
31、du 用于显示文件或目录占用磁盘空间的情况
du [选项]文件名或目录名 du -sh 文件或整个目录大小
-h 以可读的格式输出文件或目录大小
-b 以字节为单位输出文件或目录大小
-m 以MB为单位输出文件或目录大小
-s 显示文件或整个目录的大小,单位为KB
--exclude=<文件名或目录名> 忽略指定的文件或目录
32、df 用于查看系统磁盘空间的使用情况,默认单位KB
df [选项] -iT -hm
-h 以可读的格式输出磁盘分区使用情况
-k 以KB为单位输出磁盘分区使用情况
-m 以MB为单位输出磁盘分区使用情况
-i 显示磁盘分区文件系统的inode信息
-T 显示磁盘分区文件系统的类型
32、fdisk 用于对系统磁盘进行分区创建和维护
fdisk[选项] [磁盘名称]
-l 列出所有分区表信息
33、uptime 用于打印或显示系统总共运行时长和系统的平均负载。
现在时间 ,系统已运行时间, 目前登录用户数,系统最近1分钟,5分钟,15分钟内的平均负载
34、top 用于实时动态查看系统整体运行情况,是一个多方位检测系统性能的实用工具
top[选项]
-d 指定刷新间隔时间
-u<用户名> 指定用户名
-i<时间> 设置时间间隔
-p<进程号> 指定进程
-n<次数>指定循环显示的次数
H : 显示帮助信息
k :终止或杀死一个进程
l :切换显示平均负载和启动时间信息
q :退出
m :切换显示内存信息
t :切换显示进程和CPU状态信息
P大写:跟所CPU使用百分比大小排序
T :跟据时间/累计时间排序
35、rpm 是RPM软件包的管理工具
rpm [选项] 软件包名
-a 查询所有软件包
-i 显示软件包相关信息
-h 安装时列出标记
-v 显示命令执行过程
-q 使用查询模式
36、yum (配置本地yum源库)基于RPM的软件包管理器,它能够从指定的服务器自动下载RPM包并且安装,
还可以自动处理软件之间所有依赖关系,并且能一次安装所有依赖的软件包
语法: yum[选项] [参数] 软件名
-y 对所有安装过程中的提示都回复“yes”确认
-c 指定配置文件
-C 从缓存中运行,而不是云下载或更新任何软件
-v 详细模式
-q 静默模式
install 安装RPM软件包
update 更新RPM软件包
check-update 检查是否有可用的更新RPM软件包
remove 删除指定的RPM软件包
list 列出软件包的信息
clean 清除yum过期的缓存
info 显示指定RPM软件包的详细信息
localinstall 安装本地的RPM软件包(已经下载好的)
search 检查RPM软件包的信息
yum 常用命令
1、列出所有可更新的软件清单命令:yum check-update
2、更新所有软件命令:yum update
3、仅安装指定的软件命令:yum install <package_name>
4、仅更新指定的软件命令:yum update <package_name>
5、列出所有可安装的软件清单命令:yum list
6、删除软件包命令:yum remove <package_name>
7、查找软件包命令:yum search <keyword>
8、清除缓存命令:
yum clean packages :清除缓存目录下的软件包
yum clean headers:清除缓存目录下的 headers
yum clean oldheaders :清除缓存目录下的旧的 headers
yum clean,yum clean all (=yum clean packages ;yum clean oldheaders):清除缓存目录下的软件包及旧的 headers
37、安装apache
web服务软件,1955推出,维护了20年。nginx也是一个web服务器
应用场景:运行静态页面、图片
运行PHP程序
结合tomcat/resin运行JSP/JAVA程序
做代理、负载均衡
lamp:linux apache mysql php
lanp: linux nginx mysql php
第一种安装过程:
yum install httpd -y ##apache软件
yum install httpd-manual ##apache的手册
systemctl start httpd
systemctl enable httpd
firewall-cmd --list-all ##列出火墙信息
firewall-cmd --permanent --add-service=http ##永久允许http
firewall-cmd --reload ##火墙从新加载策略
ar/wwwml ##apache的/目录,默认发布目录
ar/wwwml/index.html ##apache的默认发布文件
vim ar/wwwml/index.html ##写默认发布文件内容
<h1> hello world </h1>
grep:是一个强大的文本搜索工具
grep [选项] 条件表达式 文件名
rpm -qa | grep httpd
yum list | grep zlib
38、curl:一个利用URL规则在命令行下工作的文件传输工具。curl支持HTTP/HTTPS/FTP等多种协议,也可以用于
文件的下载。
curl [选项] [URL]
-I 只显示响应报文的头部信息
-H<lien> 自定义头部信息传递给服务器
-G 以GET方式发送数据
-o 把输出信息写入文件中
-O 把输出信息写入文件中,且保留远端文件的文件名
-X<command> 指定用什么命令
第二种安装方法:
1、下载软件:apr、apr-util、pcre、httpd (从apache官方网站下载)
2、安装apr、apr-util、pcre 三个依赖包:(以下方法为编译安装)
tar zxf apr-1.5.2.tar.gz
./configure --prefix=/usr/local/apr
make && make install
tar zxf apr-util-1.5.4.tar.gz
./configure{ --prefix=/usr/local/web/apr-util \} --with-apr=/user/local/apr
make && make install
tar zxf pcre-8.38.tar.gz
./configure --prefix=/user/local/pcre
make $$ make install
3、解压apache软件压缩包和编译安装apache软件的操作步骤如下
tar zxf httpd-2.4.53.tar.gz
./configure --prefix=/usr/local/apache 2.4.53 \ #指定apache的安装目录
--enable-expiress \ #提供对内容的压缩传输编码的支持
--enable-headers \
#激活允许通过配置文件控制HTTP的内容,此功能可以用于网站的图片等内容,提供客户端浏览器的缓存配置
--enable-modules=most \ #编译安装模块,most表示包括大部分模块
--enable-so \ #激活apache的Dso支持
--enable-rewrite \ #激活基于URL规则的重写功能
--with-mpm=worker \ #配置apache mpm的模式为worker模式
--with-apr=usr/local/apr \ #指定apr依赖包的安装位置
--with-apr-util=/usr/local/apr-util \ #指定apr-util依赖包的安装位置
--with-pcre=/usr/local/pcre \ #指定pcre依赖包的安装位置
make $$ make install
39、ping 用于测试主机之间网络连通性
ping [选项] 目标主机名或IP地址
-c<完成次数> 设置要求目录主机回应的次数
-i<间隔秒数> 指定收发信息的时间间隔
-s<数据包大小> 指定发送数据大小
-v 显示命令执行过程信息
CTRL+C中断命令
40、wget 用于从网络上下载指定的软件
wget 软件的网址
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
41、netstat 用于显示linux 中的 网络系统状态信息,Centos7需要安装该命令:yum listall net-tools
netstat [选项] -atunp 显示系统当前处于连接状态的所有连接信息 netstat -atunp |grep 80 -rn 查看路由
-a 显示所有网络连接和监听端口
-l 只显示状态为“LLSTEN”的网络连接8
-n 以IP的形式显示
-t 显示所有TCP协议的连接信息
-u 显示所有UDP协议的连接信息
-p 显示连接对应的PID于程序名称
-r 显示系统路由表信息
Apache的基础信息
目录 位置
#主配置目录 /etc/httpd/conf
#主配置文件 /etc/httpd/conf/httpd.conf
#子配置目录 /etc/httpd/conf.d/
#子配置文件 /etc/httpd/conf.d/*.conf
#默认发布目录 /var/www/html
#默认发布文件 index.html
#默认端口 80
#默认安全上下文 httpd_sys_content_t
#程序开启默认用户 apache
#apache日志 /etc/httpd/logs/*
httpd配置文件的查看
rpm -ql httpd ##查看安装文件路径
rpm -qc httpd ##查看配置文件名称
rpm -qd httpd ##查看帮助文件
修改Apache默认配置
我们在修改之前,首先要确保selinux开启:enforcing
防火墙添加端口号:firewall-cmd --permanent --add-port=8080/tcp
重加载:firewall-cmd --cmd --reload
查看防火墙列表:firewall-cmd --cmd --list-all
重启服务:systemctl restart httpd
logformat:日志格式 ...表示一个可选的条件
参数 说明
%...a 远程IP地址
%...A 本地IP地址
%...b CLF格式的已发送的字节数,但不包括HTTP头
%...B 已发送的字节数,但不包括HTTP头
%...f 文件名称
%...h 请求的协议
%...l 远程登陆的名字
%...m 请求的方法
%...{Foobar}o Foobar的内容,应答的标头行
%...p 服务器响应请求时使用的端口
%...P 响应请求的子进程ID
%...q 查询字符串
%...r 请求的第一行
%...s 状态
%...t 以公共日志时间格式表示的时间
%...{format}t 以指定格式表示时间
%...T 为响应请求而消耗的时间,单位是秒
%...U 用户请求的URL路径
%...v 响应请求服务器的主机名
%...u 远程用户