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/目录下的所有文件的文件夹