在哪个网站做一照一码,二手交易网站开发可参考文献,大连网站搜索排名提升,重庆建设工程招标投标网前言#xff1a;本节内容标题虽然为指令#xff0c;但是并不只是讲指令#xff0c; 更多的是和指令相关的一些原理性的东西。 如果友友只想要查一查某个指令的用法#xff0c; 很抱歉#xff0c; 本节不是那种带有字典性质的文章。但是如果友友是想要来学习的#xff0c;… 前言本节内容标题虽然为指令但是并不只是讲指令 更多的是和指令相关的一些原理性的东西。 如果友友只想要查一查某个指令的用法 很抱歉 本节不是那种带有字典性质的文章。但是如果友友是想要来学习的 那么本篇文章很适合 而且非常适合初入linux的小白没错 就是我。 目录
基本指令
常见指令
文件的属性与类型
.文件的作用
路径
..文件的作用
其他基本指令
基本指令2
如何看待指令
重定向与阅读文本 基本指令
常见指令 ls、 cd、 pwd、mkdir、 touch ls显示当前目录下的文件信息cd进入某一个文件夹pwd查看当前路径mkdir创建文件夹touch创建普通文件 文件的属性与类型 在linux中 可以将文件分为两类 一类是普通文件 也就是touch出来的 一类是文件夹 也就是mkdir出来的。 对应我们windows中的文件夹如图红框框和普通文件(如图蓝框框 另外 指令也可以携带选项。 比如ls -a就是显示隐藏文件。 ls -l就是详细的显示文件的属性。 第一个红框框是显示隐藏文件是的 文件也是有隐藏文件和非隐藏文件的区别的。“.这个其实就是一个隐藏文件夹 表示当前目录。 ..也是一个隐藏文件夹 表示上级目录。 第二个红框框是详细的显示文件属性。 文件 文件的数据 文件的属性。 文件的属性也是数据 是数据就要存储 那么就要占用空间。 所以当我们创建一个空文件 里面即使没有保存任何信息 这个文件也要占用磁盘空间。所以 ls显示文件信息 本质上就是在显示文件的属性。 同时 文件的操作 文件内容的操作 文件属性的操作。 现在来看一下下面这张图中前面的一个长条红框框。 框起来的部分就是文件的类型。 文件的类型分为 文件目录——以d开头、 普通文件——以-开头。 第三个红框框是ls -al 这个指令是将ls -a 和ls -l的后面的选项合起来。 这样用是没有问题的。 结果就是既显示隐藏文件 也会详细的将文件属性显示出来。
.文件的作用
在linux中 任何文件目录下面都有两个隐藏文件.和..为什么 他们有什么用 首先来看. 这个隐藏文件是表示当前目录。 我们在执行某些程序或者操作本质上都是文件 linux下一切皆文件时 可能需要确定是哪个路径下的程序或者操作。 这个时候 如果要执行当前目录下的程序或者文件 我们就要用到. 表示执行当前目录下的某些操作。如图a.out是一个可执行文件 路径 在了解“..”的作用之前 我们要先了解路径的相关概念 这里可以思考一个问题 那就是对于一个文件夹来说 它可以放另一个目录或者放普通文件。 那么就决定了我们的目录结构 我们的目录结构一定是一个多叉树的样子。 linux的目录结构的叶子节点一定是一个空目录或者一个普通文件。而它路上的节点 一定是一个非空目录。所以 我们对于文件目录的增删查改 实际上都是对这棵多叉树的增删查改。 对于一个文件来说 我们找到这个文件就要有这个文件的路径。 也就是多叉树上面的路径。那么为什么可以使用路径呢 这是因为路径具有唯一性。 对于一棵多叉树来说 每一个根节点都只有一个父亲节点。 那么就是说这个根节点回推到某一节点 只有一条路可以走。 所以路径具有唯一性。 接下来看一下路径分隔符, 这个小斜杠就是路径分隔符: 路径分为绝对路径和相对路径 绝对路径绝对路径就是从我们的根目录下(/) 定位到某一个特定位置 具有唯一性的路径叫做绝对路径 如图: 相对路径如果我们目前在dir2目录下 如果_mian_yang目录下还有一个dir3.那么../dir3就是dir3相对于dir2的相对路径。 两个路径的比较 绝对路径通常比较长 但是永远不会变 一般在一定场景 如文件配置。 相对路径往往比较短 一般命令行输入 比较常用相对路径。 ..文件的作用 而.. 就可以用在相对路径中 比如cd ../dir3路径 意思是进入上级目录中的dir3兄弟文件夹中。
其他基本指令
//ls -F
ls -F能够显示文件的类型 在最后显示/代表文件夹 在最后显示*代表可执行文件 什么都不带代表普通文件。 //whoami
查看自己当前的账户 在linux中 所有普通用户账号都会放到home目录下面 进入路径是: /home home目录对应着windows中的用户
//cd~
cd~的作用是返回当前账户的家目录
普通用户返回家目录 root用户返回家目录: //mkdir -p 一串文件 //cd -, cd - 可以返回到上一级的路径中 基本指令2
rm
rm是删除指令后面什么都不加时 可以删除普通文件。 但是如果要删除一个目录文件就会删除失败。 rm -r 可以删除目录文件 r的意思是递归。 这条指令也就是递归删除。
在默认情况下 我们的普通用户删除东西时 系统不会确认我们是否删除 但是如果是root账户 我们删文件这个的所有者是root时 系统就会确认我们是否删除 并且如果删除一个目录文件 还会一层一层的问我们是否删除。 那如果我们普通用户下想要让系统问我们就要使用 rm -i。
如果我们root账户下不想让系统问我们就要使用 rm -f。 //man手册
使用方式 man 指令
man man就是询问自己的功能 查看自己的详细信息。
man有版本的说法 man1一般就是指令接口 man2一般就是系统接口man3一般就是c语言接口。
man手册在查找的时候 如果不加编号 那么默认会从第一号手册开始 一个手册一个手册往下找 直到找到或者所有手册找完也没有找到。(退出用q) //先来简单的说一说echo和cat
echo可以将后面的字符串默认加上换行符并打印到显示器上。 但是 当我们在字符串的后面加 文件名的时候 就会发生输出重定向 原本应该打印到显示器上的内容就会被打印到文件里。 然后要看到hl.txt文件里面的内容就要使用cat cat 文件名 是在文件里面读取数据打印到显示器上面。
//cp
cp的功能是拷贝就是用一个文件拷贝出另一个文件 文件名可以不同 但内容相同。相当于windows里面的cv。 cp 文件1 文件2, 这里的文件1就是原版本 这里的文件2就是要拷贝出来的文件。 文件2默认被拷贝在当前目录 但是尝试告诉我们相同目录不能又相同名字的文件 所以当前目录如果又和它同名的文件 这个文件就会被覆盖。 cp 文件1 路径 将文件1拷贝到相应路径上 这个更加灵活根据上面所学的相对路径或者绝对路径 可以随便拷贝到一个路径下面。 需要注意的是 如果路径的末尾是目录 那么就会拷贝到目录下面并且文件名默认就是文件1的名称。但是如果路径的末尾是普通文件 那么就会生成这个文件 如果存在同名 就把它覆盖掉。这个应该是常识 和windows上一样 这里只是梳理一下 其实文件1也可以是一条路径 就是将某个路径下的文件拷贝到某个路径下 需要注意的是 当cp在覆盖的时候 系统会确认我们的操作 如果我们不想看到这个确认 就可以加上-f选项。 同理 -i选项就是想要被他询问。
//mv
mv是剪切并重命名 有了上面学习cp的基础 mv就比较简单了。 我们可以直接这样记 mv 路径1/文件名1 路径2/文件名2 其实就是将一个路径下的文件 剪切到一个路径下。 就是将路径1里面的文件1剪切到路径2里面并且重命名。 需要注意的是如果有重名的同样会将原本的那个覆盖掉。 还有 如果文件2是一个目录 那么就是将文件文件1剪切到文件2里面。 名字是默认的文件1的名称。
知道了剪切 我们就可以做一些操作了。
如何看待指令 我们应该如何去看待指令呢 其实 指令和我们写的可执行程序a.out都是可执行的 所以指令的本质其实就是一个可执行程序 那么看这样一个例子 这里我乱写了一串指令 很显然 系统中不存在这条指令。 那么它为什么知道不存在是不是因为系统查找了所有指令但是找不到一条和我要的相同的 所以 我们就可以推断 指令在执行之前 系统会先寻找指令。 那么这个指令在哪里寻找呢 答案就是/usr/bin里面。 这里就是系统查找指令的地方 所有指令都在这里放着————即指令是在系统的特定路径下存在的 它一定是某种可执行程序。 那么 如果我们将我们自己写的程序放到这里面 是不是就相当于我们自己写的程序也是一条指令了 这个过程 其实就是安装程序。 现在我们来自己写一个a.out并把它放在/usr/bin里面 下次我们使用的时候就不需要加./了 所以 指令的本质就是可执行程序 和我们自己写的代码 编译好的程序 没有本质区别。 但是如果我们不想要这个指令的时候还可以把他从/usr/bin里面移出来 这个过程就是卸载程序 综上我们可以得到 指令的本质就是一个可执行文件 只不过这个可执行文件被自动安装到了系统的搜索目录下面。
-----------------------下面接着讲其他指令
//alias取别名
alias的用法是: alias 取的别名指令
ll其实就是一个别名 要查看这个别名 我们可以使用which这里会告诉我们ll的原型是什么。 我们可以自己给某个指令取一下别名: 然后取消别名就是将这个la的别名变成空指令的别名: ------------------
重定向与阅读文本
现在先来了解一个概念linux下一切皆文件 显示器 键盘 磁盘文件。 都是文件 我们使用cat指令如果我们cat后面什么都没加 那么cat就会默认在键盘上面读取 注意 这里我们虽然输入字符s 显示器上就有一个s 回车又会打印一个s。 为什么是从键盘上读取 而不是从显示器上读取因为这里本质上其实就是从键盘上读取字符 而我们之所以输入一个字符 能够在显示器上显示出来 是因为我们在键盘上输入后 显示器给我们回显到了屏幕上。 所以本质还是从键盘上读取。 对于显示器来说 它没有读方法NULL 只有写方法fwrite)。 对于键盘来说 他只有读方法fread), 没有写方法NULL。 而普通文件读方法和写方法都有。 而在linux的视角下NULL也是有 所以linux下面所有文件都有读写方法。 所以 这里可以重新来理解一下重定向 把本应该写到显示器文件上的内容写到了普通的磁盘文件中 这就叫做重定向。 关于重定向 我们还要了解到就是 其实我们使用重定向 它一共做了两个步骤:
1、清空文件
2、向文件中写入内容。
比如下面这个例子 就是什么都没写 只清空了文件。 //追加重定向 是先清空再向文件中写入内容。但是如果我们不想要清空文件 就要是用 这个是在文件的后面追加内容。 这里echo默认后面会添加换行符 如果不想添加换行符 就要使用printf //输入重定向
cat当什么都不加的时候是默认从键盘上读取数据。但是如果我们cat 文件名 就相当于cat 文件名 意思是从文件中读取数据。另外 cat还有一些选项
cat -n 文件名 对文件打印 并且打印行号。
cat -b 文件名 对文件带你 并且对非空行打印行号。
cat -s 文件名 对文件打印 如果有多个空行连起来 那么只打印一个空行。
//more和less读取大文件
cat不适合读取大文件more和less更适合读取大文件。 当我们用cat读取大文件时: 我们智能使用鼠标向上滑动地翻找。
我们使用more读取大文件 文件会只将屏幕打满 我们向下翻找只需要按空格。 并且可以输入行号跳转到相应行数: 但是还有一些问题 那就是不能上翻。 所以我们通常很少使用more 更多的是使用less阅读大文件 less阅读大文件 按上就是向上翻 按下就是向下翻。
//head 和 tail 和 管道
head可以拿到文件中的前n行。 用法是 : head -行数 文件名 tail 可以拿到文件中的倒数n行。 用法是 tail -行数 文件名 如果此时我们要拿到中间5000行左右的数据怎么办 我们可以先拿到前5000行数据放到一个新的文件中 然后再对新的文件取后几十行 就能拿到中间5000行左右的数据了。 但是这个方法有个问题 就是必须创建中间文件 但是我们不想创建中间文件。 怎么办 这里可以使用管道 | : 管道也是管道文件 它是一种内存级文件什么意思博主也不懂。
但是管道文件的作用就是将符号左边的数据结果放到自己里面 再将数据交给右边进行计算。 相当于起到中转的作用。在计算机中 数据就是资源 而管道文件就是输送数据这种资源。 用法 --------------
以上 就是本节全部内容。 //ps:下面都是一些对于操作系统的理解与一些课堂笔记 友友们没有兴趣自行退出即可 操作系统是管理软硬件资源的软件。 计算机中最底层的就是硬件——比如cpu、显卡、网卡、显示器、键盘等等。 这些硬件的上一层就是驱动器 驱动器是用来驱动硬件进行工作的。 而这些驱动器的上一层就是操作系统 操作系统通过管理驱动器 进而管理硬件。最上层其实就是应用软件。 应用软件提出需求 操作系统根据需求间接管理硬件 让硬件做出相应的工作。 综上 操作系统 驱动器 硬件就是三层软硬件资源 提供了一套软硬件服务。 如图 对于如图四层资源 我们可以这样理解 操作系统: 管理和决策——相当于boss 设备驱动 沟通底层硬件 接收操作系统的命令——相当于项目经理 硬件 执行工作 办事——相当于程序员 应用程序 向操作系统提出需求——相当于用户 在日常中 需要有各种各样服务的软件来满足用户各种各样的需求。 个人笔记 那么 一个好的操作系统的衡量指标是什么 为什么要有操作系统呢 首先一个好的操作系统 不能用着用着蓝屏——要稳定 其次 一个好的操作系统不能用着非常卡 体验不好——要快 流畅 最后 一个好的操作系统 用户的信息要安全 否则信息很容易被盗取 用户的体验不好——要安全。 至于为什么要有操作系统 这就涉及到了操作系统的核心工作 操作系统的核心工作就是通过对下管理好软硬件资源的手段 达到对上提供良好的 稳定快速安全的操作环境。 个人笔记 那么 我们如何理解我们在计算机中执行的各种操作呢 比如我们使用printf在显示器上打印 向磁盘中写入数据 玩游戏时像网络中发送请求等等这些操作。 这些软件操作其实最终都会被转化为硬件操作。 也就是说 我们日常在计算机上面执行的各种行为 最终都会被转化为硬件行为。 比如说我们使用printf printf最终会打印到我们的显示器上。 其实本质就是通过软件将内容打印到了硬件上。 我们向磁盘中写入数据 其实就是将代码——软件 写到了磁盘——硬件上。 还有我们打网络游戏时 为什么我们能够同步的看到别人的状态情况其实就是因为我们每个人的电脑都在向服务端推送数据 而这个推送的过程中 就要先将数据输入到网卡上面。 综上 我们任何软件的行为 最终都会转换为硬件行为。 并且这个过程自顶向下 贯穿整个计算机软硬件结构 而软件的下层挨着的就是操作系统。所以未来我们进行各种计算机操作 都和操作系统直接或者间接的相关 个人笔记: ----------
下面是本节全部的笔记个人笔记整理很乱 友友们自行选择是否观看: