Linux操作系统的基本指令

基本指令

1、初识

指令,是控制Linux操作系统的基本方法。

但是,我们只学习指令,可能会一头雾水。所以我们在学习指令的同时,也要学习Linux的一些基本知识,来帮助我们更好地使用指令。

2、ls指令

ls,意为list ,有罗列的意思。

ls的作用是:罗列当前路径下所有文件。

那么在这里,文件指的是什么?

2.1、对于文件的理解

文件并不等于文件的内容,文件是文件内容,和文件属性的结合。

(Linux中提及的)文件 == 文件的内容 + 文件的属性

其中,文件的属性,包括文件的名称、日期、类型、大小,等等,这些文件的属性数据 ,又叫作元信息

和文件的内容数据一样,文件的属性数据,也有大小,也需要占据磁盘的空间。所以电脑就可以通过文件的属性数据,找到对应的文件。

我们学习文件的本质,就是两点:

学习对文件内容的操作

学习对文件属性的操作

所以,我们结合上面的图片,明白ls罗列的本质是:罗列文件的属性。

当然,我们只使用ls,只能看到文件名,使用ls -l可以看到更多属性:

我们在讲解ls作用的时候,提及了当前路径,那么,什么是路径?

2.2、路径

为什么系统要有路径?

我们要想访问一个文件,必须知道这个文件在哪;而路径是具有唯一性的,所以我们知道了文件所处的路径,就能顺着路径,访问文件。

比如,我们访问路径/root/project1,找到了project1目录下的part1文件夹。

路径具有唯一性。

当前路径:系统此时默认所处的环境。

2.3、隐藏文件

在Linux系统中,以.(英文句号)开头的文件,被称为隐藏文件

我们做一件事:新建一个**.hello**文件,然后访问当前目录。

我们发现,我们找不到.hello文件。

这时,我们用一个指令ls -a

.hello文件显示了。

所以指令ls -a的作用是:显示当前目录下的所有文件名,包括隐藏文件的文件名。

其实,诸如-l、-a,这些选项,可以组合使用,使指令的编写更灵活:

3、pwd指令

pwd,print working directory,意为打印当前目录的绝对路径

这里我们来对比一下windows系统和Linux系统中,路径分隔符的区别:

whidows: (反斜杠)

Linux: /(斜杠)

4、cd指令

cd,change directory,意为路径的切换

使用指令cd,可以使用绝对路径:

也可以使用相对路径:

相对路径的使用中,我们用到了我们在学习隐藏文件时出现的. 文件、. .文件。

. 文件:当前目录

. .文件:当前目录的上一级目录

所以cd ..的作用是返回上一级目录。

我们来不断进行cd ..pwd操作:

当我们不断返回上一级目录时,我们发现,最后一直停在==/==上不动了。

我们把这个/叫做根目录。我们把从根目录开始的路径,叫做绝对路径。

这时我们补充了解Linux管理文件时使用的树状结构

4.1、树状结构

Linux管理文件,使用的是树状结构。

树,有叶子节点路上节点

叶子节点,一般是普通文件、空目录

路上节点,一定是一个目录

我们能够很自然的想到,Linux中的目录 ,很像windows中的文件夹

我们知道,对于树,每一个既不是叶子节点也不是根目录的节点,其子节点可能有很多,然而其父节点只有一个。

所以在这种树状结构中,正向、逆向的路径都是唯一的,所以路径具有唯一性

相对路径,通常用来进行命令行操作。

二进制可执行文件,从磁盘加载到内存中运行,前提是:先得找到这个可执行文件。

此时的可执行文件在当前目录,那么,我们就可以使用相对路径,快速定位文件的位置。
绝对路径,通常会在配置文件中使用。

绝对路径,是一种特殊的相对路径。每一个相对路径都是唯一的,只不过相对路径有很多种。

绝对路径,是一种特殊的相对路径。所以下面两个划线指令,效果是相同的:

4.2、剩余指令,和家目录

cd指令中,还有cd /,这个指令是用来直接返回到根目录的

还有cd -这个指令是用来返回到上一个路径的

由于只能返回到最近一次操作之前的路径,所以我们不停使用cd -,就会导致循环:

还有一个指令cd ~,要想了解这个指令,我们先来了解家目录

