操作系统目录结构

系统重要目录说明:

bin --- 存储命令文件信息(普通用户可以使用命令文件) Binary
sbin --- 存储命令文件信息(超级管理员用户可以使用命令文件) super Binary
etc --- 保存程序配置文件信息
lib --- 保存系统32位库文件信息 library
lib64 --- 保存系统64位库文件信息 library
root --- 用户家目录(皇宫 皇帝家 root)
home --- 用户家目录(平民窟 普通用户 oldboy)
var --- 保存经常发生变化的数据信息 日志文件log Variable
boot --- 系统启动引导目录
dev --- 存储系统设备文件信息 device
mnt --- 临时挂载点目录
tmp --- 临时存放文件目录(回收站) temporary
usr --- 根目录替身???
opt --- 第三方软件程序数据保存的目录
proc --- 存储系统进程和内核文件信息
存储数据都是存储到了内存中

image.png

image.png

系统重要文件说明:

  1. /etc 目录中重要文件
    第一个重要文件: ifcfg-eth0 ifcfg-eth1 ifcfg-ens33
    文件作用说明: 网络服务配置文件
    文件保存路径: /etc/sysconfig/network-scripts/ifcfg-eth0
    文件配置信息:
    TYPE=Ethernet --- 网络类型 以太网网络类型
    BOOTPROTO=none --- 获取地址方式 自动获取IP地址(dhcp)/手动静态配置(none static静态)
    DEFROUTE=yes --- 是否开启默认路由 可以实现主机访问外网???
    NAME=eth0 --- 网卡的名称信息
    DEVICE=eth0 --- 网卡的名称信息
    UUID=b9738c93-895f-4cbe-9e9a-48aa091f4efb --- 设备硬件标识信息
    ONBOOT=yes --- 确认网卡是否激活
    IPADDR=10.0.0.200 --- 网卡IP地址信息
    PREFIX=24 --- 子网掩码信息 决定一个局域网中可以有多少台主机配置IP地址
    255.255.255.0 拥有多少个主机 250个人
    GATEWAY=10.0.0.254 --- 网关可以实现A网络主机可以和其他任意网络主机进行通讯
    DNS1=10.0.0.254 --- DNS(domain name system 域名解析系统)
    实现网络通讯需要有IP地址 和 百度服务器主机通讯
    利用名称(域名)服务器 -DNS服务器(www.baidu.com 182.61.200.7)- 百度IP地址

配置文件生效:
方法一: 重启网络服务
systemctl restart network
异常问题:
a 配置文件有错误
b NetworkManager
方法二: 针对不同网卡进行重启操作
ifdown eth0 ; ifup eth0
ifdown eth0 && ifup eth0

  1. /usr 目录中重要文件

  2. /var 目录中重要文件

  3. /proc 目录中重要文件

修改网卡名称方法:

  1. 修改网卡文件中的名称
    NAME=eth0
    DEVICE=eth0
  2. 修改网卡文件本身名称
    cd /etc/sysconfig/network-scripts/
    mv ifcfg-ens33 ifcfg-eth0
  3. 修改系统内核配置文件
    vim /etc/default/grub
    GRUB_CMDLINE_LINUX="biosdevname=0 net.ifnames=0 rhgb quiet"
  4. 使配置文件生效
    grub2-mkconfig -o /boot/grub2/grub.cfg
  5. 重启系统
    reboot

第二个重要文 件: resolv.conf

文件作用说明: 用于解析名称信息
文件保存路径: /etc/resolv.conf
文件配置信息:

Generated by NetworkManager

nameserver 10.0.0.254 ---> DNS服务器地址信息 223.5.5.5 223.6.6.6(阿里云) 114.114.114.114(电信公司)
配置文件生效:
两种方法:

  1. 配置好信息, 会立即生效
  2. 在网卡中配置DNS, 重启网络服务

第三个重要文件: hosts

