linux目录结构及根下目录的用途

/根下的目录

[root@oldboy35 ~]# ls /
bin   dev   lib         media   opt   sbin     sys  var
boot  etc   lib64       mnt     proc  selinux  tmp
data  home  lost+found  oldboy  root  srv      usr

/bin:常用的二进制命令目录;比如ls、cp、mkdir、cut等命令

/boot:Linux的内核及引导系统程序所需要的文件目录

/dev:设备文件目录,比如声卡、磁盘…

/etc:常用系统及二进制安装包配置文件默认路径和服务启动命令目录。

/home:普通用户的家目录默认存放目录

/lib:库文件存放目录

/lost+found:在ext3文件系统中,当系统意外奔溃或机器意外关机,会产生一些碎片在这里。

当系统在开机启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。当系统发生问题,可能会有文件被移到这个目录中,可能需要用手动的方式来修复,或移动文件到原来的位置上。

/mnt   :一般是用于临时挂载存储设备的挂载目录的,如cdrom,u盘等目录。 

/opt   :表示的是可选的意思,有些软件包也会被安装在这里,也就是自定义软件包,我们自己的编译软件包,就可以安装在这个目录中;通过源码包安装的软件,可以通过./configure –prefix=/opt目录,非必须这样,视习惯或规范而定。

/proc  :操作系统运行时,进程信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里。/proc目录伪装的文件系统proc的挂载目录,proc并不是真正的文件系统

/root  :Linux超级权限用户root的家目录;

/sbin  :大多是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,这个目录和 /usr/bin; /usr/X11R6/sbin或/usr/local/sbin目录是相似的;

/tmp  :临时文件目录,有时用户运行程序的时候,会产生临时文件。/tmp就是用来存放临时文件的,权限比较特殊。/var/tmp目录和这个目录相似。

/usr   :这个是系统存放程序的目录,比如命令、帮助文件等。这个目录下有很多的文件和目录。当我们安装一个linux发行版官方提供的软件包时,大多安装在这里。如果有涉及服务器配置文件的,会把配置文件安装在/etc 目录中。

/var  :存放日志的目录

1.1 /etc/必须要掌握的linux目录

1.2 修改主机名及网卡的配置

 

目录

说明(*号表示重要程度)

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

******

#-->配置网络地址及GW等****使得网卡生效

(1)    查看eth0(第二块eth1)

(2)    通过setup --> ‘network confguration’修改网卡配置就是这个文件

 

(3)  配置文件详解

(4)    固定IP地址

(5)    (让你的网卡的配置文件生效)重启网卡

方法一:/etc/init.d/network restart  (影响所有网卡)

方法二:ifdown eth0 && ifup eth0 (只针对eth0网卡)

(1)    设置文件ifcfg-interface-name包含了初始化接口所需的大部分周详信息;其中interface-name将根据网卡的类型和排序而不同,一般其名字为eth0、eth1、ppp0

(2)    解释说明:

DEVICE=name,其中name是物理设备名。

IPADDR=addr,其中addr是IP地址

NETMASK=mask,其中,mask是网络掩码值。

GATEWAY=addr,其中addr是网关地址。(rout-n)

ONBOOT=answer,其中,answer是yes(引导时激活设备)或no(引导时不激活)

USERCTL=answer,其中,anwser是yes(非root用户能控制该设备)或no

BOOTPROTO=proto,其中,proto取下列值之一:none,引导时不使用协议;static静态分配地址;bootp,使用BOOTP协议,或dhcp,使用DHCP协议。

/etc/resolv.conf

*****

#windows==>控制面板\网络和共享中心

#==>设置linux本地的客户端DNS的配置文件,DNS可以实现域名和IP的互相解析

ping www.baidu.com

setup ’network configuration’==>’DNS configurstion

 

小结:

  1. linux客户端DNS可以在网卡配置文件里设置(ifcfg-eth0)
  2. linux客户端DNS也可以在/etc/resolv.conf里设置

DNS1:网关地址

DNS2:233.5.5.5

223.5.5.5

223.6.6.6

/etc/hosts

******

#==>设置用户IP与名字(或域名)的对应解析表,相当于本地LAN局域网内的DNS解析文件

服务器IP地址www.baidu.com

