一、Linux目录结构:树形目录结构
根目录(父目录):所有分区、目录、文件等的位置起点
表示形式:整个树形目录结构中,使用独立的额一个“/ "表示
根目录下的子目录:
1、/- 根
linux文件系统的最顶端是/,我们称/为Linux的root。也就是 Linux操作系统的文件系统。Linux的文件系统的入口就是/,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者。
2、/bin 所有用户的二进制命令目录
包含二进制可执行文件。
在单用户模式下,你需要使用的常见Linux命令都位于此目录下系统的所有用户使用的命令都设在这里。
例如:ps、ls、ping、grep、cp
3、/sbin目录 - 系统管理的二进制命令目录
跟/bin类似,在这个目录下的linux命令通常由系统管理员使用,对系统进行维护。例:iptables、reboot、fdisk、ifconfig、swapon命令
4、/etc - 配置文件目录
二进制安装包的配置文件默认路径和服务启动命令存放的目录
5、/dev - 设备文件目录
例:声卡、磁盘、光驱等。在Linux系统上,任何装置与周边设备都是以档案的型态存在于这个目录当中。 只要通过存取这个目录下的某个档案,就等于存取某个装置。比要重要的档案有/dev/null, /dev/zero, /dev/tty , /dev/lp*, / dev/hd*, /dev/sd*等等
6、/proc - 进程信息及内核信息目录
这个目录本身是一个虚拟文件系统(virtual filesystem), 他放置的资料都是在内存当中,例如系统核心、行程资讯(process)、周边装置的状态及网络状态等等。因为这个目录下的资料都是在记忆体(内存)当中,所以本身不占任何硬盘空间。比较重要的档案(目录)例如: /proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports,
/proc/net/*等等。
7、/var - 变量文件目录
var代表变量文件。
如果/usr是安装时会占用较大硬盘容量的目录,那么/var就是在系统运作后才会渐渐占用硬盘容量的目录。
因为/var目录主要针对常态性变动的文件,包括缓存(cache)、登录档(log file)以及某些软件运作所产生的文件, 包括程序文件(lock file,
run file),或者例如MySQL数据库的文件等等。
8、/tmp - 临时文件目录
包含系统和用户创建的临时文件。
当系统重新启动时,这个目录下的文件都将被删除。
9、/usr -(Unix Software Resource)Unix操作系统软件资源放置的目录
所有系统默认的软件都会放置到/usr底下,包含二进制文件、库文件、文档和二级程序的源代码。
/usr/local中包含了从源安装的用户程序。例如,当你从源安装Apache,它会在/usr/local/apache2中。(跟/sbin和/bin的区别是非必备的)
这是一个虚拟的文件系统,系统资源以文本信息形式存在。例如:/proc/uptime
10、/home -普通用户家目录
所有普通用户用home目录来存储他们的个人档案。
例如:/home/john、/home/nikita
11、/root -root用户家目录
12、/boot - 引导加载程序文件目录
包含引导加载程序相关的文件。
内核的initrd、vmlinux、grub文件位于/boot下。
例如:initrd.img-2.6.32-24-generic、vmlinuz-2.6.32-24-generic
13、/lib - 系统库
用于存放程序的动态库和模块文件
14、/opt - 可选的附加应用程序安装目录
opt代表可选的。
包含从个别厂商的附加应用程序。
附加应用程序应该安装在/opt/或者/opt/的子目录下。
14、/mnt - 挂载目录
系统管理员可以挂载其他临时文件系统。
15、/media - 可移动媒体设备
用于挂载可移动设备的临时目录。
举例来说,挂载CD-ROM的/media/cdrom,挂载软盘驱动器的/media/floppy;
16、/srv - 服务数据目录
srv代表服务。存放服务进程所需的数据文件和一些服务执行脚本
例如,/srv/cvs包含cvs相关的数据
二、文件操作命令
查看文件内容:
-
cat (针对小文件查看,不能看目录的内容)
cat [选项] 文件名 -
more [选项] 文件名 (全屏方式分页显示文件内容)
按enter逐行滚动
按空格键向下翻一屏
按b键向上翻一屏
按q键退出 -
less [选项] 文件名
按pageup键向上翻一页,pagedown键向下翻
“/ “查找内容,” n “对查找的内容进行向下查看,” N "对查找的内容进行向上查看 -
head:查看文件开头的一部分内容(默认为10行)
head -n 文件名 (查看前n行内容) -
tail:查看后几行
tail -n 文件名
tail -f 文件名 (显示文件最尾部内容,并且不断刷新,只要文件更新就可以看到文件内容,ctrl+c 中断,可用于查看日志内容)
例:tali -f /var/log/messages
统计文件内容:
wc -l 文件名 (统计文件中内容的行数)
wc -w 文件名 (统计文件中内容的单词数量)
wc -c 文件名 (统计文件中内容的字节数)
wc -wlc 文件名 (得到的是行数、单词数、字节数,顺序是固定的,与wlc顺序无关)
检索和过滤文件内容:grep (在文件中查找并显示包含指定字符串的 “行”)
grep [选项] 查找条件 目标文件
检索:查找含有***的内容:
grep -i “ *** ” 文件名 (-i 代表查找时忽略大小写,根据需要添加)
过滤:-v 查找时输出与查找条件不相符的行
grep -v “ ^…" 文件名 grep -v (过滤掉以…开头的行数。)
grep -v ” …$ "grep -v 文件名 grep -v (表示过滤掉以…结尾的行)
多级过滤:条件之间用 | 分隔
例:grep -v ^# /etc/ntp.conf | grep -v ^$ | grep -v ^sever
(逐级过滤了文件ntp.conf中以 # 开头的行、空行、以sever开头的行)
压缩文件命令(不能压缩目录):gzip bzip2
压缩:-9代表深度压缩
- gzip [-9] 文件名
- bzip2 [-9] 文件名
解压缩:必须加文件名的后缀
-
gzip -d 文件名.gz 等价于gunzip 文件名.gz
-
bzip2 -d 文件名.bz2 等价于bunzip2 文件名.bz2
归档命令:tar(对目录或文件打包)
tar [选项] 归档文件名 源文件或目录,用空格隔开
tar [选项] 归档文件名 [-C 目标目录]
-c:建立打包文件
-t:查看打包文件内容
-x:解压缩
-j:解压缩.bz2的文件
-z:解压缩.gz的文件
-v:显示压缩解压缩的过程
-f:要处理的文件名
-p:保留源文件属性不变
例:
tar zcf 123.tar.gz /root /etc
123是自定义的文件名,.tar.gz,是必须要的后缀,将/root和/etc打包并压缩成 123.tar.gz
tar zxf 123.tar.gz -C /
将123.tar.gz解压缩,并指定到 / 目录下,之前打包的文件123.tar.gz依旧存在
如果需要.tar.bz2,文件,则选项变为 jcf 和 jxf。