linux基础笔记

linux优点:开源 免费 安全 稳定
linux发展史:
1970年美国贝尔实验室unix操作系统
目的:为大量计算机程序开发人员同时使用计算机,共享资源
特点:多用户,多任务,支持多处理器架构
shell(命令行界面),大部分代码是使用C语言
1973年 美国国防部 tcp/ip协议
目的:为了把安装有unix操作系统的计算机跨多个网络连接起来
Internet诞生
1987年 荷兰 阿姆斯特丹 安德鲁 minix操作系统微内核类unix
1991年10月5日 芬兰 赫尔辛基大学 李纳斯.托瓦兹 linux内核

内核:
XX(主版本号).YY(次版本号).ZZ(修订号) 奇数表示开发版 偶数表示稳定版

ide接口 hda1 磁盘1第一分区 hda2磁盘1第二分区 … hda5(第一个逻辑分区)
sata/scsi sdal

mbr

0磁道0柱面1扇区 每扇区占512字节 MBR主引导记录 占446字节 66字节

cd ,ifconfig eth0修改网卡
vim /etc/default/grub编辑
:set nu net.ifnames=0 biosdevname=0 修改命令
:wq保存退出
cat /etc/default/grub 查看命令
grub2-mkconfig -o /boot/grub2/grub.cfg重新加载内核配置文件

远程登陆

Xshell winscp

 查看IP地址:ifconfig  eth0(ip add)

 关机:poweroff 、 hait  -p 、init  0 、shutdown  -h、now

 重启:reboot、 init  6 、shutdown  -r、 now

延迟关机或重启
Shutdown -r +3 ”this system 3min after reboot!!”

取消延迟
Shutdown -c

命令行输入:
1。打开终端:右键桌面或windows键
终端放大:ctrl+shift+(+)
终端缩小:ctrl+(-)
打开多个终端:ctrl+shift+t
在多个终端中切换:ctrl+pgup(向前)
ctrl+pgdn(向后)
关闭终端:ctrl+d 或 命令 exit
2。六个控制台
1——图形化界面
2——6字符界面
之间切换:ctrl+alt+fn(n指1-6),登入后,输入tty命令确认处在控制台
3.xshell winscp
关机:poweroff,halt -p,init 0,shutdown -h now
重启:reboot,init 6,shutdown -r now
延迟关机或重启:shutdown -r +3 “……!!”取消延迟shutdown -c

             文件处理命令

查看切换目录
ls、pwd、cd、du

创建目录和文件
mkdir、touch、ln

             复制、删除、移动目录和文件

cp、rm、mv

             查看文件

cat、more、less、head、tail

shell是linux中特殊程序,处在linux内核和用户之间,负责接收用户输入
命令并解析,把需要执行的操作交给内核处理,linux命令的执行必须依赖于shell

rhel7中默认shell是bash
shell种类:
bsh:unix系统默认shell,功能较弱
sh:安全稳定
csh:比sh功能强
bash:GUN组织开发,可以在linux和unix上

bash功能:
1.命令行编辑(快捷键) :
行内快速跳转:ctrl+a 光标跳转到首行 ;
ctrl+e 光标跳转到尾行
ctrl+方向键 光标跳转到前/后一个单词
快速删除:ctrl+u删除光标之前的内容;
ctrl+k删除光标之后的内容;
ctrl+w删除光标前一个单词

         ctrl+c取消命令的执行
         ctrl强制换行\

引用上一个命令的最后一部分:
esc+. 先按esc,再按.
alt+. 同时按
#:注释
命令和路径自动补齐(tab)

历史命令:
echo HISTSIZEecho H I S T S I Z E 内 存 中 历 史 命 令 最 大 保 存 数 e c h o HISTFILESIZE 历史命令文件保存历史命令的最大数
echo $HISTFILE 历史命令文件
!编号 执行第N条历史命令
!! 重复执行上一条历史命令
history:查看内存中保存的历史命令
history -a 把历史命令追加到历史命令文件中
清除历史命令:history -c
在历史命令中搜索;ctrl+r

       使用alias命令定义一个ifc的别名
       eg:alias ifc='ifconfig eth0'
       查看系统所有别名:alias
       取消别名:unalias别名
       以上定义的别名均为临时生效,关机或重启后自动失效
       如想永久保存生效:编辑用户家目录中的.bashrc(当前用户生效)
       如想所有用户都能使用这个别名:编辑 gedit /etc/bashrc文件
       打开隐藏文件,在最后一行 修改配置文件  alias ifc="ifconfig eth0"在全局都可以使用
       运行脚本: . /etc/bashrc 


   命令执行依赖于解释器程序(/bin/bash)
       1、内部命令:属于shall解释器的一部分

       2、外部命令:独立于shall解释器之外的程序文件

          外部命令的搜索依赖于环境变量PATH

       mount /dev/cdrom/mnt  挂载
       cd /mnt  进到挂载点

