Linux文件目录结构一览表
Linux 系统的根目录(/)最为重要,下面还有一级目录:
Linux挂载详解
Linux 系统中“一切皆文件”,所有文件都放置在以根目录为树根的树形目录结构中。在 Linux 看来,任何硬件设备也都是文件,它们各有自己的一套文件系统(文件目录结构)。当在 Linux 系统中使用这些硬件设备时,只有将Linux本身的文件目录与硬件设备的文件目录合二为一,硬件设备才能为我们所用。合二为一的过程称为“挂载”。
Linux文件和目录管理
在文件系统中,有两个特殊的目录,一个是用户所在的工作目录,即当前目录,可用一个点“.”表示;另一个是当前目录的上一层目录,也叫父目录,用两个点“..”表示。如果一个目录或文件名是以一个点开始,就表示这个目录或文件是一个隐藏目录或文件。目录名或文件名是区分大小写的。
Linux 系统并不以文件的扩展名开分区文件类型。
在Linux 系统中,硬件设备也是文件,也有各自的文件名称。Linux 系统内核中的 udev 设备管理器会自动对硬件设备的名称进行规范,目的是让用户通过设备文件的名称,就可以大致猜测处设备的属性以及相关信息。
命令提示符
[root@localhost ~]#
这就是 Linux 系统的命令提示符。那么,这个提示符的含义是什么呢?
- []:这是提示符的分隔符号,没有特殊含义。
- root:显示的是当前的登录用户,笔者现在使用的是 root 用户登录。
- @:分隔符号,没有特殊含义。
- localhost:当前系统的简写主机名(完整主机名是 localhost.localdomain)。
- ~:代表用户当前所在的目录,此例中用户当前所在的目录是家目录。
- #:命令提示符,Linux 用这个符号标识登录的用户权限等级。如果是超级用户,提示符就是 #;如果是普通用户,提示符就是 $。
命令的基本格式
[root@localhost ~]# 命令[选项][参数]
cd 用来切换工作目录。
pwd 显示当前绝对路径。
ls 查看目录下文件。
命令常用选项及功能 |
|
选项 |
功能 |
-a |
显示全部的文件,包括隐藏文件 |
-A |
显示全部的文件,连同隐藏文件,但不包括 . 与 .. 这两个目录。 |
-d |
仅列出目录本身,而不是列出目录内的文件数据。 |
-f |
ls 默认会以文件名排序 |
-F |
在文件或目录名后加上文件类型的指示符号,例如,* 代表可运行文件,/ 代表目录,= 代表SOCKET文件,| 代表 FIFO 文件。 |
-h |
以人们易读的方式显示文件或目录大小 |
-i |
显示 inode 节点信息。 |
-l |
使用长格式列出文件和目录信息。 |
-n |
以 UID 和 GID 分别代替文件用户名和群组名显示出来。 |
-r |
将排序结果反向输出 |
-R |
连同子目录内容一起列出来,等於将该目录下的所有文件都显示出来。 |
-S |
以文件容量大小排序,而不是以文件名排序。 |
-t |
以时间排序,而不是以文件名排序。 |
--color=never |
never 表示不依据文件特性给予颜色显示。 |
--full-time |
以完整时间模式 (包含年、月、日、时、分)输出 |
--time={atime,ctime} |
输出 access 时间或改变权限属性时间(ctime),而不是内容变更时间。 |
mkdir创建目录。
[root@localhost ~]# mkdir [-mp] 目录名
- -m 选项用于手动配置所创建目录的权限。 mkdir -m 711 test2
- -p 选项递归创建所有目录。 mkdir -p lm/movie/jp/cangls
rmdir删除空目录
rmdir [-p] 目录名
-p 选项用于递归删除空目录。
touch创建文件及修改文件时间戳
touch [选项] 文件名
- -a:只修改文件的访问时间;
- -c:仅修改文件的时间参数(3个时间参数都改变),如果文件不存在,则不建立新文件。
- -d:后面可以跟欲修订的日期,而不用当前的日期,即把文件的 atime 和 mtime 时间改为指定的时间。
- -m:只修改文件的数据修改时间。
- -t:命令后面可以跟欲修订的时间,而不用目前的时间,时间书写格式为 YYMMDDhhmm
ln在文件之间建立链接
ln 命令用于给文件创建链接,根据 Linux 系统存储文件的特点,链接的方式分为以下 2 种:
- 软链接:类似于 Windows 系统中给文件创建快捷方式。
- 硬链接:文件的基本信息都存储在inode中,而硬链接指的就是给一个文件的inode分配多个文件名。
ln [选项] 源文件 目标文件
- -s:建立软链接文件。如果不加 "-s" 选项,则建立硬链接文件;
- -f:强制。如果目标文件已经存在,则删除目标文件后再建立链接文件;
这里需要注意,软链接文件的源文件必须写成绝对路径,而不能写成相对路径(硬链接没有这样的要求);否则软链接文件会报错。
cp复制
cp [选项] 源文件 目标文件
- -a:相当于 -d、-p、-r 选项的集合;
- -d:如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接;
- -i:询问,如果目标文件已经存在,则会询问是否覆盖;
- -l:把目标文件建立为源文件的硬链接文件,而不是复制源文件;
- -s:把目标文件建立为源文件的软链接文件,而不是复制源文件;
- -p:复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间);
- -r:递归复制,用于复制目录;
- -u:若目标文件比源文件有差异,则使用该选项可以更新目标文件,此选项可用于对文件的升级和备用。
rm删除文件或目录
rm[选项] 文件或目录
- -f:强制删除(force)。
- -i:和 -f 正好相反,在删除文件或目录之前,系统会给出提示信息。
- -r:递归删除,主要用于删除目录,可删除指定目录及包含的所有内容,包括所有的子目录和文件。
mv移动文件或改名
mv [选项]源文件 目标文件
- -f:强制覆盖;
- -i:交互移动,询问用户是否覆盖(默认选项);
- -n:如果目标文件已经存在,则不会覆盖移动,而且不询问用户;
- -v:显示文件或目录的移动过程;
- -u:若目标文件已经存在,但两者相比,源文件更新,则会对目标文件进行升级;
打包和压缩详解
打包和压缩不同。
tar
打包:tar [选项] 源文件或目录
tar 打包命令常用选项及含义 |
|
选项 |
含义 |
-c |
将多个文件或目录进行打包。 |
-A |
追加 tar 文件到归档文件。 |
-f 包名 |
指定包的文件名。包的扩展名是用来给管理员识别格式的,所以一定要正确指定扩展名; |
-v |
显示打包文件过程; |
tar -cvf anaconda-ks.cfg.tar anaconda-ks.cfg