1.linux常见子目录的作用
目录结构概览
一级目录
| 一级目录 | 功能(作用) |
|---|---|
| /bin/ | 存放系统命令,普通用户和 root 都可以执行。放在 /bin 下的命令在单用户模式下也可以执行 |
| /boot/ | 系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序(grub)文件等 |
| /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/ | 临时目录。系统存放临时文件的目录,在该目录下,所有用户都可以访问和写入。建议此目录中不能保存重要数据,最好每次开机都把该目录清空 |
二级目录
/usr/bin/:主要放置一些应用软件工具的必备执行档例如c++、g++、gcc、chdrv
/usr/sbin/:放置一些网路管理的必备程序例如:dhcpd、httpd
/var/log/:放置日志文件
/var/run/:运行中的文件(pid文件)
linux/var目录
/var 目录用于存储动态数据,例如缓存、日志文件、软件运行过程中产生的文件等。通常,此目录下建议包含如表中的目录
| /var子目录 | 功能(作用) |
|---|---|
| /var/lib/ | 程序运行中需要调用或改变的数据保存位置。如 MySQL 的数据库保存在 /var/lib/mysql/ 目录中 |
| /var/log/ | 登陆文件放置的目录,其中所包含比较重要的文件如 /var/log/messages, /var/log/wtmp 等。 |
| /var/run/ | 一些服务和程序运行后,它们的 PID(进程 ID)保存位置 |
2.cat(查看文件内容)
选项
| -n | 显示行号包括空行 |
|---|---|
| -b | 跳过空白行编号 |
| -s | 将所有的连续的多个空行替换为一个空行(压缩成一个空行) |
| -A | 显示隐藏字符 |
cat查看多个文件
补充:tac(可以反向查看文件)
cat命令合并两个文件的内容
3.more
含义:
more命令类似于cat,不过会以一页一页的形式显示,更方便使用者逐页阅读
基本操作
| 交互指令 | 功能 |
|---|---|
| h 或 ? | 显示 more 命令交互命令帮助。 |
| q 或 Q | 退出 more。 |
| v | 在当前行启动一个编辑器。 |
| :f | 显示当前文件的文件名和行号。 |
| !<命令> 或 :!<命令> | 在子Shell中执行指定命令。 |
| 回车键 | 向下移动一行。 |
| 空格键 | 向下移动一页。 |
| Ctrl+l | 刷新屏幕。 |
| = | 显示当前行的行号。 |
| ' | 转到上一次搜索开始的地方。 |
| Ctrf+f | 向下滚动一页。 |
| . | 重复上次输入的命令。 |
| / 字符串 | 搜索指定的字符串。 |
| d | 向下移动半页。 |
| b | 向上移动一页。 |
4.head/tail
功能与more和cat类似,可以查看文件内容,head用于查看文件的开头10行,head用于查看结尾10行。
选项
- head -n 文件名 (不加默认开头十行)
- tail -n 文件名 (不加默认结尾十行)
- tail -f 文件名 实时跟踪最后十行
5.wc
- wc 【选项】… 目标文件… 统计文件中的单词数量(Word Count)等信息
常用选项:
- -l:统计行数
- -w:统计单词个数
- -c:统计字节数 不带任何选项的wc命令,
(默认同时使用 -lwc三个选项)
6.grep(检索并过滤文件内容)
命令格式
grep [选项]...查找内容 目标文件
常用命令选项
- -i:忽略大小写
- -v:反向查找,输出与查找条件不相符的行
- -o:只显示匹配项
- -c:统计出现的次数
- -n:输出行号
基本格式
- 要查找的字符串以双引号括起来单引号也可以
- “^……”表示以……开头,“……$”表示以……结尾
- “^$”表示空行
示例
1.grep不加命令选项搜索示例
2.gerp -o示例
7.gzip/dzip
zip 【-9】文件名… #gzip制作的压缩文件默认的扩展名为“.gz”,原始文件不再保留
bzip2 【-9】文件名… #bzip2 制作的压缩文件默认的扩展名为“.bz2”,原始文件不再保留
注:-9为压缩比,默认值为6
-d:用于解压缩以及压缩过的文件,相当于使用gunzip、bunzip2命令
gunzip文件名.gz
gzip -d 文件名.gz
bzip2 -d 文件名.bz2
8.tar
含义:可以用于归档普通文件以及压缩过的gzip及dizp文件
tar [选项] ... 归档文件名(压缩包名字) 源文件或目录 tar [选项] ... 归档文件名 [-C 目标目录]
- -c:创建(Create).tar 格式的包文件
- -x:解开.tar 格式的包文件
- -C:解压时指定释放的目标文件夹 指定目录
- -f:表示使用归档文件(一般都要带上表示使用tar)
- -v:输出详细信息(Verbose)
- -j:调用 bzip2 程序进行压缩或解压
- -z:调用 gzip 程序进行压缩或解压
归档:-zcvf
释放:-zxvf
实例
1.写出把家目录中的 abc.txt 和 123.txt 文件压缩成 abc123.tar.gz 的命令
[root@localhost ~]# tar -zcvf abc123.tar.gz abc.txt 123.txt(需要注意tar后面如果加-的话需要注意选项的顺序,也就是zcvf的顺序)
abc.txt
123.txt
[root@localhost ~]# ls
123.txt abc.txt initial-setup-ks.cfg 公共 视频 文档 音乐
abc123.tar.gz anaconda-ks.cfg j 模板 图片 下载 桌面
[root@localhost ~]#
2.写出把家目录中的 abc123.tar.bz2 文件解压缩到 /opt 目录中的命令(需要使用到-C选项)
[root@localhost ~]# tar -zxvf abc123.tar.gz -C /opt(使用-C解压到指定文件夹)
abc.txt
123.txt
[root@localhost ~]# ls
123.txt abc.txt initial-setup-ks.cfg 公共 视频 文档 音乐
abc123.tar.gz anaconda-ks.cfg j 模板 图片 下载 桌面
[root@localhost ~]# cd /opt
[root@localhost opt]# ls
123.txt aaa abc.txt b11.ttx b12.txt b13.txt ky18 ky18bp rename rh