文件作用说明: 用于解析名称信息 可以访问域名或主机名
文件保存路径: /etc/host
文件配置信息:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
182.61.200.7 www.baidu.com
10.0.0.41 backup
配置文件生效:
文件配置完毕, 立即生效

总结: 和域名解析有关文件:

  1. 网卡配置文件
  2. 域名解析文件
  3. 主机解析文件

第四个重要文件: hostname

文件作用说明: 主机名称配置文件
文件保存路径: /etc/hostname
文件配置信息:

cat /etc/hostname

linux67

主机名称修改方法:
centos6 centos7
临时修改: 立即生效 hostnamectl set-hostname oldboyedu.com --- 临时永久都做了修改
hostname oldboyedu
永久修改: 重启系统配置依旧生效
修改文件信息
vim /etc/sysconfig/network

第五个重要文件: rc.local

文件作用说明: 文件中的命令信息会在系统启动时自动执行
文件保存路径: /etc/rc.local
文件配置信息:
vim /etc/rc.local
mount /dev/cdrom /mnt
配置文件生效:
修改文件权限 chmod +x /etc/rc.d/rc.local

启动系统 --- 直接运行 /etc/rc.local(/etc/rc.d/rc.local 执行权限)文件 --- 执行文件中每一行命令

什么是脚本文件:
将多个命令操作可以整合在一个文件中, 这个文件就是脚本文件
· 脚本文件编写:

!/bin/bash

mkdir -p /oldboy/oldboy01/oldboy02
touch /oldboy/oldboy.txt
echo oldboy67 >/oldboy/oldboy.txt
mount /dev/cdrom /mnt
· 脚本文件运行:
方法一: 加上sh命令执行脚本文件中信息
sh test_01.sh
方法二: 不要加上sh命令直接运行脚本文件
/server/scripts/test_01.sh

文件权限信息:
r read 可读 w write 可编辑 x 可执行 execute
chmod +x 文件信息

第六个重要文件: fstab
文件作用说明: 完成开启自动挂载操作文件
文件保存路径: /etc/fstab
文件配置信息:
UUID=8814f471-53b4-4eb7-aee9-a20b2ce6fe64 / xfs defaults 0 0
UUID=7f45bd81-656c-45c3-8c9b-01105857d65a /boot xfs defaults 0 0
UUID=79d951d0-06a4-4f9f-9d10-e273dc25d4d1 swap swap defaults 0 0
01 02 03 04 05 06

  1. 存储设备文件信息 可以使用UUID或者/dev/sdax进行配置
    root@oldgirledu ~]# blkid (blkid 命令:可以查看块设备(包括交换分区)的文件系统类型、LABEL、UUID、挂载目录等信息)
    /dev/sr0: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
    /dev/sda1: UUID="7f45bd81-656c-45c3-8c9b-01105857d65a" TYPE="xfs"
    /dev/sda2: UUID="79d951d0-06a4-4f9f-9d10-e273dc25d4d1" TYPE="swap"
    /dev/sda3: UUID="8814f471-53b4-4eb7-aee9-a20b2ce6fe64" TYPE="xfs"
  2. 挂载点目录信息
  3. 文件系统类型??
    存储数据 -- 磁盘 --- 做阵列 --- 分区 --- 格式化 --- 创建文件系统(存储数据方式不太一样) --- 挂载操作
    居住环境 -- 地 --- 连接起来 --- 规划 --- 清理 --- 建筑风格 --- 门
  4. 默认挂载参数信息 ???
  5. 是否进行磁盘数据备份 ???
  6. 是否检查磁盘信息 ???

配置文件生效:
存储设备文件信息 挂载点信息 xfs defaults 0 0
方法一: 重启系统
方法二: mount -a

第七个重要文件: inittab

文件作用说明: 查看/设置系统默认运行级别
系统运行级别:
linux教学: 01 python教室 02 网络安全: 03
启动自动运行一些服务: 启动自动运行一些服务: 启动自动运行一些服务:
vm 飞秋 QQ 亿图 pycharm web程序软件 数据库 系统基础运行服务开启
运行级别 == 系统不同的运行方式

