第9章 linux中目录结构

9.1 linux中的常见目录和解释说明

ID

目录

说明

1

bin

命令文件保存的地方

2

sbin

只有root用户才可以使用的命令

3

Boot(了解即可)

Linux程序启动的时候信息保存的目录

4

dev

设备文件存在的目录

5

etc

文件配置信息和服务配置信息存在的目录

6

home

用户所在的目录(普通用户家目录)

7

root

用户所在的目录(超级管理员所在的家目录)

8

selinux:

保存selinux程序配置文件信息和系统安全相关程序

9

Lib(了解即可)

库文件

10

mnt

临时挂载目录

11

opt

存储第三方软件生成的信息

12

/usr/local

存储软件安装的信息

13

proc

目录中的数据都是存储在内存中的,进程信息和内核文件信息

14

tmp

临时存储文件的地方,相当于回收站

15

var

保存经常发生数据变化的文件(日志文件)

16

   

17

   
     

9.2 目录结构图

9.3 etc目录的讲解

9.3.1 网卡配置文件详解

vim /etc/sysconfig/network-scripts/ifcfg-eth0

TYPE=Ethernet 网络连接类型

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=none 是否网络连接方式为dhcp(none:不设置任何连接;static:静态的连接)

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

UUID=0ea55b05-db81-4dd0-a145-fa476c8b6045 服务器硬件标识符

ONBOOT=yes 网卡是否激活

IPADDR=10.0.0.200 网络的IP地址

PREFIX=24 子网掩码,设定一个局域网可以拥有多少台主机

GATEWAY=10.0.0.254 是否可以上外网

DNS1=223.5.5.5 进行域名的解析

IPV6_PRIVACY=no

9.3.1.1 网卡配置注意事项

  • 网卡配置一旦修改,都必须重启网卡
  • centos 7:systemctl restart network
  • centos:6:/etc/init.d/network restart
  • 重启单个网卡:ifdown eth0 && ifup eth0
    • ifdown eth0;ifup eth0

9.3.1.2 为什么需要IP,架构图进行讲解

9.3.1.3 为什么需要DNS,架构图进行讲解

9.3.1.4 为什么需要网关,架构图进行讲解

9.3.2 DNS域名解析配置文件

[root@oldboy666 ~]# vi /etc/resolv.conf

# Generated by NetworkManager

nameserver 223.5.5.5 服务名字 DNS地址

9.3.2.1 DNS域名解和网卡配置的DNS的先后顺序执行

未重启网卡前:DNS域名解析配置,首先加载的是DNS域名解析里面的配置文件

重启网卡后: DNS域名解析配置,首先加载的是网卡配置里面的文件

9.3.3 主机名的配置

9.3.3.1 centos6和centos7的永久配置路径

centos6.9的永久配置路径

[root@oldboy666 ~]# cat /etc/sysconfig/network

# Created by anaconda

[root@oldboy666 ~]#

centos7.6的永久配置路径

[root@oldboy666 ~]# cat /etc/hostname

oldboy666

[root@oldboy666 ~]#

[root@oldboy666 ~]#

[root@oldboy666 ~]#

9.3.3.2 centos6和centos7的临时配置

hostname +主机名字

[root@oldboy666 ~]#

[root@oldboy666 ~]# hostname oldboy

9.3.3.3 centos7主机名配置的优势

[root@oldboy666 ~]# hostnamectl set-hostname oldboy6666

[root@oldboy666 ~]#

[root@oldboy6666 ~]#

9.3.4 永久挂载文件的配置

[root@oldboy6666 ~]# vim /etc/fstab

# /etc/fstab

# Created by anaconda on Fri Aug 30 12:11:39 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

#

UUID=27114df9-3f54-4b94-acb7-0890b452e99f / xfs defaults 0 0

UUID=4260ed75-aad2-4389-b24a-2be6362c2597 /boot xfs defaults 0 0

UUID=8e7004ef-83c2-4b8d-b9db-b85768271eb2 swap swap defaults 0 0

#UUID=2018-11-25-23-54-16-00 /mnt iso9660 defaults 0 0

9.3.4.1 配置文件详解

  • 第一列:硬件标识符信息,表示的是挂载的硬件设备,也可以写成/dev/???
  • 第二列:磁盘需要挂载的目录
  • 第三列:分区文件的类型
  • 第四列:挂载的参数
  • 第五列:备份设置(1为备份,0为不备份)
  • 第六列:磁盘检查,0为永不检查;/目录分区为1,其他分区目录为2

