linux目錄結構: 一切從根開始,一個倒掛的樹node
windows目錄結構:按照盤符進行劃分 C盤:linux
linux系統中的掛載技術shell
讓用戶能夠將一個目錄做爲一個存儲設備的掛載點,經過掛載點能夠看到存儲設備中的數據數據庫
實際操做演示linux系統掛載過程vim
第一個步驟:擁有一個存儲設備-光驅 使光驅加載光盤windows
第二個步驟:在linux系統中找到光驅設備centos
[root@jarvis ~]# ls -l /dev/cdrom device 設備目錄 lrwxrwxrwx. 1 root root 3 Mar 29 12:02 /dev/cdrom -> sr0
第三個步驟:須要將存儲設備進行掛載安全
掛載命令語法格式:mount 掛載設備文件信息 掛載點(目錄信息)bash
mount /dev/cdrom /mnt服務器
PS:掛載點目錄必須存在
[root@jarvis /]# mount /dev/cdrom /mnt mount: /dev/sr0 is write-protected, mounting read-only mount: /dev/sr0 是一個寫保護的設備,掛載以後目錄是一個只讀狀態 [root@jarvis /]# cd /mnt [root@jarvis mnt]# ls CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7 EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
FHS目錄規範標準
bin 說明:命令,二進制文件的存放目錄 備註:binary /bin==/usr/bin
sbin 說明:超級命令,只有root用戶能用的命令 備註:super binary /sbin==/usr/sbin
boot 說明:系統引導程序和系統內核
dev 說明:設備 光驅 硬盤 備註:device:掛載才能使用
etc 說明:存放系統或服務的配置文件
home 說明:普通用戶的家目錄
root 說明:root用戶的家目錄
lib 說明:庫文件存放目錄 備註:libary
lib64 說明:庫文件存放目錄(64位系統)
lost+found 說明:磁盤、文件系統損壞 斷電 臨時存放文件 備註:數據恢復會用到
mnt 說明:臨時的掛載點目錄 備註:掛載點:給設備臨時掛載用
opt 說明:第三方軟件安裝在這裏
proc 說明:虛擬目錄,顯示內存中信息(進程 服務信息 內核)備註:目錄中的數據都存儲到磁盤
/etc/selinux 說明:selinux及它的配置文件存放的位置 備註:管理一些root用戶
sys 說明:虛擬的目錄 內存信息
tmp 說明:臨時的文件的存放位置 垃圾堆
usr 說明:存放用戶的程序 user/unix software resource
var 說明:常常變化的文件 系統日誌 相關服務日誌文件 備註:variable
系統中將命令分爲了兩個大類
網卡配置文件
文件內容信息
檢查網卡配置文件 [root@jarvis ~]# ls /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0 查看網卡配置文件 [root@jarvis ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 須要瞭解的 TYPE=Ethernet --指定網絡類型 以太網Ethernet BOOTPROTO=none --網絡啓動協議 如何讓主機獲得IP地址 本身手動配置 none static(靜態) 自動獲取地址 dhcpd(瞭解) NAME=eth0 --主機網卡的名稱 邏輯名稱 UUID=31d48995-e74f-4f99-8e19-0da439ea257b -- 虛擬主機,會給每一個硬件一個標識 DEVICE=eth0 -- 主機網卡的名稱 設備名稱物理名稱 ONBOOT=yes -- 設置網卡是否處於開啓狀態(激活狀態) IPADDR=10.0.0.200 -- 靜態配置IP地址 標識主機身份 PREFIX=24 -- 定義局域網網絡中能夠有多少主機 GATEWAY=10.0.0.2 -- 網關,局域網網絡出口 DNS1=223.5.5.5 -- DNS(創建名稱和IP地址的對應關係,域名解析)14.215.177.38 -- 名稱 Linux系統中服務配置文件被修改後,不會當即生效,須要重啓服務(從新加載讀取配置文件過程),才能使配置生效。
配置文件修改重啓服務 方法一: systemctl restart network 針對全部網卡進行重啓 systemctl status network 針對全部網卡進行開啓 方法二:企業中常見用法 ifdown eth0 && ifup eth0 針對指定網卡進行重啓 &&表明前一個命令執行成功後,再執行後面的命令 異常問題:網卡配置文件正確,沒法重啓網絡服務 systemctl stop NetworkManager 網絡管理服務關閉
DNS解析配置文件
網卡配置裏面的DNS配置更優 [root@jarvis ~]# vi /etc/resolv.conf #Generated by NetworkManager search com nameserver 10.10.10.10
主機名稱文件配置文件
DNS解析映射文件
磁盤掛載文件
umount /mnt 卸載掛載點的設備
df 查看磁盤掛載狀況/查看磁盤使用狀況
查看swap
/etc/fstab --- 實現存儲設備開啓自動掛載配置文件
[root@jarvis ~]# vi /etc/fstab [root@jarvis ~]# cat /etc/fstab UUID=e2fc8646-2b36-47cc-a35a-8c1vi3208f4d0b / xfs defaults 0 0 UUID=34fc45ba-c38c-42bc-a120-90f9d5dd2382 /boot xfs defaults 0 0 UUID=62100743-6f8a-4f83-a37d-e2088c4830e2 swap swap defaults 0 0 定義存儲設備文件信息 掛載點 /dev/cdrom /mnt ??? defaults 0 0
開機自動加載文件
檢查開機加載文件是否存在 [root@jarvis ~]# ls -l /etc/rc.local 設置開機加載文件 [root@jarvis ~]# vi /etc/rc.local 裏面添加一條命令systemctl start sshd 檢查文件開頭那一段是否存在x [root@jarvis ~]# ls -l /etc/rc.local 檢查源文件開頭那一段是否存在x [root@jarvis ~]# ls -l /etc/rc.d/rc.local 沒有x輸入 [root@jarvis ~]# chmod +x /etc/rc.d/rc.local
總結:rc.loacl文件做用
文件中的內容信息,會在系統啓動以後進行加載
文件中的編寫內容,必定是命令信息
系統運行級別:
windows--系統出現故障--安全模式
系統啓動:服務程序 網絡 安全服務 --啓動級別
系統服務啓動 -- 啓動級別
查看系統運行級別方法:
切換運行級別:
臨時調整:
永久調整:
centos6:
centos7:
查看全部target信息
[root@jarvis ~]# ls -l /usr/lib/systemd/system/runlevel*target /usr/lib/systemd/system/runlevel0.target -> poweroff.target /usr/lib/systemd/system/runlevel1.target -> rescue.target /usr/lib/systemd/system/runlevel2.target -> multi-user.target /usr/lib/systemd/system/runlevel3.target -> multi-user.target /usr/lib/systemd/system/runlevel4.target -> multi-user.target /usr/lib/systemd/system/runlevel5.target -> graphical.target /usr/lib/systemd/system/runlevel6.target -> reboot.target
永久設置運行級別
[root@jarvis ~]# systemctl set-default rescue.target Removed symlink /etc/systemd/system/default.target. Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/rescue.target.
檢查默認運行級別
[root@jarvis ~]# systemctl get-default rescue.target
centos6啓動級別
centos7啓動級別:target目標
總結
變量加載文件
設置變量方法
調取變量方法($)
腳本概念:
腳本文件
[root@jarvis ~]# vi test.sh dir=abc mkdir /$dir/01 mkdir /$dir/02 mkdir /$dir/03 執行腳本 [root@jarvis ~]# sh test.sh
/etc/profile
做用:讓變量信息永久生效
vi /etc/profile
直接讓文件生效方法:
source /etc/profile
系統中變量的類型:
which 命令名 查看命令存放目錄
環境變量PATH做用
打印環境變量 [root@jarvis ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin 查看cat命令存放路徑 [root@jarvis ~]# which cat /usr/bin/cat 使用cat命令 [root@jarvis ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 10.0.0.200 oldboyedu.com 將cat命令剪切走 [root@jarvis ~]# mv /usr/bin/cat /jarvis 原來cat命令路徑下沒有cat名了 [root@jarvis ~]# ls /usr/bin/cat ls: cannot access /usr/bin/cat: No such file or directory 沒法使用cat命令 [root@jarvis ~]# cat /etc/hosts -bash: /usr/bin/cat: No such file or directory 修改PATH環境變量方法: 臨時修改: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/jarvis 永久設置: vi /etc/profile export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/jarvis
系統別名概念
[root@jarvis ~]# ls -l /etc/hosts -rw-r--r--. 1 root root 184 Apr 3 09:09 /etc/hosts [root@jarvis ~]# ll /etc/hosts -rw-r--r--. 1 root root 184 Apr 3 09:09 /etc/hosts 說明: ll命令就是ls -l命令的別名 做用: 別名可使命令操做更加簡單
需求01: 如何讓一下命令操做簡單
cat /etc/sysconfig/network-scripts/ifcfg-eth => catnet
查看系統別名默認設置: [root@jarvis ~]# alias alias cp='cp -i' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto' alias grep='grep --color=auto' alias l.='ls -d .* --color=auto' alias ll='ls -l --color=auto' alias ls='ls --color=auto' alias mv='mv -i' alias rm='rm -i' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde' 設置命名的語法: alias 別名名稱='命令信息' [root@jarvis ~]#alias catnet='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
需求02:rm 命令執行 == echo "rm command is weixian,not use"
alias rm='echo rm command is weixian,not use' [root@jarvis ~]# rm -rf /jarvis/ rm command is weixian,not use -rf /jarvis/ 使別名功能失效: 01. 取消別名 unalias rm 02. 利用撬棍 \rm -rf /jarvis 03. 絕對路徑方式執行命令 /usr/bin/rm -rf /jarvis 總結:/etc/profile文件做用 01. 永久設置變量信息 02. 設置別名信息
修改用戶家目錄中.bashrc
查看隱藏數據方法
[root@jarvis ~]# ls -a . .. anaconda-ks.cfg .bash_history .bash_logout .bash_profile .bashrc .cshrc .tcshrc 說明:linux系統中隱藏文件都是以點開頭 vi /root/.bashrc #alias rm='rm -i' 總結:和環境變量配置以及別名配置相關的文件有哪些 01 /etc/profile == /etc/bashrc 全局生效 02 ~/.bashrc == ~/.bash_profile 指定用戶生效(優先)
登陸以後提示文件
/etc/motd cat /etc/motd vi /etc/motd 做用:能夠對操做系統的用戶進行注意事項說明
登陸以前提示文件
/etc/issue /etc/issue.net 查看登錄以前提示文件 [root@jarvis ~]#cat /etc/issue \S Kernel \r on an \m 查看登錄以前提示文件 [root@jarvis ~]#cat /etc/issue.net \S Kernel \r on an \m 如何清空文件內容 echo "" >/etc/issue -- 清空文件 >/etc/issue -- 清空文件 [root@jarvis ~]# >/etc/issue [root@jarvis ~]# >/etc/issue.net 在文件中添加信息 [root@jarvis ~]# echo '歡迎使用' >/etc/issue
/usr/local
系統中如何安裝軟件
下載安裝軟件利用yum方式
第一個里程:本地配置源文件
[root@jarvis ~]# cd /etc/yum.repos.d/ [root@jarvis yum.repos.d]# ll -rw-r--r--. 1 root root 1664 Apr 29 2018 CentOS-Base.repo [base] name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/? release=$releasever&arch=$basearch&repo=os&infra=$infra 統一yum安裝的環境: https://opsx.alibaba.com/mirror curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 命令做用: 從阿里雲下載一個yum源文件,更新默認的/etc/yum.repos.d/CentOS-Base.repo,使下載環境統一
第二個里程:安裝軟件命令
yum install 軟件名稱
yum install -y vim tree wget net-tools nmap bash-completion(補全centos7的部分命令參數)
總結:yum安裝軟件常見問題
ll /var/log/
兩個重要的系統日誌文件
messages -- 記錄系統或服務程序運行的狀態信息 和 錯誤信息
secure(安全) -- 用戶登陸信息 做用:能夠進行監控文件的信息,檢查是否有過多登錄失敗記錄
[root@jarvis ~]# cat /var/log/secure Apr 4 11:35:29 oldboyedu sshd[3568]: Accepted password for root from 10.0.0.1 port 54913 ssh2 Apr 4 11:35:29 oldboyedu sshd[3568]: pam_unix(sshd:session): session opened for user root by (uid=0) 01 02 03 04 01. 用戶是什麼時間登陸的 02. 登陸的主機名稱 03. 使用什麼方式進行遠程登陸 04. 登陸狀況說明 正確登陸狀況說明 錯誤登陸狀況說明 如何查看日誌信息 head -5 /etc/profile --- 查看前面幾行信息 (默認查看前面10行內容) tail -6 /etc/profile --- 查看倒數幾行信息(默認查看倒數10行內容) tail -f /var/log/secure --- 查看日誌文件方法 一直追蹤查看文件內容的變化
CPU:
利用文件進行查看:
cat /proc/cpuinfo model name: Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz -- CPU品牌型號 physical id : 0 -- 表示CPU顆數 1顆 processor : 0 -- 表示CPU核數 1核 cpu cores : 1 physical id : 0 第一段 physical id : 0 -- 有兩顆CPU physical id : 0 第二段 physical id : 1 第三段 physical id : 1 physical id : 1 第四段 physical id : 0 processor : 0 -- 一顆CPU有兩個核心 physical id : 0 processor : 1 cpu cores : 2 physical id : 1 processor : 0 -- 一顆CPU有兩個核心 physical id : 1 processor : 1 cpu cores : 2 總共服務器有多少顆CPU 有多少核心 有兩顆CPU --> 2路的服務器 有4核心
利用命令進程查看:
lscpu --> 調取cpuinfo文件中的內容 Socket(s):(插槽) 2 --- 顯示服務器CPU顆數 Core(s) per socket: 2 --- 每顆CPU有幾核 CPU(s): 4 --- 整個服務器有幾核
負載(CPU處理任務過多)
利用文件進行查看:(監控) [root@jarvis ~]#cat /proc/loadavg 0.00 0.01 0.05 負載值CPU核數有關 1分鐘平均 5分鐘平均負載 15分鐘平均負載 利用命令進行查看: [root@jarvis ~]#w 12:41:06 up 38 min, 2 users, load average: 0.00, 0.01, 0.05 eg: 服務器4核的服務器 -- 負載值3左右,就要關注 服務器128核的服務器 -- 負載值100(數據庫服務器)
內存使用狀況
利用文件進行查看:
[root@jarvis ~]# cat /proc/meminfo MemTotal: 2030172 kB --- 內存總的容量 MemFree: 1738164 kB --- 內存的空閒容量 MemAvailable: 1714096 kB --- 內存的可用容量 Buffers: 2076 kB --- baffer空間 Cached: 90616 kB --- cacahe空間 SwapCached: 0 kB --- 交換分區使用狀況
利用命令進程查看:
[root@oldboyedu ~]# free -h --- 以人類可讀方式顯示內存容量信息 total used free shared buff/cache available(*) Mem: 1.9G 137M 1.7G 9.5M 148M 1.6G Swap: 1.0G 0B(*) 1.0G
磁盤信息/掛載信息
利用文件進行查看:
[root@jarvis ~]#cat /proc/mounts /dev/sda1 /boot xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0
利用命令進程查看:
[root@jarvis ~]# df -h 以人類可讀方式顯示磁盤容量信息 Filesystem Size Used Avail Use% Mounted on /dev/sda3 49G 1.6G 48G 4% / devtmpfs 981M 0 981M 0% /dev tmpfs 992M 0 992M 0% /dev/shm tmpfs 992M 9.6M 982M 1% /run tmpfs 992M 0 992M 0% /sys/fs/cgroup /dev/sda1 197M 102M 95M 52% /boot tmpfs 199M 0 199M 0% /run/user/0