目录和文件管理

一.Linux目录结构

1.目录参差

1.1Linux根目录

1.2常见的非一级目录

1.2.1Linux/usr目录

1.2.2Linux/var目录

二.查看及检索文件

1.cat查看文件内容命令 

2.more和less分页查看文件内容

3.head和tail查看开头或末尾部分内容

4.wc命令统计单词数量及行数

5.grep命令——检索、过滤文件内容

6.压缩与解压缩

7.tar归档及释放工具

总结

三.备份及回复文档

一.Linux目录结构

1.目录参差

1.1Linux根目录

  • 根目录

(1)所有分区、目录、文件等起点。

(2)整个树形目录结构中,使用独立的一个 "/"来表示。

一级目录 作用
/bin/ 存放系统命令,普通用户和root都可执行。放在/bin下的命令在单用户模式下也可以执行。

/boot/

系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序。
/dev/ 设备文件保存位置
/etc/ 配置文件保存位置。系统内所有采用默认安装方式(rpm安装)的服务配置文件全部保存在此目录中,如用户信息、服务脚本、常用服务的配置文件等。
/home/  普通用户的主目录(也称家目录)。在创建用户时,每个用户要有一个默认登录和保存自己数据的位置,就是用户的主目录,所有普通用户的主目录是在/home/下建立一个和用户相同的目录。如用户liming的主目录就是/home/liming
/lib/ 系统调用的函数库保存位置 
/media/ 挂在目录。系统建议用来挂载媒体设备,如软盘和关盘 
/mnt/  挂载目录。早期linux中只有这一个挂载目录,并没有细分系统建议这个目录用来挂载额外的设备,如U盘、移动硬盘和其他操作系统的分区
/misc/  挂载目录。系统建议用来挂载 NFS 服务的共享目录。虽然系统准备了三个默认挂载目录/media/、/mnt/、/misc/,但是到底在哪个目录中挂载什么设备可以由管理员自己决定。例如,笔者在接触 Linux 的时候,默认挂载目录只有 /mnt/,所以养成了在 /mnt/ 下建立不同目录挂载不同设备的习惯,如 /mnt/cdrom/ 挂载光盘、/mnt/usb/ 挂载 U 盘,都是可以的
/opt/  第三方安装的软件保存位置。这个目录是放置和安装其他软件的位置,手工安装的源码包软件都可以安装到这个目录中。不过笔者还是习惯把软件放到 /usr/local/ 目录中,也就是说,/usr/local/ 目录也可以用来安装软件
/root/  root 的主目录。普通用户主目录在 /home/ 下,root 主目录直接在“/”下
/sbin/  保存与系统环境设置相关的命令,只有 root 可以使用这些命令进行系统环境设置,但也有些命令可以允许普通用户查看
/srv/  服务数据目录。一些系统服务启动之后,可以在这个目录中保存所需要的数据
/tmp/  临时目录。系统存放临时文件的目录,在该目录下,所有用户都可以访问和写入。建议此目录中不能保存重要数据,最好每次开机都把该目录清空

1.2常见的非一级目录

1.2.1Linux/usr目录

usr,全称为 Unix Software Resource,此目录用于存储系统软件资源。FHS 建议所有开发者,应把软件产品的数据合理的放置在 /usr 目录下的各子目录中,而不是为他们的产品创建单独的目录。

Linux 系统中,所有系统默认的软件都存储在 /usr 目录下,/usr 目录类似 Windows 系统中 C:\Windows\ + C:\Program files\ 两个目录的综合体。

子目录 功能(作用)
/usr/bin/ 存放系统命令,普通用户和超级用户都可以执行。这些命令和系统启动无关,在单用户模式下不能执行
/usr/sbin/ 存放根文件系统不必要的系统管理命令,如多数服务程序,只有 root 可以使用。
/usr/lib/ 应用程序调用的函数库保存位置
/usr/XllR6/ 图形界面系统保存位置
/usr/local/ 手工安装的软件保存位置。我们一般建议源码包软件安装在这个位置
/usr/share/ 应用程序的资源文件保存位置,如帮助文档、说明文档和字体目录
/usr/src/ 源码包保存位置。我们手工下载的源码包和内核源码包都可以保存到这里。不过笔者更习惯把手工下载的源码包保存到 /usr/local/src/ 目录中,把内核源码保存到 /usr/src/linux/ 目录中
/usr/include C/C++ 等编程语言头文件的放置目录

