Linux必知必會的目錄結構之/etc和/proc

来源:https://www.cnblogs.com/wenrulaogou/archive/2018/07/20/9340205.html
-Advertisement-
Play Games

1.目錄結構 /bin 二進位文件 命令 /sbin 超級命令 只有root用戶可以使用 /boot 引導文件 系統內核 /dev 設備文件 光碟 硬碟分區 /ect 系統配置文件 /home 普通用戶的家目錄 /root 用戶的家目錄 /lib lib庫文件 /lib64 lib庫文件 /lost ...


1.目錄結構

/bin                   二進位文件  命令

/sbin                     超級命令 只有root用戶可以使用

/boot                    引導文件 系統內核

/dev                        設備文件 光碟 硬碟分區

/ect                  系統配置文件

/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

如果要修改網卡的信息  修改後 重啟即可生效

[root@oldboy ~]# 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配置文件
[root@oldboyedu-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
[root@oldboyedu-50 ~]# hostname oldboyedu50  修改
[root@oldboyedu-50 ~]# hostname              查看
oldboyedu50  
2.3.2 永久修改主機名
[root@oldboyedu-50 ~]# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=oldboyedu-50   ##把名字修改為你要改的
修改完退出  重啟伺服器後生效

2.4 /etc/hosts

ip與功能變數名稱(主機名)解析關係

瞭解/etc/hosts的作用

[root@oldboyedu50-lnb ~]# cat /etc/hosts                          查看內容
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
測試
[root@oldboyedu50-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地址與功能變數名稱的對應關係

[root@oldboyedu50-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

在開機的時候給每個設備創建一個入口  開機的時候自動掛載列表

在開機的時候給每個設備創建一個入口  開機的時候自動掛載列表
[root@oldboyedu50-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
設備磁碟分區                               掛載點

[root@oldboyedu50-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

存放開機自啟動的程式或命令  開機的時候自動運行

[root@oldboyedu50-lnb ~]# 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  

[root@oldboyedu50-lnb ~]# 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在此處修改就可以
View Code

運行等級詳解

#   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 

配置別名 配置環境變數的地方

[root@oldboy ~]# cat /etc/init.d
cat: /etc/init.d: Is a directory
[root@oldboy ~]# 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
View Code

2.10 /etc/bashrc 

配置別名的地方

2.10.1  .bash_profile與 .bashrc

國法:對所有用戶生效          

/etc/profile   (改這一個就可以)

/etc/bashrc                   

家規 :只對當前用戶生效       

.bash_profile                 

.bashrc     

3. /proc目錄下內容

3.1 /proc/cpuinfo

系統cpu信息 
[root@oldboyedu-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
[root@oldboyedu-50 ~]# lscpu  查看cpu的信息

3.2 /proc/meminfo

系統記憶體信息 
[root@oldboyedu-50 ~]# cat /proc/meminfo
可以查看記憶體的信息  信息過長 此處不粘貼詳細內容
cat /proc/meminfo  一般用 free -h代替           
-h使free顯示的內容可讀
total 一共    used  使用   free  剩餘
[root@oldboyedu-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

[root@oldboyedu-50 ~]# cat /proc/mounts
用cat /proc/mounts  信息顯示很雜亂  一般用column -t  /proc/mounts代替
[root@oldboyedu-50 ~]# column -t  /proc/mounts   ##使文件信息對齊後顯示

3.4 /proc/loadavg 

系統負載信息
數字接近系統的核心總數的  就算是高了
 [root@oldboy ~]# cat /proc/loadavg      顯示系統負載信息
0.0    0.00 0.00 1/167 2280 
最近一分鐘  最近5分鐘  最近15分鐘  有167個進程 有一個在運行
[root@oldboy ~]# w                      可用w代替  非全屏狀態下可能會報錯
 23:30:33 up  1:45,  3 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM              LOGIN@   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
[root@oldboyedu-50 ~]# uptime   也能夠查看系統負載
19:11:33 up 41 min,  3 users,  load average: 0.00, 0.00, 0.00

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 管道符"|" 管道符"|":前一個命令的輸出,作為後一個命令的輸入 I/O重定向 簡單的解釋就是捕捉一個文件, 命令, 程式, 腳本, 或者甚至是腳本中的代碼塊的輸出, 然後將這些輸出作為輸入發送到另一個文件, 命令, 程式, 或腳本中。 標準輸入輸出 執行一個shell命令行時通常會自動打開三個標 ...
  • 1、cd命令 cd:及Change Directory改變目錄的意思,用於更改到指定的目錄 用法:cd [目錄] 其中 "."代表當前目錄,".."代表當前目錄的父級目錄,"-"代表上一次使用的目錄,"~"當前用戶的主目錄 如: cd .. 進入父級目錄 cd - 進入上一次所在的目錄(改變後之前的 ...
  • ls:即列表List的意思,用來列出目錄下的文件用來列出給定目錄下的文件,參數為空預設列出當前目錄下的文件。 用法是:ls [選項] [目錄] 常用的選項有 -a, –all 列出目錄下的所有文件,包括以 . 開頭的隱含文件 -A 列出除了"."和".."以外的文件。 -l 列出文件的詳細信息,如創 ...
  • 一、 ioremap() 函數基礎概念 幾乎每一種外設都是通過讀寫設備上的相關寄存器來進行的,通常包括控制寄存器、狀態寄存器和數據寄存器三大類,外設的寄存器通常被連續地編址。根據CPU體繫結構的不同,CPU對IO埠的編址方式有兩種: a -- I/O 映射方式(I/O-mapped) 典型地,如X ...
  • 環境準備 準備兩台主機,如centos6和centos7 centos7當作server伺服器 關閉selinux 關閉防火牆 安裝 cobbler包光碟里是沒有的,要配置epel源,這裡就說怎麼配置epel源了,在yum.repos.d/目錄下照葫蘆畫瓢就可,配置好後執行如下命令安裝 安裝成功後, ...
  • 第一步 :安裝Apache服務程式(軟體包名為httpd) * yum install httpd 第二步:配置httpd.conf文件 * vi /etc/httpd/conf/httpd.conf //使用vi編輯器打開httpd.conf文件 * 找到DocumentRoot 並修改路徑到自己 ...
  • 基於ES語法封裝屬於自己的AJAX庫、用到了類、構造函數的思想 ...
  • /:根目錄,一般只存放目錄,不存放文件 /bin -> /usr/bin:可執行二進位文件的目錄,也是常用命令目錄,如常用的命令ls,cat,mv 等 /boot:該目錄中存放系統的內核文件,系統引導時使用的各種文件 /dev:設備(device)文件目錄,存放linux系統下的設備文件,訪問該目錄 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...