目录和文件管理

一、Linux的目录结构

1、/bin:

系统有很多放置执行档的目录,但/bin比较特殊。因为/bin放置的是在单人维护模式下还能够被操作的指令。在/bin底下的指令可以被root与一般帐号所使用,主要有:cat,chmod(修改权限), chown, date, mv, mkdir, cp, bash等等常用的指令。

2、/boot:

主要放置开机会使用到的档案,包括Linux核心档案以及开机选单与开机所需设定档等等。Linux kernel常用的档名为:vmlinuz ,如果使用的是grub这个开机管理程式,则还会存在/boot/grub/这个目录。

3、/dev

在Linux系统上,任何装置与周边设备都是以档案的型态存在于这个目录当中。 只要通过存取这个目录下的某个档案,就等于存取某个装置。比要重要的档案有/dev/null, /dev/zero, /dev/tty , /dev/lp*, / dev/hd*, /dev/sd*等等

4、/etc

系统主要的设定档几乎都放置在这个目录内,例如人员的帐号密码档、各种服务的启始档等等。 一般来说,这个目录下的各档案属性是可以让一般使用者查阅的,但是只有root有权力修改。 FHS建议不要放置可执行档(binary)在这个目录中。

 比较重要的有:/etc/inittab, /etc/init.d/, /etc/modprobe.conf, /etc/X11/, /etc/fstab, /etc/sysconfig/等等。 另外,其下重要的目录有:/etc/init.d/ :所有服务的预设启动script都是放在这里的,例如要启动或者关闭iptables的话: /etc/init.d/iptables start、/etc/init.d/ iptables stop/etc/xinetd.d/ :这就是所谓的super daemon管理的各项服务的设定档目录。

/etc/X11/ :与X Window有关的各种设定档都在这里,尤其是xorg.conf或XF86Config这两个X Server的设定档。

5、/home

这是系统预设的使用者家目录(home directory)。 在你新增一个一般使用者帐号时,预设的使用者家目录都会规范到这里来。比较重要的是,家目录有两种代号: ~ :代表当前使用者的家目录,而 ~guest:则代表用户名为guest的家目录。

6、/lib

系统的函式库非常的多,而/lib放置的则是在开机时会用到的函式库,以及在/bin或/sbin底下的指令会呼叫的函式库而已 。 什么是函式库呢?妳可以将他想成是外挂,某些指令必须要有这些外挂才能够顺利完成程式的执行之意。 尤其重要的是/lib/modules/这个目录,因为该目录会放置核心相关的模组(驱动程式)。

7、/media

media是媒体的英文,顾名思义,这个/media底下放置的就是可移除的装置。 包括软碟、光碟、DVD等等装置都暂时挂载于此。 常见的档名有:/media/floppy, /media/cdrom等等。

8、/mnt

如果妳想要暂时挂载某些额外的装置,一般建议妳可以放置到这个目录中。在古早时候,这个目录的用途与/media相同啦。 只是有了/media之后,这个目录就用来暂时挂载用了。

9、/opt

这个是给第三方协力软体放置的目录 。 什么是第三方协力软体啊?举例来说,KDE这个桌面管理系统是一个独立的计画,不过他可以安装到Linux系统中,因此KDE的软体就建议放置到此目录下了。 另外,如果妳想要自行安装额外的软体(非原本的distribution提供的),那么也能够将你的软体安装到这里来。 不过,以前的Linux系统中,我们还是习惯放置在/usr/local目录下。

10、/root

系统管理员(root)的家目录。 之所以放在这里,是因为如果进入单人维护模式而仅挂载根目录时,该目录就能够拥有root的家目录,所以我们会希望root的家目录与根目录放置在同一个分区中。

11、/sbin

Linux有非常多指令是用来设定系统环境的,这些指令只有root才能够利用来设定系统,其他使用者最多只能用来查询而已。放在/sbin底下的为开机过程中所需要的,里面包括了开机、修复、还原系统所需要的指令。至于某些伺服器软体程式,一般则放置到/usr/sbin/当中。至于本机自行安装的软体所产生的系统执行档(system binary),则放置到/usr/local/sbin/当中了。常见的指令包括:fdisk, fsck, ifconfig, init, mkfs等等。

