/目录下结构
/root #root用户的家目录
/home #存储普通用户家目录
lost+found 这个目录平时是空的,存储系统非正常关机而留下“无家可归”的文件
/usr #系统文件,相当于C:\Windows
/usr/local #软件安装的目录,相当于C:\Program
/usr/bin #普通用户使用的应用程序
/usr/sbin #管理员使用的应用程序
/usr/lib #库文件Glibc 32bit
/usr/lib64 #库文件Glibc 64bit
/boot #存放的系统启动相关的文件,例如kernel
/etc #配置文件(系统相关如网络/etc/sysconfig/network)
/tmp #临时文件(系统:程序产生的临时文件)
/opt #空目录,第三方应用(tomcat)
/media #用于挂载u盘,光驱等自动识别的设备
/srv #存放服务启动后产生的数据目录
/var #存放的是一些变化文件,比如数据库,日志,邮件....
/proc #虚拟文件系统,系统程序文件所处目录 。虚拟文件系统:只要关机就会没有。内核的虚拟映射目录(仪表盘)
/mnt #系统提供这个目录是让用户临时挂载其他的文件系统
/etc目录结构
/etc/passwd 用户信息(超级用户,系统用户,普通用户)
/etc/shadow 影子文件,用户密码存放文件
/etc/group 组信息文件
/etc/hosts 本地域名解析文件
/etc/resolv.conf DNS解析文件
/etc/sudoers 普通用户提权
/etc/vimrc vim配置文件
/etc/my.cnf MySQL配置文件
/etc/nginx.conf nginx配置文件
/bin/目录结构
/bin/1s -alhtrdi 列出目录下的所有文件
/bin/cd 切换目录
/bin/mv 移动文件,重命名
/bin/touch 创建文件(空白)
/bin/mkdir -pv 创建目录
/bin/su su username su - username 切换用户
/bin/useradd -M -s /sbin/nologin 添加用户
/bin/groupadd 添加组
/bin/usermod 修改用户信息,可以修改用户uid、修改用户属组
/bin/groupmod 修改组信息
/bin/userdel -r 删除用户
/bin/groupdel 删除组
/bin/passwd 修改用户密码
/bin/gpasswd -a -d -M /bin/vim 文本编辑器
/bin/rm -rf 删除文件和目录
/bin/cp -rnf 复制 \cp /
bin/cat 查看文件内容
/bin/tail -f 查看文件尾部内容
/bin/head 查看文件前十行
/bin/top 动态查看系统进程
/bin/htop 动态查看系统进程
/bin/sl 小火车 /bin/w 查看系统登录用户信息
/bin/who 查看系统登录用户信息
/bin/whoami 当前登陆系统的用户
/bin/which 查看命令所在位置
/bin/whereis 查看命令所在位置 帮助信息
/bin/alias 别名
/bin/ss 查看进程监听端口信息
/bin/netstat 查看进程监听端口信息
/bin/ps [-ef|aux] 静态查看系统进程
/bin/1sof 查看文件被哪个进程占用
/bin/uptime 查看系统信息
/bin/date -R +%F +%T +%c -s 查看系统时间
/bin/hostnamectl 修改主机名
/bin/timedatectl 查看时区,set-timezone Asia/Shanghai
/bin/chmod 修改权限
/bin/chown 修改文件归属
/bin/getfacl 查看文件特殊权限
/bin/setfacl 设置特殊权限
/bin/lsattr 查看隐藏权限
/bin/chattr -i -a -A 设置隐藏权限
/bin/kill 杀死进程 -9强制 -15
/bin/pki1l 批量杀死
/bin/jobs 查看后台作业
/bin/yum rpm包管理工具
/bin/rpm -ivh -qa -ql -qf -qc -e
/bin/sudo 提权
/bin/find 查找文件 -name -size -type -perm -a -o -exec rm | -rf {} \; | xargs -i rm -rf {} /bin/grep 过滤
/bin/xargs 传参过滤器
/bin/fg 前台运行
/bin/bg 后台运行
/bin/createrepo 制作yum源
/bin/reposync 克隆yum源
/bin/make 编译
/bin/make install 编译安装
/bin/lslbk 查看磁盘信息所有的
/bin/blkid 获取UUID
/bin/df 查看挂载磁盘信息
/bin/du 查看文件大小
/bin/free 查看内存信息
/bin/tree 树状结构显示目录
/bin/uname 查看系统内核版本
/bin/sleep 休眠
/bin/tar 打包压缩 czvf cjvf cJvf
/bin/dig 查看域名DNS解析
/bin/host /bin/mount 挂载 remount umount -l
/bin/tac 反向查看文件内容
/bin/dd 磁盘压力测试 生成一个文件
/bin/ip 查看IP信息
/bin/mkfs.ext3 格式化磁盘文件类型
/bin/mkfs.ext4 格式化磁盘文件类型
/sbin/1vcreate 创建逻辑卷
/sbin/vgcreate 创建卷组
/sbin/pvcreate 创建物理卷
/sbin/lvextend 逻辑卷扩容 -L -l +100%FREE
/sbin/vgextend 卷组扩容
/sbin/lvremove 移除逻辑卷
/sbin/vgremove 移除卷组
/sbin/pvremove 移除物理卷
/sbin/partprobe 内核刷新分区表
/sbin/parted -s /dev/sdb mklabel msdos 磁盘分区格式转换
/sbin/xfs_growfs 加载文件系统到磁盘分区
xfs /sbin/resize2fs 加载文件系统到磁盘分区
ext4 /sbin/swapoff 关闭交换分区
/sbin/swapon 开启交换分区
/sbin/ntpdate 同步网络时间
/sbin/fdisk 磁盘分区工具MBR
/sbin/gdisk 磁盘分区工具GPT
/var目录结构
/var/log 日志文件存放路径
/var/cache 缓存
/var/ftp ftp服务器根目录
/usr/local/nginx nginx安装路径
/usr/local/mysql mysql安装路径
/dev目录结构
/dev/sd* 磁盘所在目录
/dev/cdrom 镜像文件所在位置
/dev/zero 无限大的空间
Linux基本操作
关闭和重启
-
关机:init 0 、poweroff
-
重启 :reboot、init 6
-
关闭防火墙:systemctl stop firewalld
-
重启:systemctl restart
-
永久关闭防火墙 systemctl disable firewalld
-
查看selinux是否开启 getenforce
-
临时关闭selsinux setenforce 0
-
永久关闭selinux vi /etc/sysconfig/selinux(将文件中的SELINUX=enforcing改为disabled)
-
连接网络:vi /etc/sysconfig/network-scripts/ifcfg-ens33回车,NOBOOT=yes
-
systemctl restart network 更新网页
-
ifup ens33 #启动网卡
-
systemctl restart network #重启网络
查看时区
-
查看时区 : timedatectl
-
修改时区: timedatectl set-timezone Asia/Shanghai洲/时区
-
查看服务器时间 : date
-
只显示当前年月日 date +%F
-
:时:分:秒 date +%T
-
x年x月x日 date +%x
-
x时x分x秒 date +%X
-
年月日,星期,时分秒 date +%c
-
修改系统时间 date -s "2022-01-01 10:00:00"
-
修改硬件时间 hwclock --set --date "2022-01-01 10:00:00"
-
将硬件时间写入主板 hwclock -w
-
同步阿里云时间 ntpdate ntp.aliyun.com
-
同步硬件时间到系统 hwclock --hctosys
-
同步系统时间到硬件 hwclock --systohc
查看别名
-
查看别名 type -a
-
别名语法:alias 别名='命令'
-
查看所有别名:alias
-
撤销别名unalias
文件管理
查看文件信息
-
ll 显示文件的详细信息
-
ls -a 显示所有文件 (包括隐藏文件)
-
ll -d 目录 查看目录详细信息
-
ifconfig 或ip a 查看ip
-
ls -l 详细信息,长格式显示;
-
-a 查看路径下的所有文件,包括隐藏文件,以.开头的文件;
-
-d 查看指定目录的详细信息;
-
-h 人性化显示,方便阅读,文件大小,K M G;
-
-t 以文件最后一次被修改的时间排序;
-
-tr 按最后一次修改时间倒序;
-
切换目录
-
回到上一级目录等同于相对路径 cd ..
-
直接回到家目录 cd 或者 cd ~
-
回到原来目录 cd -
-
显示当前工作路径 pwd
创建文件
-
创建文件 touch 文件名称.后缀
-
创建多个文件集 touch /home/{zhuzhu,gougou} #{}集合
-
批量创建 touch /home/file{1..20}
-
隐藏文件:文件名称前面加“.”
创建目录
-
创建目录 mkdir 名称
-
在同一目录创建多个目录 mkdir -v
-
创建连级目录,一级一级的创建 mkdir -p
复制cp
-
复制 cp
-
显示复制详情 cp -v
-
复制并改文件名 cp 需要复制的文件 需要复制到的目录+修改后的名称
-
拷贝目录使用,连同目录里面的文件一块拷贝 cp -r
-
将多个文件拷贝到同一个目录 cp -r 源文件1 源文件2 源文件N 目标目录
-
复制上一个命令中最后一个命令 Esc+.
-
复制多个到相同目录,目录中有相同文件名 cp -rnf或者\cp -rf
删除
-
删除 文件 rm 文件
-
删除目录 rm -r 目录
-
强制删除 rm -rf
-
删除有相同地方的 rm -rf *
切换工作路径
-
显示当前工作路径 pwd
-
回到上一级目录等同于相对路径 cd ..
-
直接回到家目录 cd 或者 cd ~
-
回到原来目录 cd -
查看文件
-
查看cat
-
cat---查看一个文件的全部内容
-
cat -n 显示行号
-
cat -A 包括控制字符
-
-
grep
-
grep '什么' 过滤文件中带有什么的内容
-
grep '^什么' 过滤以什么开头的行
-
grep '什么$' 过滤以什么结尾的行
-
-
分页显示文件内容 more
-
分页显示文件内容 more 文件名
-
空格键是向下翻页 回车键是翻行
-
Ctrl+B 向上翻页
-
ping 域名
-
-
分页显示less
-
分页显示 less -文件名
-
1.空格键是翻页 回车键是翻行
-
2.上下箭头可以来回翻
-
3. /关键字 #搜索 (n按关键字往下翻 N按关键字往上翻)
-
4.快捷键:q -quit 退出
-
-
部分查看head
-
head 默查看前十行
-
head -数字 默认查看前数字行
-
-
tail 文件名
-
tail -数字 默认查看后数字行
-
tail 默认查看文件的后十行
-
-f 动态查看文件尾部内容 | tailf
-
-F 生成不存在的文件,tail: "file已被建立,正在跟随新文件的末尾
-
-
查看文件
-
du -h /etc/ #查看目录及目录中的文件大小
-
du -sh /etc/ #查看目录的总大小
-
ls /etc/ | wc -l #查看目录中有多少个文件
-
-
移动
-
移动 : mv 原目录文件 目标目录
-
改文件名 mv 原目录文件 目录新文件名
-
-
按时间创建目录或者文件
-
mkdir `date +%F`-upload
-
# touch file-`date +%F`.txt
-
-
快捷键
-
ctrl+a移动命令到行首
-
ctrl+e移动命令到行尾
-
ctrl+p历史中的上一条命令
-
ESC + .:打印之前执行过的命令的最后一部分 ,以空格为分隔符
-
Ctrl + l:清屏
-
Ctrl + c:终止命令
-
-
历史命令
-
上下箭头
-
history !命令行号
-
ctrl + r 输入关键词
-
文件编辑
-
打开文件 vim
-
打开文件 vim 文件名
-
无论在哪种模式下,按下Esc键就会进入正常模式。
-
yy #复制光标所在行
-
3yy #从光标开始复制3行。在最后粘贴
-
yy3 从光标开始复制3次
-
ygg #从当前光标复制到页首
-
yG #从光标开始复制到页尾
-
dd #剪切/删除一行
-
3dd #从光标开始删除3行
-
dgg #从光标开始删除到页首
-
dG #从光标开始删除到页尾
-
d^ #删除当前光标之前的内容
-
p #粘贴到本行的下一行
-
大P #粘贴到本行的上一行
-
x #删除光标所在的字符
-
D #从光标处删除到行尾
-
u #undo撤销
-
ctrl +r 返回上一步撤销
-
r #可以用来修改一个字符
-
:数字s/原/需要的/g 替换数字那一行
-
:%s/原来的/更换后/g 替换所有
-
:w 路径文件名 另存为
-
:q 退出
-
:! 强制
-
:x 或者ZZ 保存并退出
-
:X 文件加密
-
:set key= 文件解密
-
:set nu 显示行数
-
:set nonu 取消行数
-
:set list 显示隐藏字符
-
:set ts=4 制表符 tab四个空格长度,视为一个长空格
-
-
可视块模式
-
:set nu 显示每行行数
-
ctrl+v #进入可视块模式
-
shift+v #进入可视行模式
-
加注释前面加#,Ctrl+v,选择需要加的内容(同时给几行加#),I,shift键+3(#),按ESC键
-
批量删除,光标选中后点x
-
删除单个点x
-
-
编辑模式
-
i #在光标所在处进入编辑模式
-
a #在当前光标后面进入编辑模式
-
o #在光标的下一行进入编辑模式
-
I #在光标所在处行首进入编辑模式
-
A #在光标所在处行尾进入编辑模式
-
O #在光标的上一行进入编辑模式
-
-
echo
-
把之前的内容替换掉 echo 加内容 > 加文件名
-
保留之前的内容,在后面添加新内容 echo 加内容 >> 加文件名
-
echo $? 确认上条执行命令是否执行 (0是成功,非0不成功)
-
-
文件下载
-
yum 安装程序 yum -y(y是不用询问)**yum -y install 软件名**
-
ping 测试网络连通性
-
unzip解压压缩包
-
sz 把服务器的文件下载到本地
-
rz打开本地文件上传文件
-
scp 远程拷贝文件,scp 自己的路径文件 对方的IP地址:对方的路径
-
scp -r 远程拷贝目录,scp -r自己的路径文件 对方的IP地址:对方的路径
-
ssh +IP 地址远程控制 ; ctrl+d 退出远程
-
system start nginx启动
-
system status nginx 检测
-
文件权限管理
-
基本权限UGO
-
属主------->u
-
属组------->g
-
其他人------>o
-
-
基本权限类型
-
读(read):r ---->4
-
写(write):w ---->2
-
执行(exec):x ---->1
-
-
更改所属组chown
-
chown:改变文件或目录的所属主以及所属组
-
chown 主.组 文件名 修改属主、属组
-
chown 主 文件名 只修改属主
-
chown .组 文件名 只改属组
-
chown -R 递归修改---针对目录
-
-
更改权限chmod
-
对象 赋值符 权限类型 u + r g - w chmod o = x a
-
-
高级权限的类型
-
a、字符---语法
-
chmod u+s file 提权
-
chmod g+s dir 只能对目录设置
-
chmod o+t dir 即使有删除权限,也不能删除
-
-
b、数字
-
chmod 4777 file
-
chmod 2770 dir
-
chmod 1770 dir
-
-
suid
-
which (二进制,可执行的命令)
-
chmod u+s 在进程文件(二进制,可执行的命令文件)上增加suid权限
-
取消提权chmod u-s
-
-
Set GID
-
如果用户在此目录下具有w权限的话,使用者在此目录下建立新文件,则创建的这个文件的群组与此目录的群组相同。
-
chmod g+s
-
-
Sticky Bit
-
当用户在该目录下建立文件或目录时,仅有自己与 root才有权力删除。
-
chmod o+t
-
-
赋予sudo权限
-
vim /etc/sudoers 跳到第100行,将要赋予sudo权限的用户按照: user01 ALL NOPASSWD: ALL 的格式写在下一行,然后强制保存退出 完成后需要用visudo -c检查语法 /etc/sudoers: parsed OK
-
多个用户都需要sudo权限:将用户加到用户组wheel下,创建用户时指定在wheel组内,wheel组内的用户拥有sudo权限,并且wheel组在系统内部已存在的,把108行改成: %wheel ALL=(ALL) NOPASSWD: ALL
-
-
隐藏命令
-
查看文件隐藏属性 lsattr
-
chattr +a 不允许修改,只允许追加
-
chattr +i 不允许做任何操作
-
charrt +A 文件的最后访问时间不变
-
-
访问控制权限(针对个人设置权限)
-
setfacl 一个人查看一个文件的权限
-
getfacl查看权限
-
setfacl -m u:xiaoming:rwx /tmp/a.txt-m 设置facl权限
-
-
远程传送+控制
-
在<设置>中打开<网络适配器>,打开桥连接,注意:IP地址改变
-
scp 自己的文件路径 对方IP 要存放到对方的路径 远程拷贝 scp /etc/passwd 10.36.192.62 /opt/
-
ssh IP 远程控制
设置静态ip
-
1,vim /etc/sysconfig/network-scripts/ifcfg-ens33
-
2,BOOTPROTO=static,将dhcp改成static
-
DEVIC=ens33
-
ONBOOT=yes
-
设置静态ip:IPADDR=(ip a查询
-
FREFIX=24
-
GATEWAY=(IP前三个数字,第四个随意
-
DNS1=114.114.114.114(国内通用域名)
-
DNS2:8.8.8.8(谷歌通用域名)
-
退出后重启systemctl restart network
-
最后用ping+网址验证
sort 排序
-
sort 排序,默认升序
-
-t 指定分隔符
-
-k 指定列
-
-n 按数值
-
-r 降序
-
head 默认输出前十行
-
tail 默认输出后十行
-
sort -t":" -k3 -n /etc/passwd |head #以: 分隔,将第三列按字数升序看前十行
-
sort -t":" -k3 -n /etc/passwd |tail #以: 分隔,将第三列按字数升序看后十行
文件查找
-
按文件名:find / -name “关键词”
-
按文件大小 -size
-
find / -size +3M -a -size -5M #查找/下面大于3M而且小于5M的文件 -a:and
-
find / -size -1M -o -size +80M #查找/下面小于1M或者大于80M的文件 -o:or
-
find / -size -3M -a -name "*.txt" #查找/ 下面小于3M而且名字是.txt的文件
-
-
按时间找(atime,mtime,ctime) -atime = access访问时间 -mtime = modify改变时间 内容修改时间会改变 -ctime = change修改时间 属性修改时间会改变 -amin #分钟 -mmin -cmin
-
找到后处理的动作 ACTIONS: -exec:参数是一个一个传递的,传递一个参数执行一次命令。 xargs:将前一个命令的标准输出传递给下一个命令,作为它的参数转换成下一个命令的参数列表。 ===============
-
1、exec 每处理一个文件或者目录,它都需要启动一次命令,效率不好;
-
2、exec 格式麻烦,必须用 {} 做文件的代位符,必须用 \来转义; 作为命令的结束符,书写不便。
-
3、xargs不能操作文件名有空格的文件; 综上,如果要使用的命令支持一次处理多个文件,并且也知道这些文件里没有带空格的文件,那么使用 xargs比较方便; 否则,就要用 exec了。
-
find /etc -name "ifcfg*" -exec cp -rf {} /tmp \; #exec命令对之前查找出来的文件做进一步操作----- 查找带ifcfg开头的文件复制到tmp下
-
find /home/ -name "test*" | xargs -i cp {} /tmp/ #找到之后删除处理xargs 参数传递
-
进程管理
-
查看进程
-
静态查看进程
-
ps aux
-
ps -ef
-
查看指定ps aux | grep
-
-
查网络进程和正在监听的端口
-
netstat -lntp
-
ss -lnpt
-
-
top动态查看进程
-
1,展开CPU详情 P:按CPU排序 M:按内存排序 q:退出 z:彩色显示 >:往下翻页 <:往上翻页
-
第一行 top:当前时间 up:机器运行了多长时间 users:当前登录用户数 load average:系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
-
第二行 Tasks:当前有多少进程 running:正在运行的进程数 sleeping:正在休眠的进程数 stopped:停止的进程数 zombie:僵尸进程数 ******这里running越多,服务器自然压力就越大
-
第三行:%cpu us:用户空间占CPU的百分比 sy: 内核空间占CPU的百分比 ni:用户进程空间改变过优先级 id: 空闲CPU占用率 wa: 等待输入输出的CPU时间百分比 hi: 硬中断占用百分比(硬中断是硬盘、网卡等硬件设备发送给CPU的中断消息,当CPU收到中断消息后需要进行适当的处理(消耗CPU时间)。) si:软中断占用百分比(软中断是由程序发出的中断,最终也会执行相应的处理程序,消耗CPU时间) st:steal time
-
-
-
进程控制
-
按pid杀死进程
-
kill -l #查看所有信号 -1 HUP 重新加载进程或者重新加载配置文件,PID不变 -9 KILL 强制杀死 -15 TERM 正常杀死(这个信号可以默认不写) -18 CONT 激活进程 -19 STOP 挂起进程
-
pkill 杀死所有同名信号
-
-
-
作业控制
-
ctrl + z 暂停
-
bg %<工作号> 挂入后台运行
-
fg %<工作号> 调到前台运行
-
jobs 查看当前终端挂入后台的进程
-
管道和重定向
-
重定向,0标准输入 1标准输出 2标准错误输出 3+其他 &正确错误混合输出
-
>覆盖 >>追加 正确输出:1> 1>> 等价于> >> 错误输出:2> 2>> 混合输出:&> &>>
-
输入重定向< cat >xxx <<EOF >EOF
-
参数传递:xargx cat a.txt | xargs -i cp {} /目录 {}前面传过来的内容 -i为了让大括号生效 有目录时用-r
磁盘分区
-
MBR:disk,小于2T,一共可以分14个分区,最多4个主分区,或者3主+1扩展
-
GPT:gdisk ,大于小于2T都可以,一共可以分128个主分区
-
磁盘分区:
1、添加磁盘;
2、lsblk 查看服务器所有磁盘信息,即使没有格式化也可以看到
3、fdisk /dev/sdb
g: 转换格式GPT
o: 转换格式MBR(DOS)
d: 删除分区
n: 添加新的分区
p: 打印分区表信息
w: 保存并退出
q: 退出不保存
4、格式化: mkfs.ext4 /dev/sdb1 mkfs.xfs /dev/sdb1
5、挂载: mkdir /data mount /dev/sdb1 /data df -Th
6、自动挂载 vim /etc/fstab /dev/sdb1 /data ext4 defaults 0 0
获取UUID blkid /dev/sdb1
vim /etc/rc.local
mount /dev/sdb1 /data
chmod +x /etc/rc.local
取消挂载 umount /data -
格式转化:
parted -s /dev/sdc mklabel gpt #将/dev/sdc(MBR格式)转换成(GPT格式)
parted -s /dev/sdc mklabel msdos #将/dev/sda(GPT格式)转换成(MBR格式)
创建逻辑卷
-
特点: 1.将硬盘的多个分区由LVM统一为卷组管理,可以方便的加入或移走分区以扩大或减小卷组的可用容量,充分利用硬盘空间; 2.当磁盘空间不足而加入新的硬盘时,不必将数据从原硬盘迁移到新硬盘,而只须把新的分区加入卷组并扩充逻辑卷即可。 3.文件系统建立在LVM上,可以跨分区,方便使用; #使用LVM主要是方便管理、增加了系统的扩展性。可以跨分区,多个硬盘组合。
-
1.拥有基本分区
-
lsblk查看磁盘情况
-
-
2.创建物理卷
-
yum install -y lvm2
-
pvcreate /dev/sd*
-
查看pv: pvs pvscan pvdisplay
-
-
3创建卷组
-
vgcreate vg1 /dev/sd*
-
-
4.创建逻辑卷
-
lvcreate -L 150M -n lv1 vg1
-
lvcreate -l 20 -n lv2 vg1 #采用PE方式在创建一个lv -L 指定lv的大小 -n 给创建的lv起一个名字 -l 20 指定PE
-
-
5.制作文件系统并挂载
-
mkfs.xfs /dev/vg1/lv1 mkfs.ext4 /dev/vg1/lv2
-
mkdir /mnt/lv{1..2}
-
mount /dev/vg1/lv1 /mnt/lv1 mount /dev/vg1/lv2 /mnt/lv2
-
df -Th
-
-
6设置自动挂载
-
vim /etc/fstab
-
-
-
LVM逻辑卷扩容
-
lv扩容
-
lvextend -L 850M /dev/vg1/lv1 #扩展到850M
-
lvextend -L +850M /dev/vg1/lv1 #在原有基础上加850M
-
lvextend -l +100%FREE /dev*VG盘剩余空间全部加入lv卷
-
-
扩大VG
-
创建pv:pvcreate /dev/sdc
-
vgextend vg1 /dev/sdc
-
-
FS(file system)文件系统扩容
-
xfs_growfs /dev/vg1/lv1 #xfs扩容
-
resize2fs /dev/vg1/lv2 #ext4扩容
-
-
交换分区管理 Swap(虚拟内存)
-
现象是当内存不够的时候内核会随机杀死进程,它认为占用内存多的进程。(内核会先删除占用内存多的进程). 如何制作交换分区? #我们可以将硬盘空间拿来当作内存来用 什么时候用到交换分区? #当物理内存不够用的时候使用swap分区,防止物理内存耗尽
-
查看当前的交换分区swapon -s
-
增加交换分区 可以是基本分区,LVM,File
-
方法一:新加磁盘
-
fdisk /dev/sdd #分一个主分区出来
-
partprobe /dev/sdd #刷新分区表
-
mkswap /dev/sdd1 #初始化
-
blkid /dev/sdd1 #查看UUID
-
vim /etc/fstab #制作开机挂载
-
swapon -a #激活swap分区(读取/etc/fstab)
-
-
file制作
-
dd if=/dev/zero of=/swap2.img bs=1M count=512 解释:dd 读入 从空设备里面拿空块 到交换分区 块多大 一共多少
-
mkswap /swap2.img #初始化
-
vim /etc/fstab设置自动挂载
-
chmod 600 /swap2.img #交换分区权限需要设置为600,默认644权限不安全。
-
swapon -a自动挂载
-
-
-
raid--磁盘阵列
-
raid0 ---数据条带卷 最少需要两块磁盘,分别往每一块磁盘上写一部分数据 优点: 1.读写速度快, 2.磁盘利用率:100% 缺点:不提供数据冗余,无数据检验,不能保证数据的正确性,存在单点故障。
-
raid1 又叫镜像raid,通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。 一般需要两块磁盘,每块磁盘上都会存储一份完整数据。其数据安全性就会较高,但是磁盘空间利用率是比较低的。 优点:提供数据冗余,数据双倍存储安全性高支持容错。读速度快 缺点:写速度慢,无数据校验。磁盘利用率不高 磁盘利用率:50%
-
raid5:RAID5应该是目前最常见的 RAID 等级,它的校验数据分布在阵列中的所有磁盘上。RAID5的磁盘上同时存储数据和校验数据。当一个数据盘损坏时,系统可以根据其他数据块和对应的校验数据来重建损坏的数据。 raid5最少需要3块磁盘。 优点: 1.可以找回丢失的数据---数据可以通过校验计算得出, 2.冗余磁盘-->(需要4快磁盘将其中一块做热备)当某一块磁盘坏掉后,冗余磁盘会自动替换上去 3.有校验机制 4.读写速度高 5.磁盘利用率高 缺点: 1.磁盘越多安全性能越差 #定义: RAID 5是RAID 0和RAID 1的折中方案。RAID 5具有和RAID0相近似的数据读取速度,只是多了一个校验信息。RAID5的磁盘空间利用率要比RAID 1高,存储成本相对较低,是目前运用较多的一种解决方案。 应用场景:安全性高,如金融、数据库、存储等。
-
RAID10:先做镜像再作条带--也叫混合raid 优点: 1.较高的IO性能 2.有数据冗余 3.无单点故障 4.安全性能高 缺点:成本稍高 应用场景: 特别适用于既有大量数据需要存取,同时又对数据安全性要求严格的领域,如银行、金融、商业超市、仓储库房、各种档案管理等。
打包压缩
-
打包压缩
-
gzip格式:#tar cvzf file.tar.gz 源文件
bzip2格式:#tar cvjf file.tar.bz2 源文件
xzip格式:#tar cvJf file.tar.xz 源文件
zip格式:zip -q -r filename.zip filename
-
-
解压解包
-
gzip格式:#tar xvzf 压缩文件 [-C 解压路径]
bzip2格式:#tar xvjf 压缩文件 [-C 解压路径]
xzip格式:#tar xvJf 压缩文件 [-C 解压路径]
zip格式:unzip filename.zip -d 路径
-
软件包管理
-
rpm: 举例:openssh-6.6.1p1-31.el7.x86_64.rpm 数字前面的是名称 数字是版本号:第一位主版本号,第二位次版本号,带横杠的是修订号, el几---操作系统的版本。 noarch : 32位64位都支持 x86_64 : 64位 AMD64 ARM 苹果 鸿蒙 i4-686的包 :32位 devel:表示这个RPM包是软件的开发包;
-
rpm -qa all 查询所有安装的rpm包
-
rpm -ql 查询http安装的文件
-
rpm -qf 查询某一个文件是哪个软件产生的:只能查询已经安装好的软件
-
rpm -qc 查看某个安装包创建了哪些文件
-
rpm -e 软件名称**卸载**
-
-
yum方式管理
-
yum clean all清理yum缓存
-
yum makecache缓存软件包信息
-
# yum repolist 查询yum源信息:
-
yum provides rz 查看命令属于哪个软件
-
yum list 查看系统已经安装好的软件和没有安装的软件(源里存在即可查到)
-
yum install (-y)安装软件
-
yum -y reinstall 软件名 重装
-
卸载软件: yum erase yum remove yum -y remove
-
yum -y remove `rpm -qa | grep httpd` #yum卸载rpm查找出来所有与httpd相关的软件包全部卸载掉
-
软硬链接
-
ln [选项] 源文件 软/硬链接文件名
-
ll -i 显示inode编号
-
创建硬链接: ln 文件名 硬链接名
-
一般情况下,文件名和inode号码是"一一对应"关系,每个inode号码对应一个文件名。但是,Unix/Linux系统允许,多个文件名指向同一个inode号码。 这意味着,可以用不同的文件名访问同样的内容;对文件内容进行修改,会影响到所有文件;但是,删除一个文件名,不影响另一个文件名的访问。这种情况就被称为"硬链接"(hard link)。
-
-
创建软连接: ln -s 文件名 文件软连接
-
-
软硬链接的区别: - 软链接可以跨文件系统,硬链接不可以; - 软链接可以对目录进行连接,硬链接不可以; - 删除源文件之后,软链接失效,硬链接无影响; - 软连接有不同的inode号,硬链接相同的inode号; - 两种链接都可以通过命令 ln 来创建; - ln 默认创建的是硬链接; - 使用 -s 参数可以创建软链接
DNS 解析过程
-
本地域名服务器没有缓存的情况下,DNS查询所需的8个步骤:
1.用户在Web浏览器中输入“www.example.com”,浏览器先检查自身缓存中有没有解析过的这个域名对应的ip地址,如果有,解析结束.如果浏览器没有缓存,那么就检查操作系统的hosts文件,称为本地解析,比如windows就是C:\Windows\System32\drivers\etc\hosts文件,linux在/etc/hosts文件中配置。如果命中域名解析结束。如果没有命中域名解析,浏览器会向本地的DNS服务器查询,如果命中域名解析就结束。
2. 如果本地DNS服务器没有命中域名解析,那么本地DNS服务器采用递归查询的方法,向根域名服务器进行查询。
3. 根域名服务器开启迭代查询方法告诉本地域名服务器,下一步应该查询的顶级域名服务器.com TLD的IP地址
4. 本地域名服务器向顶级域名服务器.com TLD进行查询
5. .com TLD服务器告诉本地域名服务器,下一步查询example.com权威域名服务器的IP地址 6. 本地域名服务器向example.com权威域名服务器发送查询
7. example.com权威域名服务器告诉本地域名服务器所查询的主机IP地址
8. 本地域名服务器最后把查询的IP地址响应给web浏览器 - 一旦DNS查询的8个步骤返回了example.com的IP地址,浏览器就能够发出对网页的请求:
9. 浏览器向IP地址发出HTTP请求
10. 该IP处的web服务器返回要在浏览器中呈现的网页
linux启动过程
-
1加电,
-
2加载bios设置,
-
3加载grub,
-
4加载内核系统到内存当中,
-
5加载配置文件,
-
6加载内核模块,
-
7完成相应的初始化工作和启动相应的服务,
-
8启动系统进程,
-
9出现登录界面,
-
10开机启动完成