1.1  Linux系统目录结构,相对/绝对路径。

     1.2  创建/复制/删除文件,rm -rf / 意外事故

     1.3查看文件内容

     1.4实战-xfs文件系统的备份和恢复

 

 

1.1  Linux系统目录结构,相对/绝对路径。

1.1.1  linux系统目录结构

Linux系统中有没有所谓的本地磁盘C D E?

/ 通常称为根分区。 所有的文件和目录的起始点 只有root用户对此目录拥有写权限。

 

/etc  /etc/passwd 账号文件  /etc/init.d/network等。

配置文件  包含所有应用程序的配置文件,也包含启动、关闭某个特定程序的脚本,

 

/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

1.1.2      绝对路径和相对路径

路径:在我们平时使用计算机时要找到需要的文件就必须知道文件的位置,而表示文件的位置的方式就是路径。

绝对路径:

在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.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 再创建时连通父目录一起创建

 

 

1.3 查看文件

cat

作用:查看文件内容

语法:cat 文件名

 

 

more  +  文件名 分页

例:

more /etc/passwd

按下回车刷新一行,按下空格刷新一屏

q 退出

 

 

less  查看文件名字  分页

q 退出

使用光标键可以向上翻页


linux中more与less的区别

  • more:不支持后退,但几乎不需要加参数,空格键是向下翻页,Enter键是向下翻一行,在不需要后退的情况下比较方便。

less:支持前后翻滚,既可以向上翻页(pageup按键),也可以向下翻页(pagedown按键)。,空格键是向下翻页,Enter键是向下翻一行  只是没有%比

 

head  前几行

-n 数字    显示多少行

[root@xuegod60~]# head -3 /etc/passwd

 

tail

从第后一行开始,查看文件,默认显示最后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  强行删除

 

 

 

1.4 实战:xfs文件系统的备份和恢复

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

 

 

1)对整个分区进行备份

 

[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