Linux系统的第六天

 昨天,学习了vim编辑工具,今天学习Linux系统的目录结构、补充命令和配置网络。
一、目录结果

1.1目录的特点

Windows和Linux:     

  Windows中c、d、e盘,每个都是一个根系统【多根系统】;Linux中只有一个根【单根系统】

1.2各个目录存储的内容

/root:linux中挂管理员用户的家目录

/home:linux中挂存储普通用户的家目录的目录。    例如:tom用户的家目录是 /home/tom

/tmp:这个是临时目录,这个目录下存储的是临时的文件,这个目录有两个特点

  特点1:任何用户都可以在这个目录下创建文件,但是普通用户只能操作自己的文件。  例:tom可以在tmp目录下新建文件、删除文件、修改文件,但是只能操作自己创建的文件。

  特点2:这个目录下文件的,如果30天内没有被访问过,那么这个文件会自动的删除。

/var:这个目录存储的是经常会发生变化的文件,例如日志文件。    问题:日志文件的存储位置 系统中有各种各样的日志,可以修改日志的保存位置,但是默认位置/var/log下,例如系统日志/var/log/messages。   问题:监控日志的变化,用哪个命令?   tail  -f  文件名。

/usr:用户自己安装的软件一般放到这个位置。  例如:安装nginx,iginx的安装目录 /usr/local/nginx

/etc:这个目录保存的是配置文件。  /etc/passwd       /etc/shadow     /etc/group      /etc/inittab              /etc/init.d/functions         /etc/crontab         /etc/sysconfig/network-scripts/ifcfg-ens33        /etc/hosts。

/bin、/sbin、/usr/bin、/usr/local/bin、/usr/local/sbin、/root/bin:这里存储的是命令。  问题:如何查看外部命令的保存位置     whereis  或 which。

/dev:这个目录存储的是设备文件。【linux中每个设备都对应一个文件,例如u盘,设备文件/dev/sdb】

/proc、/sys:这两个是两个伪文件系统,这里的文件具有这些特点:

  特点1.这里的文件不是真实文件,而是系统当前这一刻的系统信息的映射。包括:进程信息、内存信息、cpu信息...

  特点2:这里的文件都不能用vi直接进行编辑,可以用echo重定向进行编辑。  例如:echo “6553600”>/proc/sys/net/nf_conntrack_max。

  特点3:伪文件系统中的文件,会在系统关机的时候,所有文件会自动删除,下次开机自动重新生成。

/boot:存储系统开机的时候的文件。

二、补充命令

2.1tree

需要先配置好yum,然后用yum安装tree

命令格式:tree  目标目录

2.2find

linux中搜索文件有两种个命令

locate:速度很快,但是结果不准确。

    linux中维护了一个数据库,数据库中就记录了系统中的每个文件的文件名和文件的保存路径,这个数据库每天早上更新一次。  locate搜索文件的时候,就是去检查数据库中的记录,所以搜索速度快。

find:速度慢,但是结果准确。   find搜索文件的时候,就是逐一检查及其子目录的文件。

find的格式:  find  搜索目录  搜索条件  执行的动作

搜索目录:指定搜索的位置    /      /etc/      /home

搜索条件:指定根据什么条件进行搜索

  -name:根据文件名进行搜索       -size:根据文件的大小进行搜索    -perm:根据文件的权限进行搜索     -ctime:根据文件的修改事件进行搜索       -mtime:根据文件的编辑时间进行搜索

执行的动作:找到文件后执行的操作:  -print:显示找到文件    -exec:找到文件后,执行一个命令。

例子:从home下找出a.txt
find /home -name a.txt --print

find的查找条件

     -name  filename:指定查找文件的文件名作为查找条件。

例子:找文件名是a.txt的文件 -name a.txt
例子:找文件后缀是.txt的文件 -name *.txt
例子:从系统中找出后缀是txt的文件和目录
# find / -name "*.txt"
例子:从/tmp下找出后缀是txt的文件和目录
# find /tmp -name "*.txt"
例子:从当前位置下找出后缀是txt的文件和目录
# find ./ -name "*.txt"

    -iname  filename:指定查找文件的文件名作为查找条件(忽略大小写)。

     -group  gname:根据文件的属组进行查找;-user  uname:根据文件的属主进行查找。

   

例子:找文件的属主是 py22 的文件和目录
# find / -user "py22

   -uid  UID:根据文件的属组ID进行查找;-gid  GID:根据文件的属组ID进行查找。

