Linux 目錄結構及詳細操作



image


Linux 目錄結構及詳細操作

目錄結構

常見的目錄結構

  • Windows下:
    • D: \ProgramFiles
  • Linux下:
    • /etc/sysconfig

根目錄結構示意圖(倒掛樹),圖中的箭頭代表軟連接的關系,相當於Windows的快捷方式

img


image


目錄結構的特點

  1. Linux系統中的目錄一切從根開始
  2. Linux系統中的目錄結構擁有層次
  3. Linux系統中的目錄需要掛載使用

目錄結構掛載

系統目錄可以掛載任何磁盤設備上

磁盤空間沒有被掛載是不能使用的

# 掛載命令及格式
mount [磁盤路徑] [掛載的路徑]
# 查看本機掛載的命令
[root@localhost dev]# df -h
# 卸載掛載的磁盤
[root@localhost dev]# umount /mnt/

目錄結構發展

  • 第一塊磁盤:用來存放系統程序 ---> /
  • 第二塊磁盤:存儲數據(數據盤)---> /usr
  • 第三塊磁盤:用於分類管理用戶 ---> /home

關閉selinux(了解)

臨時關閉
[root@localhost ~]# setenforce 0
永久關閉
[root@localhost ~]# vim/etc/selinux/config
修改文件內參數
SELINUX=disabled

重要目錄說明(etc目錄說明)

etc目錄詳細操作


1、網卡配置文件

1、文件信息如下:

# 網卡配置文件(有以下幾種情況,通過ip a 查看自己的名稱)
	/etc/sysconfig/network-scripts/ifcfg-eth0
	/etc/sysconfig/network-scripts/ifcfg-eth1
	/etc/sysconfig/network-scripts/ifcfg-ens32
	/etc/sysconfig/network-scripts/ifcfg-ens33

2、重載網卡信息:

# 查看本機網絡信息的命令
ip a 或 ip address show  (老版本的命令:ifconfig)
# 重載網卡信息
systemctl restart network
		或
ifdown [網卡名稱] && ifup [網卡名稱]

# 確認網卡配置是否正確
vim /etc/sysconfig/network-scripts/ifcfg-eth0

# 關閉網絡管理器(因為已經有了network)
systemctl  stop NetworkManager
systemctl  disable NetworkManager
		或
systemctl  disable --now  NetworkManager


2、解析配置文件

作用:用於設置DNS解析地址

文件信息:/etc/resolv.conf  #  臨時dns配置文件

nameserver 114.114.114.114
# 判斷SSH服務是否開啟
systemctl status sshd

# 查看操作系統的DNS:
[root@localhost sys]# cat  /etc/resolv.conf 
nameserver 114.114.114.114
# DNS可以修改,# vim  /etc/resolv.conf

# 多種DNS
114.114.114.114 中國電信
223.5.5.5/223.6.6.6	中國阿里雲
8.8.8.8 谷歌

3、主機名稱文件

文件信息:/etc/hostname

配置主機名稱信息,永久生效

# 主機名稱文件
1、查看當前主機名稱信息/臨時修改
查看:hostname
臨時修改:hostname baidu

2、永久修改
[root@baidu ~]# vim /etc/hostname	# 需要重啟生效
[root@baidu ~]# hostnamectl set-hostname oldboy # 立即生效	

# 區別上
3、ps:自定義系統登錄用戶信息
PS1 環境變量
[root@localhost ~]# echo $PS1
[\u@\h \W]\$
[root@localhost ~]# PS1='[\u@\h --- \W]\$'

# 補充:通過域名查看ip地址,百度舉例
[root@localhost ~]# ping www.baidu.com
PING www.a.shifen.com (112.80.248.75) 56(84) bytes of data.
# 遠程的ip地址:112.80.248.75

4、解析映射文件

相當於windows 系統中,C:\Windows\System32\drivers\etc\hosts;

解析映射文件相當於本地的DNS;

  • 文件信息:/etc/hosts

  • 作用說明:用於設置DNS域名與IP地址對應關系

# 本地解析,可以在windows中的hosts文件中添加解析
106.13.91.75  《==》 www.test.com
# 這樣通過ip地址或者映射后的域名都可以訪問到服務器