rpm -ivh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm 安装包安装
system-config-users & 进入管理者
getent passwd zs 查看密码 (zs是用户名称)

mkdir /test/a/b建立文件夹

tree /test 查看 pwd
查看 cd /test/a/b 相对
Cd ../../a/c 绝对

      mkdir  -p  /aa/bb/cc   一次性创建嵌套的多层目录

Mkdir test/b/{c.d} 在b下面创建c、d文件

      rmdir  test/k    删除目录

rm -f test/k/c 删除k目录下的c文件

      rm -f (force)  强制删除

      rmdir /i   有提示删除消息

      touch命令:新建空文件,或更新文件时间标记

touch c/3.txt 创建3.txt

touch /home/redhat/1.txt 在redhat用户下创建1.txt

      ls -lh ~redhat/1.txt 查看redhat用户的1.txt


      cp(copy)命令:复制文件和目录  (基础的查看命令)

cp test/b/c/c.txt test/g/e 把c目录下的c.txt复制到e目录下

cd /root/test/g 复制root用户中test目录中的g

cp e/c.txt f/3.txt ../b/d 把两个txt文件复制到d文件里面

cp r:递归复制整个目录树

cp -p:复制属性

         mv(more)命令:移动文件或目录,文件或目录改名
                         vim~redhat/1.txt   移动redhat的1.txt

mv [选项] 源文件或目录 目标文件或目录

cat(concatenate and display files)命令:显示文件内容

            cat~redhat/1.txt 查看redhat的1.txt的内容

格式:cat 目标文件

         more 命令:分页显示文件内容   (中等的查看命令)

              格式: more 文件名

              空格 显示下一页

              Enter 显示下一行     

q或者Q 退出

less命令:分页 显示文件内容 (高级的查看命令)

格式:less +文件名

              按Enter键向下逐行滚动

              按空格键向下翻一屏、按b键向上翻一屏

              按q键退出 

head命令:查看文件开头的前几页内容(默认为十页)

格式: head 文件名 显示文件开头的前十行

head -n20 文件名 显示文件开头前二十行内容

              tail命令:查看文件末尾的后几行(默认十行)

tail -n20 文件名 显示文件末尾的后二十行内容

         网络通信命令

ping命令:测试网络连通性

             格式:ping  IP地址

ifconfig命令:查看网络设置信息

格式:ifconfig 网络设备标识

             ip address

功能描述:查看网络设置信息

格式:ip add

ls命令

 原意:list  。

 执行权限:所有用户

 功能描述:显示目录文件

格式:ls [选项] [目录或文件名]

  常用命令选项

-l :以长格式显示

-a:显示所有子目录和文件的信息,包括隐藏文件
(表示当前目录的 . 表示父目录的 ..)

             -A和-a用法相似,但不包括特殊的隐藏目录

-d:显示目录本身的属性

–color:以颜色区分不同类型文件

-h 以人性化的方式显示目录或者文件的大小,显示将为K、M等单位。结合-l选项使用

-R 以递归的方式显示指定目录及其子目录中所有的内容
–color
深蓝色 目录

                 黑色(白色)一般文件

                 绿色 可执行文件

                 黄色 设备文件

红色 压缩文件

湖蓝色 链接文件
结合通配符 ?

      ls           查看内容

      ls -help 
          一个“-” 后面的单词分开解释
      ls --help
          两个“--”后面的按单词解释          

     touch 1.txt           (创建新文件夹,或更新文件时间)
     mkdir -p /test/a/e    (创建目录)
                   .....
     rmdir                 (删除目录,不能删除文件)
     rmdir -r              (全删除)
             f             (没有提示信息)
     cd :  切换目录
              相对路径  (从当前位置开始)
              绝对路径  (直接从根开始)

     pwd : 查看当前目录

     cp  (-r)   复制
     mv  (-r) 剪切、移动   (在当前目录移动,可以改名)
        针对目录的话要加-r,文件不用加

     cat    查看文件内的内容

     ln -s   软连接(快捷方式) 要求使用绝对路径
     ln     硬链接(一个文件有两个不同的名字。)
                 (创建时,必须在同一硬盘分区)
                  (不能对目录创建)