例子:根据 py22 的gid查找文件
第一步:查看/etc/group,查看py22的gid(假设找到的gid是1004)
第二步:执行find
# find / -gid "1004"

   -nogroup:查找没有属组的文件;-nouser:查找没有属主的文件。

例子:找出没有属主的文件
# find / -nouser

  -size  n

      n:表示文件的大小、后面跟上的是单位,常用的单位有如下

‘b’ for 512-byte blocks (this is the default if no suffix is
used)
‘c’ for bytes
‘w’ for two-byte words
‘k’ for Kilobytes (units of 1024 bytes)
‘M’ for Megabytes (units of 1048576 bytes)
‘G’ for Gigabytes (units of 1073741824 bytes)

如果不指定单位类型,那么默认是以字节为单位

例子:
5M
4G
例子:找文件大小是1M的文件
find / -size 1M
说明:
查找找结果是<=1M的文件
例子:找文件大小是2M的文件
find / -size 2M
说明:
查找找结果是大于1M,但是小于等于2M的文件
例子:找文件大小是1G的文件
find / -size 1G
说明:
查找找结果是<=1G的文件
例子:找文件大小是2G的文件
find / -size 2G
说明:
查找找结果是大于1G,但是小于等于2G的文件

  -size [+-]n        +:大于指定的值        -:小于指定的值

例子:找文件大小大于1G的文件
find / -size +1G

  -type 类型:根据文件的类型进行查找。   d:目录类型文件    f:一般文件    l:链接文件

例子:找目录类型的文件
# find / -type d
例子:找一般文件
# find / -type f

    -mtime  [+-]n:文件的创建(单位是天);-ctim[+-]n:文件修改时间(单位是天); -atime [+-]n:文件的访问时间(单位是天)。说明: n:单位是天    -mtime 5:表示5天之前的那一天所创建的文件。      -n: -mtime -5:表示在5天之内所创建的文件。   +n: -mtime +5:表示在5天之前所创建的文件

-mmin [+-]n: 单位是分钟。     -cmin [+-]n: 单位是分钟。     -amin [+-]n: 单位是分钟。          

例子:找出tmp下上次访问时间在7天之前的文件
# find /tmp -atime +7

组合条件:  -a:且,要求多个条件同时满足。   -o:或,要求多个条件满足任意一个即可。                   -not:不是。

例子:从home下找文件类型是一般文件,并且后缀是txt
# find /home -type f -a -name *.txt
例子:从/home找后缀是txt文件
# find /home -name *.txt
例子:从/home下找后缀不是txt的文件
# find /home -not -name *.txt
例子:从/tmp下找出后缀是wps 或doc 或exel的文件
# find /tmp/ -name *.doc -o -name *.exel -o -name *.wps
例子:从/tmp下找出后缀不是wps,也不是doc的文件
# find /tmp/ -not -name *.doc -a -not -name *.wps
或
# find /tmp/ -not \( -name "*.txt" -o -name "*.wps" \)

  -perm  mode:根据文件的权限进行查找(做到的是精确匹配)。  例:例子:将文件的权限为642的文件找出(rw-r---w-) # find /tmp -perm 642。

   -perm /mode:只有9个权限为中任意一个匹配成功,查找出该文件。  例:例子:执行如下查找   -perm /001    file1 rw--w---x       file2 rwx------      file3 r--r--r--    结果只会找到file1

   -perm  -mode:目标文件必须包含find规则中的9个权限位。  例1::执行如下查找 -perm -401   file1 rw--w---x       file2 rwx------     file3 r--r--r--    结果会找出file1。   例2:例子:找出系统中全部用户都有执行的权限的文件。答:# find / -perm -111。   例3:例子:找出系统中属主没有执行权限的文件    答:# find / -not -perm /100。

执行的动作:  -print:将找到的文件输出到终端(默认)    -ls:将找到的文件以长格式的形式输出(相当于执行ls-l)       -exec:表示要执行一个命令。

  -exec的格式:    find   xxx    -exec   命令\。       

例子:删除tmp下后缀是txt的文件
# find /tmp -name "*.txt" -exec rm -rf {} \;
例子:将tmp下有执行权限的文件复制到/home下
# find /tmp -perm /111 -exec cp -a {} /home \;
例子:将tmp下有执行权限的文件中的执行权限去除
# find /tmp -perm /111 -exec chmod a-x {} \;
例子:将tmp下有执行权限的文件的文件名后加上一个.bak
# find /tmp -perm /111 -exec mv {} {}.bak

2.3校验文件

生成校验值            对比校验

