linux常用配置文件详细

语录1:在修改系统配置文件,一般都是永久修改。在命令行下修改的配置一般都是临时修改

linux目录结构

linux系统的目录结构和Windows的目录结构不同的地方。在Windows有C盘、E盘,而linux系统从根目录 / 下开始创建文件系统,在linux看来一切皆文件(u盘、鼠标、键盘)

  • /bin

    /bin目录存放我们常用的命令(ls、cd、pwd)

  • /boot

    /boot目录存放启动linux系统核心文件,包括一些链接文件、镜像文件

  • /dev

    /dev目录存放linux的外部设备文件,linux中一切看做文件,访问设备和访问文件操作一样

  • /etc

    /etc目录linux系统管理需要的配置文件信息(网卡、主机名、hosts)

  • /home

    /home目录是普通用户的家目录,在linux系统每一个用户都有自己的目录,在其目录下权限最大

  • /root

    /root目录是系统管理员的家目录,其他用户没有权限访问此目录

  • /lib

    /lib目录存放系统基本的动态连接共享库文件

  • /media

    /media目录存放系统自动识别外部设备,如键盘,鼠标,挂载在此目录下

  • /mnt

    /mnt目录是为了用户临时挂载设备的文件系统,如光盘镜像挂载

  • /opt

    /opt目录是给用户额外提供安装软件的地方

  • /porc

    /porc目录是一个虚拟目录,存放系统内存、cup的信息

  • /tmp

    /tmp目录相当于Windows的垃圾箱,存放临时文件

  • /usr

    /usr重要的目录,用户的很多应用程序和文件都放在这个目录下

  • /usr/bin

    系统用户使用的应用程序。

  • /sbin

    /sbin 存放的是系统管理员使用的系统管理程序。

  • /usr/sbin

    超级用户使用的比较高级的管理程序和系统守护程序的命令

  • /var

    /var目录存放系统日志文件信息,(登录信息,执行命令情况)

系统运行级别

liuxn 系统是支持单用户模式和多用户模式,liunx用户模式是由当前的系统运行级别决定的

# centos 6 
运行级别 0:init 0 		关机级别,输入命令立即关机,与远程设备断链
运行级别 1:init 1 		单用户模式,维修模式,仅root登录。用于root重置密码
运行级别 2:init 2		多用户没有NFS网络支持
运行级别 3:init 3  		正常系统默认模式
运行级别 4:init 4   	        系统预留的运行级别
运行级别 5:init 5    	        桌面模式 
运行级别 6:init 6 		系统重启模式
# centos 7  系统的运行目标 target
[root @matter ~ ]# ls -l /usr/lib/systemd/system/runlevel*target
/usr/lib/systemd/system/runlevel0.target -> poweroff.target
/usr/lib/systemd/system/runlevel1.target -> rescue.target
/usr/lib/systemd/system/runlevel2.target -> multi-user.target
/usr/lib/systemd/system/runlevel3.target -> multi-user.target
/usr/lib/systemd/system/runlevel4.target -> multi-user.target
/usr/lib/systemd/system/runlevel5.target -> graphical.target
/usr/lib/systemd/system/runlevel6.target -> reboot.target

查看系统运行级别

# 通用查看系统当前级别
runlevel

# centos 6 查看系统运行级别
cat	/etc/inittab		最后一行表明运行系别

# centos 7 查看系统运行级别
systemctl	get-default 
cat	/usr/lib/systemd/system/runlevel*target

临时切换级别

init 0	关机
init 6	重启

永久修改系统运行级别

# centos 6
vim	/etc/inittab
id:3:initdefault:   # 只修改最后一行信息

# centos 7	重启生效
[root @matter ~ ]# systemctl set-default rescue.target
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/rescue.
target	

# 检查状态
[root @matter ~ ]# systemctl get-default 
rescue.target

网卡配置文件

网卡配置文件:/etc/sysconfig/network-scripts-ifcfg-eno16777736

内容详细:

TYPE=Ethernet				 指定网络类型 —— 以太网 Ethernet                           	 
BOOTPROTO=none				 连接网络启用的协议(让虚拟机获得ip地址)
					 a.自动获取 —— dhcp  容易IP地址冲突
                               	         b.静态获取 —— stastc 或 none				  