例: ln -s “ln -s /root/1.txt /root/桌面/ddd”
ln “ln /root/qqq.txt /etc/1111.txt”

       grep+要查找的内容+所在文件夹
             ^x、x$、^%、......

     find /boot -name .....
              *代表0个或多个任意字符
              ?代表1个任意字符


     tar     打包目录


      cal   日历

     date -s ‘20120312’     改系统时间

     hwclock -s   根据硬件时间改系统时间  (把系统时间改成BIOS上的时间)

     桑巴 ----------linux和Windows互相共享
       man smb.conf

     sosreport      系统体检

     【abc...】-----包含字符
     【!abc...】-----除了括号内的字符
     【^abc....】-----除了括号内的字符




      重定向 : 执行的命令 > 显示内容的位置
            输出重定向:>(1>)如果文件不存在,会创建并把内容写进去
                               若不存在,先清空文件中的内容,再把结果写入该文件----覆盖                         安全---->> (1>>)如果文件不存在,会创建并把内容写进去
                               若不存在,把结果写入到该文件的后面----追加
            正确命令:>   >>     
            错误命令:2>  2>>
            xxxxx &> q.txt       不管正不正确  都被重定向

            输入重定向:

             默认的输出系统---屏幕
             默认的输入系统---键盘
             linux中命令的执行不管正确或者错误执行都在屏幕上显示,重定向改变了输出/输入方向



           gedit   图形化编辑器
           vim     字符编辑器


           创建挂载点             mount /dev/cdrom /mnt
           安装包           rpm -ivh Packages/system-config-users*     
           打开用户管理者界面       system-config-users &

           字符界面创建新用户        adduser -c wangxiaob -d /sb -s /bin/bash sb
           设置密码        passwd +用户名
                           echo 密码 | passwd

           删除用户        userdel -r +用户名

           清除密码        passwd -d 用户名                   

           tail -数字 +查询文件的位置     查看文件尾部(数字可以选择行数)
           head -数字 +查询文件的位置     查看文件头部(数字可以选择行数)

           getent +用户          查看用户密码

           groupadd (-g 3000) +组名      创建组名

           将用户添加到组            gpasswd -a +用户名 +组名          
                                     usermod -aG +组名 +用户名

           查看组里有多少用户        grep ^组名 /etc/group        

           删除组                 groupdel +组名   


           更改登录shell          usermod -s /sbin/nologin sarah


           chmod
           权限 r=4 w=2 x=1 -=0

           su - redhat        切换用户


           掩码  过滤一些权限  监控普通用户、属组等的权限。
                               不能超过掩码的权限,超过的责丢弃

setfacl -m u:文件名 :rw-1.txt 设置可以读写
u:指定用户
g指定组
o:其他
d:(目录)defaurt
m:修改
x:删除
n:保留之前的权限
b:删除所有
k:删除默认
getfacl 1.txt 查看
setfacl -m u:zhangs:rw- 1.txt 更改单个组的权限
setfacl -n -m u:lisi:r– 1.txt -n 保留之前的权限
setfacl -x u:zhangs 1.txt 删除一个用户的acl
setfacl -b 1.txt 删除所有

lsattr 1.txt 查看隐藏权限
chattr +i 1.txt 不能修改内容(重要文件)
-i 可以修改
+a 追加内容 (保护之前内容)
-a 不追加,覆盖前内容

parted -s /dev/sdb mklable gpt
(分区) msdos
loop 什么分区方案都不是

新硬盘,需分区,格式化,再挂载(linux)

