3. 9月12日 Linux系统文件与基本操作
3. 9月12日 Linux系统文件与基本操作
文件与文件夹
什么是文件?
一般都是一个独立的东西,可以通过一些特定的工具进行打开,并且其中不能在包含除了文字以外的东西。
什么是文件夹?
可以在其中包含其他文件的东西。
Linux一切皆文件。
1.Linux使用过程中,有近一半以上的工作内容精力其实都是对文件的操作。
2.Linux 本身也是一个基于文件形式表示的操作系统。
①在Windows是文件的,在Linux下同样也是文件;
②在Windows不是文件的,在Linux下也是以文件的形式存储的;
日常学习中和日常工作中,对于文件的操作的都有哪些种类?
创建文件、编辑文件、保存文件、关闭文件、重命名文件、删除文件、恢复文件。
注意:Linux中文件是没有扩展名(后缀名)这一说的,只是用来识别文件。
Linux系统的文件目录结构
目录结构:

需要记忆
etc: 该目录主要存储一些配置文件。
home:表示“家”,表示除了root用户以外其他用户的家目录,类似于windows下的User/用户目录。
root: 该目录是root用户自己的家目录。
tmp: 表示“临时”的,当系统运行时候产生的临时文件会在这个目录存着。
需要了解
bin: 全称binary,含义是二进制。该目录中存储的都是一些二进制文件,文件都是可以被运行的。
dev: 该目录中主要存放的是外接设备,例如盘、其他的光盘等。在其中的外接设备是不能直接被使用的,需要挂载(类似windows下的分配盘符)。
sbin: 全称super binary,该目录也是存储一些可以被执行的二进制文件,但是必须得有super权限的用户才能执行。
**usr:**存放的是用户自己安装的软件。类似于windows下的program files。
var: 存放的程序/系统的日志文件的目录。 Mnt:当外接设备需要挂载的时候,就需要挂载到mnt目录下。
Linux的文件管理
一般命令格式: 命令 [-选项] [参数]
1、pwd命令
显示当前路径
用法:#pwd (print working directory,打印查看当前工作目录)

2、ls命令
列出内容
用法1:#ls
含义:列出当前工作目录下的所有文件/文件夹的名称

用法2:#ls 路径
含义:列出指定路径下的所有文件/文件夹的名称

关于路径(重要):
路径可以分为两种:相对路径、绝对路径。
相对路径: 相对首先得有一个参照物(一般就是当前的工作路径);
相对路径的写法:在相对路径中通常会用到2个符号“./”【表示当前目录下】、“../”【上一级目录下】。
绝对路径: 绝对路径不需要参照物,直接从根“/”开始寻找对应路径;
用法3:#ls 选项 路径
含义:在列出指定路径下的文件/文件夹的名称,并以指定的格式进行显示。
选项解释:
-l:表示list,表示以详细列表的形式进行展示
-a:表示显示所有的文件/文件夹(包含了隐藏文件/文件夹)
-h:以可读性较高的形式显示文件大小
选项可以一起用,与顺序无关。
常见的语法:
#ls -l 路径

#ls -la 路径

3、mkdir命令
创建文件夹
指令:mkdir(make directory,创建目录)
语法1:#mkdir 路径 【路径,可以是文件夹名称也可以是包含名称的一个完整路径】
案例1:在当前路径下创建出“f1”目录(文件夹)

案例2:在指定路径(/tmp/)下创建出一个文件夹“f1”

4、touch命令
指令:touch
作用:创建文件
语法:#touch 文件路径 【路径可以是直接的文件名也可以是路径】
案例1:使用touch来在当前路径下创建一个文件,命名为Linux.txt

案例2:使用touch在当前目录同时创建多个文件Linux1.txt、Linux2.txt、Linux3.txt

案例3:使用touch在/root/f1指定目录中创建文件Linux.txt

注意:以“.”开头创建的文件名为隐藏文件。
5、cp命令
指令:cp(copy,复制)
作用:复制文件/文件夹到指定的位置
语法:#cp 被复制的文档路径 文档被复制到的路径
案例1:使用cp命令来复制用户家目录下的Linux.txt到/tmp/目录

注意:Linux在复制过程中是可以重新对新位置的文件进行重命名的,但是如果不是必须的需要,则建议保持前后名称一致。
**提示:**Linux中后缀名只是为了识别,无其他意义
案例2:使用cp命令来复制用户家目录下的Linux.txt到/tmp/目录,并重命名为Linux13.txt

案例3:使用cp命令来复制/root/目录下的f1文件夹到/tmp目录下
注意:当使用cp命令进行文件夹复制操作的时候需要添加选项“-r”【-r表示递归复制】,否则目录将被忽略。

6、mv命令
指令:mv(move,移动,剪切)
作用:移动文档到新的位置
语法:#mv 需要移动的文档路径 需要保存的位置路径
案例1:使用mv命令移动一个文件 把Linux.txt移动到/root/f1/目录下

确认:移动之后原始的文件还在不在原来的位置?原始文件是不在原始位置的
案例2:使用mv命令移动一个文件夹 将/root/f1目录下的f2文件夹运动到/root/目录下

补充:在Linux中重命名的命令也是mv,语法和移动语法一样。
案例3:使用mv命令将/root/f1目录下的f2文件夹重命名为f3

7、rm命令
指令:rm (remove,移除、删除)
作用:移除/删除文档
语法:#rm 选项 需要移除的文档路径
选项:
-f:force,强制删除,不提示是否删除
-r:表示递归
案例1:删除一个文件 用相对路径删除/root/目录下的Linux1.txt

在删除的时候如果不带选项,会提示是否删除,如果需要确认则输入“y/yes”,否则输入“n/no”按下回车。
注意:如果在删除的时候不想频繁的确认,则可以在指令中添加选项“-f”,表示force(强制)。
案例2:强行删除多个文档 相对路径强行删除/root/目录下的Linux2.txt和Linux2.txt

案例3:要删除一个目录 相对路径强行递归删除/root/目录下的f1文件夹
注意:删除一个目录的时候需要做递归删除,并且一般也不需要进行删除确认询问,所以移除目录的时候一般需要使用-rf选项。

案例4:要删除一个目录下有公共特性的文档,例如都以Linux开头的文件和文件夹

其中***称之为通配符,意思表示任意的字符,Linux*,则表示只要文件以Linux开头,后续字符则不管**。
案例5:要删除一个目录下所有文档,例如删除/tmp/目录下的所有文件的文件夹