NAME=eno16777736			 虚拟机网卡的逻辑名称
DEVICE=eno16777736			 设备虚拟网卡的物理名称
UUID					 唯一标识 系统为每一个硬件设备分配唯一标识(克隆虚拟机删除)
ONBOOT=yes			         设置网卡是否正常开启状态 ——激活状态				
IPADDR=192.168.0.110		         IPADDR	虚拟机静态配置的IP地址	
PREFIX=24				 PREFIX 定义局域网可以有多少台主机 —— 房间可以容纳多少人
GATEWAY=192.168.0.1			 网关 ——一个网络到另一个网络的必经之路
DNS1=211.138.30.66			 一个主机可以有多个DNS ——建立主机ip和主机名称对应关系

如何网卡配置文件生效?

方法一:

systemctl	restat	network			# 重启网络服务
systemctl	stop	network			# 关闭网络服务
systemctl	status	network			# 检查网络激活状态

#  active  表示正在使用状态 
[root @xuan ~ ]# systemctl status network
   Active: active (exited) since Thu 2020-04-23 08:28:40 CST; 28min ago

#  inactive	表示关不状态
[root @xuan ~ ]# systemctl status network
	Active: inactive (dead) since Thu 2020-04-23 09:15:35 CST; 1s ago

注意:systemctl stop network 关闭网络时,远程工具xshell断连,只能在虚拟主机上重新启动

方法二:

​ 解决关闭网络network时,需要到机房重新启动网络

​ 符号 ——&& 表示执行前一个命令成功后,在执行后一个命令

​ 符号 ——英文下分号 ; 表示执行前一个命令成功后,在执行后一个命令

[root @xuan ~ ]# ifdown eno16777736 && ifup eno16777736 
或
[root @xuan ~ ]# ifdown eno16777736 ; ifup eno16777736 

提示	Device 'eno16777736' successfully disconnected.
	 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager 	  /ActiveConnection/10)

常见问题:网卡文件配置正确,无法重新启动网络

systemctl stop NetworkManager     关闭网络管理服务

DNS解析文件配置(了解)

修改 /etc/resolv.conf —— 不用重启加载文件,立即生效

注意 :/etc/resolv.conf 修改 nameserver 内容临时修改使用,以网卡中DNS为主

[root @xuan ~ ]# cat /etc/resolv.conf 
# Generated by NetworkManager
nameserver 211.138.30.66

/etc/hostname

查看主机名

第一种:	cat /etc/hostname
第二种:	hostnamectl  ——推荐:可以查是否临时修改,查看系统详细信息
            [root @xuan ~ ]# hostnamectl
               Static hostname: xuan			# 真正的主机名
            Transient hostname: matter			# 临时修改
                     Icon name: computer-vm
                       Chassis: vm
                    Machine ID: 06013b0145994df4b4e54888ccdf7333
                       Boot ID: 8485a4ef6c4e4bb58b2f441553831b03
                Virtualization: vmware
              Operating System: CentOS Linux 7 (Core)
                   CPE OS Name: cpe:/o:centos:centos:7
                        Kernel: Linux 3.10.0-327.el7.x86_64
                  Architecture: x86-64
第三种:	hostname
第四种:	uname	-n

临时修改

[root @xuan ~ ]# hostname matter		centos6 / 7 方法相同

永久修改

/etc/sysconfig/nework		# centos 6
# centos 7 修改配置文件
/etc/hostname		重新连接主机配置生效
# centos 7 直接永久修改主机名
hostnamectl	set-hostname matter

/etc/hosts

解析映射:把主机的ip和主机名进行关联,访问主机名相当于访问主机ip

这种映射只是本地机的映射,也就是说每台机器都是独立的,只有在hosts文件中进行了配置才能使用主机名来访问。

Windows解析文件:‪C:\Windows\System32\drivers\etc\hosts

linux解析文件:/etc/hosts

修改方式:ip 主机名 别名

[root @matter ~ ]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.110   xuan
192.168.0.111   text

/etc/fstab

查看挂载设备信息 df

/etc/fstab 实现了磁盘开机自动挂载文件

[root @matter ~ ]# cat /etc/fstab
/dev/mapper/centos_xuan-root /                       xfs     defaults        0 0
UUID=4d4d4e61-9519-446c-8804-7b2d451808c5 /boot                   xfs     defaults        0 0
/dev/mapper/centos_xuan-swap swap                    swap    defaults        0 0