文件保存路径: /etc/inittab文件
centos6
临时配置:
init 级别编号
0 - halt (Do NOT set initdefault to this)
关机级别
1 - Single user mode
单用户模式 破解系统密码信息(root)
2 - Multiuser, without NFS (The same as 3, if you do not have networking)
多用户模式, 没有网络服务模式
3 - Full multiuser mode
多用户模式, 具有网络服务模式
4 - unused
未使用
5 - X11
图形化级别
6 - reboot (Do NOT set initdefault to this)
重启级别
runlevel 查看级别配置信息

centos7
默认修改系统运行模式(target)
systemctl set-default 模式信息 0
runlevel0.target -> poweroff.target

runlevel1.target -> rescue.target
救援模式 == 单用户模式

multi-user.target
多用户模式

runlevel5.target -> graphical.target

runlevel6.target -> reboot.target

systemctl get-default 查看默认配置信息

永久配置:
vim /etc/inittab
id:3:initdefault: --- 默认是3运行级别
centos6 手动改 runlevel init x
centos7

image.png

第八个重要文件: profile

文件作用说明: 配置系统变量 或者 环境变量 或者 别名信息
文件保存路径: /etc/profile

变量:
a 什么是变量: 应用题 已知条件 未知条件
100m 人每秒4m速度前行 多久走完100m 3*x=100 x=33.33
x=33.33 oldboy=xxx
变量 值(abc 100)
b 如何应用变量:
设置
oldboy=123456
应用
echo $oldboy
c 变量存在的意义: 在脚本中存在

!/bin/bas

info=oldgirl

echo /oldboy/info-01/info-02/info-03 echo /oldgirl/info-01/info-02/info-03
echo /oldbaby/info-01/info-02/$info-03
指定一些经常变化的信息, 利用变量可以快速修改调整

环境变量: PATH

  1. 系统默认已经设置好的变量 OK
  2. 环境变量都是大写字母表示 OK
  3. 环境变量可以被所有用户调用 OK
  4. 系统环境变量都有具体存在价值
    echo $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/.local/bin:/root/bin

设置修改环境变量:
临时修改环境变量:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/.local/bin:/root/bin:/tmp

永久修改环境变量:
/etc/profile
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/.local/bin:/root/bin:/tmp

方法一: 配置文件生效
重新连接
方法二: 利用命令记录加载
source /etc/profile

设置别名功能

别名有什么用:

  1. 简化复杂命令重复输入

  2. 将危险命令进行转换 rm 删除文件 == 将文件移动到 /tmp
    实现别名配置: alias(查看别名 设置别名) unalias(取消)
    临时配置:
    alias 别名='命令信息'
    alias net='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
    永久配置:
    vi /etc/profile
    alias net='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
    练习题: 给rm设置一个别名, 实现rm删除数据, 实质上是将数据移动到/tmp
    rm(别名)
    alias rm='mv xxxx'
    第一个里程: 临时设置别名
    alias rm='mv -t /tmp'
    说明信息:
    rm /oldboy.txt == mv -t /tmp /oldboy.txt /oldboy01.txt

    第二个里程: 编写profile文件
    vi /etc/profile
    alias rm='mv -t /tmp'

    第三个里程: 查看局部配置文件
    cat ~/.bashrc
    alias rm='rm -i'

    第四个里程: 将局部配置进行调整
    vi ~/.bashrc

    alias rm='rm -i'

补充说明: 永久配置变量 环境变量 别名文件信息

  1. 全局配置文件 --- 对系统中所有用户都有影响
    /etc/profile /etc/bashrc
  2. 局部配置文件 --- 对系统中某个用户有影响
    ~/.bash_profile ~/.bashrc
    说明: 系统中以. 开头的文件都是隐藏文件
    说明: 局部配置优先于全局配置

国法 === 全局配置 强奸法: 强行违背妇女和儿童意愿
家规 === 局部配置 强奸法: 强行违背妇女和儿童意愿 也不能违背男人