5、磁盤掛載文件

  • 文件信息:/etc/fstab
  • 作用說明:實現指定設備文件信息,進行開機自動掛載
[root@localhost /]# cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Thu Dec  9 18:57:52 2021
#
# 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
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=046a66f5-d610-42fd-a0ec-c98793ff6320 /boot                   xfs     defaults

# 通過df -h 查看掛載信息
[root@localhost /]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 475M     0  475M   0% /dev
tmpfs                    487M     0  487M   0% /dev/shm
tmpfs                    487M  7.6M  479M   2% /run
tmpfs                    487M     0  487M   0% /sys/fs/cgroup
/dev/mapper/centos-root  100G  2.2G   98G   3% /
/dev/sda1                509M  132M  378M  26% /boot
tmpfs                     98M     0   98M   0% /run/user/0

可以發現/boot和/的掛載信息是一樣的

6、開機加載腳本

  • 文件信息:/etc/rc.local
  • 作用說明:實現系統啟動后,讀取文件中的命令,從而實現一些操作隨系統啟動自動運行
  • 使用方法:chmod +x /etc/rc.d/rc.local (centos7中需要執行此命令,才能使用此文件)

說明:類似Windows中開機啟動的文件,可以通過任務管理器中的啟動查看在Windows中開機啟動的程序有哪些

# 驗證Linux中開機自啟動示例
# 在/etc/rc.local中加入執行語句
vim /etc/rc.local
echo 'hello' > test
# 設置開機自啟動權限
chomd +x /etc/rc.d/rc.local
# 重啟系統
reboot
# 查看test文件是否寫入了hello
cat test

7、系統啟動級別

級別對應參數一覽表:

啟動級別 級別對應命令 描述
0 shutdown.target 關機(不要設置,不然會一直關機)
1 emergency.target 單用戶模式,root權限
2 rescure.target 多用戶模式,沒有NFS和網絡支持
3 multi-user.target 完整的多用戶文本模式,有NFS和網絡,登錄后進入控制台命令行模式
4 待定
5 graphical.target 圖形化模式,登錄后進入圖形GUI模式
6 重啟模式,默認運行級別不能設為6,否則不能正常啟動。運行init6機器就會重啟

  • 命令格式:

    • systemctl [command] [unit.target]
  • command參數如下表

參數 描述
get-default 取得當前的target
set-default 設置指定的target為默認的運行級別
isolate 切換到指定的運行級別
unit.target 上面列出的運行級別
  • 設置系統級別:

    init [編號]			---臨時設置
    systemctl set-default [系統啟動級別] ---永久
    
  • 查看系統級別文件保存路徑

    [root@localhost /]# cd /usr/lib/systemd/system
    [root@localhost system]# ls
    lrwxrwxrwx. 1 root root   15 Dec  9 18:58 runlevel0.target -> poweroff.target
    lrwxrwxrwx. 1 root root   13 Dec  9 18:58 runlevel1.target -> rescue.target
    drwxr-xr-x. 2 root root   50 Dec  9 18:58 runlevel1.target.wants
    lrwxrwxrwx. 1 root root   17 Dec  9 18:58 runlevel2.target -> multi-user.target
    drwxr-xr-x. 2 root root   50 Dec  9 18:58 runlevel2.target.wants
    lrwxrwxrwx. 1 root root   17 Dec  9 18:58 runlevel3.target -> multi-user.target
    drwxr-xr-x. 2 root root   50 Dec  9 18:58 runlevel3.target.wants
    lrwxrwxrwx. 1 root root   17 Dec  9 18:58 runlevel4.target -> multi-user.target
    drwxr-xr-x. 2 root root   50 Dec  9 18:58 runlevel4.target.wants
    lrwxrwxrwx. 1 root root   16 Dec  9 18:58 runlevel5.target -> graphical.target
    drwxr-xr-x. 2 root root   50 Dec  9 18:58 runlevel5.target.wants
    lrwxrwxrwx. 1 root root   13 Dec  9 18:58 runlevel6.target -> reboot.target
    
  • 示例如下:

    # 1、獲得當前的運行級別
    [root@localhost ~]# systemctl get-default
    multi-user.target
    
    # 2、設置默認的運行級別為mulit-user
    [root@localhost ~]# systemctl set-default multi-user.target
    [root@localhost ~]# systemctl get-default
    multi-user.target
    
    # 3、在不重啟的情況下,切換到運行級別mulit-user下
    [root@localhost ~]# systemctl isolate multi-user.target 
    
    # 4、在不重啟的情況下,切換到圖形界面下
    [root@localhost ~]# systemctl isolate graphical.target 
    
  • 補充:解決忘記密碼問題,通過單用戶模式解決

    # 通過單用戶模式修改密碼
    重啟,虛擬機
    在啟動選擇系統內核界面,按 e 鍵進入單用戶模式
    找到 linux16 開頭行,刪除 ro , 並且在 ro 處添加 rw init=/sysroot/bin/sh
    按 ctrl + x 進行系統重新引導
    執行 chroot /sysroot
    執行 passwd root
    執行 touch /.autorelabel
    執行 Ctrl + D 兩次
    reboot重啟系統
    