将敏感文件生成校验:md5sum /etc/passwd /etc/shadow /etc/group /etc/inittab>0513.md5check

得到文件:0513.md5check

校验风险

[root@VM-16-8-centos ~]# md5sum -c 0513.md5check
/etc/passwd: OK
/etc/shadow: OK
/etc/group: FAILED
/etc/inittab: OK
三、配置网络

3.1网卡配置文件

网卡配置文件的路径:/etc/sysconfig/network-scripts/

网卡配置文件的名称:ifcfg-xxx

网卡配置文件的内容

TYPE=Ethernet   #指定网卡类型是以太网   

BOOTPROTO=static|dhcp   #指定ip地址类型,static是静态ip,dhcp为动态ip

NAME=ens33    #指定网卡名称

DEVICE=ENS33      #指定网卡名称

ONBOOT=yes|no      #yes:设置网卡开机的时候,自动激活,no:开机不激活网卡

IPADDR=10.100.204.123     #指定网卡的IP地址

NETMASK=255.255.0.0      #指定子网掩码

GATEWAY=10.100.255.254       #指定网关

DNS=8.8.8.8            #指定主DNS

DNS2=114.114.114.114           #指定备用DNS

UUID=c5c3a8d-2s61-44ac-a882-2786a7953c59    #这个可以删掉,这个是唯一标识网卡的id【两个网卡的uuid不能相同】

HWADDR=cc:xx:xx:xx:xx:xx       #指定网卡的mac地址,也是唯一的标识【两个网卡的mac地址不能相同】

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

PEERDNS=yes

PEERROUTES=yes

IPV6_PEERDNS=yes

IPV6_PEERROUTES=yes

3.2虚拟机的网络配置

让虚拟机能上网

方法1:nat方法-用此方法

    前提:物理机必须能上网。       用此方法,不需要配置ip,自动获取即可

方法2:桥接方法

操作步骤

第一步:修改虚拟机的网络连接方式          NAT      略

第二步:修改网卡的配置文件      vi  /etc/sysconfig/network-scripts/ifcfg-xxxxxx

第三步:重启网卡    sysconfig  restart  network

第四步:检查网卡ip,测试是否可以上网    ip   addr     ping   www.qq.com

让物理机和虚拟机可以通信

方法1:桥接方法

方法2:vmnet8方法:让物理机的vmnet的网卡地址和虚拟机的网卡地址在同一网段就可以了

方法3:vmnet1方法

操作步骤:

   本案例:基于vmnet8实现物理机和虚拟机通信

         物理机的vmnet8的地址:10.10.10.1/8     虚拟机的地址:10.10.10.2/8

第一步:添加一个新网卡

第二步:修改网卡的配置文件

1.首先找到网卡名。    ip   addr        找到新网卡的码名称:ens36

2.将原来的配置文件复制成新网卡的配置文件。     

cd /etc/sysconfig/network-scripts/      cp   ifcfg-ens33  ifcfg-ens36              vi     ifcfg-ens36

第三步:重启网卡。   systemctl   restart   network

第四步:  检查网卡ip。       id  addr

第五步:  配置物理机的vmnet8的地址为10.10.10.1

第六步:测试物理机和虚拟机是否可以通信

在物理机和虚拟机上,分别互相ping对方

     3.3    用xshell远程连接linux    略

    3.4    linux的网相关命令

ping

  作用1:解析域名【将用域名转换为ip地址的过程】

  作用2:测试两个主机之间是否可以通信

    格式:ping   选项   目标ip/目标域名

  选项:      -4:ipv4的地址

                 -w:n秒内是否可以通信

                  -c:回复n条

netstat

作用:查看当前主机的网络链接情况

格式:  netstat   选项

选项:

    -n:以数字方式显示:显示ip地址、端口

    -t:显示tcp协议类型的网络链接

    -u:显示udp协议类型的网络链接

    -l:显示出与监听状态的网络链接

    -a:显示所有的网络链接

    -p:显示生成这个网络链接的进程id

ss

作用:查看当前主机的网络链接情况

格式:  ss   选项

选项:

       -n:以数字方式显示:显示ip地址、端口

       -t:显示tcp协议类型的网络链接

        -u:显示udp协议类型的网络链接

        -l:显示出于监听状态的网络链接

        -a:显示所有的网络链接

        -p:显示生成这个网络链接的进程

lsof

这个命令需要首先配置yum源,然后进行安装

作用: 检查指定的端口是哪个进程启动的

格式:  lsof  -i  端口

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值