• 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:WINDOWSsystem32driversetchosts ,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

  • 相关阅读:
    寫程序方法
    phpDesigner注冊碼
    如何获取SQL Server数据库元数据(转)
    WPF中的事件(Event)
    访问数据源的架构信息(系统表、信息结构图、GetSchema)
    MSbuild生成WPF程序
    数据契约
    window动态调整大小后无法关闭
    sql server 2000 系统表详细介绍(转,收藏一下)
    Linq2Sql:使用Sqlmetal.exe
  • 原文地址:https://www.cnblogs.com/xiejincheng/p/7011129.html
Copyright © 2020-2023  润新知