如何还原rm别名本来的删除命令作用:
方法一: 临时取消别名功能
unalias rm
方法二: 临时使用命令绝对路径操作命令
/bin/rm oldgirl.txt
方法三: 在别名前面加上一个 \ (还原别名命令本身的意思)
\rm oldboy.txt

motd issue issue.net

文件作用说明: 系统信息提示文件
· motd: 表示在用户登录系统之后, 会显示提示信息
· issue 标识在用户登录系统之前, 会显示提示信息
issue.net

  1. /usr 目录中重要文件
    /usr/local | /opt --- 第三方软件安装程序目录
    系统安装软件方法:
    a 利用yum命令安装软件 360软件管家(yum仓库)
    特点说明: 下载软件 并进行安装 自动解决依赖关系
    操作演示: yum install -y tree

    b 利用rpm命令安装软件 官网下载软件安装程序 --- 安装软件
    特点说明: 需要解决软件依赖关系 安装软件
    操作演示:
    下载过程
    wget https://mirrors.aliyun.com/centos/7.7.1908/os/x86_64/Packages/vim-enhanced-7.4.629-6.el7.x86_64.rpm
    安装过程
    rpm -ivh vim-enhanced-7.4.629-6.el7.x86_64.rpm

    c 利用编译方法安装软件
    特点说明: 灵活的安装或配置软件功能 无法解决软件依赖
    操作演示:
    三部曲(配置 configure 编译 make 安装 make install)

    d 利用二进制包方法安装软件
    特点说明: 绿色软件(软件解压后直接使用) 数据库服务

  2. /var 目录中重要文件
    a /var/log/messages --- 记录系统或者软件运行情况(正常/异常)
    b /var/log/secure --- 记录用户登录系统情况信息
    用户登录成功信息
    Oct 22 12:13:45 linux67 sshd[8410]: Accepted password for root from 10.0.0.1 port 51635 ssh2
    Oct 22 12:13:45 linux67 sshd[8410]: pam_unix(sshd:session): session opened for user root by (uid=0)
    用户断开连接信息
    Oct 22 12:14:42 linux67 sshd[8410]: pam_unix(sshd:session): session closed for user root
    用户登录错误信息
    Oct 22 12:15:41 linux67 unix_chkpwd[8437]: password check failed for user (root)
    Oct 22 12:15:41 linux67 sshd[8435]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=10.0.0.1 user=root
    Oct 22 12:15:41 linux67 sshd[8435]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root"
    Oct 22 12:15:43 linux67 sshd[8435]: Failed password for root from 10.0.0.1 port 51642 ssh2
    Oct 22 12:15:47 linux67 sshd[8435]: error: Received disconnect from 10.0.0.1 port 51642:0: [preauth]
    Oct 22 12:15:47 linux67 sshd[8435]: Disconnected from 10.0.0.1 port 51642 [preauth]
    01 02 03 04

    1. 登录连接时间信息
    2. 显示主机名称信息
    3. 登录方式是什么 sshd(远程连接) login(本地连接)
    4. 登录过程详细信息 关注失败信息

    日志信息如何进行查看: cat
    方法一: 只查看最新的信息
    head -n 文件信息 --- 查看文件前几行信息
    tail -n 文件信息 --- 查看文件后几行信息
    tail -f 文件信息 --- 实时查看日志文件最新数据内容
    方法二: 关注指定信息 fail error
    grep "关注信息" 文件
    -C -B -A -i

  1. /proc 目录中重要文件
    CPU信息查看:
    physical id : 0 --- 服务器上有几颗CPU
    processor : 0 --- 服务器CPU核心数

physical id : 0 physical : 0 -- 2行 == 服务器有两颗CPU
physical id : 0
physical id : 1 physical : 1
physical id : 1

[root@linux67 ~]# grep "physical id" /proc/cpuinfo | uniq
physical id : 0
physical id : 1
[root@linux67 ~]# grep "physical id" /proc/cpuinfo | uniq |wc -line
2
说明: | 管道符号: 将前一个命令执行输出结果通过管道交给后面的命令进行再次处理

