1.1 Linux系統目錄結構,相對/絕對路徑。node
1.2 建立/複製/刪除文件,rm -rf / 意外事故linux
1.3查看文件內容vim
1.4實戰-xfs文件系統的備份和恢復session
Linux系統中有沒有所謂的本地磁盤C D E?多線程
/ 一般稱爲根分區。 全部的文件和目錄的起始點 只有root用戶對此目錄擁有寫權限。less
/etc /etc/passwd 帳號文件 /etc/init.d/network等。ide
配置文件 包含全部應用程序的配置文件,也包含啓動、關閉某個特定程序的腳本,工具
/boot 存放Linux系統啓動時須要加載的文件。 grub2 kernel性能
/var 是一個可增加的目錄,包含很常常變的文件。 例如,/var/log(系統日誌)測試
/root 管理員全部數據。 root用戶的家目錄
/tmp 臨時文件存儲位置 不能存放重要的數據
/usr usr表示的是unix software source
/usr/src 源代碼目錄
/bin 命令 此目錄包含二進制可執行文件。
/sbin 系統命令 ,此目錄中的命令主要供系統管理員使用,以進行系統維護
/mnt 掛載目錄 掛載點,系統管理員可用於臨時掛載文件系統。/media
/dev 包含設備文件。在Linux中,一切都被看作文件。終端設備、磁盤等等都被看作文件.
/home 普通用戶全部數據存放在這個目錄下
/proc 咱們能夠經過直接訪問這個目錄來獲取系統信息。
查看我們的內存信息,CPU信息
cat /proc/meminfo | grep 「Mem」
查看cpu
cat /proc/cpuinfo
/lib 存放系統的庫文件
lib庫包括動態運行庫和靜態庫。
lib***.a是靜態庫
lib***.so是動態庫
靜態庫在編譯時被加載到二進制文件中
動態庫在運行時加載到進程的內存空間中
其做用相似於Windows裏的.dll文件
這些庫就是爲了讓你的程序可以正常編譯運行的。
總結:
本地管理員大多數狀況下將額外的軟件安裝在/usr/local目錄下並符號鏈接在/usr/local/bin下的主執行程序。
·系統的全部設置在/etc目錄下。
不要修改根目錄(「/」)或/usr目錄下的任何內容,
目錄最好和LINUX發佈時保持一致。
大多數工具和應用程序安裝在目錄:/bin, /usr/sbin, /sbin,
全部的文件在單一的目錄樹下。沒有所謂的「驅動符
6 1
路徑:在咱們平時使用計算機時要找到須要的文件就必須知道文件的位置,而表示文件的位置的方式就是路徑。
絕對路徑:
在Linux中,絕對路徑是從」/」開始的,好比/usr、/etc/passwd。若是一個路徑是從/開始的,它必定是絕對路徑
[root@localhost ~]# pwd
注:判斷用戶當前所處的位置,也就是說他到底位於哪?
/root
注:用戶當前位於/root;
[root@localhost ~]# cd /etc/sysconfig/network-scripts
注:咱們以絕對路徑方式進入/目錄下;
[root@localhost doc]# pwd
注:判斷用戶當前所處的位置
/etc/sysconfig/network-scripts
注:用戶位於/etc/sysconfig/network-scripts,看來已經達到咱們的目的.
ok!!!
相對路徑:
相對路徑是以 . 或 .. 開始的,
.表示用戶當前操做所處的位置
.. 表示上級目錄
實驗1 :
[root@localhost ~]# pwd
注:經過pwd來判斷當前用戶所在的位置;
/root
注:得出目錄處於/root目錄中;
[root@localhost ~]# cd .
注:咱們進入.
[root@localhost ~]# pwd
注:判斷當前用戶所處的位置;
/root
注:得出在/root 目錄中 ;
舉例實驗: 實驗2
肯定當前的位置是/root
[root@localhost ~]# cd ..
注:咱們切入/root的上級目錄
[root@localhost /]# pwd
注:判斷當前用戶所處的位置。
/
注:用戶當前位於/(根目錄)中;
1.2.1-1 建立文件和文件夾
touch
做用:經常使用來建立空文件
語法: touch 文件名
[root@xuegod60 ~]# touch san.txt
mkdir
做用:建立目錄
語法:mkdir 目錄名
[root@xuegod60 ~]#mkdir test
[root@xuegod60~]# mkdir -p test/a/b/c 建立嵌套目錄, test下包含a目錄,a包含b,b包含c
-p 再建立時連通父目錄一塊兒建立
做用:查看文件內容
語法:cat 文件名
例:
more /etc/passwd
按下回車刷新一行,按下空格刷新一屏
q 退出
q 退出
使用光標鍵能夠向上翻頁
linux中more與less的區別
more:不支持後退,但幾乎不須要加參數,空格鍵是向下翻頁,Enter鍵是向下翻一行,在不須要後退的狀況下比較方便。
less:支持先後翻滾,既能夠向上翻頁(pageup按鍵),也能夠向下翻頁(pagedown按鍵)。,空格鍵是向下翻頁,Enter鍵是向下翻一行 只是沒有%比
-n 數字 顯示多少行
[root@xuegod60~]# head -3 /etc/passwd
從第後一行開始,查看文件,默認顯示最後10行
-n 顯示多少行
-f 動態顯示數據(不關閉) 經常使用來查看日誌
實驗
1.
root@xuegod61~]# vim aa.txt
[root@xuegod61~]# vim aa.txt
[root@xuegod61~]# cat aa.txt
11111111111111111
22222222222222222222
33333333333333333333
44444444444444444444
55555555555555555555
[root@xuegod61~]# head -3 aa.txt
11111111111111111
22222222222222222222
33333333333333333333
[root@xuegod61~]# head -3 aa.txt | tail -1
33333333333333333333
[rot@xuegod61~]#:
2. [root@xuegod61 ~]# cataa.txt
11111111111111111
22222222222222222222
33333333333333333333
44444444444444444444
55555555555555555555
[root@xuegod61~]# grep 3 aa.txt 3 關鍵字
33333333333333333333
[root@xuegod61~]#
3
[root@xuegod61~]# cat aa.txt
11111111111111111
22222222222222222222
33333333333333333333
44444444444444444444
55555555555555555555
[root@xuegod61~]# tail -3 aa.txt
33333333333333333333
44444444444444444444
55555555555555555555
[root@xuegod61~]# tail -3 aa.txt | head -1
33333333333333333333
[root@xuegod61~]#
cp
cp
做用:複製文件
語法:cp 源文件 目標文件
-r 包含子目錄和文件 。
[root@xuegod60 ~]# cp-r /boot/grub2/ /root/ 注意:R能夠大寫
rm
做用:刪除文件或目錄
語法: rm -rf 文件或目錄名
-r 遞歸刪除(能夠刪除目錄和目錄裏面的東西)
-f 強行刪除
XFS提供了 xfsdump 和 xfsrestore 工具協助備份XFS文件系統中的數據。xfsdump 按inode順序備份一個XFS文件系統。與傳統的UNIX文件系統不一樣,XFS不須要在dump前被卸載;對使用中的XFS文件系統作dump就能夠保證鏡像的一致性。這與XFS對快照的實現不一樣,XFS的dump和restore的過程是能夠被中斷而後繼續的,無須凍結文件系統。xfsdump 甚至提供了高性能的多線程備份操做——它把一次dump拆分紅多個數據流,每一個數據流能夠被髮往不一樣的目的地。
添加一塊磁盤:
添加一塊磁盤:
[root@xuegod60 ~]# fdisk /dev/sdb #指定分區的設備
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): n #建立一個新的分區
Partition type:
p primary (2 primary, 0 extended, 2 free) #建立主分區
e extended #建立擴展分區
Select (default p):
Using default response p
Partition number (3,4, default 3): #指定分區號
First sector (25593856-41943039, default 25593856): #指定分區的開始柱面
Using default value 25593856
Last sector, +sectors or +size{K,M,G} (25593856-41943039, default41943039): +1G #指定分區大小
Partition 3 of type Linux and of size 1 GiB is set
Command (m for help): p #打印分區表
Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00083333
Device Boot Start End Blocks Id System
/dev/sdb1 25593856 27691007 1048576 83 Linux
Command (m for help): w #保存
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device orresource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
[root@xuegod60 ~]# ls /dev/sdb*
/dev/sdb
[root@xuegod60 ~]# partprobe /dev/sdb
[root@xuegod60 ~]# ls /dev/sdb*
/dev/sdb /dev/sdb1
[root@xuegod60 ~]# mkfs.xfs /dev/sdb1 #格式化分區
[root@xuegod60 ~]# mkdir /sdb1 #建立掛載點
[root@xuegod60 ~]# mount /dev/sdb1 /sdb1/ #掛載
準備備份測試文件
[root@xuegod60 ~]# cp /etc/passwd /sdb1/
[root@xuegod60 ~]# mkdir /sdb1/test
[root@xuegod60 ~]# ls /sdb1/
passwd test
[root@xuegod60~]# xfsdump -f /opt/dump_sdb1 /sdb1
注意:備份的設備這裏不能寫成/sdb1/
xfsdump:using file dump (drive_simple) strategy
xfsdump:version 3.1.4 (dump format 3.0) - type ^C for status and control
============================= dump labeldialog ==============================
pleaseenter label for this dump session (timeout in 300 sec)
-> dump_sdb1
#指定備份標籤 備份後文件的名稱
sessionlabel entered: "dump_sdb1"
---------------------------------end dialog ---------------------------------
xfsdump:level 0 dump of xuegod60.cn:/sdb1
xfsdump:dump date: Thu Jan 28 22:01:25 2016
xfsdump:session id: 29356f1f-8957-4fe0-ad70-2ae087f27abe
xfsdump:session label: "dump_sdb1"
xfsdump:ino map phase 1: constructing initial dump list
xfsdump:ino map phase 2: skipping (no pruning necessary)
xfsdump:ino map phase 3: skipping (only one dump stream)
xfsdump:ino map construction complete
xfsdump:estimated dump size: 25536 bytes
xfsdump:/var/lib/xfsdump/inventory created
============================= media labeldialog =============================
pleaseenter label for media in drive 0 (timeout in 300 sec)
-> media0
#指定設備標籤
medialabel entered: "media0"
--------------------------------- end dialog---------------------------------
xfsdump:creating dump session media file 0 (media 0, file 0)
xfsdump:dumping ino map
xfsdump:dumping directories
xfsdump:dumping non-directory files
xfsdump:ending media file
xfsdump:media file size 24232 bytes
xfsdump:dump size (non-dir files) : 2592 bytes
xfsdump:dump complete: 48 seconds elapsed
xfsdump:Dump Summary:
xfsdump: stream 0 /opt/dump_sdb1 OK (success)
xfsdump: Dump Status: SUCCESS
查看opt目錄有 內容OK
刪除內容
進行非交互式
針對分區
[root@xuegod60~]# xfsdump -f /opt/dump_sdb1 /sdb1 -L dump_sdb1 -M media0
查看內容
針對指定文件或目錄進行備份
[root@xuegod60~]# xfsdump -f /opt/dump_sdb1_passwd -s passwd /sdb1 -L dump_sdb1_passwd -Mmedia1
查看內容
文件系統恢復
首先,模擬數據被刪除
[root@xuegod60~]# rm -rf /sdb1/*
恢復
[root@xuegod60~]# /設備pt/dump_sdb1 /sdb1/
查看 /sdb1
刪除passwd
只恢復單個的目錄或文件
[root@xuegod60~]# xfsrestore -f /opt/dump_sdb1_passwd -s passwd /sdb1/
查看/sdb1