1.1 Linux系统目录结构,相对路径/绝对路径
1.1.1 Linux系统目录结构
在linux系统中一切都是文件
/ 根目录,一切的起点,就像是一个树杈一样,他是所有叉的根
/bin
在单用户模式下,你需要使用的常见Linux命令都位于此目录下。系统的所有用户使用的命令都设在这里。
例如:ps、ls、ping、grep、cp
/sbin
就像/bin,/sbin同样也包含二进制可执行文件。
但是,在这个目录下的linux命令通常由系统管理员使用,对系统进行维护。例如:iptables、reboot、fdisk、ifconfig、swapon命令
/boot
系统启动时需要加载的文件都在这里
/dev 存放设备文件 在linux系统中设备也北看成是文件
/etc 存放系统配置文件,和程序配置文件
有很多,根据英文名称可知道其配置用途
如abrt---中断 environment环境
/etc/environment是设置整个系统的环境,而/etc/profile是设置所有用户的环境,前者与登录用户无关,后者与登录用户有关
/home 所有普通用户的家,存放普通用户的数据
/root 超级用户的家,存放超级用户的数据
/lib 系统库文件 有静态库和动态库 程序编译和运行的依仗
/lib64 系统64位库文件
/media 可卸载的多媒体设备
/mnt 用于挂载
/opt 这个随意用
/proc 可以查看系统状态
包含系统进程的相关信息。
这是一个虚拟的文件系统,包含有关正在运行的进程的信息。例如:/proc/{pid}目录中包含的与特定pid相关的信息。
这是一个虚拟的文件系统,系统资源以文本信息形式存在。例如:/proc/uptime
cat meminfo #查看内存使用状态
cat cpuinfo #查看cpu运行状态
/run
好吧,我目前也不太清楚他是存放的什么,看着像是系统运行时状态。
目前知道它的前身是/var/run
/srv
srv代表服务。
包含服务器特定服务相关的数据。
例如,/srv/cvs包含cvs相关的数据。
/sys
应该是存放的系统硬件的固定信息
/tmp
包含系统和用户创建的临时文件。
当系统重新启动时,这个目录下的文件都将被删除。
/usr
包含二进制文件、库文件、文档和二级程序的源代码。
/usr/bin中包含用户程序的二进制文件。如果你在/bin中找不到用户二进制文件,到/usr/bin目录看看。例如:at、awk、cc、less、scp。
/usr/sbin中包含系统管理员的二进制文件。如果你在/sbin中找不到系统二进制文件,到/usr/sbin目录看看。例如:atd、cron、sshd、useradd、userdel。
/usr/lib中包含了/usr/bin和/usr/sbin用到的库。
/usr/local中包含了从源安装的用户程序。例如,当你从源安装Apache,它会在/usr/local/apache2中。
/var
var代表变量文件。
这个目录下可以找到内容可能增长的文件。
这包括 - 系统日志文件(/var/log);包和数据库文件(/var/lib);电子邮件(/var/mail);打印队列(/var/spool);锁文件(/var/lock);多次重新启动需要的临时文件(/var/tmp);
1.1.2 相对路径/绝对路径
相对路径是相对于当前位置而言的,所以一般以. 或 ..开头
绝对路径是相对于/而言的,所以一般是以/开头
很好区分
1.2 创建/复制/删除文件,rm -rf / 意外事故
1.2.1 创建:touch
格式:touch 文件名
例如:touch a.txt
1.2.2 复制:cp
格式:cp 源文件 目标文件 #可带路径
加上参数-rf可复制目录
-r 递归的复制 recuursively
-f 不提示 force
1.2.3 删除:rm / rmdir
格式:rm 目标文件
rm -d 目录名
-d 要删除的文件为空目录
添加-rf参数也可以删除非空目录
-r -f 意思同cp
1.2.4 重命名/移动: mv
mv 原文件名 新文件名 #重命名
在文件名中添加路径即可实验移动
如:
mv a.txt bbb.txt #将文件a.txt重命名为bbb.txt
mv a.txt /root #将a.txt移动到/root目录下
1.3 查看文件内容
cat 文件名
more 文件名 | less 文件名
若文件文本较多,可使用这两个命令查看,区别自己研究吧
head 文件名 | tail 文件名
查看文件头或文件尾
加 -n 参数可查看文件头n行或倒数n行
若要单独查看文件的某一行可使用通道
例如:查看a.txt文件的第3行
head -3 a.txt | tail -1
1.4实战: xfs 文件系统的备份和恢复
第一步:首先关闭系统,添加一个硬盘
剩下的一路默认就可以了,最后点击确定,然后开机
第二步:查看新添加硬盘的文件名为sdb,对sdb进行分区
根据命令提示进行操作:
输入n添加一个新的分区
输入P创建一个主分区
编号和其实位置默认,直接回车即可
输入新建分区大小为1G,即输入+1G,回车,
输入w将执行分区操作,分区新建好了
第三步:对新建立的分区格式化,使用mkfs.xfs
也可以使用 mkfs -t xfs /dev/sdb1 命令
第四步:挂载/dev/sdb1分区
第五步:复制一个文件到/sdb1目录下,新建一个目录到/sdb1目录下,留作测试用
第六步:备份文件系统
[root@xiaogan ~]# xfsdump -f /opt/dump_sdb1 /dev/sdb1
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.4 (dump format 3.0) - type ^C for status and control
============================= dump label dialog ==============================
please enter label for this dump session (timeout in 300 sec)
-> dump_sdb1_20160802
session label entered: "dump_sdb1_20160802"
--------------------------------- end dialog ---------------------------------
xfsdump: level 0 dump of xiaogan.120:/sdb1
xfsdump: dump date: Tue Aug 2 23:56:53 2016
xfsdump: session id: d850eaf1-d2f6-4a3e-b694-0a9547017754
xfsdump: session label: "dump_sdb1_20160802"
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 label dialog =============================
please enter label for media in drive 0 (timeout in 300 sec)
-> media0
media label 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: 23 seconds elapsed
xfsdump: Dump Summary:
xfsdump: stream 0 /opt/dump_sdb1 OK (success)
xfsdump: Dump Status: SUCCESS
查看备份信息:
也可使用无交互的方式备份,命令如下:
xfsdump -f /opt/dump_sdb1 /dev/sdb1 -L dump_sdb1_20160802 -M media0
-f指定备份文件目录
-L指定 标签 session label
-M指定 设备标签 media label
单个文件备份:
-s 参数可以备份单个文件,但是
xfsdump -f /opt/dump_passwd -s /sdb1/passwd -L dump_passwd -M passwd
-s后面不能直接跟路径,应该是下面这样的:
xfsdump -f /opt/dump_passwd -s passwd /sdb1 -L dump_passwd -M passwd
第七步:文件恢复,删除文件制造误删假象,然后使用xfsrestore命令恢复文件
命令:xfsrestore -f /opt/dump_sdb1 /sdb1
恢复单个文件!!!