8、變量加載文件(環境變量)

  • 文件信息:/etc/profile

  • 作用說明:配置環境變量和別名文件

  • 增加環境變量有兩種方式:

    • 臨時添加
    • 永久添加
  • 增加環境變量的格式:

    • export ’[環境變量名] = [路徑]

    示例如下:

    export PYTHON_HOME='D:/python'
    
  • 查看本機的環境變量:

    • printenv命令 : 查看所有的環境變量
    • echo $PYTHON_HOME : 查看某一個環境變量

示例如下:

# 修改或添加環境變量主要修改以下四個文件和目錄內添加.shw
# 修改下面兩個文件
    /etc/profile
    /etc/bashrc

# 修改下面兩個文件
 	~/.bash_profile
    ~/.bashrc

# 目錄
    /etc/profile.d/  # 在該目錄下創建文件后要添加執行權限

# 讀取環境變量的幾種情況,以及使用文件的先后順序
	1、重啟
		/etc/profile.d --> /etc/profile --> /etc/bashrc --> ~/.bashrc --> ~/.bash_profile
	2、切換用戶
		/etc/profile.d --> /etc/bashrc --> ~/.bashrc
		ps:
			useradd [用戶名]
			su [用戶名]
	3、重新登錄用戶
		1、su - [用戶名]
			/etc/profile.d --> /etc/profile --> /etc/bashrc --> ~/.bashrc --> ~/.bash_profile
			
		2、ssh root@192.168.15.101
			/etc/profile.d --> /etc/profile --> /etc/bashrc --> ~/.bashrc --> ~/.bash_profile

9、登錄提示文件

  • 文件信息 1:/etc/motd (登錄之后提示的信息)
  • 作用說明:文件中內容,會在用戶登錄系統之后進行顯示
  • 文件信息 2:/etc/issue (登錄之前提示的信息)
  • 作用說明:文件中內容,會在用戶登錄系統之前進行顯示

示例如下:

# 登錄之后提示小火龍圖畫,issue文件也是一樣的
[root@localhost ~]# vim /etc/motd

      \                    / \  //\ 
       \    |\___/|      /   \//  \\  
            /0  0  \__  /    //  | \ \    
           /     /  \/_/    //   |  \  \   
           @_^_@'/   \/_   //    |   \   \   
           //_^_/     \/_ //     |    \    \   
        ( //) |        \///      |     \     \   
      ( / /) _|_ /   )  //       |      \     _\  
    ( // /) '/,_ _ _/  ( ; -.    |    _ _\.-~        .-~~~^-.
  (( / / )) ,-{        _      `-.|.-~-.           .~         `.  
 (( // / ))  '/\      /                 ~-. _ .-~      .-~^-.  \
 (( /// ))      `.   {            }                   /      \  \
  (( / ))     .----~-.\        \-'                 .~         \  `. \^-.
             ///.----..>        \             _ -~             `.  ^-`  ^-_ 
               ///-._ _ _ _ _ _ _}^ - - - - ~                     ~-- ,.-~
                                                                  /.-~

重要目錄說明(/usr目錄說明)

  • 文件信息:/usr/local
  • 作用說明:編譯安裝軟件的默認目錄

示例如下:

# yum安裝python:
yum install python3

重要目錄說明(/var目錄說明)

  1. 重要文件-重要日志文件1:

    • 文件信息:/var/log/messages
    • 作用說明:軟件安裝運行以及系統運行異常日志文件
  2. 重要文件-重要日志文件2:

    • 文件信息:/var/log/secure (說明:此文件具有日志切割功能)

    • 作用說明:系統用戶登錄情況日志信息

    • 文件使用:grep 'Failed' /var/log/secure

查看日志:

# 先查看5行吧,太多了占地
[root@localhost log]# head -5 /var/log/messages
Dec 12 16:13:02 localhost rsyslogd: [origin software="rsyslogd" swVersion="8.24.0-55.el7" x-pid="1470" x-info="http://www.rsyslog.com"] rsyslogd was HUPed
Dec 12 16:47:59 localhost systemd: Started Delayed Shutdown Service.
Dec 12 16:47:59 localhost systemd-shutdownd: Shutting down at Sun 2021-12-12 16:57:59 CST (poweroff)...
Dec 12 16:48:08 localhost systemd-shutdownd: Shutdown canceled.
Dec 12 17:01:01 localhost systemd: Started Session 3 of user root.

重要目錄說明(/proc目錄說明)

  1. 重要文件-重要信息文件1:
    • 文件信息:/proc/cpuinfo
    • 作用說明:用於查看系統CPU信息情況文件
    • 相關命令:lscpu
[root@localhost proc]# lscpu
		或
[root@localhost proc]# cat cpuinfo
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                1
On-line CPU(s) list:   0
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 158
Model name:            Intel(R) Core(TM) i5-8300H CPU @ 2.30GHz
Stepping:              10
CPU MHz:               2303.999
BogoMIPS:              4607.99
Hypervisor vendor:     VMware
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              8192K
NUMA node0 CPU(s):     0

  1. 重要文件-重要信息文件
    • 文件信息:/proc/meminfo
    • 作用說明:用於查看系統內存信息情況文件
    • 相關命令:free -h

示例如下:

[root@localhost proc]# head  -5  /proc/meminfo
MemTotal:         995676 kB
MemFree:          689728 kB
MemAvailable:     672864 kB
Buffers:            2104 kB
Cached:            94548 kB

# 用free看內存信息會更直觀
[root@localhost proc]# free -h
              total        used        free      shared  buff/cache   available
Mem:           972M        185M        673M        7.5M        113M        656M
Swap:            0B          0B          0B

  1. 重要文件-重要信息文件
    • 文件信息:/proc/loadavg
    • 作用說明:用於查看系統負載信息情況文件,用於衡量系統繁忙程度
    • 相關命令:w

示例如下:

[root@localhost proc]# cat loadavg
0.13 0.04 0.05 1/113 1839

0.13 :1分鍾內CPU負載
0.04 :5分鍾內CPU負載
0.05 :15分鍾內CPU負載
負載:當前系統的所有進程占用CPU的時間比


[root@localhost proc]# w
 19:19:11 up  1:55,  1 user,  load average: 0.08, 0.04, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.15.1     17:24    7.00s  0.10s  0.01s w

# w命令的數據來源是/proc/loadavg

  1. 重要文件-重要信息文件

    • 文件信息:/proc/mounts

    • 作用說明:用於查看系統掛載信息情況文件

    • 相關命令:mount : 掛載

      ​ umount : 卸載掛載

      ​ df - h : 查看掛載

示例如下:

[root@localhost proc]# 
[root@localhost proc]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 475M     0  475M   0% /dev
tmpfs                    487M     0  487M   0% /dev/shm
tmpfs                    487M  7.6M  479M   2% /run
tmpfs                    487M     0  487M   0% /sys/fs/cgroup
/dev/mapper/centos-root  100G  2.2G   98G   3% /
/dev/sda1                509M  132M  378M  26% /boot
tmpfs                     98M     0   98M   0% /run/user/0

補充知識:

  • dev是操作硬件的入口
  • 解析文件順序,先本地(hosts)后配置

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM