【Linux】Linux基本指令1

掘根 2024-06-18 12:07:02 阅读 69

目录

1.软件,OS,驱动

1.1.操作系统

1.2.驱动 

1.3.软件

2.Linux操作的特点

 3.Linux操作指令

3.1.快速学习5条指令

3.1.1.pwd指令和ls指令

3.1.2.mkdir

3.1.3.cd

3.1.4.touch

3.2.ls指令详解

3.2.1.ls -l和ls -a

3.2.1.文件=文件内容+文件属性

3.2.3.选项的写法

.和..文件

3.2.5.ls -d

​编辑 3.2.6.ls -F

 3.3.pwd和cd指令

​编辑

 3.3.1.cd

绝对路径和相对路径

3.4.touch指令

3.5.mkdir 

3.6.rmdir指令 && rm 指令(重要): 


1.软件,OS,驱动

我们看看计算机的结构层次

1.1.操作系统

操作系统是一款做 软硬件管理 的软件

操作系统(计算机管理控制程序)_百度百科 (baidu.com)

操作系统(英语:Operating System,缩写:OS)是一种内置的程序,用来协作计算机的各种硬件,以与用户进行交互。常见有Windows,macOS 和开源的 Linux。

一个好的操作系统的衡量指标:稳定,快速,安全

这些东西都是由操作系统层决定的:对下通过对下管理好软硬件资源的手段,达到对上提供良好(稳定,快速,安全)的操作/使用环境

我们来理解一下我们在计算机的所有操作

printf->打印文件->磁盘文件写入游戏->向网络中发送数据

我们在计算机上的所有行为都会被转换为硬件行为

我们所有的软件行为都会自顶向下贯穿我们计算机的结构

即:信息按 应用软件->操作系统->设备驱动->硬件 路径进行执行

也就是所有的软件行为都和操作系统相关 

1.2.驱动 

驱动(计算机软件术语)_百度百科 (baidu.com)

驱动全称设备驱动程序,是添加到操作系统中的特殊程序,其中包含有关硬件设备的信息。此信息能够使计算机与相应的设备进行通信。

驱动程序是硬件厂商根据操作系统编写的配置文件可以说没有驱动程序,计算机中的硬件就无法工作。 

1.3.软件

应用软件是在操作系统之上的

软件(按照特定顺序组织的计算机数据和指令的集合)_百度百科 (baidu.com)

软件(中国大陆及香港用语,台湾称作软体,英文:software)是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为系统软件、应用软件和介于这两者之间的中间件。

软件并不只是包括可以在计算机(这里的计算机是指广义的计算机)上运行的电脑程序,与这些电脑程序相关的文档一般也被认为是软件的一部分。

2.Linux操作的特点

Linux操作的特点:纯命令行(注:linux也有图形化界面)

因为企业里面就是命令行,所以我们只学习命令行

Windows也是命令行/图形化界面,只不过它是面对大众的,所以图形化特别有必要,而Linux专门用于企业,所以纯命令行

Windows有个对应的系统软件,叫powershell,它支持了linux命令行

我们可以在这上面输入Linux命令行

我们也可以提供win+x,再点击终端管理员也可以打开

 我们可以讨论一个问题

先有指令还是先有图形?为什么?

先有指令,所以指令更接近操作系统

键盘也比鼠标先出现

键盘字母的排序是起源打字机

 3.Linux操作指令

我们采用Linux指令和Windows界面操作的对比来学习

3.1.快速学习5条指令

3.1.1.pwd指令和ls指令

我们使用纯ls

ls

显示的是当前目录下的文件

那当前目录是什么呢?

我们可以使用指令pwd来显示当前目录

我们的当前目录可能不一样,我是root账号,你们可能是普通用户,可能是/home/xxx

上面这个操作就像下面的

我们的pwd就相当于把上面的路径复制一下,拿到搜索界面去搜

3.1.2.mkdir

我们想要在桌面建立一个文件夹,我们在windows上操作起来很简单

