Linux基础命令总结

/目录下结构

/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开机启动完成

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值