分区 (n添加 d删除 p查看 t修改 w保存)
mbr分区方案
fdisk
eg: fdisk /dev/sdb
gpt分区方案
gdisk
eg: gdisk /dev/sdb
parted
可以做mbr分区或gpt分区
格式化
mkfs -t xfs /dev/sdb1
mkfs.xfs /dev/sdb1
格式化时指定块大小
mkfs.xfs -b size=1024 /dev/sdb1
挂载
临时挂载
mount /dev/sdb1 /挂载点 (以读写挂载)
mount -o ro /dev/sdb1 /挂载点 (以只读挂载)
mount UUID=—————— /挂载点
查看挂载情况
df -hT
mount
查看UUID
blkid
xfs_admin -u /dev/sdb1
更改UUID
1.先产生一个UUID
uuidgen
2.改分区对应的UUID
xfs_admin -U 新的uuid /dev/sdb1
3.使用新的uuid挂载
mount UUID=新的uuid /挂载点
永久挂载
编辑 /etc/fstab
mount -a 把/etc/fstab中未挂载的普通分区挂载上
卸载
umount 设备名
umount 挂载点
交换分区
格式化
mkswap /dev/sdb5
使用交换分区
swapon /dev/sdb5
查看交换分区
free
cat /proc/swaps
swapoff /dev/sdb5(关闭交换分区)
永久使用交换分区
修改 /etc/fstab
eg:
/dev/sdb5 swap swap default,pri=3 0 0
让/etc/fstab中未挂载的交换分区挂载
swapon -a
当没有可用的分区来做交换分区时,可以使用一个
文件来代替交换分区(步骤如下)
1.创建文件
dd if=/dev/zero of=swapfile bs=1M count=2048
2.把这文件格式化
mkswap swapfile
3.修改这个文件权限,改为600
chmod 600 swapfile
4.启用
swapon swapfile
5.查看是否生效
cat /proc/swaps

制作镜像文件(.iso)
1.通过光盘制作
dd if=/dev/cdrom of=文件名.iso
2.还可以使用文件来制作
mkisofs -o 文件名.iso -r 原文件名
镜像文件使用
临时使用
mount 文件名.iso 挂载点 (rhel7)
mount -o loop 文件名.iso 挂载点 (rhel6)
永久挂载
编辑 /etc/fstab
eg:
/root/文件名.iso 挂载点 iso9660 defaults
0 0

创建了逻辑卷后在格式化
lvm:可以调整空间大小(增加或减少)
逻辑卷创建三步骤:
1.创建物理卷[物理卷不需要名字,卷组需要名字]
pvcreate分区 [pvcreate /dev/sdb1]
相当于把普通分区转换为物理卷
pvremove物理卷[pvremove /dev/sdb3]
相当于把物理卷转换为普通分区
查看系统中物理卷
pvs [pvs/dev/sdb6]
pvscan[pvscan/dev/sdb8]
查看物理卷的详细信息
pvdisplay 物理卷名[pvdisplay/dev/sdb7]

              2.创建卷组:
                vgcreate 卷组名 物理卷
                [例子 eg: vgcreate vg0 /dev/sdb/{5..7}] 
                查看卷组
                  vgs
                  vgscan
                 查看卷组详细信息
                  vgdisplay
                  扩展卷组空间
                   vgextend 卷组名 新的物理卷
                  减少卷组名
                   vgreduce 卷组名  卷组中已有的物理卷
                 删除卷组
                   vgremove 卷组名
                 重命名
                   vgrename 旧卷组名 新卷组名
              注意:在创建卷组的同时可以指定pe大小
                    [pe是组成卷组的最小单位,默认4兆]
                   vgcreate -s pe大小 卷组名 物理卷
             3.创建逻辑卷
                lvcreate -l (pe个数)、 -n (逻辑卷名)
                         -L 实际空间大小 、-n 逻辑卷名 卷组名
                 查看逻辑卷
                  lvs
                  lvscan
                 查看逻辑卷详细信息
                  lvdisplay 逻辑卷名
                 逻辑卷名: /dev/卷组名/逻辑卷组名
                 删除逻辑卷
                  lvremove 逻辑卷名
                 逻辑卷重命名
                  lvrename 旧的逻辑卷名 新的逻辑卷名
                 扩展逻辑卷(分两步)
                  lvextend -L  xx兆  逻辑卷名

                           -l  数字  逻辑卷名 
                  +xxM:是在原有的基础上加300兆
                  不+xxM: 增加到
                  添加完扩展逻辑卷后格式化:mkdir

                2.再扩展文件系统
        (在线扩展时,也就是逻辑卷使用时,先格式化逻辑卷,再挂载)
               xfs:xfs-growfs 逻辑卷名或者是挂载点
               ext4:resize2fs' 逻辑卷名或者是挂载点
               查看逻辑卷大小
                lvs
                lvscan
               查看文件系统大小(必须先挂载)
               df -hT | tail -n行号

缩小逻辑卷
不建议这样做:
如果像缩小的话,需要按一下步骤来做
1.先卸载逻辑卷
umount 逻辑卷名或者是挂载点
2.检查文件系统的完整性
ext4:e2fsck -f 逻辑卷名
xfs :xfs-repair 逻辑卷名
3.先缩小文件系统
ext4:resize2fs 逻辑卷名 空间大小
xfs:xfs文件系统不支持缩小
4.在缩小逻辑卷
lvreduce -L -xx 逻辑卷名