#类似C:\WINDOWS\system32\drivers\etc\hosts ,LAN内IP域名解析文件。开发、测试时做临时的域名解析常用,英文hosts—The static table lookup for host name .

Host的解析在机房的服务器互相调用中也会常用,如门户网站的解析真实案例:

主机名:

  1. 放映出这台机器用途
  2. /etc/hosts

taobao

172.38.18.23   vip.taobao.com

当然了大公司有自己的DNS服务器来管理大量的解析记录

/etc/redhat-release

#==>包括一行声明RedHat版本和名称的信息

[root@m01 ~]# cat /etc/redhat-release

CentOS release 6.8 (Final)

[root@m01 ~]# uname -r

2.6.32-642.el6.x86_64

[root@m01 ~]# uname -m

x86_64

/etc/group (用户管理)

#==>设定用户的组名与相关信息 *** chattr+i

/etc/passwd (用户管理)

#==>账号信息文件 ****

/etc/shadow

#==>密码信息文件

/etc/gshadow

#==>组密码信息文件

/etc/sysconfig/network

#==>修改机器名及网卡启动,网关等配置

1.永久更改主机名,需要同时修改以下两项

[root@m01 ~]# vim /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=m01

  1. hostname主机名
  2. uname -n
  3. 修改主机名
  4. setup-dns里面(不建议)

/etc/fstab

File system mounting table *****

#==>实现开机要挂载的文件系统的一个列表

# 如何挂载到树枝 对应关系 挂载列表

fstab一旦配置错误,会导致服务器无法启动。如何修复?

[root@oldboy35 ~]# blkid

/dev/sda1: UUID="d441775d-6545-4a5e-99e6-29795133ceb6" TYPE="ext4"

/dev/sda2: UUID="3e5ddb4b-e8a5-4b30-ac90-af899400d815" TYPE="swap"

/dev/sda3: UUID="ed7de58e-da1d-407a-8dcd-4410dd7f8ccf" TYPE="ext4"

第一列挂载的设备,可以是设备名或UUID,或磁盘标签。

tail -1 /etc/fatab

 

/etc/rc.local

*****

#msconfig

文件中存放需要启动的命令或脚本(命令的集合)用于存放开机自启动程序命令的文件(chkconfig常用来管理yun/rpm安装的程序的服务的开机自启动/etc/init.d)。

自己开发的程序,习惯把启动命令放入/etc/rc.local,实现开机启动这些程序,linux开机时会把/etc/rc.local里的内容执行一遍。

 

/etc/inttab

#init(初始化)

Tab(table 表)

*****

#==>设定系统启动时init进程将把系统设置成什么样的runlevel运行级别及加载相关的级别对应启动文件设置。

0  ##关机

1     ##但用户模式

2     ##多用户模式 但是没有NFS。

3     ##多用户模式 命令模式(工作中默认)

4     ##没有使用

5     ##图形界面模式 桌面模式

6     ##重启

 

*****Linux开机启动流程

 

讨论

 

/etc/exports

#==>设定NFS网络文件系统用的配置文件。

/etc/init.d

*****

#==>这个目录是用来存放通过yum或rpm工具安装的软件的默认启动程序(启动脚本)的目录。

服务/软件的管理命令。

/etc/xinit.d

#==>如果服务器是通过xinitd模式运行的,他的脚本要放在这个目录下。

无人职守安装时pxe+kickstart会用到/etc/xinit.d

services 服务名start===/etc/init.d/服务名start

/etc/init.d/iptables start

/etc/init.d/network restart

/etc/profile *****

#==>系统全局环境变量永久生效的配置文件*****定义别名以及PATH变量等

PATH变量==>命令的路径==>linux找命令去哪里找,PATH

用户的环境变量,~/.bash_profile, ~/.bashrc

TMOUT

HISTSIZE

HISTFILESIZE

 

##国法=====>全局

/etc/profile

/etc/bashrc

 

##家规====>自己家里生效

~/.bash_profile

~/.bashrc

/etc/bashrc

放置别名,函数

alias rm =’echo cmd does not to be used’

cp

mv

/etc/profile.d

#==>加载系统登录程序一个目录,命令或文件独立存在!

以文件的形式存在(*.sh为扩展名),但要可执行。

/etc/sudoers

*****

**  为非根用户授予根用户的权限

visudo 类似vi /etc/sudoers,不建议vi改,因为没有语法检查。