1.2.2Linux/var目录

/var 目录用于存储动态数据,例如缓存、日志文件、软件运行过程中产生的文件等。通常,此目录下建议包含如表 4 所示的这些子目录。

/var子目录 功能(作用)
/var/lib/ 程序运行中需要调用或改变的数据保存位置。如 MySQL 的数据库保存在 /var/lib/mysql/ 目录中
/var/log/ 登陆文件放置的目录,其中所包含比较重要的文件如 /var/log/messages, /var/log/wtmp 等。
/var/run/ 一些服务和程序运行后,它们的 PID(进程 ID)保存位置
/var/spool/ 里面主要都是一些临时存放,随时会被用户所调用的数据,例如 /var/spool/mail/ 存放新收到的邮件,/var/spool/cron/ 存放系统定时任务。
/var/www/ RPM 包安装的 Apache 的网页主目录
/var/nis和/var/yp NIS 服务机制所使用的目录,nis 主要记录所有网络中每一个 client 的连接信息;yp 是 linux 的 nis 服务的日志文件存放的目录
/var/tmp 一些应用程序在安装或执行时,需要在重启后使用的某些文件,此目录能将该类文件暂时存放起来,完成后再行删除
  • 根(/)相当于一个入口,文件的总入口,也是唯一入口

  • bin (sbin) 二进制文件,可执行文件,也可能存在别处,默认使用较多所有用户软连接文件

  • sbin 管理员可使用的二进制文件

  • boot 系统内核、启动文件

  • dev 硬件文件(黄色)

  • etc 配置文件等同于windows 注册表,一般都是文本文件

  • run 运行的内存中文件

  • tmp 临时文件 -t

  • usr应用程序和操作系统相关的文件

  • var日志文件,数据变化的

  • home 普通用户的家目录的上级目录zhangsan目录会在 home

  • root系统管理员的目录上 /root

  • lib 动态库文件 类似于windows 的dll文件

  • proc 主要保存系统的内核、进程、外部设备状态和网络状态等

  • media 可移动设备

  • mnt 默认挂载点

  • opt 第三方应用程序安装所在目录程序

二.查看及检索文件

1.cat查看文件内容命令 

选项 效果
-n 显示行号包括空行
-b 跳过空白行编号
-s 将所有的连续多个空行替换成一个空行
-A 显示隐藏字符

cat -n ky18.txt

#查看当前目录下ky18.txt内容(显示行号包括空行)

cat -b ky18.txt

#跳过空白行显示行号

cat -s ky18.txt

#将所有的连续空行压缩成一个空行

cat -A ky18.txt

#显示隐藏字符

目录和文件管理

格式 cat 文件名(文件名可以是单个也可以是多个)

#多个显示顺序看你命令文件的排列顺序

目录和文件管理

2.more和less分页查看文件内容

more [选项] 文件名

交互指令 功能
h 或 ? 显示 more 命令交互命令帮助。
q 或 Q 退出 more。
v 在当前行启动一个编辑器。
:f 显示当前文件的文件名和行号。
!<命令> 或 :!<命令> 在子Shell中执行指定命令。
回车键 向下移动一行。
空格键 向下移动一页。
Ctrl+l 刷新屏幕。
= 显示当前行的行号。
' 转到上一次搜索开始的地方。
Ctrf+f 向下滚动一页。
. 重复上次输入的命令。
/ 字符串 搜索指定的字符串。
d 向下移动半页。
b 向上移动一页。

