23.centos7基础学习与积累-009-linux目录

从头开始积累centos7系统运用

大牛博客:https://blog.51cto.com/yangrong/p5

linux目录的特点:

  1. /是所有目录的顶点。

  2. 目录结构像一颗倒挂的树。

  3. 目录和磁盘分区是没有关联的。

  4. /下不同的目录可能会对应不同的分区或磁盘

  5. 所有的目录都是按照一定的类别有规律的组织和命名的。

[root@python01 ~]# ls /dev/sda*
/dev/sda  /dev/sda1  /dev/sda2

[root@python01 ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   47G  1.6G   46G   4% /
devtmpfs                 1.9G     0  1.9G   0% /dev
tmpfs                    1.9G     0  1.9G   0% /dev/shm
tmpfs                    1.9G   12M  1.9G   1% /run
tmpfs                    1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda1                497M  139M  359M  28% /boot
/dev/mapper/centos-data  151G   33M  151G   1% /data
tmpfs                    378M     0  378M   0% /run/user/0

linux里设备不挂载是看不到入口,类似没有窗口的监狱。

如果希望设备被访问,就须给这个设备一个入口,

这个入口就叫做挂载点,挂载点的表现实质是一个目录。

 

光驱挂载:

[root@python01 ~]# ls /dev/cdrom
/dev/cdrom

将设备挂载

mount /dev/cdrom   /mnt

挂载光盘.iso做yum源

目录结构说明:

/bin  目录:二进制命令存放目录

查找命令的全路径:

[root@python01 ~]# which ls
alias ls='ls --color=auto'
        /usr/bin/ls

dsadsadfsadf fdsafdsafdsadfasdff
fdsafd

测试表格使用

/boot 目录:

系统内核,系统引导程序所在的目录

/dev 设备的目录:

设备的目录:

/etc 目录:

二进制软件安装包(yum,rpm)的配置文件默认路径

exports   nfs 系统权限

fstab  开机自动挂载磁盘

hosts  主机名的解析文件

inittab  开机需要加载的文件

issue  登录之前的信息提示

[root@python01 ~]# cat -n /etc/issue
     1  S
     2  Kernel on an m
     3

motd  文件:控制登录显示

[root@python01 ~]# cat /etc/motd

[root@python01 ~]# vim /etc/motd    
welcome to oldboy training

重新登录后的效果,

Last login: Mon Jun 24 16:46:17 2019 from 192.168.50.171
welcome to oldboy training
[root@python01 ~]#

networks 网卡

passwd  用户名及权限

profile   系统属性,环境变量

resolv.conf   DNS文件

services  服务及对应的端口

syslog.conf 

/proc 显示内核及进程信息的虚拟文件系统

/tmp临时文件目录公共测试,客厅。

 /home 普通用户的家目录:

其他用户的家目录

/root 超级管理员的家目录,皇宫

/var 变化的目录,一般是日志文件,cache的目录

/usr 用户程序及数据、帮助文件、二进制命令等目录:

/bin 普通用户命令目录

/sbin 和 /usr/sbin  超级用户命令目录

/lib  库文件存放目录:

/sys  目录:

https://www.ibm.com/developerworks/cn/linux/l-cn-sysfs/

重要的子目录:

重要文件1:

[root@python01 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none    #其中,proto取下列值之一:none,引导时不使用协议;static静态分配地址;bootp,使用BOOTP协议,或dhcp,使用DHCP协议。
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0    #设备名称
DEVICE=eth0    #物理设备名,eth0表示第1快网卡
ONBOOT=yes    #控制网卡是不是开机启动
IPADDR=192.168.50.200    #addr是IP地址
PREFIX=24
GATEWAY=192.168.50.1    #网关地址,路由器的地址。
DNS1=192.168.50.200
DNS2=114.114.114.114    #DNS把baidu.com变成了baidu服务器IP。DNS就是域名和IP的解析工具。
DNS3=8.8.8.8    #DNS3
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
NETMAST=255.255.255.0    子网掩码,划分网络位和主机位
NM_CONTROLLED=no

 DNS域名解析服务

把域名解析成IP.

例如:www.baidu.com-------1.1.1.1

查看网关:

route -n

[root@python01 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.50.1    0.0.0.0         UG    0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
192.168.50.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0

[root@python01 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search honortone.com
nameserver 192.168.50.200
nameserver 114.114.114.114
nameserver 8.8.8.8

指定网卡启动:

[root@python01 ~]# ifdown eth0  &&  ifup eth0

磁盘设备的唯一标识:

[root@python01 ~]# blkid
/dev/sda1: UUID="1653bc45-1d10-4e98-805f-6615d99d551f" TYPE="xfs"
/dev/sda2: UUID="dI0T5n-cD1U-1uwZ-Ynjj-ZxQP-yL05-2rZ5Dx" TYPE="LVM2_member"
/dev/mapper/centos-root: UUID="f0feb483-5149-4f03-b3f2-5a7c8970c7d5" TYPE="xfs"
/dev/mapper/centos-swap: UUID="1118d205-9040-463d-8509-7a3f1efb3293" TYPE="swap"
/dev/mapper/centos-data: UUID="9ec3ac30-2ad1-4135-bdc0-5203f55778f3" TYPE="xfs"

重要文件2:客户端DNS文件

/etc/resolv.conf

设置linux本地的客户端DNS的配置文件=====DNS可以实现域名和IP的互相解析。

类似:windows中的  此处网卡优先

#DNS1=192.168.50.200
#DNS2=114.114.114.114
#DNS3=8.8.8.8
DNS1=172.31.2.2
DNS2=172.31.2.68

重要文件3:局域网DNS文件

[root@python01 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

重要文件4:配置主机名文件

[root@python01 ~]# cat /etc/hostname
python01
[root@python01 ~]# cat /etc/sysconfig/network
# Created by anaconda

[root@python01 ~]# uname -n
python01

[root@python01 ~]# hostname
python01

临时修改主机名:

[root@python01 ~]# hostname eric

重要文件5:记录开机要挂载的文件系统的文件

[root@python01 ~]# cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Fri May 24 23:24:42 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=1653bc45-1d10-4e98-805f-6615d99d551f /boot                   xfs     defaults        0 0
/dev/mapper/centos-data /data                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0

第一列是要挂载的设备:

第二列是挂载点:

第三列是文件系统类型:

第四列是挂载选项:是只读挂载、可写挂载

第五列是 是否备份:0是不备份

第六列是 是否开机做磁盘检查:0是不做检查

[root@python01 ~]# blkid
/dev/sda1: UUID="1653bc45-1d10-4e98-805f-6615d99d551f" TYPE="xfs"
/dev/sda2: UUID="dI0T5n-cD1U-1uwZ-Ynjj-ZxQP-yL05-2rZ5Dx" TYPE="LVM2_member"
/dev/mapper/centos-root: UUID="f0feb483-5149-4f03-b3f2-5a7c8970c7d5" TYPE="xfs"
/dev/mapper/centos-swap: UUID="1118d205-9040-463d-8509-7a3f1efb3293" TYPE="swap"
/dev/mapper/centos-data: UUID="9ec3ac30-2ad1-4135-bdc0-5203f55778f3" TYPE="xfs"

重要文件5:开机自启动文件

systemctl enable sshd

代替服务开机自启动

用于存放开机自启动程序命令的文件,开机是把/etc/rc.local里的内容执行一遍

 [root@python01 ~]# cat /etc/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

touch /var/lock/subsys/local

 一般把自己写的程序放到rc.local,服务器的档案

蓝鲸运维系统的案例:
touch /var/lock/subsys/local
[ -f /etc/rc.d/bkrc.local ] && bash /etc/rc.d/bkrc.local
[xieguocheng@rbtnode1 ~]$ cat /etc/rc.local

重要文件6:开机级别

[root@python01 ~]# cat /etc/inittab
# inittab is no longer used when using systemd.
#
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# Ctrl-Alt-Delete is handled by /usr/lib/systemd/system/ctrl-alt-del.target
#
# systemd uses 'targets' instead of runlevels. By default, there are two main targets:
#
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
#
# To view current default target, run:
# systemctl get-default
#
# To set a default target, run:
# systemctl set-default TARGET.target
#

重要文件7:开机级别

[root@python01 ~]# ls -l /etc/init.d
lrwxrwxrwx. 1 root root 11 May 24 23:24 /etc/init.d -> rc.d/init.d

[root@python01 ~]# ls -ld /etc/rc.d/init.d/
drwxr-xr-x. 2 root root 70 May 24 23:25 /etc/rc.d/init.d/

 重要文件8:centos7里面没有这个目录   淘汰

/etc/xinit.d   没有此目录

[root@python01 ~]# ls /etc/xinetd.d/  此目录为空

如果服务器是通过xinetd模式运行的,它的脚本要放在这个目录下。有些系统没有这个目录,

比如Slackware,有些老的版本也没有。在Redhat/Fedora中比较新的版本中存在。

无人值守安装系统时pxe+kickstart会用到/etc/xinit.d

 重要文件9:系统全局环境变量

系统全局环境变量永久生效的配置文件定义别名已及PATH变量等

alias rm='echo "rm cmd does not to be used."'

PATH变量

unset i
unset -f pathmunge
unset MAILCHECK
export TOUT=300
export HISTSIZE=5
export HISTFILESIZE=5
[root@python01 ~]# cat /etc/profile

 重要文件10:/etc/profile.d

加载系统登录程序一个目录,命令或文件独立存在!

以文件的形式存在(*.sh为扩展名),但要课执行。

[root@python01 ~]# vim /etc/profile.d/oldboy.sh
echo "welcome to oldboy linux trainning from  /etc/profile.d"

/etc/profile.d 登录后执行的脚本所在地

/etc/motd 登录后显示的字符串

讲跳扳机,登录的时候加载/etc/profile.d的脚本。

[root@python01 ~]# ls /etc/profile.d/
256term.csh         colorgrep.csh  colorls.sh  lang.sh   sh.local  which2.csh
256term.sh          colorgrep.sh   csh.local   less.csh  vim.csh   which2.sh
bash_completion.sh  colorls.csh    lang.csh    less.sh   vim.sh

/usr/local

一般是用来存放用户自编译安装软件的存放目录:一般是通过源码包安装的软件,

如果没有特别指定安装目录的话,一般是安装在这个目录中。相对于:c:Program files 。

/usr/local/bin

用户安装的小的应用程序,和一些在/usr/local目录下大应用程序的符号连接。

/usr/local/sbin 

系统全局环境目录,可放置一些不需要加路径执行的脚本等。

/usr/share 

系统共用的东西存放地,比如/usr/share/doc和/usr/share/man帮助文件。

/usr/src

内核源码存放目录,比如下面有内核源码目录,比如linux、linux-2.XXXX.XX目录等。

1.rpm -ivh 包名.rpm(存在rpm包,又无法使用yum的时候)

2.yum install 包名(下载  rpm  解决软件依赖)-简单方便的方法。

(习惯:线上对外的服务器很少安装apache,nginx,myslq,功能性软件会用yum)

3.源码(./configure,make,make install),定制。打中小企业重要服务

门户:源码---定制RPM包---制作yum创库---yum安装。

/usr/bin

使用这可以执行binary file的目录

 

/var 日志文件

/var/log  各种系统日志存放地

/var/log/messages 

系统信息默认日志文件,非常重要。按周自动轮循

[root@python01 ~]# ll /var/log/messages*          
-rw-------  1 root root  136579 Jun 27 15:33 /var/log/messages
-rw-------. 1 root root 1023845 Jun 23 03:45 /var/log/messages-20190623

查看系统一些故障的命令:centos7用不了yum装不上

dmseg

/var/log/secure

记录登入系统存取信息的文件,按周自动轮循,例如  pop3,ssh,telnet,ftp等都会记录在此。

系统安全的日志文件。依赖于rsyglog服务开启。

当遭到暴力攻击时会出现很多登录失败的日志,

[root@python01 ~]# cat /var/log/secure
Jun 24 09:46:39 python01 sshd[28207]: Accepted password for root from 192.168.50.171 port 35930 ssh2
Jun 24 09:46:39 python01 sshd[28207]: pam_unix(sshd:session): session opened for user root by (uid=0)
Jun 24 10:30:42 python01 sshd[28342]: Accepted password for root from 192.168.50.171 port 36681 ssh2
Jun 24 10:30:42 python01 sshd[28342]: pam_unix(sshd:session): session opened for user root by (uid=0)
Jun 24 10:33:14 python01 login: pam_unix(login:session): session opened for user root by LOGIN(uid=0)
Jun 24 10:33:14 python01 login: ROOT LOGIN ON tty1
Jun 24 11:10:16 python01 useradd[28415]: new group: name=oldboy, GID=1000
Jun 24 11:10:16 python01 useradd[28415]: new user: name=oldboy, UID=1000, GID=1000, home=/home/oldboy, shell=/bin/bash

/proc 下的重要路径知识

/proc  虚拟目录,是内存的映射,内核和进程的虚拟文件系统目录

/proc/version  内核版本

/proc/sys/kernel  系统内核功能

/proc/sys/net/ipv4

/proc/cpuinfo  关于处理器的信息,如类型,厂家,型号和性能等。top 看cpu,sar

/proc/meminfo  系统内存信息,free -m

[root@python01 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           3771          84        3380          11         306        3431

/proc/mounts

查看挂载

[root@python01 ~]# cat /proc/mounts
rootfs / rootfs rw 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0

/var/spool  定时任务

/var/spool/cron/root

定时任务crontab默认路径,按用户名命名的文件

[root@python01 ~]# crontab -l
no crontab for root

学生总结:很多知识与我的专业相关

https://blog.51cto.com/yangrong

表达:

1、觉得(认为)会了是不够,还要表达出来,交流,尽可能教给不会的人!

2.、表达出来,是一次将知识装入潜意识的过程

听课,就是把知识放入潜意识的过程,潜意识层面的知识不是你的,

放到潜意识里,才能真正的学会了。

只有把知识装入潜意识了,将来才能迅速取出来用。

潜意识:信念  价值观  行动。

让老板加薪。

信念:让他相信你牛逼,相信对公司的贡献大,对他忠诚。

价值观:方法有了

行动:才可能有结果。

面试后总结:

当面试效果不好时:

您好!我工作比较忙平时很少出去面试,这次去你们公司面试很紧张,可能准备的有点不充分答的不太好,

我现在回来把问题总结好了发给您,

总结写文档:

参考链接:

文档:

https://edu.51cto.com/course/4992.html

逻辑架构图

https://edu.51cto.com/course/4991.html

linux的启动过程:

原文地址:https://www.cnblogs.com/ericchengge677/p/11078132.html