第二章 目录和文件管理
一、Linux目录结构
1、树形目录结构
2、根目录(作用):
1)所有分区、目录、文件等的位置起点
2)整个树形目录结构中,使用独立的一个“/”表示
3、常见的子目录
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/的子目录下。
15)/mnt - 挂载目录
系统管理员可以挂载其他临时文件系统。
16)/media - 可移动媒体设备
用于挂载可移动设备的临时目录。
举例来说,挂载CD-ROM的/media/cdrom,挂载软盘驱动器的/media/floppy;
17)/srv - 服务数据目录
srv代表服务。存放服务进程所需的数据文件和一些服务执行脚本
例如,/srv/cvs包含cvs相关的数据
4、/bin,/sbin,/usr/sbin,/usr/bin 目录之简单区别
5、这些目录都是存放命令的,首先区别下/sbin和/bin:
6、 从命令功能来看,/sbin 下的命令属于基本的系统命令,如shutdown,reboot,用于启动系统,修复系统,/bin下存放一些普通的基本命令,如ls,chmod等,这些命令在Linux系统里的配置文件脚本里经常用到。
7、 从用户权限的角度看,/sbin目录下的命令通常只有管理员才可以运行,/bin下的命令管理员和一般的用户都可以使用。
8、 从可运行时间角度看,/sbin,/bin能够在挂载其他文件系统前就可以使用。
9、 而/usr/bin,/usr/sbin与/sbin /bin目录的区别在于:
10、 /bin,/sbin目录是在系统启动后挂载到根文件系统中的,所以/sbin,/bin目录必须和根文件系统在同一分区;
11、 /usr/bin,usr/sbin可以和根文件系统不在一个分区。
12、 /usr/sbin存放的一些非必须的系统命令;/usr/bin存放一些用户命令,如led(控制LED灯的)。
13、 转下一位网友的解读,个人认为诠释得很到位:
14、 /bin是系统的一些指令。bin为binary的简写主要放置一些系统的必备执行档例如:cat、cp、chmod df、dmesg、gzip、kill、ls、mkdir、more、mount、rm、su、tar等。
/sbin一般是指超级用户指令。主要放置一些系统管理的必备程式例如:cfdisk、dhcpcd、dump、e2fsck、fdisk、halt、ifconfig、ifup、 ifdown、init、insmod、lilo、lsmod、mke2fs、modprobe、quotacheck、reboot、rmmod、 runlevel、shutdown等。
/usr/bin 是你在后期安装的一些软件的运行脚本。主要放置一些应用软体工具的必备执行档例如c++、g++、gcc、chdrv、diff、dig、du、eject、elm、free、gnome*、 gzip、htpasswd、kfm、ktop、last、less、locale、m4、make、man、mcopy、ncftp、 newaliases、nslookup passwd、quota、smb*、wget等。
15、 /usr/sbin 放置一些用户安装的系统管理的必备程式例如:dhcpd、httpd、imap、in.*d、inetd、lpd、named、netconfig、nmbd、samba、sendmail、squid、swap、tcpd、tcpdump等。
如果新装的系统,运行一些很正常的诸如:shutdown,fdisk的命令时,悍然提示:bash:command not found。那么
首先就要考虑root 的$PATH里是否已经包含了这些环境变量。
可以查看PATH,如果是:PATH=$PATH:$HOME/bin则需要添加成如下:
PATH=$PATH:$HOME/bin:/sbin:/usr/bin:/usr/sbin
16、
二、查看文件内容 cat 命令
1、显示出文件的内容
2、cat 【选项】 文件名
三、查看文件内容 more 命令
1、全屏方式分页显示文件内容
2、more 【选项】 文件名
3、交互操作方法
1)按Enter键向下逐行滚动
2)按空格键向下翻屏
3)按B键向上翻一屏
4)按Q键退出
四、查看文件内容less 命令
1、与more命令相同,但扩展功能更多
2、less 【选项】文件名
3、交互操作方法
1)page Up 向上翻页,page Down向下翻页
2)按“/”键查找内容,“n”下一个内容,“N”上一个内容
3)其他功能与more命令基本类似
五、查看文件内容 head 、 tail 命令
1、head 命令(从首部内容)
head -n(数字,不打数字,默认十行)
例:head -5 /etc/shadow
head -5 /etc/passwd
2、tail 命令(从尾部内容)
tail -n(数字,不打数字,默认十行)
例:tail -5 /etc/shadow
tail -f 例:tail -f /var/log/messges
注:tail -f filename会把filname文件里的最尾部内容显示在屏幕上,并且不断刷新,只要filename更新就可以看更新的内容
六、统计文件内容 wc 命令
1、统计文件中的单词数量
wc 【选项】 目标文件
2、常用命令选项
1)-l :统计行数
2)-w:统计单词数
3)-c :统计字节数
七、检索和过滤文件内容 grep 命令
1、grep【选项】查找条件目标文件
2常用命令选项
1)-i :查找是忽略大小写
2)-v :反转查找,输出与查找条件不相符的行
3、查找条件设置
要查找的字符串以双引号括起来
“^.......”表示以......开头 “.......$”表示以........结尾 “^$”表示空行
八、压缩命令 gzip 、 bzip 命令
1、制作压缩文件、解压压缩文件
gzip 【-9】 文件名
bzip2 【-9】 文件名
gzip -d gz格式的压缩文件
2、常用命令选项
1)-9 :压缩
2)-d :解压缩
九、压缩命令 gunzip 、 bunzip 命令
1、gunzip 命令
gunzip等价于gzip -d
2、bunzip2 命令
bzip2和bunzip2命令的用法与gzip、gunzip命令基本相同
十、归档命令 tar 命令
1、制作归档文件、释放归档文件
tar 【选项】 归档文件 源文件或目录
tar 【选项】 归档文件 【-C目标目录】
2、常用命令选项
1)-c :建立打包文件
2)-t :查看打包文件的内容
3)-x :解压缩
4)-j :解压缩bz2的文件
5)-z :解压缩gz的文件
6)-v :显示压缩/解压缩过程
7)-f :要处理的文件名
8)-C :解压缩到指定目录
9)-p :保留原文件属性不变
例:tar zcvf abc.tar.gz /root /etc
tar zxvf abc.tar.gz -C /opt