Linux必知必会的目录结构
Posted wenrulaogou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux必知必会的目录结构相关的知识,希望对你有一定的参考价值。
1.目录结构
/bin 二进制文件 命令 /sbin 超级命令 只有root用户可以使用 /boot 系统的引导文件 系统内核 /dev 设备文件 光盘 硬盘分区 /etc 系统配置文件 /home 普通用户的家目录 /root 超级用户的家目录 /lib lib库文件 /lib64 lib库文件 /lost+found 临时保存数据 /mnt 临时挂载点 /opt 第三方软件安装位置 /proc 虚拟目录 存放内存中的信息 进程 服务信息 /sys 虚拟目录 存放内存中的信息 进程 服务信息 /tmp 临时存储文件的位置 /usr 用户安装 /var 存放日志的位置
2./etc目录下内容
2.1 /etc/sysconfig/network-scripts/ifcfg-eth0
第一块网卡的配置文件
system config/networ-scripts/interface(接口/w网卡)config
如果要修改网卡的信息 修改后 重启即可生效
[[email protected] ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 linux第一块网卡的配置文件 DEVICE=eth0 <==设备名称 TYPE=Ethernet <==网络类型 以太网 UUID=9624a449-b94d-4633-9139-e8459206301d <==系统中给每个设备的标识符号 在系统中唯一 ONBOOT=yes <==boot on 在开机或重启网络的时候自启动 NM_CONTROLLED=yes <==是否受系统的network服务控制 BOOTPROTO=none <==网卡获取IP的方法 网卡静态IP还是动态IP HWADDR=00:0C:29:91:97:B5 <==HardWare ADDRress硬件地址/MAC地址 网卡唯一 IPADDR=10.0.0.201 <==服务器的ip地址 PREFIX=24 ##等同于NATMASK=255.255.255.0 子网掩码 决定你一个局域网中最多可以有多少台服务器 GATEWAY=10.0.0.254 gate way 默认网关 所有人离开进入都要经过网关 DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no NAME="System eth0" DNS1=223.5.5.5 <== dns DNS2=223.6.6.6 <== dns
BOOTPROTO static/none 静态IP
dhcp系统默认 自动获取IP地址
NATMASK=255.255.255.0 这个一般没有 PREFIX=24 一般由这个代替
子网掩码 决定你一个局域网中最多可以有多少台服务器
2.2 /etc/resolv.conf
DNS (domain name server/system)域名解析
可使用的DNS(公共DNS)
1.阿里云
DNS1 223.5.5.5
DNS2 223.6.6.6
2.114
114.114.114.114
114.114.115.115
DNS配置文件 网卡里的配置文件优先于/etc/resolv.conf /etc/resolv.conf dns配置文件 [[email protected]-50 ~]# cat /etc/resolv.conf # Generated by NetworkManager # No nameservers found; try putting DNS servers into your # ifcfg files in /etc/sysconfig/network-scripts like so: # # DNS1=xxx.xxx.xxx.xxx # DNS2=xxx.xxx.xxx.xxx # DOMAIN=lab.foo.com bar.foo.com nameserver 223.5.5.5 nameserver 223.6.6.6
2.3 /etc/sysconfig/network
修改主机名的地方
临时修改主机名 hostname 1.临时修改 hostname [[email protected]-50 ~]# hostname oldboyedu50 修改 [[email protected] ~]# hostname 查看 oldboyedu50 2.3.2 永久修改主机名 [[email protected]-50 ~]# vim /etc/sysconfig/network NETWORKING=yes HOSTNAME=oldboyedu-50 ##把名字修改为你要改的 修改完退出 重启服务器后生效
2.4 /etc/hosts
ip与域名(主机名)解析关系
了解/etc/hosts的作用
[[email protected] ~]# cat /etc/hosts 查看内容 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 测试 [[email protected]-lnb ~]# vim /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 10.0.0.200 jd.com ###IP地址与域名的对应关系 [[email protected]-lnb ~]# ping jd.com 再次ping 京东 IP地址变为10.0.0.200 PING jd.com (10.0.0.200) 56(84) bytes of data. 64 bytes from jd.com (10.0.0.200): icmp_seq=1 ttl=64 time=0.031 ms 64 bytes from jd.com (10.0.0.200): icmp_seq=2 ttl=64 time=0.026 ms
2.5 /etc/fstab
在开机的时候给每个设备创建一个入口 开机的时候自动挂载列表
在开机的时候给每个设备创建一个入口 开机的时候自动挂载列表 [[email protected]-lnb ~]# column -t /etc/fstab 用 column -t 查看 可以先排列好内容再显示 # # /etc/fstab # Created by anaconda on Tue Jul 10 18:21:44 2018 # # 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=c4f4be67-f408-4f14-b01e-a0c0777932cb / ext4 defaults 1 1 UUID=8dc40910-35ed-4d1b-acd7-5dad0ad47746 /boot ext4 defaults 1 2 UUID=09e2ce6c-7249-4239-8843-5ef9cc3a9a99 swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 设备磁盘分区 挂载点 [[email protected]-lnb ~]# blkid 可用blkid显示的信息与上面内容对比 /dev/sda1: UUID="8dc40910-35ed-4d1b-acd7-5dad0ad47746" TYPE="ext4" /dev/sda2: UUID="09e2ce6c-7249-4239-8843-5ef9cc3a9a99" TYPE="swap" /dev/sda3: UUID="c4f4be67-f408-4f14-b01e-a0c0777932cb" TYPE="ext4"
2.6 /etc/rc.local
存放开机自启动的程序或命令 开机的时候自动运行
[[email protected] ~]# cat /etc/rc.local #!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don‘t # want to do the full Sys V style init stuff. ##需要开机自启动的命令或脚本可以放在这个文件内 ##效果类似于win7下面的启动
2.7 /etc/inittab
[[email protected] ~]# cat /etc/inittab # inittab is only used by upstart for the default runlevel. # # ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM. # # System initialization is started by /etc/init/rcS.conf # # Individual runlevels are started by /etc/init/rc.conf # # Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf # # Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf, # with configuration in /etc/sysconfig/init. # # For information on how to write upstart event handlers, or how # upstart works, see init(5), init(8), and initctl(8). # # 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: 需要更改直接vim在此处修改就可以
运行等级详解
# 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) ##多用户模式 没有NFS # 3 - Full multiuser mode ##完全多用户模式 (命令行模式/文本模式)工作默认的环境 # 4 - unused 待开发 # 5 - X11 桌面模式 图形化界面 # 6 - reboot (Do NOT set initdefault to this) #重启
init 3 修改运行级别
2.8 /etc/init.d
系统的软件/服务的管理命令 存放在这里
2.9 /etc/profile
配置别名 配置环境变量的地方
[[email protected] ~]# cat /etc/init.d cat: /etc/init.d: Is a directory [[email protected] ~]# cat /etc/profile # /etc/profile # System wide environment and startup programs, for login setup # Functions and aliases go in /etc/bashrc # It‘s NOT a good idea to change this file unless you know what you # are doing. It‘s much better to create a custom.sh shell script in # /etc/profile.d/ to make custom changes to your environment, as this # will prevent the need for merging in future updates. pathmunge () { case ":${PATH}:" in *:"$1":*) ;; *) if [ "$2" = "after" ] ; then PATH=$PATH:$1 else PATH=$1:$PATH fi esac } if [ -x /usr/bin/id ]; then if [ -z "$EUID" ]; then # ksh workaround EUID=`/usr/bin/id -u` UID=`/usr/bin/id -ru` fi USER="`/usr/bin/id -un`" LOGNAME=$USER MAIL="/var/spool/mail/$USER" fi # Path manipulation if [ "$EUID" = "0" ]; then pathmunge /sbin pathmunge /usr/sbin pathmunge /usr/local/sbin else pathmunge /usr/local/sbin after pathmunge /usr/sbin after pathmunge /sbin after fi HOSTNAME=`/bin/hostname 2>/dev/null` HISTSIZE=1000 if [ "$HISTCONTROL" = "ignorespace" ] ; then export HISTCONTROL=ignoreboth else export HISTCONTROL=ignoredups fi export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL # By default, we want umask to get set. This sets it for login shell # Current threshold for system reserved uid/gids is 200 # You could check uidgid reservation validity in # /usr/share/doc/setup-*/uidgid file if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then umask 002 else umask 022 fi for i in /etc/profile.d/*.sh ; do if [ -r "$i" ]; then if [ "${-#*i}" != "$-" ]; then . "$i" else . "$i" >/dev/null 2>&1 fi fi done unset i unset -f pathmunge
2.10 /etc/bashrc
配置别名的地方
2.10.1 .bash_profile与 .bashrc
国法:对所有用户生效 /etc/profile (改这一个就可以) /etc/bashrc 家规 :只对当前用户生效 .bash_profile .bashrc
3. /proc目录下内容
3.1 /proc/cpuinfo
系统cpu信息 [[email protected]-50 ~]# cat /proc/cpuinfo 一般常用的是 lscpu processor : 0 第几个核心 此处表示第一个 vendor_id : GenuineIntel cpu family : 6 model : 60 model name : Intel(R) Core(TM) i5-4200H CPU @ 2.80GHz stepping : 3 microcode : 34 cpu MHz : 2793.547 cache size : 3072 KB physical id : 0 第几颗CPU(物理) 此处表示第一个 ###以下还有信息 但是不常用 不再显示 cat /proc/cpuinfo 一般常用的是 lscpu [[email protected]-50 ~]# lscpu 查看cpu的信息
3.2 /proc/meminfo
系统内存信息 [[email protected]-50 ~]# cat /proc/meminfo 可以查看内存的信息 信息过长 此处不粘贴详细内容 cat /proc/meminfo 一般用 free -h代替 -h使free显示的内容可读 total 一共 used 使用 free 剩余 [[email protected]-50 ~]# free -h 查看内存信息 -h参数 使free显示的内容可读 total used free shared buffers cached Mem: 980M 619M 360M 228K 51M 397M -/+ buffers/cache: 170M 809M Swap: 767M 0B 767M
3.3 /proc/mounts
[[email protected] ~]# cat /proc/mounts 用cat /proc/mounts 信息显示很杂乱 一般用column -t /proc/mounts代替 [[email protected]-50 ~]# column -t /proc/mounts ##使文件信息对齐后显示
3.4 /proc/loadavg
系统负载信息 数字接近系统的核心总数的 就算是高了 [[email protected] ~]# cat /proc/loadavg 显示系统负载信息 0.0 0.00 0.00 1/167 2280 最近一分钟 最近5分钟 最近15分钟 有167个进程 有一个在运行 [[email protected] ~]# w 可用w代替 非全屏状态下可能会报错 23:30:33 up 1:45, 3 users, load average: 0.00, 0.00, 0.00 USER TTY FROM [email protected] IDLE JCPU PCPU WHAT root tty1 - 22:04 1:25m 0.03s 0.03s -bash root pts/0 10.0.0.1 22:05 1:04m 0.05s 0.05s -bash root pts/1 10.0.0.1 22:27 0.00s 0.24s 0.13s w [[email protected]-50 ~]# uptime 也能够查看系统负载 19:11:33 up 41 min, 3 users, load average: 0.00, 0.00, 0.00
4. /usr目录下内容
4.1/usr/local与/usr/share
4.1.1 /usr/local
linux下安装软件默认的位置 编译安装
4.1.2 /usr/share
文档和帮助
5. /var目录下内容
/var 目录 variable 经常变化
/var/log 日志
5.1 /var/messages
系统默认的日志
5.2 /var/log/secure
记录用户的登陆信息日志
/var/log/secure #安全日志 记录用户的登陆信息日志 Jul 10 21:51:25 oldboyedu-50 sshd[25452]: Failed password for root from 10.0.0.1 port 56276 ssh2 Jul 10 21:51:26 oldboyedu-50 sshd[25452]: Failed password for root from 10.0.0.1 port 56276 ssh2 failed 错误的
5.3 查看实时更新
命令 tail -f
比如tail -f /var/log/ secure
输入命令后只要不撤销 日志有更新就会一直显示在底部
5.4 如何优雅的查看日志
1.head 2.tail 3.grep 4.less 一页一页查看内容 空格 或者f 下一页 b 上一页 q 退出 5.more 一页一页查看内容 快捷键和less相同
以上是关于Linux必知必会的目录结构的主要内容,如果未能解决你的问题,请参考以下文章