个人博客网:https://wushaopei.github.io/ (你想要这里多有)
一 、 背景知识
1、 Linux系统中一切皆文件
在Linux系统中任何东西都是以文件形式来存储的。这其中不仅包括我们熟知的文本文件、可执行文件等等,还包括硬件设备、虚拟设备、网络连接等等,甚至连目录其实都是一种特殊的文件。
2、Linux文件系统
Linux系统环境下的文件系统与Windows有很大区别。
在Windows中,每一个盘符下是一个独立的文件系统,硬盘有多少个分区就有多少个文件系统。
而在Linux系统中不管创建了多少个硬盘分区都只有一个文件系统。整个文件系统的根目录是“/”,从“/”根目录出发理论上可以找到Linux系统中的所有目录和文件。
3、Linux系统中的路径
- 绝对路径:从“/”根目录开始逐层查找文件和目录。
/etc/sysconfig/network-scripts
/tmp/vmware-root/vmware-db.pl.2267
- 相对路径:以当前目录或上一级目录为基准逐层查找文件和目录
当前目录:“./”
当前目录的上一级目录:“../”
4、用户家目录
Linux系统为每一个用户提供了一个专属的目录用来存放它自己的文件内容。在Linux中使用“~”代表用户的家目录。
root用户作为系统的超级管理员,它的家目录是/root目录。
其他普通用户在创建后会在/home目录下创建与用户名同名的目录。例如:用户tom的家目录是/home/tom
5、操作系统不识别扩展名
Linux系统本身不识别文件扩展名,一个文件的类型不靠扩展名来区分,所以在Linux系统中,很多文件没有扩展名,反之有些目录的名字中有“.”。
二 、文件目录操作命令
1、进入目录
命令名:cd
对应单词:change directory
作用:切换当前目录
格式:cd 路径
2、查看目录内容
命令名:ls
对应单词:list 列表
作用:将目录内容以列表形式展示出来
格式:ls [OPTION]... [FILE]...
常用参数
参数 |
作用 |
-a |
列出全部文件,包括隐藏文件。隐藏文件通常以“.”开头。 |
-d [表达式] |
根据表达式查找匹配的目录或文件,但是目录仅显示目录本身的名称,不显示其内容。 |
-l |
以详细信息形式列出查询内容,详细信息格式为: 条目类型 权限 链接数 文件属主 文件属组 文件大小(以字节为单位) 建立或最近修改时间 名称 *链接数:表示文件被多少个终端打开 *文件属主:表示文件属于哪个用户 *文件属组:表示文件属于哪个用户组 |
-R |
递归查看目录中的内容 |
-F |
在目录后加“/” |
组合用法
ls -ltr |
逆序罗列最新修改过的文件。应用场景举例:即时查看某个日志文件是否被修改 |
ls -lF|grep /$ |
显示当前目录下的所有目录信息 将lF的查询结果使用正则表达式进一步筛选 “|”表示将前面命令执行的结果作为后面命令的输入 grep命令用于执行正则表达式 例如:^d表示以d开头,/$表示以/结尾 |
ls -l|grep ^- |
显示当前目录下的所有文件信息 |
ll |
ls -l的简化形式 |
3、创建目录
命令名:mkdir
对应单词:make directory
作用:创建目录
格式:mkdir [OPTION]... DIRECTORY...
创建单层目录
mkdir 目录名
递归创建多层目录
mkdir -p /目录1/目录2/目录3/...
4、删除目录
命令名:rmdir
对应单词:remove directory
作用:删除空目录
格式:rmdir 目录名
PS:想递归删除一连串目录怎么办?
rmdir -p ./uuu/vvv/ccc
5、创建文件
命令名:touch
作用:新建文件
格式:touch 文件名
6、复制目录或文件
命令名:cp
对应单词:copy
作用:复制文件或目录
复制文件
cp source dest
复制目录
cp -r source dest
7、删除目录或文件
命令名:rm
对应单词:remove
主要参数:
[1]-f:强制删除
[2]-r:递归删除
说明:
[1]不能直接删除目录,要删除目录必须使用-r参数递归删除
[2]不使用-f参数时会有确认提示,使用-f参数后不进行确认直接删除
PS:想想rm命令怎么用可以很危险?
8、移动目录或文件
命令名:mv
对应单词:move
格式:mv [源目录/文件路径] [目标目录路径]
特殊效果:将目录或文件在当前位置移动可以起到重命名的作用