我们一开始进入Linux系统的时候,所处的目录,就是家目录:

对于windows系统,也有一个类似家目录的东西。

windows桌面显示的快捷方式、默认的下载位置,全部放在了C盘的"用户"文件夹下。

所以,指令cd ~的作用是:返回到家目录

补充一个指令:whoami

这条指令,会打印当前用户的用户名。

5、touch指令

touch指令,可以用来创建普通文件。

补充一个命令:stat

这个命令,会展开更详细的属性。

这里有三个时间:

Access Time:内容被读取的最后时间。

Modify Time:内容被修改的最后时间。

Change Time:元数据被修改的最后时间。

touch用来创建普通文件,而mkdir用来创建目录。

6、指令mkdir

学习mkdir指令之前,我们先来补充一点知识------Linux的文件类型的讨论。

Linux系统区分文件类型,并不关心文件的后缀。

我们来论证这一点:

这里准备了一个源文件、一个可执行文件。

给这个可执行文件改名,再运行:

正常运行了,所以Linux不关心文件的后缀。

但是,Linux不关心,不代表其他东西不关心,比如gcc编译器。所以我们改了源文件的后缀,就无法编译:

话说回来,Linux区分文件的方法,是利用文件的属性。

首先一提,指令ll,相当于指令ls -l

我们发现,第一列字符中,有d和**-**,其中:

d开头的是目录

-开头的是普通文件,可以是可执行文件、文本文件、动态库静态库等

说回mkdir。

要想创建一个目录,直接使用mkdir:

而要想创建一串目录,使用mkdir -p

查看一串目录的生成,除了依次进入查看,还可以使用tree

指令tree需要手动安装。

centOS版本下的安装指令:yum install -y tree

Ubuntu版本下的安装指令:apt install -y tree

7、rmdir&&rm

它们都是删除指令。

7.1、指令rmdir

rmdir,只能用来删除空目录。

这肯定是不方便的,所以我们看向rm

7.2、指令rm

rm可以用来删除普通文件

rm删除不了有内容有分支的目录,因为在一个树形结构中,需要递归删除。

所以指令rm -r派上了用场。

如果是超级用户,那么使用rm -r指令时会在递归的每一步,进行询问。

但是指令rm -rf就不询问了,直接删除。

这里涉及到一个非常危险的问题。

Linux整体结构是一个多叉的树形结构。

如果我们直接删除根目录,也就是执行语句:rm -rf /,整个操作系统就被删除了。

所以我们使用rm -rf语句,删除一些绝对路径下的目录,要格外小心。

万一不小心执行了这条语句,建议直接全部删除,重新编写语句。要知道,即使执行了删除整个操作系统的语句,有些内容是不会被删除的,比如正在运行的内容。但是,已经被删除的地方,会造成潜在的漏洞。所以,不小心执行了这条语句,直接全部删除。

还有一个指令rm -i,使用了-i,就可以弹出询问:

询问对话中,y就是yes,n就是no。

所以我们进行删除操作时,可以按照以下思路进行:

删除普通文件,用rm

删除目录,用rm -ri,必要时用rm -rf

相关推荐
郝亚军1 小时前
ubuntu-18.04.6-desktop-amd64安装步骤
linux·运维·ubuntu
Konwledging2 小时前
kernel-devel_kernel-headers_libmodules
linux
Web极客码2 小时前
CentOS 7.x如何快速升级到CentOS 7.9
linux·运维·centos
一位赵2 小时前
小练2 选择题
linux·运维·windows
代码游侠2 小时前
学习笔记——Linux字符设备驱动开发
linux·arm开发·驱动开发·单片机·嵌入式硬件·学习·算法
Lw老王要学习3 小时前
CentOS 7.9达梦数据库安装全流程解析
linux·运维·数据库·centos·达梦
Kaede63 小时前
提示dns服务器未响应,需要做哪些事?
运维·服务器
CRUD酱3 小时前
CentOS的yum仓库失效问题解决(换镜像源)
linux·运维·服务器·centos
We....4 小时前
鸿蒙与Java跨平台Socket通信实战
java·服务器·tcp/ip·arkts·鸿蒙
zly35004 小时前
VMware vCenter Converter Standalone 转换Linux系统,出现两个磁盘的处理
linux·运维·服务器