Linux目录和文件管理
一、目录层次
1.1、常见目录
|
功能(作用)
|
---|---|
/bin/
|
存放系统命令,普通用户和 root 都可以执行。放在/bin下的命令在单用户模式下也可以执行
|
/boot/
|
系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序(grub)文件等
|
/dev/
|
设备文件保存位置
|
/etc/
|
配置文件保存位置。系统内所有采用默认安装方式(rpm 安装)的服务配置文件全部保存在此目录中,如用户信息、服务的启动脚本、常用服务的配置文件等
|
/home/
|
普通用户的主目录(也称为家目录)。在创建用户时,每个用户要有一个默认登录和保存自己数据的位置,就是用户的主目录,所有普通用户的主目录是在 /home/下建立一个和用户名相同的目录。如用户zhao的主目录就是 /home/zhao
|
/lib/
|
系统调用的函数库保存位置
|
/media/
|
挂载目录。系统建议用来挂载媒体设备,如软盘和光盘
|
/mnt/
|
挂载目录。早期Linux中只有这一个挂载目录,并没有细分。系统建议这个目录用来挂载额外的设备,如U盘、移动硬盘和其他操作系统的分区
|
/misc/
|
挂载目录。系统建议用来挂载 NFS 服务的共享目录。虽然系统准备了三个默认挂载目录 /media/、/mnt/、/misc/,但是到底在哪个目录中挂载什么设备可以由管理员自己决定。
|
/opt/
|
第三方安装的软件保存位置。这个目录是放置和安装其他软件的位置,手工安装的源码包软件都可以安装到这个目录中。
|
/root/
|
root 的主目录。普通用户主目录在 /home/ 下,root 主目录直接在“/”下
|
/sbin/
|
保存与系统环境设置相关的命令,只有 root 可以使用这些命令进行系统环境设置,但也有些命令可以允许普通用户查看
|
/srv/
|
服务数据目录。一些系统服务启动之后,可以在这个目录中保存所需要的数据
|
/tmp/
|
|
1.2、Linux/usr目录
usr,全称为Unix Software Resource,用来储存系统软件资源
在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/include
|
C/C++
|
1.3、Linux/var
/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
|
|
- 根(/)相当于一个入口,文件的总入口,也是唯一入口
- dev 硬件文件(黄色)
- root系统管理员的家目录上 /root
二、查看文件内容
2.1、Linux常见的七类文件
符号 | 说明 |
d | 目录文件 |
b | 块设备文件 |
c | 字符设备文件 |
l | 符号链接文件 |
p | 管道文件 |
s | 套接字文件 |
- | 普通文件 |
三、压缩,解压缩
3.1、gzip和bzip
gzip和bzip都是压缩软件
例如:gzip [-9] 文件名.... / bzip2 [-9] 文件名....
gzip代表压缩格式,9表示压缩比率(9最大1最小)
gzip的压缩率要高于bzip2
如何解压:
gzip -d *.txt.gz #“-d”为解压选项
3.2、归档 tar
选项 | 效果 |
-c | 建立归档 |
-x | 解开归档 |
-v | 显示过程 |
-p | 保留权限和路径 |
-t | 在不打开情况下查看内容 |
-C | 指定目录 |
-z | 使用gzip压缩 |
-j | 使用bzip压缩 |
-f | 使用tar归档 |
注意:
- 只要使用tar命令,就带上“-f”选项
- tar命令可以不带"-"如果带“-”则“f”必须在选项最后
归档实操例子:
[root@localhost data]#tar -cvf zhao.tar /data/* # 将data下的所有文件归档
压缩归档例子:
[root@localhost data]#tar -zcvf zhao.tar.gz /data/* #使用gzip压缩方法
解压例子:
[root@localhost data]#tar -xf zhao.tar.gz -C /mnt
四、Vi编辑器
Linux 系统中“一切皆文件”,因此当我们在命令行下更改文件内容时,不可避免地要用到文本编辑器。
4.1、vi的三种模式
命令模式:实现移动光标,剪切/粘贴文本
插入模式:修改文本
末行模式:保存,退出等
4.2、命令模式下的一些命令
删除命令
命令 | 作用 |
dd | 删除光标所在的行 |
d$ | 删除到行尾 |
d^ | 删除到非空行首 |
d0 | 删除到行首 |
D | 从当前光标位置一直删除到行尾,等同于d$ |
复制命令
命令 | 作用 |
y$ | 复制到行尾 |
y^ | 复制到非空行首 |
y0 | 复制到行首 |
yy | 复制整行 |
粘贴命令
p:缓冲区存的如果为整行,则粘贴当前光标所在行的下方;否则,则粘贴至当前光标所在处的后面
P:缓冲区存的如果为整行,则粘贴当前光标所在行的上方;否则,则粘贴至当前光标所在处的前面
改变命令
cc:删除当前行并输入新内容
4.3、末行模式的一些快捷键
快捷键 | 效果 |
:q | 退出不保存 |
:q! | 强制退出 |
:w | 保存 |
:w 新文件名 | 另存为新文件 |
:wq | 保存并退出 |
#,# y | 复制#到#行 |
# d | 删除第#行 |