/etc/fstab 如何编写配置文件

第一列		挂载设备
第二列		挂载点
第三列		挂载文件系统名称—— xfs swap
第四列		挂载参数,这个参数和mount命令的挂载参数一致。
第五列		指定分区是否被dump备份,0代表不备份,1代表每天备份,2代表不定期备份。
第六列		指定分区是否被fsck检测,0代表不检测,其他数字代表检测的优先级,1的优先级比2高。所以
		先检测1的分区,再检测2的分区。一般根分区的优先级是1,其他分区的优先级是2。

/etc/rc.d/rc.local

/etc/rc.local -> rc.d/rc.local 作用:文件中的命令开机时会自动执行 ,如mkdir oldboy

注意:文件编写一定是正确,可以执行的命令

第一步: vim /etc/rc.locval  或 vim /etc/rc.d/rc.local
第二步: 编辑
第三步: 首次编辑 /etc/rc.local 需要给/etc/rc.local的源文件 /etc/rc.d/rc.local 加可执行权限
		chmod +x /etc/rc.d/rc.local
第四步: 关机重启执行文件中的命令

/etc/profile

  1. 如何设置变量?
[root @matter ~ ]# x=123		设置一个临时变量
[root @matter ~ ]# echo $x		如何查看变量 —— echo $+变量名
123
# 这些变量是系统临时变量使用,重启不存在

​ 永久变量生效

# 设置变量
vim /etc/profile
x=123	# 尽量在profile末行设置

# 重新加载profile文件
1. 虚拟机重启开机加载 init 6
2. 使用命令重新在内存中加载 source /etc/profile

系统中变量的类型:
普通变量:需要人为设置
环境变量:系统默认就有的变量

环境变量 ——PATH

PATH作用:简化使用命令,不需使用命令绝对路径使用 —— 在PATH对应目录下存在很多直接使用的命令

[root @matter ~ ]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root @matter ~ ]# which cat
/usr/bin/cat
[root @matter ~ ]# PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root @matter ~ ]# mv /usr/bin/cat cat
[root @matter ~ ]# ls
cat  
[root @matter ~ ]# cat /etc/passwd
-bash: /usr/bin/cat: No such file or directory
[root @matter ~ ]# /root/cat /etc/passwd
# 临时修改环境变量
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/

# 永久修改
vim /etc/profile
#修改内容	使用 export 表示环境变量
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/
# 加载文件
source /etc/profile

系统命令别名

查看系统默认命令的别名

[root @matter ~ ]# 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 sls='sl'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

设置别名(临时)

alias 别名='命令'		# 关键字 alias  ,重连失效

# 取消别名(临时)
1. unalias	别名
2. 命令前加 `\` 暂时取消别名   —— `\rm -i`	

永久设置别名

# 第一个历程:修改profile文件
vim /etc/profile

# 第二个历程 —— 编写
alias oldboy='mkdir oldboy'

# 第三个加载文件
source  /etc/profile

设置别名相关文件

国法:/ec/profile = /etc/bashrc 别名加载后,全局生效

家规:.bashrc = .bash_profile 存在于用户的家目录隐藏文件中,对用户别名优先国法文件

[root @matter ~ ]# cat .bash_profile 
PATH=$PATH:$HOME/bin
export PATH

[root @matter ~ ]# cat .bashrc
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

总结作用:

  1. 使用命令方便
  2. 避免使用危险的命令 —— alias rm='echo 123'

/etc/isssue /etc/motd

登录前提示信息文件:/etc/issue = /etc/issue.net

登录后提示信息文件:/etc/motd

作用:在登录前后对登录人员提示信息

/var/log

查看 /var/log 目录下俩个中重要的日志文件

meesges 记录着系统和服务进行的状态信息,错误信息

securce 记录着用户登录信息

[root @matter ~ ]# cat /var/log/secure 
Apr 23 16:52:59 matter sshd[2255]: Accepted password for root from 192.168.0.104 port 52251 ssh2
Apr 23 16:52:59 matter sshd[2255]: pam_unix(sshd:session): session opened for user root by (uid=0)
Apr 23 16:54:00 matter sshd[2255]: pam_unix(sshd:session): session closed for user root

01             	02        03               04  

01. 用户是什么时间登录的
02. 登录的主机名称
03. 使用什么方式进行远程登录
04. 登录情况说明
    a 正确登录情况说明		—— Accepted
	b 错误登录情况说明
	c 退出登录情况说明		—— session closed for user root

/proc

  1. CPU 信息

    /proc/cpinfo 文件查看:

    [root @matter ~ ]# cat /proc/cpuinfo 
    # 关注信息
    physical id	: 0				 —— 表示第几个cup(颗数)
    processor	: 0				 —— 表示该cup的核数
    model name	: Intel           —— 表示CPU的品牌
    cpu cores	: 2				 —— 表示该CPU的核心数
    
    processor	: 1
    model name	: Intel
    physical id	: 0
    cpu cores	: 2
    
    processor	: 2
    model name	: Intel
    physical id	: 1
    cpu cores	: 2
    
    processor	: 3
    model name	: Intel(R)
    physical id	: 1
    cpu cores	: 2
    
    # 怎么计算该虚拟机有几颗cup,多少核数,多少核心数
    physical id	: 0 第一颗cpu 	processor : 1	cpu cores	: 2
    physical id	: 0 第一颗cpu 	processor : 2	cpu cores	: 2
    # 第一颗的CPU一共有2核4核心
    physical id	: 1 第二颗cpu 	processor : 3	cpu cores	: 2
    physical id	: 1 第二颗cpu 	processor : 4	cpu cores	: 2
    # 第二颗的CPU一共有2核4核心
    # 加: 整个虚拟机2颗CPU、4核、8核心
    

    命令查看 —— lscpu

    [root @matter ~ ]# lscpu
    # lscpu命令 —— 调用 /proc/cpuinfo 文件信息
    Architecture:          x86_64		—— CPU架构
    Socket(s):             2		    —— CPU卡槽(颗数)
    Core(s) per socket:    2			—— CPU的每颗的核数
    CPU(s):                4			—— CPU一共的核心数
    

    关注CPU负载

    作用说明:与CPU的核数有关,查看当前CPU运算任务的大小

    # 利用文件查看情况
    [root @matter ~ ]# cat /proc/loadavg 
    0.04 		0.03		 0.05 ....				负载值CPU核数有关
    1分钟平均   5分钟平均负载    15分钟平均负载
    eg: 服务器4核的服务器   -- 负载值3左右,就要关注
        服务器128核的服务器 -- 负载值100(数据库服务器)
     
    # 利用命令查看情况
    # 方式一: 静态查看
    [root @matter ~ ]# w
     17:10:16 up 	27 min,  	1 user,  load average: 0.00, 0.01, 0.05
     			   登录时间   登录用户个数	CPU负载
     
    # 方式二: 动态查看
    [root @matter ~ ]# top
    %Cpu(s):  0.0 us,  0.2 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    
  2. 查看内存使用情况 memory

    文件查看

    [root @matter ~ ]# cat /proc/meminfo 
    MemTotal:        1001360 kB				# 内存总大小
    MemFree:          760964 kB				# 内存的空闲容量
    MemAvailable:     752500 kB				# 内存可用容量
    Buffers:             948 kB				# 内存的buffer空间大小
    Cached:            84248 kB				# 内存的cache空间大小
    SwapCached:            0 kB				# 交换分区使用情况
    

    命令查看使用内存 —— free

    ​ free -h 以习惯的单位显示

    # 信息说明
    [root @matter ~ ]# free -h
    total			# 表示内存的总大小     
    used			# 表示内存的使用情况(应用程序,进程服务)
    free			# 表示当前未使用的内存大小
    shared			 # 表示共享库使用的内存大小
    buff/cache		 # 表示内存的缓存区和缓冲区的可以使用大小
    available		 # 表示当前可以申请使用的内存
    
    # 内存的计算公式
    计算总内存: total = used+ free + buff (used包含shared使用)
    计算当前使用的内存:used+buff
    计算系统可以使用的内存: avalible = free + buff  (最好情况)
    	·				 avalible < free + buff  (有些空间未及时的释放)
    

  3. 磁盘信息

# 查看文件
cat /proc/mount		# 详细信息
cat /etc/fstab 

# 命令查看
df	-hT
posted @ 2020-04-29 18:43  余生请你指教  阅读(470)  评论(0编辑  收藏  举报