从头开始积累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 \r 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的启动过程: