• 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:WindowsSystem32driversetchosts

    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. 命令前加 `\` 暂时取消别名   —— `
    m -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
    
  • 相关阅读:
    ios本地推送
    ios BUG
    性能优化
    数据结构设计
    代码的可维护性
    NSMutalbleDictionary
    NSDictionary
    NSMutableArray
    java 容器
    Java bug
  • 原文地址:https://www.cnblogs.com/xuanxuan360/p/12803986.html
Copyright © 2020-2023  润新知