[root@oldboy35 data]# visudo -c

/etc/sudoers: parsed OK

[root@oldboy35 data]#

/etc/sudoers;解析正确

/etc/securetty

##设定哪些终端可以让root登录

/etc/login.defs

##所用用户登录时的缺省配置

/etc/modprobe.conf

内核模块额外参数设定

/etc/syslog.conf

日志设置文件***限c5.x

/etc/rsyslog.conf

日志设置文件***限c6.x

1.2.1 其它的目录

目录

说明(*号多少表示重要程度)

/lib

###系统会使用到的函数库

/lib/modules

###kernel 的相关模版

/var/lib/rpm

### rpm 套件安装处

/usr/bin

这个目录是可执行程序的目录;

/usr/local

源码编译安装存放路径

/usr/local/bin

用户安装的最下的应用程序,和一些在/usr/local 目录下大应用程序的符号连接

/usr/local/sbin

系统全局环境目录,可放置一些不需要加路径执行的脚本

/usr/share

系统共用的东西存放地,比如/usr/share/doc和/usr/share/man

/usr/src

内核源码存放目录,比如下面有内核源码目录,比如linux目录等。

1、     rpm -ivh包名.rpm(存放rpm包,又无法使用yum的时候)

2、     yum install 包名(下载--rpm--解决软件)-简单方法使用(习惯:线上对外的服务器很少安装apache,nginx.mysql功能软件会用yum)

3、     源码(./configure,make,make install)定制。大中小企业重要服务、

门户:源码--定制rpm--制作yum仓库--yum安装。

/usr/bin

使用者可执行的binary file的目录

1.2.2 /var目录下的路径知识

参数

说明(***号表示重要的程度)

/var

日志文件

/var/log

各种系统日志存放地

/var/log/messages

系统信息默认日志 ,非常重要。安周自动论循

 

[root@oldboy35 ~]# ll /var/log/messages

-rw-------. 1 root root 6159 Mar 16 00:51 /var/log/messages

[root@oldboy35 ~]#

[root@oldboy35 ~]# ll /var/log/messages*

-rw-------. 1 root root   6159 Mar 16 00:51 /var/log/messages

-rw-------. 1 root root 190894 Mar 12 03:42 /var/log/messages-20170312

 

dmseg命令可以查看系统故障信息(/var/log/dmesg).依赖于rsyglog服务开启

上述轮询日志由/etc/logrotate.conf 和 /etc/logrotate.d/syslog控制

 

/var/log/secure  *****

记录的用户的登录信息(啥时候登录的,是否成功,从哪里登录)

记录登入系统系统存取信息的文件,按周自动轮询,例如pop3,ssh,telnet,ftp等都会记录再次。系统安全的日志文件。依赖于rayglog服务开启

/var/log/wtmp

记录登录者信息的文件,last、login。

/var/spool

/var/spool/cron/root

*****

定时任务crontab默认路径,按用户名命名的文件。

 

 

1.2.3 /proc下的重要路径知识

目录

说明(*号多少表示重要程度)

/proc

虚拟目录,是内存和进程的虚拟文件系统目录

/proc/version

内核版本

[root@oldboy35 ~]# tail /proc/version

Linux version 2.6.32-642.el6.x86_64 (mockbuild@worker1.bsys.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) ) #1 SMP Tue May 10 17:27:01 UTC 2016

[root@oldboy35 ~]#

 

/proc/sys/kernel

系统内核功能

/proc/cpuinfo

关于处理器的信息,如类型,厂家、型号和性能等,top 看 cpu sar

/proc/devices

当前运行内核所配置的文件系统

/proc/dma

当前正在使用的DMA通道

/proc/filesystems

当前运行内核所配置的文件系统

/proc/loadavg

系统负载平均值信息(系统的繁忙情况,比较准确,但是不够细致系统性能指标)uptime 的结果****top  uptime 负载值不要超过cpu的核数。

/proc/mount

设备的挂载信息 df -h 类似

 

1.1.1 PATH环境变量及其作用

[root@m01 ~]# echo $PATH

/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

  

 

##==>linux下面执行一个命令的简单 过程

需要在PATH路径下去寻找

找到就执行

找不到就 提示 command not found

 

posted @ 2017-06-14 21:41  熊孩子会玩  阅读(515)  评论(0编辑  收藏  举报