processor : 0 -- 4行 == 整个服务器有4个核心
processor : 1
processor : 2
processor : 3

统计服务器总的核心数:
[root@linux67 ~]# grep -c processor /proc/cpuinfo
4
补充: wc命令介绍:
-c, --bytes print the byte counts
将字节统计信息输出(包含空格和换行符)
-m, --chars print the character counts
将字符统计信息输出
-l, --lines print the newline counts ******
统计文件中有多少行
-w, --words print the word counts

[root@linux67 ~]# lscpu
CPU(s): 4
Socket(s): 2

内存信息: cat /proc/meminfo
MemTotal: 2028116 kB --- 服务器总的内存数量
MemFree: 1720948 kB --- 空闲内存数量
MemAvailable: 1703560 kB --- 可用的内存数量 ***
Buffers: 2092 kB --- 划分内存一定空间用于缓冲使用 加快数据写入
Cached: 98352 kB --- 划分内存一定空间用于缓存使用 加快数据读写

使用命令查看:
[root@linux67 ~]# free
total used free shared buff/cache available
Mem: 2028116 140908 1720708 9700 166500 1703320
Swap: 1048572 0 1048572
[root@linux67 ~]# free -h
total used free shared buff/cache available
Mem: 1.9G 137M 1.6G 9.5M 162M 1.6G
Swap: 1.0G 0B 1.0G

硬盘信息: cat /proc/mounts
/dev/sr0 /mnt iso9660 ro,relatime 0 0
/dev/sda1 /boot xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0

  1. 存储设备文件信息
  2. 磁盘挂载点信息
  3. 文件系统类型信息
  4. 挂载的参数信息
  5. 是否备份磁盘信息
  6. 是否检查磁盘

使用命令查看磁盘:
[root@linux67 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 98G 1.6G 97G 2% /
devtmpfs 980M 0 980M 0% /dev
/dev/sr0 4.3G 4.3G 0 100% /mnt
/dev/sda1 1014M 127M 888M 13% /boot
tmpfs 199M 0 199M 0% /run/user/0

如何在系统中生成大文件:
使用循环方法:
for 变量 oldboy in {1..300} oldboy=1 oldboy=2 ... oldboy=10
do
做什么事
done
for oldboy in {1..300};do cat /etc/services >>/tmp/oldboy.txt;done

查看负载情况: cat /proc/loadavg
cat /proc/loadavg
0.09 0.10 0.07 1/133(?) 8019(?)
每1分钟 每5分钟 每15分钟

负载值 <= 服务器总的核心数
查看命令信息:
w uptime top
w
10:36:31 up 1:36, 1 user, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 10.0.0.1 09:37 7.00s 0.60s 0.00s w
01 02 03 04 05 06 07

01: 登录系统用户信息
02: 登录系统方式 pts/x(远程登录) ttyx(本地登录)
03: 远程登录主机用户IP地址信息
04: 用户登录主机时间
05: 用户登录主机空闲时间
06: 用户操作系统占用CPU情况
07: 检查用户远程之后再做什么
w --- 用户在执行w命令
-bash --- 进行基础命令操作
vim --- 编辑文件状态
sh xxx --- 执行脚本

  1. 操作系统挂载概念 mount / umount
  2. 操作系统重要目录 /var /proc /etc
  3. 操作系统重要文件
    /etc
    a 网卡配置文件
    b DNS解析配置文件
    c 本地解析配置文件
    d 主机名称配置文件
    e 开机运行命令文件
    f 开机自动挂载文件
    g 系统运行级别文件
    h 环境变量或别名配置文件 4个
    i 登录显示信息文件 登录前 登录后
    /var
    messages secure
    /proc
    cpuinfo meminfo mounts loadavg
    lscpu free -h df -h w uptime top

-bash-4.2# whoami
root
-bash-4.2# cd
-bash-4.2# pwd
/root
-bash-4.2# cp /etc/skel/.b* /root/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342