谁都会是吧,我就不演示了

在linux下,我们也想创建文件夹

我们需要使用

mkdir 文件名

指令和文件夹名之间要有空格(可以不是1个) 

没有空格,就会像下面一样报错 

我们怎么知道有没有成功创建呢?

我们还是使用ls指令

显然我们已经创建成功了

所以在linux操作系统下

mkdir 108_class

相当于在Windows下的

3.1.3.cd

我们创建文件夹,就是为了存为东西,我们就要进去文件夹,我们在windows可以双击进去

那linux呢?

我们可以使用cd命令

cd 文件名

 

我们怎么知道我们进去了呢?

3.1.4.touch

创建文本文件

touch 文件名

跟windows下创建一个文本文件一样

3.2.ls指令详解

它的主要作用是查看文件

语法:

ls [选项][目录或文件]

功能:对于目录,该命令列出该目录下的所有子目录与文件。

对于文件,将列出文件名以及其他信息。

-a 列出目录下的所有文件,包括以 . 开头的隐含文件。-d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件-k 以 k 字节的形式表示文件的大小。ls –alk 指定文件-l 列出文件的详细信息。-n 用数字的 UID,GID 代替名称。 (介绍 UID, GID)-F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表 示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别) -r 对目录反向排序。-t 以时间排序。-s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)-R 列出所有子目录下的文件。(递归)-1 一行只输出一个文件。

3.2.1.ls -l和ls -a

windows上也是可以的 ,打开powershell,自己去试试看

我们创建一个文件是要占据磁盘空间的

3.2.1.文件=文件内容+文件属性

文件的属性是数据吗?显然是

文件的操作=文件内容的操作+文件属性的操作

所以问题来了

这个ls指令是显示文件属性,只不过只显示文件名属性

ls -l显示更多文件属性

我们再看一个例子

这个信息和我们windows上面的好像啊

 我们知道ls就是查文件属性的,后面的选项不就明白了吗!!

注意ls -l可以简化成ll

3.2.3.选项的写法

 下面展示了多种风格的写法,它们都是等价的

 

我们看看第一列的第一个字符 

它代表文件的类型

d:的表示目录-:文件是一个普通文件

.和..文件

我们注意到这个ls -la比ls -l多了一个以.开头的,还有一个以..开头的

这个.开头的代表隐藏文件 ,我们可以验证一下

我们发现我们看不到这些创建的文件

我们换ls -la就能看到这些隐藏文件了 

 ls -a显示所有的文件,包括隐藏文件

windows里面也有隐藏文件,这个就不说了,自己去看

..开头的是什么呢?

我们打开我们创建的dir1文件夹

发现里面居然已经有了.和..文件

 Linux下,任何一个目录都有两个隐藏文件,一个.,一个..

我们可以去打开这个..文件

很明显,这是回退路径

..表示当前路径的上一级路径,即这个..代表回退,和cd的作用是相反的

 下面这个是回到上一级路径的

cd ..

.表示的是当前路径

我们可以验证一下

.为什么代表当前路径呢,大家在学习路径的知识的时候,肯定看过./这个

比如./Adobe Premiere Pro 2020

3.2.5.ls -d

我们在root目录下查看108_class的属性,结果却之间给我查到了108_class里面文件的属性去了

这个时候我们就可以使用ls -dl来查看了

 3.2.6.ls -F

很简单啊 

 3.3.pwd和cd指令

pwd指令就是查看当前路径

 3.3.1.cd

cd就是打开文件/目录的功能

cd 目录名

cd..是回退

 

我们再看第二条

这些路径上的斜杠(/)是路径分隔符,在linux里用/来表示

在windows里面路径分割符(\)是反斜杠

我们发现一直回退,发现只能回退到/这里

这个/就是linux的根目录,也就是说/是一个文件

 我们查看一下,发现里面的文件我们看不懂

我们换一个指令就明白了 

我们发现这个/是一个d开头的,所以他是一个文件,所以他是根目录 