12、/srv

srv可以视为service的缩写,是一些网路服务启动之后,这些服务所需要取用的资料目录。 常见的服务例如WWW, FTP等等。 举例来说,WWW伺服器需要的网页资料就可以放置在/srv/www/里面。呵呵,看来平时我们编写的代码应该放到这里了。

13、/tem

这是让一般使用者或者是正在执行的程序暂时放置档案的地方。这个目录是任何人都能够存取的,所以你需要定期的清理一下。当然,重要资料不可放置在此目录啊。 因为FHS甚至建议在开机时,应该要将/tmp下的资料都删除。

14、/proc

这个目录本身是一个虚拟文件系统(virtual filesystem)喔。 他放置的资料都是在内存当中,例如系统核心、行程资讯(process)(是进程吗?)、周边装置的状态及网络状态等等。因为这个目录下的资料都是在记忆体(内存)当中,所以本身不占任何硬盘空间。比较重要的档案(目录)例如: /proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/*等等。呵呵,是虚拟内存吗[guest]?

15、/sys

这个目录其实跟/proc非常类似,也是一个虚拟的档案系统,主要也是记录与核心相关的资讯。 包括目前已载入的核心模组与核心侦测到的硬体装置资讯等等。 这个目录同样不占硬盘容量。

二、查看及检索文件

1、查看文件内容

1:cat 命令——显示并连接(Concatenate  [kənˈkætəneɪt])文件的内容

cat 命令本来用于连接(Concatenate)多个文件的内容,但在实际使用中更多地用于查看文件内容。

2:more less 命令——分页查看文件内容

使用 cat 命令可以非常简单地直接显示整个文件的内容,但是当文件中的内容较多时,很可能只能看到最后一部分信息,文件前面的大部分内容都来不及看到。而 more less命令通过采用全屏的方式分页显示文件,便于我们从头到尾仔细地阅读文件内容。

more命令:

使用 more 命令查看超过一屏的文件内容时,将进行分屏显示,并在左下角显示当前内容在整个文件中的百分比。在阅读界面中,可以按 Enter 键向下逐行滚动查看,按 Space键可以向下翻一屏,按 b 键向上翻一屏,按 q 键退出并返回原来的命令环境。

less命令:

less 命令使用方法与 more 命令基本类似,但是比 more 更好的是,less 命令结合管道

符号“|”分屏查看执行命令时输出的信息时,既可以向下翻页,也可以向上翻页。而 more

令只能向下翻页,不能向上翻页。

3:head tail 命令——查看文件开头或末尾的部分内容

head tail 是一对作用相反的命令,前者用于显示文件开头的一部分内容,后者用于显示文件末尾的一部分内容。可以使用“-n”选项(n 为具体的行数)指定需要显示多少行的内容,若不指定行数,默认只显示十行。

特殊用法:

动态查看文件末尾10行内容

[root@localhost ~]# tail -f /var/log/messages

2.统计和检索文件内容

1:wc 命令——统计文件内容中的单词数量(Word Count)、行数等信息

wc 命令用于统计文件内容中包含的行数、单词数、字节数等信息,使用文件名作为参数,可以同时统计多个文件。较常用的选项如下所述。

-l:统计文件内容中的行数。

 -w:统计文件内容中的单词个数(以空格或制表位作为分隔)。

 -c:统计文件内容中的字节数。

[root@localhost ~]# wc /etc/hosts

统计行数、单词数、字节数

2:grep 命令——检索、过滤文件内容

grep 命令用于在文件中查找并显示包含指定字符串的行,可以直接指定关键字符串作为查找条件,也可以使用复杂的条件表达式。

grep 命令的常用选项如下所示。

 -i:查找内容时忽略大小写(Ignore Case)。

 -v:反转查找(Invert),即输出与查找条件不相符的行。

[root@localhost ~]# grep -v "^#" /etc/yum.conf | grep -v "^$"

3.备份与恢复文档

1:gzip gunzip 命令

压缩:

[root@localhost ~]# touch aa

[root@localhost ~]# gzip aa

解压缩:

[root@localhost ~]# gunzip aa.gz

[root@localhost ~]# gzip -d aa.gz

注意:

gzip 命令只能用来压缩文件,不能压缩目录,即便指定了目录,也只能压缩目录内的所有文件。

2:bzip2 bunzip2 命令

-9 文件名:-9表示高压缩比,多在创建压缩包时使用

-d或——decompress:执行解压缩

-v或——verbose:压缩或解压缩文件时,显示详细的信息

压缩:

[root@localhost ~]# yum -y install bzip2

[root@localhost ~]# bzip2 aa

解压缩:

[root@localhost ~]# bzip2 -d aa.bz2

[root@localhost ~]# bunzip2 aa.bz2

3:使用 tar 归档和释放工具

常用的几个选项如下所述。

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

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

 -f:表示使用归档文件。

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

 -p:打包时保留文件及目录的权限。

 -P:打包时保留文件及目录的绝对路径。

 -t:列表查看包内的文件。

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

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

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

4.vi编辑器

1:vi 编辑器的工作模式

(1)命令模式:启动 vi 编辑器后默认进入命令模式。该模式中主要完成如光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作。

(2)输入模式:该模式中主要的操作就是录入文件内容,可以对文本文件正文进行修改或添加新的内容。处于输入模式时,vi 编辑器的最后一行会出现“-- INSERT --”的状态提示信息。

(3)末行模式:该模式中可以设置 vi 编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处于末行模式时,vi 编辑器的最后一行会出现冒号“:”提示符。

2:命令模式中的基本操作

(1)模式切换

 a:在当前光标位置之后插入内容。

 A:在光标所在行的末尾(行尾)插入内容。

 i:在当前光标位置之前插入内容。

 I:在光标所在行的开头(行首)插入内容。

 o:在光标所在行的后面插入一个新行。

 O:在光标所在行的前面插入一个新行。

(2)移动光标

光标方向的移动。直接按↑、↓、←、→四个方向键完成相应的光标移动。

按 Page Down 键或 Ctrl+F 组合键向下翻动一整页内容。

按 Page Up 键或 Ctrl+B 组合键向上翻动一整页内容。

按 Home 键或^键、数字 0 键将光标快速跳转到本行的行首。

按 End 键或$键将光标快速跳转到本行的行尾。

使用按键命令 1G 或者 gg 可跳转到文件内容的第 1 行。

使用按键命令 G 可跳转到文件的最后一行。

使用按键命令#G 可跳转到文件中的第#行(其中“#”号用具体数字替换)。

(3)复制、粘贴和删除

删除:

按 x 键或 Delete 键删除光标处的单个字符。

使用按键命令 dd 删除当前光标所在行,使用#dd 的形式还可以删除从光标处

开始的#行内容(其中“#”号用具体数字替换)。

使用按键命令 d^删除当前光标之前到行首的所有字符。

使用按键命令 d$删除当前光标处到行尾的所有字符。

复制:

使用按键命令 yy 复制当前行整行的内容到剪贴板,

使用#yy 的形式还可以复制从光标处开始的#行内容(其中“#”号用具体数字替换)。

粘贴:

p 键即可将缓冲区中的内容粘贴到光标位置处之后,

P 键则会粘贴到光标位置处之前

(4)查找文件内容

在命令模式中,按/键后可以输入指定的字符串,从当前光标处开始向后进行查找(按?键则向前查找)。完成查找后可以按 nN 键在不同的查找结果中进行选择。

(5)撤销编辑及保存和退出

u 键命令用于取消最近一次的操作,并恢复操作结果,可以多次重复按 u

U 键命令用于取消对当前行所做的所有编辑

ZZ保存当前的文件内容并退出 vi 编辑器

3:末行模式中的基本操作

(1)保存文件及退出 vi 编辑器

保存文件

退出编辑器

保存并退出

(2)打开新文件或读入其他文件内容

打开新文件

:e ~/initial-setup-ks.cfg

读入其他文件

:r /etc/filesystems

(3)替换文件内容

:5,15 s /initdefault/DEFAULT/g

:% s /initdefault/bootdefault/g

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值