ls -lh /etc/*.conf | more

#查看以长格式友好显示etc目录下的以.conf结尾的文件

#命令显示过多可以用管道加more分页查看

目录和文件管理

less [选项] 文件名

  •  用法基本与more一致

不同点

  • 可以使用/ 查找 n向下 N向上查找

  • Page Up 向上翻页,Page Down 向下翻页

3.head和tail查看开头或末尾部分内容

  • head -n 文件名 (不加默认开头十行)
  • tail -n 文件名 (不加默认结尾十行)
  • tail -f 文件名 实时跟踪最后十行

head 1.tat

#默认显示开头前十行

目录和文件管理

 head  -n -9 1.tat

#不显示最后九行

目录和文件管理

 tail -n -9 1.tat

#只显示最后九行

目录和文件管理

  tail -n +3 1.tat

#不显示前三行

目录和文件管理

 head -n +9 1.tat

#只显示前九行

目录和文件管理

 ifconfig |head -2|tail -1

#显示不显示最后3行最后一行

tail -f log.txt

#实时跟踪最后十行

目录和文件管理

4.wc命令统计单词数量及行数

命令格式:wc  [选项]     目标文件

选项:

-l:统计行数

-w:统计单词个数

-c:统计字节数

目录和文件管理

目录和文件管理

 

 #注意空行及换字符

5.grep命令——检索、过滤文件内容

命令格式:

grep  [选项]     查找文件  目标文件

选项:

-i:查找时忽略大小写

-v:反向查找,输出与查找条件不相符的行

-o:只显示匹配项

-f:对比两个文件的相同内容

基本格式

  • 要查找的字符串以双引号括起来单引号也可以

  • “^……”表示以……开头,“……$”表示以……结尾

  • “^$”表示空行

cat passwd |grep "bash$"

#查看etc目录下passwd文件以bash结尾的内容

目录和文件管理

 

cat passwd |grep "^cd"

 #查看etc目录下passwd文件以cd开头的内容目录和文件管理

 

目录和文件管理

grep -vi "root" ky18.txt

#查找与条件不符的内容

目录和文件管理

 

目录和文件管理

目录和文件管理

6.压缩与解压缩

gzip和bzip都是压缩软件,比如windows里的好压和360 压缩或微软自带的等等

比较gzip和bzip之间的压缩比例,压缩时间等问题

bzip2 压缩率 大于 gzip

gzip [-9] 文件名… 提高压缩比例,但是文件较大时效率会低

bzip2 [-9] 文件名...

gzip -d .gz格式的压缩文件 d就是解压

bzip2 -d .bz2格式的压缩文件

9代表压缩比率,9最大1最小,使用以上两种压缩源文件不存在了

gzip的压缩率 要高于bzip2

不会使用 应为只能对文件操作

gzip passwd

#用gzip程序压缩文件passwd

gzip -d passwd

#用gzip程序解压缩文件passwd

目录和文件管理

 

bzip2 passwd

#用bzip2程序压缩文件passwd

bunzip2  passwd

#用bunzip2程序解压缩文件passwd

目录和文件管理

 

目录和文件管理

 

7.tar归档及释放工具

tar tape archive 磁带归档,磁带便宜磁带机很贵,慢永久保存,硬盘越来越便宜了

tar [选项] ... 归档文件名(压缩包名字) 源文件或目录

tar [选项] ... 归档文件名 [-C 目标目录]

  • -c:创建(Create).tar 格式的包文件

  • -x:解开.tar 格式的包文件

  • -C:解压时指定释放的目标文件夹 指定目录

  • -f:表示使用归档文件(一般都要带上表示使用tar)

  • -v:输出详细信息(Verbose)

  • -j:调用 bzip2 程序进行压缩或解压

  • -z:调用 gzip 程序进行压缩或解压

tar -zcvf t.gzip.tar 1.txt 2.txt

#将源文件1.txt 2.txt归档调用gzip程序进行压缩至t.gzip.tar压缩包内

目录和文件管理

 

  tar -zxvf t.gzip.tar -C /opt

#调用gzip程序进行解压t.gzip.tar释放至opt目录下

目录和文件管理

 总结:

使用cat、more、less、head、tail命令可以查看文件。

使用wc、grep命令可以统计、检索文件内容。

使用gzip、bzip2命令可以制作及释放压缩文件。

使用tar命令可以制作或者释放归档文件,结合“-z” “-j”选项还可以自动调用压缩工具。

上一篇:1253: [蓝桥杯2015初赛]牌型种数


下一篇:13-基于Python调用CANoe COM接口:COM Object Hierarchy 中 Version 的用法