Linux 学习笔记02 Ubuntu
第二章 文件和目录管理
2.1 Linux文件基础
在Linux操作系统中,一切都是文件。
Linux和win的文件系统:
- Linux文件名是区分大小写的
- Linux文件没有 扩展名。
- Linux没有盘符的概念。Linux的目录结构为树状结构,顶级的目录为根目录“ / ”.
2.2 Linux文件类型
文件分类:常规文件、目录文件、链接文件、设备文件(块设备文件和字符设备文件)、管道文件和套接字等。
ls -l | 查看文件的属性标志 |
---|
eg.>>>ls -l /dev # 查看系统各类设备文件的详细信息
最左侧的10个字符表示文件的属性,例如,block文件:drwxr-xr-x,
最左侧的10个字符的含义为:
【第1个字符:代表文件类型】
属性 | 文件类型 |
---|---|
- | 常规文件 |
d | 目录文件 |
b | 块设备(block device)文件,如硬盘。支持以块为单位进行随机访问 |
c | 字符设备(character device)文件,如键盘。支持以字符为单位进行随机访问 |
l | 符号链接(symbolic link)文件,软链接文件 |
p | 命名管道(pipe)文件 |
s | 套接字(socket)文件,用于实现两个进程间的通信 |
第2~4个字符:代表用户的权限
第5~7个字符:代表用户组的权限
第8~10个字符:代表其他用户的权限
第 5 列会显示当前文件的大小,但设备类文件会有两个以逗号隔开的数字,其中第一个是主设备号 用于区分设备类型,第二个是次设备号,用于区分同一种类型设备的不同设备。
file | 查看详细的文件类型信息 |
---|
eg.>>>file /dev # 目录文件
file /dev/fb0 # 字符设备文件
2.3 Linux目录基础
Linux操作系统以目录的方式来组织和管理系统中的所有文件,目录就是将所有文件的说明信息采用树状结构组织起来。各个目录节点之下会有一些文件和子目录。目录也是一种文件类型。Linux目录结构遵循FHS(filesystem hierarchy standard)
- 根目录。\ 每一个文件和目录都从这里开始。尽管root的中文含义是根,但根目录和/root目录不同,/root目录是root用户的主目录。
- 路径:绝对路径和相对路径
- 用户主目录。用户主目录是系统管理员增加用户时建立起来的,每个用户都有自己的主目录。不同用户 的主目录位于/home目录之下。用“ ~ ”表示主目录,root用户的主目录一般位于“ /root ”.
- 当前目录和上层目录。当前目录用==“ . ”表示,当前目录的上级目录用“ … ”==表示
- 工作目录。即当前目录,pwd可以查看用户当前目录。
2.4 文件操作命令
- 创建空文件命令touch
命令语法 touch [选项] [文件]
## 创建空文件
选项 | 参数含义 |
---|---|
-a | 只更改访问时间 |
-m | 使用当前时间来更改文件和目录的修改时间 |
-c | 假如目的档案不存在,则不会建立新的档案 |
-t | 使用指定时间(默认当前) |
-r | 把指定文件或目录时间设置为和参考文件或目录的时间相同 |
eg.>>>创建新文件B,其时间记录和A文件相同
touch -r zp.txt john.txt # john.txt是新创建的文件
- 文件复制命令cp
若同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中;若同时指定多个文件或目录,而目的地并非一个已存在的目录,则会存在错误信息。
命令语法 [options] source dest
选项 | 参数含义 |
---|---|
-f | 覆盖已经存在的目标文件而不给出提示 |
-i | 在覆盖目标文件之前给出提示,要求用户确认是否覆盖。当回答y,将会覆盖原文件 |
-p | 除复制文件内容,还会复制修改时间和访问权限 |
-r | 递归复制目录及其子目录内的所有目录 |
-l | 不复制文件,只生成硬链接文件 |
-s | 只创建符号链接而不复制文件(创建软链接文件) |
关于链接文件,链接文件包括硬链接文件和软链接文件【符号链接】两种,软链接文件类似于一个快捷方式,即产生一个特殊文件来指向原文件;硬链接文件即给源文件的inode分配多个文件名,然后通过任意一个文件名来找到源文件的inode。
- 文件链接命令ln
命令语法 ln [OPTION] ... [-T] TARGET LINK_NAME
选项 | 参数意义 |
---|---|
-s | 建立 软链接文件 |
-f | 强制建立链接文件,如果目标存在,则删除原有文件在创建 |
空 | 建立 硬链接文件 |
-v | 执行时显示详细信息 |
-n | 把符号链接视为一般目录 |
-L | 引用的目标是符号链接 |
eg.>>>
ln -fs /dev/block/ blocklnk # 建立指向/dev/block目录的软链接文件
- 文件移动命令mv
用户可以使用mv命令将文件或目录移入其他位置,也可以使用其来为文件或目录改名。
命令语法:mv [选项] [源文件|目录] [目标文件|目录]
选项 | 参数意义 |
---|---|
-f | 覆盖前不询问 |
-i | 覆盖前询问 |
-b | 若须覆盖文件,则覆盖前先行备份 |
-v | 显示详细的步骤 |
eg.>>>mv john.txt john.doc # 将文件john.txt 移到文件john.doc,即相当于将文件重命名
eg.>>>mv dir1/john.doc . # “ . “表示当前目录
- 文件删除命令rm
rm命令用于删除文件或者目录,rm可以删除一个目录下的多个文件或者目录,也可以删除某个目录及其下的所有子文件。
命令语法:rm [选项] [文件|目录]
选项 | 参数含义 |
---|---|
-i | 删除文件或者目录时提示用户 |
-f | 删除文件或者目录时不提示用户 |
-r | 递归删除目录,包含目录下的文件或者各级目录 |
当没有某个文件时,-f会提示无该文件,添加-f参数,不管有没有文件或目录都会进行删除操作,-rf 强制删除
2.5 目录操作命令
**目录也是一种文件类型。**以上对于文件操作的命令都适用于目录,另外,目录还有一些专属的操作命令。
- 显示当前路径命令pwd
pwd | 显示当前工作目录的路径 |
---|
- 改变工作目录命令cd
cd [目录]
指令中的目录可以是当前路径下的目录,也可以是其他位置的目录。对于其他位置的目录。需要给定详细的路径(相对路径或绝对路径),绝对路径从根目录开始,相对 路径从当前目录开始。
描述相对路径
- 当前目录,用“ . ”表示
- 当前目录的父目录,用“ … ”表示
- 当前用户的主目录,用“ ~ ”表示
eg.>>>cd ~ # 直接切换到用户主目录
.>>>cd ./zp/dir2/
- 列出目录内容命令ls
命令语法 [选项] [目录或文件]
选项 | 参数含义 |
---|---|
-a | 显示所有文档与目录 |
-A | 显示除隐藏文件“ . ”和“ … ”开头以外的所有文件列表 |
-l | 显示文件的详细信息 |
eg.>>> ls -a-l(-al) # 显示当前目录下所有文件或目录的详细信息
- 创建目录命令mkdir
用来创建指定名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录不能是当前目录中已有的目录名(不能重名)。
命令语法 mkdir [选项] 目录...
选项 | 参数含义 |
---|---|
-m, --mode | 设定权限<模式>(类似chmod),而不是rwxrwrwx减umask? |
-p, --parents | 此时若路径中的某些目录不存在,加上此选项后,系统可自动建好那些尚不存在的目录,一次可以创建多个目录 |
-v, --verbose | 每次创建目录时都显示提示信息 |
–version | 输出版本信息并退出 |
eg.>>>mkdir -v zp{1..10} # 批量创建10个目录,命名为zp1-zp10
- 删除目录命令rmdir
注意:rmdir只能删除空目录,删除非空命令时会报错。同mkdir命令一样,删除某目录时也必须具有对其目录的写权限
命令语法 rmdir [选项] [目录名]
选项 | 参数含义 |
---|---|
-p | 递归删除目录,删除目录后,若该目录的上层目录已经变成空目录,则将其一并删除 |
-v | 显示命令的详细执行过程 |
eg.>>>rmdir zp{1..10} # 批量删除符合规则的空目录
本文链接:https://blog.csdn.net/qq_46426207/article/details/121046482