9.3.5 本地解析配置文件

9.3.5.1 如何解析

[root@oldboy6666 ~]# vim /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

格式

IP地址 主机名称

9.3.6 开机自启动文件的配置

9.3.6.1 文件配置信息详解

[root@oldboy6666 ~]# vim /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

mount /dev/cdrom /mnt'

9.3.6.2 centos7文件加入开机自启动的项不会生效的原因

因为没有执行权限造成的开机无法生效

[root@oldboy6666 ~]# ls -l /etc/rc.local

lrwxrwxrwx. 1 root root 13 Aug 30 12:12 /etc/rc.local -> rc.d/rc.local 这个是链接文件,需要查看真正的文件

[root@oldboy6666 ~]#

[root@oldboy6666 ~]# ls -l /etc/rc.d/rc.local

-r--------. 1 root root 495 Sep 6 19:13 /etc/rc.d/rc.local 这个真实的文件只有读权限

[root@oldboy6666 ~]#

[root@oldboy6666 ~]# chmod 777 /etc/rc.d/rc.local 修改文件权限

[root@oldboy6666 ~]# ls -l /etc/rc.d/rc.local

-rwxrwxrwx. 1 root root 495 Sep 6 19:13 /etc/rc.d/rc.local 目前拥有了执行权限,可以正常的开机

[root@oldboy6666 ~]#

9.3.7 系统环境变量配置文件

9.3.7.1 什么是环境变量

  • 是系统模式设置的变量
  • 系统变量名称都是大写的,例如:PATH
  • 可以影响全部用户

9.3.7.2 如何修改环境变量

(1).临时修改

export PATH=$PATH

[root@oldboy6666 ~]# echo $PATH 查看当前的系统环境变量可以匹配的路径有哪些

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

[root@oldboy6666 ~]# mv /bin/cp /tmp 将/bin/cp的命令移动到tmp里面

[root@oldboy6666 ~]# ls

1.txt anaconda-ks.cfg passwd