lvm快照
作用:备份
1.通过原始卷还原快照
a.先创建逻辑卷,格式化,挂载
eg:lvcreate -L 200M -n lv0 vg0
mkfs.ext4 /dev/vg0/lv0
mkdir /lv0
mount /dev/vg0/lv0 /lv0
b.根据逻辑卷创建快照
eg:lvcreate -L 20M -n lvxx -s /dev/vg0/lv0
注意:快照可以直接使用,不用格式化
mkdir /lvxx
mount /dev/vg0/lvxx /lvxx
c.测试
先在/lv0下创建几个测试文件
eg:
cp /etc/services /lv0/
cp/etc/hosts /lv0/
dd if=/dev/zero of=/lv0/file bs=1 count=100
查看快照中也存在这些文件
ls /lvxx/
删除快照中的所有文件
rm -rf /lvxx/*
卸载快照
umount /lvxx
删除快照
lvremove -f -L 20M -n lvxx -s /dev/vg0/lv0
挂载快照
mount /dev/vg0/lvxx /lvxx
查看快照中的内容
ls /lvxx/*
2.通过快照还原原始卷
先删除原始卷中的内容
rm -rf /lv0/*
注意:不要删除原始卷,这样会导致快照也被删除
通过快照还原原始卷
lvconvert –merge /dev/vg0/lvxx
重启系统
reboot
查看原始卷中的内容
mount /dev/vg0/lv0 /lv0
ls /lv0/

任务计划
at:一次性
查看一次性任务计划
at -1
atq
设置一次性任务计划
at 10:00 当前日期的10:00执行
at 20.18-0.-20 在2018-02-20的当前时间点执行
at 10:00 20.18-0.-20 在2018-02-20的10:00执行
at 10pm指晚上22:00点执行
at 4pm+2weeks 两周后的16:00执行
at 4pm+2days 两两天之后的16:00执行
at now+2hours 两个小时执行
at now+2minutes 两分钟之后
一次性任务计划保存在
/var/spool/at/ 目录下
删除一次性任务计划
atrm 数字
at -d 数字
限制普通用户做一次性任务计划
编辑/etc/at.deny
把该用户添加到这个文件中
取消限制普通用户做一次性任务计划两种方式
1.编辑 /etc/at.deny 在这个文件中删除该用户
2.编辑 /etc/at.allow 在这个文件中添加该用户
注意:当/etc/at.deny 和/etc/at.allow中都添加了该用户,先匹配的 是/etc/at.allow,当配成功了,就允许,不成功的话,在匹配/etc/at.deny
at命令需要atd服务的支持,也就是先要启动atd服务,默认是开启的
查看该服务的状态
systemctl ststus atd
crontab:周期性任务计划
查看周期性任务计划
crontab -l 查看的当前用户
crontab -l -u 用户 查看指定用户的周期性任务计划
设置周期性任务计划
crontab -e 当前用户
crontab -l -u 用户 指定用户
格式
分 时 天 月 周 命令
1-5 (1-5/1) 指1,2,3,4,5
* 有”每”的意思
天,周是或的关系,也就是说只有满足一个就执行分时月是且的关系,需要同 时满足
注意:命令需要写绝对路径
删除周期性任务计划
crontab -r 当前用户
crontab -r -u 用户 指定用户
限制普通用户做周期性任务计划
vim /etc/cron.deny
周期性任务计划保存位置
/var/spool/cron/
crontab命令需要crond服务的支持,也就是先要启动crond服务,默认是开启的
查看该服务的状态
systemctl ststus atd

USER:进程的属主
PID:进程的ID
PPID:父进程
%CPU:进程占用cpu的百分比
%MEM:进程占用内存的百分比
NI:进程的优先级
VSZ:该进程使用的虚拟内存量(KB)
RSS: 该进程占用的物理内存量(KB)
TTY: 该进程在那个终端上运行(登陆者的终端位置),若与终端无关,显示(?),若为pts/0等表示由网络连接主机进程
WCHAN:当前进程是否正在运行,若为-表示正在进行。
START:该进程被触发启动时间
TIME:该进程实际使用CPU运行时间
COMMAND:命令的名称和参数 【】表示是内核的线程或者进程。

R:处在运行中(执行用户例程或者内核例程),或者已排队并就绪。
D:无法中断的休眠状态(不会响应传递的信号)。
S:进程正在等待条件,当满足条件时,该进程将返回到运行中。
K:可中断的休眠状态(可响应信号而被中断)。
T:进程已被停止或者被追踪
W:进入内存交换(从内核2.6开始无效)
X:死掉的进程。
Z: 僵尸进程(父进程无法正常终止的进程)。

< 优先级高的进程
N 优先级较低的进程
L 有些页被锁进内存
s:包含子进程
l: 多线程
+:位于前台的进程。

手动设置进程在某个cpu上运行
taskset -c 0 进程
查看某个进程在哪个cpu上运行的
ps mo pid.comm, pst pgreg cat
修改进程的优先级
NI 范围为(-20–19)
1.使用toop修改
先按r输入进程pid
在输入ni的值
2.使用命令renice 或nice
renice -n ni的值 pid
(已运行的进程)
在运行时就指定进程的优先级
nice -n ni的值 程序
查看进程pid
ps aux |grep -v grep | grep 程序名
pidof 程序名 (精确匹配)
pgreg 程序名 (模糊匹配)
杀死进程
查看信号对应的值
kill -l
杀死进程
kill -9 pid
killall -9 程序名
踢出某个用户
pkill -kil -t pts/1(pts/1注释:哪个终端上的)
firefox 在前台运行,影响输入
ctrl+z 把这个进程停止放入后台
jobs 查看后台中的进程
bg %数字 把后台中停止的某个进程继续运行
fg %数字 把后台中某个进程放到前台运行
杀死后台进程
kill -9 %数字

服务管理
查看系统所以服务
systemctl list-unit-files
查看系统中已.service结尾的服务
systemctl list-unit-files –type service
查看系统中是否存在某个服务
systemctl list-unit-files –type service |grep 服务名
查看某个服务当前是否运行
systemctl is-active 服务名
查看某个服务下次是否随系统启动
systemctl is-enabled 服务名
开启某个服务
systemctl start 服务名
停止某个服务
systemctl stop 服务名
重启某个服务
systemctl restart 服务名
重载某个服务
systemctl reload 服务名
注意:1.不是所以的服务都可以重载
2.重启和重载的区别
重启是先结束服务,再开启新的服务 pid会改变
重载,pid不会发生改变。 一般用在,修改文件,让配置文件生效, 又不想关闭服务的情况下
设置某个服务开机启动
systemctl enable 服务名
设置某个服务开机不启动
systemctl disable 服务名
禁用某个服务
systemctl mask 服务名
取消禁用
systemctl unmask 服务名

磁盘配
ext4文件系统
1.分区,格式化
2.让文件系统支持磁盘配置额
临时的
已挂载过
mount -o remount,usrquota,grpquota 挂载点
未挂载过
mount -o usrquota,grpquota 分区 挂载点
永久
vim /etc/fstab
eg: /dev/sdbl /xx ext4 defaults,usrquota,grpquota
0 0
mount -a
查看是否成功
mount | grep 挂载点
3.生成磁盘配额文件
quotacheck -cugv 挂载点
在挂载点目录下生成2个配额文件
4.编辑配额文件
edquota -u 用户
edquota -g 组
5.开启磁盘配额
quotaon -ugv 设备名 (或挂载点)
注意:要删除磁盘配额时,应先关闭磁盘配额
quotaoff -ugv 设备名(或挂载点)
6.测试
7. 查看磁盘配额使用情况
普通用户 quota -u 用户
root用户 repquota 设备名 (或挂载点)

      Xfs文件系统
       1.让文件系统支持磁盘配额
         mount -o remount,usrquota,grpquota 挂载点
       2.设置磁盘配额
         xfs_quota  -x  -c  ” limit  bsoft=80M  bhard=100m  用户” 挂载点
         Xfs_quota  -x  -c  ” limit  Isoft=80M  ihard=10M  用户” 挂载点
      3.测试
      4.查看磁盘配额使用情况
        xfs_quota  -x  -c  ”report  -  ubin”  挂载点
        u: 用户
        b: block
        I:inode
        h:human  

网络设置
1.图形化
nm-connection-editor
2.命令
查看链接
nmcli connection 看所有的
nmcli connection show 连接名 看指定的链接
删除链接
nmcli connection delete 连接名
创建连接两种方式
1、先创建链接,在设置IP地址
nmcli connection add con-name连接名 type 类型 ifname 网卡名

            nmcli connection modify 连接名 ipv4.addresses ip地址/掩码

            nmcli connection modify 连接名 ipv4.method manual
            (必须要改,否则重启网络服务,IP又是自动获取)
            nmcli connection modify 连接名 ipv4.gateway 网关IP
            nmcli connection modify 连接名 ipv4.dns的IP
        2、创建链接同时设置IP
            nmcli connection add con-name 连接名 type 类型
            ifname 网卡名 ipv4 IP地址/掩码 gw4 网关IP地址
            nmcli connection modify 连接名 ipv4.dns dns的IP
           查看ip,dns,gateway信息
            nmcli connection show 连接名 | grep ipv4
            nmcli device show 设备名
           查看设备状态
            nmcli device stat 
            nmcli device show 设备名
           禁用网卡
            ifconfig 网卡名 down
           取消禁用
            ifconfig 网卡名 up
           当网卡有多个连接的时候(只能有一个链接处于激活状态)
           切换链接
            nmcli connection up 连接名
           断开网卡设备连接
            nmcli device disconnect 网卡名
            ifconfig 查看活跃的网卡设备
            ifconfig -a 查看所有的网卡设备
            IP addr show 网卡名(能查看网卡上有多个ip)
            为一个链接设置多个ip
             nmcli connection modfiy 连接名 +ipv4.addresses ip 地址/掩码
            删除一个ip地址
             nmcli connection modfiy 连接名 -ipv4.addresses ip 地址/掩码
         注意:设置好之后,别忘了重启网络服务
               systemctl restart network    
          类型:ethernet  

/

3.配置文件:
在 /etc/sysconfig/network-scripts/目录下创建
连接文件
eg:vim ifcfg-连接名
DEVICE=网卡设备名
NAME=连接名
ONBOOT=yes 开机是 否启用该网卡
BOOTPROT=dhcp/none/static/ 网卡ip是手动还是自动指定
TYPE=ethernet 网络类型
IPADDR=ip地址
PREFIX=掩码位
GATEWAY=网关ip
DNS1=dns服务器ip
保存退出
重启网络服务:systemctl restart networt

聚合
一、添加team组
nmcli connection add type team con-name team0
ifname team0 config ‘{“runner”:{“name”:”activebackup”} }’

     cat /etc/sysconfig/network-scripts/ifcfg-team0 查看
     ifconfig  team0  查看

  二、添加组成员
      nmcil  connection  add  type  team-slave  ifname  eth1 
      master   team0

      nmcil  connection  add  type  team-slave  ifname  eth2
      master   team0

  三、配置team0的IP地址
      [手工配置]
      nmcil  connection  modify  team0   ipv4.method   manual
      ipv4.addresses   192.68.1.1/24  connection.autoconnect  yes
      [自动配置]
        nmcil  connection  modify  team0  ipv4.addresses   192.68.1.1/24 
  四、激活team0
      nmcil connection  up  team-slave-eth1  激活从设备eth1
      nmcil connection  up  team-slave-eth2  激活从设备eth2
      nmcil connection  up  team0            激活主设备team0

  五、验证
      teamdctl   team0  state       专用于查看team信息

      删除:
       nmcil connection  delete  team-slave-eth1
       nmcil connection  delete  team-slave-eth2

聚合网络和桥接
1.聚合网络(组队)
a.图形化操作
nm-connection-editor
json设置:{“runner”:{“name”:”activebackup”}}
b.命令行
组队备份
nmcli connection add con-name team0 type team ifname team0 config ’ {“runner”:{“name”:”activebackup”}}’
配置IP地址
nmcli connection modify team0 ipv4.addresses 192.168.110.222/24
链接显示
nmcli connection modify team0 ipv4.method manual
查看
nmcli connection show team0 | grep ipv4
网卡加入组里面
nmcli connection add con-name team0-slave1 type team-slave ifname eth1 master team0
[解释: team-slave从 master主 ]
nmcli connection add con-name team0-slave2 type team-slave ifname eth2 master team0
查看连接名
nmcli connection
重启网络
systemctl restart network
查看状态
teamdctl team0 stat
把网卡断掉
nmcli device disconnect eth1
c.配置文件
vim ifcfg-team0
DEVICE=team0[设备]
NAME=team0[连接名]
DEVICETYPE=team[设备类型]
ONBOOT=yes
BOOTPROTO=none[引导协议]
IPADDR=192.168.110.222[配置IP地址]
PREFIX=24[网络前缀]
TEAM_CON FIG=’{\”runner\”:{“name\”:\”activebackup\”}}’[类型]

  vim  ifcfg-team0-slave1
     DEVICE=eth1[设备]
     ONBOOT=yes
     DEVICETYPE=teamport[设备类型]
     NAME=team0-slave1[连接名]
     TEAM_MASTER=team0

  vim  ifcfg-team0-slave2
     DEVICE=eth2[设备]
     ONBOOT=yes
     DEVICETYPE=teamport[设备类型]
     NAME=team0-slave2[连接名]
     TEAM_MASTER=team0

2.桥接
a.图形化操作
nm-connection-editor
b.命令行
连接添加了名称br0类型桥接名称br0
nmcli connection add con-name br0 type bridge ifname br0
配置IP地址
nmcli connection modify br0 ipv4.addresses 192.168.110.226/24
连接修改br0 ipv4
nmcli connection modify br0 ipv4.method manual、
把网卡加进桥里面
nmcli connection add con-name br0-slave type bridge-slave ifname eth0 master br0
查看
nmcli connection show br0 | grep ipv4
重启网络
systemctl restart network
显示
brctl show
c.配置文件
vim ifcfg-br0
DEVICE=br0[设备]
TYPE=bridge[类型]
BOOTPROTO=none[引导协议]
NAME=br0[连接名]
ONBOOT=yes
IPADDR=192.168.110.226[配置IP地址]
PREFIX=24[网络前缀]

  vim ifcfg-br0-slave
    TYPE=ethernet[类型]
    NAME=br0-slave[连接名]
    DEVICE=eth1[设备]
    ONBOOT=yes
    BRIDGE=br0[桥接]

对称加密:加密和解密使用相同的密钥
特点:效率高
算法:des,3des,aes
需要解决的是密钥的安全传输到对方

非对称加密:产生一对密钥对[公钥,私钥]
1.数据加密:接收者的公钥加密,接收者的私钥解密。
2.数字签名:发送者的私钥加密,接收者使用发送者的公钥解密。
特点:安全,效率低
算法:rsa

哈希函数(单项加密)
特点:
1.相同的内容使用相同的哈希函数加密,得到的哈希值是相同
2.内容不相同使用相同的哈希函数加密,得到的哈希值的位数是相同
3.雪崩效应(内容只要改动一点点,得到的哈希值就不相同)
4.加密是不可逆
算法:md5、 sha128、 sha256

ssh(secure shell)是一种安全通道协议,主要用来实现字符界面的远程登录
使用ssh协议,开启是22号端口。
openssh是linux上的一款免费,开源的软件,他支持ssh协议两版本。
openssh:支持两种验证方式,分别为:密码验证,密钥验证。
可以单独启用某种验证也能同时使用两种验证,当同时使用时,密钥验证优先。

密码验证:
过程:客户端使用ssh连接时,服务器会把自己的公钥
(etc/ssh/ssh-host-ecdsa_key.pub)发送给客户端保存
客户端默认在root用户的家目录下生成一个.ssh目录
该目录下的know_hosts文件中保存该密钥
注意:如果服务器端的公钥发生了改变,客户端只需把这文件中对应的公钥条目删除掉就行

密钥验证:
过程:1.客户端先生成一对密钥对(公钥,私钥)
ssh-keygen或ssh-keygen -N””
生成密钥对默认保存在root的家目录下的.ssh目录下
2.客户端发送公钥给服务器端
ssh-copy-id -i 公钥文件 用户名@服务端的ip
注意:公钥文件会保存在该用户对应的家目录下的.ssh目录中auth
3.客户端就可以通过该用户不用输入密码登入服务器。
客户端登入方式(两种)
1.ssh -l 用户名 服务器端IP地址或主机名
2.ssh 用户@服务器端ip或主机名
服务器端配置文件
vim /etc/ssh/sshd_config
PasswordAuthentication yes 开启密码验证
PubkeyAuthentication yes 开启密钥验证
UseDNS no 关闭DNS的反向解析
PermitRootLogin no 不允许root用户远程连接
PermitEmptyPassword no 不允许用户使用空密码登录
Allowusers zhangs lisi@192.168.110.1 只允许zhangs lisi 用户登录,zhangs是可以在任何客户端登录,而lisi只能在ip地址为192.168.110.1客户端登录
DenyUsers 用户 至拒绝指定的用户登录
如果限制组 DEnyGround 组名
AllowGround 组名
注意:修改了配置文件,必须重启服务。

tcp wrappers
/etc/hosts.allow
/etc/hosts.deny
先匹配/etc/hosts.allow,如果匹配成功,直接允许
如果匹配不成功,,先去匹配/etc/hosts.deny
如果/etc/hosts.deny成功,拒绝
如果/etc/hosts.deny不成功,则允许访问该服务

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值