在一个目录里,一个可以再放目录或者普通文件,所以linux文件结构是多叉树的结构 

它的叶子节点一定是空目录或者非目录文件,路上节点一定是一个非目录

 所以我们所有对文件或者目录的增删查改,本质都是对这棵多叉树的增删查改

我们定位一个文件用路径来定位,路径具有唯一性,因为任何结点都只有一个父节点

我们把从/开始定位到指定位置,具有唯一性的路径,叫绝对路径

 我们便可使用cd来进入特定文件

我们再看第三条

这个..是上一级目录的意思,我们使用../就是回到了当前目录的上一级目录,../day02就代表回到当前目录的上一级目录里寻找day02的文件

我们以当前所处路径为起始参照位置,来进行特定文件的定位,这种路径叫相对路径

绝对路径和相对路径
绝对路径相对较长,但是不变,一般在一些固定场景,配置文件中使用 一般命令行输入,比较常用相对路径

我们可以看一下网站

https://baike.baidu.com/item/Linux/27050

icon-default.png?t=N7T8

https://baike.baidu.com/item/Linux/27050 我们只看com后面那个/item/Linux/27050,这个分隔符就是linux风格的分隔符,这就说明这个网站是用linux操作系统制作的

 我们看一下例子

 

我们看第4条

我们退出xshell,重新登陆我们的云服务器

输入下面这个指令

我们就可以很清楚的知道默认目录就是/root,而且使用whoami可以知道我们登录的账号名是什么

用户分为两种

超级用户root普通用户

centos系统里面,所有的普通用户都是放在/home目录下

我们可以使用ls /home来查看普通用户 

windows的家目录

这个对应一个普通用户的家目录

windows也可以再添加用户,这个自己去搜

windows也有超级用户root,我们以管理员身份运行就是root账号运行

我们回到cd这里来

我们直接进入了登录的家目录

我们看第五条

我们看例子

这个就是返回上次访问的目录

3.4.touch指令

作用就是创建一个普通文件

语法:

touch [选项]... 文件...

功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。

常用选项: 

-a 或--time=atime或--time=access或--time=use只更改存取时间。  -c  或--no-create  不建立任何文档。-d 使用指定的日期时间,而非现在的时间。-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。-m 或--time=mtime或--time=modify  只更改变动时间。-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。-t 使用指定的日期时间,而非现在的时间。

我们先看看

3.5.mkdir 

创建一个目录文件夹)

语法:mkdir [选项] dirname...

功能:在当前目录下创建一个名为 “dirname”的目录

常用选项: -p, --parents  可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立 好那些尚不存在的目录,即一次可以建立多个目录;

我们往往是创建一个目录,但是这样子在创建深层次的目录时未免太复杂了些

我们先执行这个命令

这个是安装tree命令的

注意要root账号

安装完了之后我们就可以使用tree命令了

 

这样子文件就按树的结构显示出来了

我们回到正题

这就创建好了

3.6.rmdir指令 && rm 指令(重要): 

rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。

语法:rmdir [-p][dirName]

适用对象:具有当前目录操作权限的所有使用者

功能:删除空目录

常用选项:

-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。

很好啊

我们接着看

rmdir只能删除空目录,其他的不能删除 

这个时候,只能用rm命令

rm命令可以同时删除文件目录

语法:rm [-f-i-r-v][dirName/dir]

适用对象:所有使用者

功能:删除文件或目录

常用选项:

-f 即使文件属性为只读(即写保护),亦直接删除-i 删除前逐一询问确认-r 删除目录及其下所有文件

这个问我们要不要删除,我们回复y即可,n代表不想删除,普通账号可能没有这个提示

 Linux默认情况下没有回收站哦

 

我们可以把那个提示关闭

 注意一下 

目录不能删除

我们换个选项即可

 我们好烦这个提示,我们可以把这个提示给关了

rm -rf可以帮你

注意:没事不要执行下面这个语句

rm -rf /

整个操作系统都会被你删掉

 未完待续......



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。