[root@oldboy6666 ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

[root@oldboy6666 ~]# touch aa.txt 创建一个文件

[root@oldboy6666 ~]# cp -rf aa.txt /opt/ 开始复制文件

-bash: cp: command not found 发现cp命令找不到

[root@oldboy6666 ~]# export PATH=$PATH:/tmp 临时将tmp目录加入环境变量里面

[root@oldboy6666 ~]# echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/tmp 添加成功

[root@oldboy6666 ~]# cp -rf aa.txt /opt/ 再次复制发现已经成功

[root@oldboy6666 ~]#

(2).永久修改

[root@oldboy6666 ~]# echo PATH=$PATH:/tmp >> /etc/profile >>这个是追加,千万别写成>这样会清空文件

9.3.7.3 命令的执行原理

  • (1).执行命令
  • (2).执行环境变量PATH=(/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
  • (3).查看执行的变量,在这些环境变量的里面吗
  • (4).如果在其中一个路径里面,则可以使用该命令;否则,会报命令找不见(上述的临时修改环境变量里面就是因为将cp命令移动到了tmp目录下面,导致cp找不见,后面将/tmp路径添加进去PATH环境变量里面则可以使用)

9.3.8 别名的配置和取消

9.3.8.1 别名的查看和配置

别名的作用

  • 复杂命令简单化
  • 可以防止危险命令执行

    查看

[root@oldboy6666 ~]# alias

alias cp='cp -i'

alias egrep='egrep --color=auto'

alias fgrep='fgrep --color=auto'

alias grep='grep --color=auto'

alias l.='ls -d .* --color=auto'

alias ll='ls -l --color=auto'

alias ls='ls --color=auto'

alias mv='mv -i'

alias rm='rm -i'

alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

[root@oldboy6666 ~]#

  • 配置
  • 临时配置

语法:alias 别名='命令'

[root@oldboy6666 ~]# alias ifhosts='cat /etc/hosts'

[root@oldboy6666 ~]# ifhosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

[root@oldboy6666 ~]#

  • 永久配置
  • 4个文件:/etc/profile /etc/bashrc ~/.bash_profile ~/.bashrc
  • 永久配置: /etc/profile(用这个配置文件) /etc/bashrc(适合全部的用户通用)
  • 局部配置: ~/.bashrc(用这个配置文件) ~/.bash_profile (适合当前用户的使用)

永久配置

root用户

alias ifname='ip addr show'

"/etc/profile" 79L, 1880C written

[root@oldboy6666 ~]# . /etc/profile

[root@oldboy6666 ~]# ifname

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

link/ether 00:0c:29:16:07:30 brd ff:ff:ff:ff:ff:ff

inet 10.0.0.200/24 brd 10.0.0.255 scope global noprefixroute eth0

valid_lft forever preferred_lft forever

inet6 fe80::b736:dc22:2ec6:1b47/64 scope link noprefixroute

valid_lft forever preferred_lft forever

其他用户

[oldboy@oldboy6666 ~]$ ifname

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

link/ether 00:0c:29:16:07:30 brd ff:ff:ff:ff:ff:ff

inet 10.0.0.200/24 brd 10.0.0.255 scope global noprefixroute eth0

valid_lft forever preferred_lft forever

inet6 fe80::b736:dc22:2ec6:1b47/64 scope link noprefixroute

valid_lft forever preferred_lft forever

[oldboy@oldboy6666 ~]$

局部配置

root用户

[root@oldboy6666 ~]# vim ~/.bashrc

# .bashrc

# User specific aliases and functions

alias rm='rm -i'

alias cp='cp -i'

alias mv='mv -i'

alias ifname='ip a'

# Source global definitions

if [ -f /etc/bashrc ]; then

. /etc/bashrc

fi

[root@oldboy6666 ~]# source ~/.bashrc

[root@oldboy6666 ~]# ifname

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

link/ether 00:0c:29:16:07:30 brd ff:ff:ff:ff:ff:ff

inet 10.0.0.200/24 brd 10.0.0.255 scope global noprefixroute eth0

valid_lft forever preferred_lft forever

inet6 fe80::b736:dc22:2ec6:1b47/64 scope link noprefixroute

valid_lft forever preferred_lft forever

其他用户

[root@oldboy6666 ~]# su oldboy

[oldboy@oldboy6666 root]$ ifname

bash: ifname: command not found

[oldboy@oldboy6666 root]$

注:在全局配置别名和局部配置别名冲突的时候,会首先使用局部配置别名的方法

9.3.8.2 取消别名配置

  • unalias 别名

[root@oldboy6666 ~]# unalias ifname

[root@oldboy6666 ~]# ifname

bash: ifname: command not found

  • 绝对路径
  • 转义字符

9.3.9 系统运行级别

9.3.9.1 运行级别查看的路径(centos 6)

  • /etc/inittab

# Default runlevel. The runlevels used are:

# 0 - halt (Do NOT set initdefault to this) 关机

# 1 - Single user mode 单用户模式(救援模式)

# 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) 重启

#

id:3:initdefault:---------------------默认为3级

9.3.9.2 运行级别查看的路径(centos7)

  • ll /usr/lib/systemd/system/runlevel*target

[root@oldboy6666 ~]# ll /usr/lib/systemd/system/runlevel*target

lrwxrwxrwx. 1 root root 15 Aug 30 12:12 /usr/lib/systemd/system/runlevel0.target -> poweroff.target

lrwxrwxrwx. 1 root root 13 Aug 30 12:12 /usr/lib/systemd/system/runlevel1.target -> rescue.target

lrwxrwxrwx. 1 root root 17 Aug 30 12:12 /usr/lib/systemd/system/runlevel2.target -> multi-user.target

lrwxrwxrwx. 1 root root 17 Aug 30 12:12 /usr/lib/systemd/system/runlevel3.target -> multi-user.target

lrwxrwxrwx. 1 root root 17 Aug 30 12:12 /usr/lib/systemd/system/runlevel4.target -> multi-user.target

lrwxrwxrwx. 1 root root 16 Aug 30 12:12 /usr/lib/systemd/system/runlevel5.target -> graphical.target

lrwxrwxrwx. 1 root root 13 Aug 30 12:12 /usr/lib/systemd/system/runlevel6.target -> reboot.target

[root@oldboy6666 ~]# 9.3.10 系统连接前后的提示符

9.3.9.3 运行级别查看方式(centos 6)

[root@oldboyedu ~]# runlevel

N 3

[root@oldboyedu ~]#

9.3.9.4 运行级别的查看方式(centos 7)

cat /etc/inittab

…….

systemctl get-default

[root@oldboy6666 ~]# systemctl get-default

multi-user.target

[root@oldboy6666 ~]#

9.3.9.5 设置运行级别(centos 6)

  • init 2-------->将运行级别临时设置为2
  • 永久设置

[root@oldboyedu ~]# cat /etc/inittab

# Default runlevel. The runlevels used are:

# 0 - halt (Do NOT set initdefault to this)

# 1 - Single user mode

# 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)

#

id:3:initdefault: 将运行级别改为其他

[root@oldboyedu ~]#

9.3.9.6 设置运行级别(centos 7)

cat /etc/inittab

……

systemctl set-default poweroff.target 设置0级别

…………….

9.3.10 系统登陆(前|后)信息提示文件

  • 登陆之前的系统信息文件为/etc/issue /etc/issue.net
  • 登陆之后的系统信息文件为/etc/motd

9.4 usr目录的详解

9.4.1 /usr/local目录安装软件的详解

9.4.1.1 yum安装详解

  • yum -y install 软件名称

[root@oldboyedu ~]# yum -y install vim

Loaded plugins: fastestmirror

Setting up Install Process

Loading mirror speeds from cached hostfile

* base: mirrors.huaweicloud.com

* extras: mirrors.huaweicloud.com

…………..

Complete!

  • yum -y groupinstall 软件名称 安装包组
  • yum -y reinstall 软件名称 重新安装
  • yum list 遍历软件
  • yum grouplist 遍历软件包
  • yum repolist 查看系统具有的yum源信息
  • yum provides 查看安装的软件属于哪个大礼包

特点:直接下载安装软件,安装完成以后软件直接删除;

解决了依赖关系

9.4.1.2 rpm包安装详解

语法:rpm -ivh *.rpm

  • i:install 安装的意思
  • v: verbose 显示安装信息的详细过程
  • h:human 以人类可以认知的方式阅读
  • -qa 查找软件包完整名字
  • -ql 查找软件包的详细信息
  • rpm -e 卸载软件包(需要该软件没有关联性)
  • rpm -e *.rpm –nodes 卸载软件包(可以忽略关联包的信息)

特点:先要把软件包下载好,在安装

没有解决依赖关系

9.4.1.3 编译安装/源码安装

特点:安装比较灵活,没有解决依赖关系

9.4.1.4 二进制安装

特点:直接解压就可使用

9.5 /var目录详解

9.5.1 /var/log/messages详解

作用:记录系统或者程序运行的状态(正确/错误)

9.5.2 /var/log/secure详解

作用:记录系统登陆的信息(正确/错误)

9.5.2.1 远程正确登陆系统

Sep 10 10:38:30 oldboy6666 sshd[12718]: Accepted password for root from 10.0.0.1 port 52812 ssh2 Sep 10

时间 用户以sshd的方式远程登陆:从10.0.0.1的主机端口52812登陆,并且密码允许

10:38:30 oldboy6666 sshd[12718]: pam_unix(sshd:session): session opened for user root by (uid=0)

9.5.2.2 本地正确登陆系统

Sep 10 10:39:21 oldboy6666 login: pam_unix(login:session): session opened for user root by LOGIN(uid=0) Sep

时间 用户本地登录 为root打开会话,用户名为xxx,本地登陆成功

10 10:39:21 oldboy6666 login: ROOT LOGIN ON tty1

9.5.2.3 远程登陆失败

Sep 10 10:41:06 oldboy6666 unix_chkpwd[12926]: password check failed for user (oldboy) Sep 10 10:41:06 oldboy6666 sshd[12914]: pam_unix(sshd:auth):authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=10.0.0.1 user=oldboy Sep 10 10:41:08 oldboy6666 sshd[12914]: Failed password for oldboy from 10.0.0.1 port 52827 ssh2 Sep 10 10:41:13 oldboy6666 sshd[12914]: error: Received disconnect from 10.0.0.1 port 52827:0: [preauth] Sep 10 10:41:13 oldboy6666 sshd[12914]: Disconnected from 10.0.0.1 port 52827 [preauth]

9.5.3 日志查看方式

9.5.3.1 tail查看日志

tail -f /var/log/messages:查看日志文件信息

[root@oldboy6666 ~] # tail -f /var/log/messages

Sep 20 14:24:32 oldboy6666 journal: alternate-tab@gnome-shell-extensions.gcampax.github.com unknown type 3

Sep 20 14:24:32 oldboy6666 journal: top-icons@gnome-shell-extensions.gcampax.github.com unknown type 3

Sep 20 14:24:32 oldboy6666 journal: places-menu@gnome-shell-extensions.gcampax.github.com unknown type 3

Sep 20 14:24:33 oldboy6666 journal: Only 5 apps for popular list, hiding

Sep 20 14:25:05 oldboy6666 systemd: Started Session 2 of user root.

Sep 20 14:25:05 oldboy6666 systemd-logind: New session 2 of user root.

Sep 20 14:25:05 oldboy6666 dbus[978]: [system] Activating service name='org.freedesktop.problems' (using servicehelper)

Sep 20 14:25:05 oldboy6666 dbus[978]: [system] Successfully activated service 'org.freedesktop.problems'

Sep 20 14:25:48 oldboy6666 systemd: Reloading.

Sep 20 14:26:22 oldboy6666 systemd: Reloading.

9.5.3.2 grep查看方式

grep "16:44:59" /var/log/secure

grep -i "Fail" /var/log/secure --- 忽略大小写过滤筛选信息

grep -B 2 error /oldboy/oldboy.txt --- 表示筛选指定信息以及前几行内容

grep -A 2 error /oldboy/oldboy.txt --- 表示筛选指定信息以及后几行内容

grep -C 2 error /oldboy/oldboy.txt --- 表示以筛选信息为中心,显示指定前后几行内容

grep -v "^#" /oldboy/oldboy.txt --- 表示将筛选过滤出来的信息进行排除

9.6 /proc目录:收集硬件信息文件,将进程的信息存储到内存中

9.6.1 cpu信息的查看

9.6.1.1 查看cpu信息的命令

[root@oldboy6666 ~]# lscpu

Architecture: x86_64

CPU op-mode(s): 32-bit, 64-bit

Byte Order: Little Endian

CPU(s): 1

On-line CPU(s) list: 0

Thread(s) per core: 1

Core(s) per socket: 1

Socket(s): 1

NUMA node(s): 1

Vendor ID: AuthenticAMD

CPU family: 23

Model: 24

Model name: AMD Ryzen 5 3500U with Radeon Vega Mobile Gfx

Stepping: 1

CPU MHz: 2096.060

BogoMIPS: 4192.12

Hypervisor vendor: VMware

Virtualization type: full

L1d cache: 32K

L1i cache: 64K

L2 cache: 512K

L3 cache: 4096K

NUMA node0 CPU(s): 0

Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc art rep_good nopl tsc_reliable nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw retpoline_amd ssbd ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap xsaveopt xsavec xgetbv1 clzero irperf xsaveerptr arat

[root@oldboy6666 ~]#

9.6.1.2 查看cpu信息的配置文件

[root@oldboy6666 ~]# cat /proc/cpuinfo

processor    : 0

vendor_id    : AuthenticAMD

cpu family    : 23

model        : 24

model name    : AMD Ryzen 5 3500U with Radeon Vega Mobile Gfx

stepping    : 1

microcode    : 0x8108102

cpu MHz        : 2096.060

cache size    : 512 KB

physical id    : 0

siblings    : 1

core id        : 0

cpu cores    : 1

apicid        : 0

initial apicid    : 0

fpu        : yes

fpu_exception    : yes

cpuid level    : 13

wp        : yes

flags        : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc art rep_good nopl tsc_reliable nonstop_tsc extd_apicid aperfmperf eagerfpu pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw retpoline_amd ssbd ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap xsaveopt xsavec xgetbv1 clzero irperf xsaveerptr arat

bogomips    : 4192.12

TLB size    : 2560 4K pages

clflush size    : 64

cache_alignment    : 64

address sizes    : 42 bits physical, 48 bits virtual

power management:

[root@oldboy6666 ~]#

9.6.1.3 cpu信息常需要关注的几个信息

  • model name    : AMD Ryzen 5 3500U with Radeon Vega Mobile Gfx 显示cpu型号信息
  • processor    : 0 核心数(0不代表0个核心,而是代表1个核心)

[root@oldboy6666 ~]# grep -c "processor" /proc/cpuinfo

1

[root@oldboy6666 ~]#

  • physical id    : 0 cpu颗数(路数)

[root@oldboy6666 ~]# grep -c "physical id" /proc/cpuinfo |uniq

1

[root@oldboy6666 ~]#

  • cpu MHz        : 2096.060 cpu的主频(主频越大,处理越快)

9.6.2 内存信息的查看

9.6.2.1 查看内存信息的命令

[root@oldboy6666 ~]# free -h 以人类可读的方式显示

total used free shared buff/cache available

Mem: 972M 155M 491M 7.7M 325M 613M

Swap: 1.5G 0B 1.5G

[root@oldboy6666 ~]#

9.6.2.2 查看内存的配置文件

[root@oldboy6666 ~]# cat /proc/meminfo

MemTotal: 995896 kB

MemFree: 503664 kB

MemAvailable: 628388 kB

Buffers: 2760 kB

Cached: 228388 kB

SwapCached: 0 kB

Active: 201456 kB

Inactive: 100468 kB

Active(anon): 71320 kB

Inactive(anon): 7384 kB

Active(file): 130136 kB

Inactive(file): 93084 kB

Unevictable: 0 kB

Mlocked: 0 kB

SwapTotal: 1572860 kB

SwapFree: 1572860 kB

Dirty: 0 kB

Writeback: 0 kB

AnonPages: 70804 kB

Mapped: 26432 kB

Shmem: 7928 kB

Slab: 101872 kB

SReclaimable: 58412 kB

SUnreclaim: 43460 kB

KernelStack: 3952 kB

PageTables: 5820 kB

NFS_Unstable: 0 kB

Bounce: 0 kB

WritebackTmp: 0 kB

CommitLimit: 2070808 kB

Committed_AS: 273368 kB

VmallocTotal: 34359738367 kB

VmallocUsed: 180484 kB

VmallocChunk: 34359310332 kB

HardwareCorrupted: 0 kB

AnonHugePages: 4096 kB

CmaTotal: 0 kB

CmaFree: 0 kB

HugePages_Total: 0

HugePages_Free: 0

HugePages_Rsvd: 0

HugePages_Surp: 0

Hugepagesize: 2048 kB

DirectMap4k: 87936 kB

DirectMap2M: 960512 kB

DirectMap1G: 0 kB

[root@oldboy6666 ~]#

9.6.2.3 内存信息需要关注的几个信息

  • MemTotal: 995896 kB---------------------内存的总大小
  • MemFree: 503664 kB----------空闲内存的大小
  • MemAvailable: 628388 kB------------可用内存的大小(此为非常重要的一个情况)
  • Buffers: 2760 kB-------------内存缓冲区
  • Cached: 228388 kB-----------内存缓存区

9.6.3 磁盘信息的查看

9.6.3.1 查看磁盘信息的命令

  • 可以查看磁盘的分区,容量信息

[root@oldboy6666 ~]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/sda3 99G 1.7G 97G 2% /

devtmpfs 476M 0 476M 0% /dev

tmpfs 487M 0 487M 0% /dev/shm

tmpfs 487M 7.8M 479M 2% /run

tmpfs 487M 0 487M 0% /sys/fs/cgroup

/dev/sda1 197M 105M 93M 54% /boot

/dev/sr0 4.3G 4.3G 0 100% /mnt

tmpfs 98M 0 98M 0% /run/user/0

tmpfs 98M 0 98M 0% /run/user/1000

[root@oldboy6666 ~]#

9.6.3.2 查看磁盘的配置文件

[root@oldboy6666 ~]# cat /proc/mounts

rootfs / rootfs rw 0 0

sysfs /sys sysfs rw,seclabel,nosuid,nodev,noexec,relatime 0 0

proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0

devtmpfs /dev devtmpfs rw,seclabel,nosuid,size=487096k,nr_inodes=121774,mode=755 0 0

securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0

tmpfs /dev/shm tmpfs rw,seclabel,nosuid,nodev 0 0

devpts /dev/pts devpts rw,seclabel,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0

tmpfs /run tmpfs rw,seclabel,nosuid,nodev,mode=755 0 0

tmpfs /sys/fs/cgroup tmpfs ro,seclabel,nosuid,nodev,noexec,mode=755 0 0

cgroup /sys/fs/cgroup/systemd cgroup rw,seclabel,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd 0 0

pstore /sys/fs/pstore pstore rw,nosuid,nodev,noexec,relatime 0 0

cgroup /sys/fs/cgroup/cpu,cpuacct cgroup rw,seclabel,nosuid,nodev,noexec,relatime,cpuacct,cpu 0 0

cgroup /sys/fs/cgroup/perf_event cgroup rw,seclabel,nosuid,nodev,noexec,relatime,perf_event 0 0

cgroup /sys/fs/cgroup/cpuset cgroup rw,seclabel,nosuid,nodev,noexec,relatime,cpuset 0 0

cgroup /sys/fs/cgroup/freezer cgroup rw,seclabel,nosuid,nodev,noexec,relatime,freezer 0 0

cgroup /sys/fs/cgroup/pids cgroup rw,seclabel,nosuid,nodev,noexec,relatime,pids 0 0

cgroup /sys/fs/cgroup/devices cgroup rw,seclabel,nosuid,nodev,noexec,relatime,devices 0 0

cgroup /sys/fs/cgroup/blkio cgroup rw,seclabel,nosuid,nodev,noexec,relatime,blkio 0 0

cgroup /sys/fs/cgroup/net_cls,net_prio cgroup rw,seclabel,nosuid,nodev,noexec,relatime,net_prio,net_cls 0 0

cgroup /sys/fs/cgroup/memory cgroup rw,seclabel,nosuid,nodev,noexec,relatime,memory 0 0

cgroup /sys/fs/cgroup/hugetlb cgroup rw,seclabel,nosuid,nodev,noexec,relatime,hugetlb 0 0

configfs /sys/kernel/config configfs rw,relatime 0 0

/dev/sda3 / xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0

selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0

systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=26,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=21181 0 0

debugfs /sys/kernel/debug debugfs rw,relatime 0 0

mqueue /dev/mqueue mqueue rw,seclabel,relatime 0 0

hugetlbfs /dev/hugepages hugetlbfs rw,seclabel,relatime 0 0

/dev/sda1 /boot xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0

/dev/sr0 /mnt iso9660 ro,relatime 0 0

tmpfs /run/user/0 tmpfs rw,seclabel,nosuid,nodev,relatime,size=99592k,mode=700 0 0

binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,relatime 0 0

tmpfs /run/user/1000 tmpfs rw,seclabel,nosuid,nodev,relatime,size=99592k,mode=700,uid=1000,gid=1000 0 0

[root@oldboy6666 ~]#

9.6.3.3 磁盘信息需要关注的几个信息

/dev/sda1 /boot xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0

存储的设备 挂载点 类型 参数

9.6.4 负载信息的查看

9.6.4.1 查看负载均衡的命令

[root@oldboy6666 ~]# w

17:20:39 up 8:29, 4 users, load average: 0.00, 0.01, 0.05 记录的是每分钟 5分钟 15分钟吃的负载

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

root tty1 10:39 6:41m 0.00s 0.00s -bash

root pts/2 10.0.0.1 16:39 7.00s 0.07s 0.02s w

root pts/3 10.0.0.1 15:17 35:59 0.10s 0.00s tail -20f 1.txt

oldboy pts/4 10.0.0.1 15:19 2:00m 0.01s 0.01s -bash

[root@oldboy6666 ~]#

  • USER 登陆的用户
  • TTY: 用户登陆的方式
  • FROM 从哪进行的远程登陆(指登陆的远程电脑)
  • LOGIN: 远程登陆的时间
  • IDLE: 用户远程登陆了多少时间
  • JCPU 用户执行操作占有的CPU率
  • PCPU: 远程用户正在操作什么

9.6.4.2 查看负载均衡的配置文件

[root@oldboy6666 ~]# cat /proc/loadavg

0.00 0.01 0.05 1/121 30950

[root@oldboy6666 ~]#

9.6.4.3 负载均衡常需要关注的几个信息

0.00 0.01 0.05

每分钟 5分钟 15分钟

9.6.4.4 怎么防止多个用户共同修改一个配置文件,以pts/2为例子

echo "请不要修改服务配置文件,稍等10分钟后再修改" >/dev/pts/2

linux运维中经常使用的目录和文件讲解的更多相关文章

  1. linux运维中的命令梳理(二)

    回想起来,从事linux运维工作已近5年之久了,日常工作中会用到很多常规命令,之前简单罗列了一些命令:http://www.cnblogs.com/kevingrace/p/5985486.html今 ...

  2. linux运维中的命令梳理(一)

    在linux日常运维中,我们平时会用到很多常规的操作命令. 下面对常用命令进行梳理: 命令行日常系快捷键(不分大小写)CTRL + A 移动光标到行首CTRL + E 移动光标到行末CTRL + U ...

  3. linux运维中的命令梳理(四)

    ----------管理命令---------- ps命令:查看进程 要对系统中进程进行监测控制,查看状态,内存,CPU的使用情况,使用命令:/bin/ps (1) ps :是显示瞬间进程的状态,并不 ...

  4. linux运维中的命令梳理(三)

    ----------文本操作命令---------- sed命令:文本编辑工具 sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特 ...

  5. Linux运维中遇到的常见问题

    1.CentOS启动tomcat出现乱码的解决方案1.打开tomcat下的server.xml配置文件,在connect标签中添加编码属性:URIEncoding="UTF-8"2 ...

  6. linux运维中常用的指令

    一.终端中常用的快捷键 man界面中的快捷键: ?keyword                 向上搜索关键词keyword,n向下搜索,N继续向上搜索 /keyword   向下搜索关键词keyw ...

  7. linux运维基础之系统挂载与etc文件下介绍

    1) 目录结构说明: windows:磁盘----分区---格式化--系统 linux:磁盘--分区--生成一个文件(磁盘分区) linux 中一切皆文件 ll -h 显示人类能看懂的 mount - ...

  8. linux上安装shell编辑器与linux运维面试题

    分两个部分 一.安装B-shell解释器 安装cygwin  Eclipse要找到安装的bin路径 https://cygwin.com 二.安装编辑器shellEd 下载可以得到一个:net.sou ...

  9. 如何掌握并提高linux运维技能

    初中级Linux运维人员们系统学习并迅速掌握Linux的运维实战技能.学习路线大纲如下: 入门基础篇 系统运维篇 Web运维篇 数据库运维篇 集群实战篇 运维监控篇 第一篇:Linux入门(安装.配置 ...

随机推荐

  1. Java升级那么快,多个版本如何灵活切换和管理?

    前言 近两年,Java 版本升级频繁,感觉刚刚掌握 Java8,写本文时,已听到 java14 的消息,无论是尝鲜新特性(Java12 中 Collectors.teeing 超强功能使用),还是由于 ...

  2. JavaScript: 遍历Array的同时删除指定项

    一个简单的需求是,在遍历一个数组时,移除指定的项. 下列代码是不能正常工作的: var elements = [1, 5, 5, 3, 5, 2, 4]; for(var i = 0; i < ...

  3. java编程思想第四版第七章总结

    1. 实现类的复用通常有两种方式 组合:在新的类中产生现有类的对象 继承:按照现有类的类型来创造新类 2. 一个特殊的方法toString() 在非基本类型的对象中, 都有toString()方法 当 ...

  4. python:沙盒(virtualenv)

    当电脑需要使用多个版本的python时,可以使用沙盒:或者使用docker: virtualenv是Python自带的,通过pip安装的 [root@centos7 public]# cd jinji ...

  5. 优秀的github项目学习

    优秀的github项目学习 后期会陆续添加遇到的优秀项目 https://github.com/chaijunkun

  6. python3 之 判断闰年小实例

    一.方法1: while True: try: year = int(input('请输入一个年份:')) if (year % 4) == 0 and (year % 100) != 0 or (y ...

  7. mysql通俗易懂的数据库连接池原理及模拟实现

    什么是数据库连接池? 当系统使用JDBC技术访问数据库时会创建一个connection对象,而该对象的创建过程是非常消耗资源的,并且创建对象的时间也特别长,假设系统一天有1万次的访问量,那么一天就会有 ...

  8. 2019-11-7:sql注入防御,webshell概念,学习笔记

    sql注入防护GPC,magic_quotes_gpc函数在php中的作用是判断解析用户提示的数据,如包括有:post.get.cookie过来的数据增加转义字符“\”,以确保这些数据不会引起程序,特 ...

  9. C#面向对象--命名空间

    一.在C#中,使用命名空间(Namespace)可以帮助控制自定义类型的作用范围,同时对大量的类型进行组织:使用namespace关键字声明命名空间,命名空间可以嵌套使用: namespace MyN ...

  10. 2 JAVA语言的基本规则

    1. 类名 类名需使用字母开头,使用驼峰命名法,如HelloWorld,对应的文件为 HelloWorld.java,与类名保持一致.编译好的字节码文件为 HelloWord.class. 2. 区分 ...