• Linux基本指令(上)


    写在前面

    好久没有写博客了,学校快要期末考试了,这个是在零碎的时间的拼凑出来了的。闲言少序,在了解了Linux的历史背景后,我们需要开始初步开始学习如何使用Linux系统.


    操作系统

    我们需要花上一点时间,看看操作系统是什么东西.

    由于我们操作硬件效率太过低下,难度也特别高,所以我们发明的操作系统.我们都知道C语言存在printf函数,我们可以通过这个函数在显示器上打印东西,而显示器是硬件,也就是说软件可以修改硬件,我们来看看计算的组成.

    • 最底层 : 硬件 包括键盘 显示器 网卡 显卡
    • 驱动软件层 向下有各种硬件的驱动软件,调度硬件 ,向上提供各种接口
    • 狭义上这一层是操作系统 包含 进程管理 ,文件管理 ,内存管理 ,驱动管理
    • 用户层 包含图形化界面,各种库,应用程序

    image-20220622173245455

    上面的是很官方的东西,我们用一个例子来举例.我们需要用银行的例子来举例,这也是蛋哥举得.

    首先存在一个银行,里面有桌椅板凳和存钱的设备,这些就是硬件,另外存在不同的工作人员来使用这些硬件,他们就是驱动层,银行肯定是有业务的,所以存在业务管理人员负责调度这些驱动人员完成相应的工作.;我们作为用户就是使用手机电脑或者现场办理这些业务,那么手机和电脑就是相应的用户层,其中可能会存在黄牛,他们属于第三方的库,这就是一套银行系统.其中业务管理人员就是我们学的操作系统.

    操作系统的作用

    • 对下 管理底下的软硬件资源
    • 对上 给用户提供一个良好的,稳定的,高效的用户环境

    Linux操作系统

    既然现实生活中也存在很多种银行,操作系统也是如此,Linux就是其中一款操作系统.

    常见指令

    什么是指令?指令是我们与Linux交互的手段,我们在Windows环境下,使用的是图形化界面,我们可以使用鼠标来进行点点点,但是在Linux环境下,我们不建议使用鼠标,更喜欢通过指令来和计算机进行交互,通过指令来让计算机完成自己想要的工作.在Linux系统下,可以使用的指令有很多,大概有1000多个,我们常用的大概是100左右.有人可能会对这感到恐惧,这么多?不要害怕,我们是渐进式学习的,用着用着这些指令就会明白了,对于那些不了解的指令,我们还可以上网去查,都有的.

    为什么要学习指令

    我们到底要不要学习指令呢?对于非专业人员不需要掌握,对于我们而言,学习操作系统我们一定需要了解指令.这是肯定的.指令先于鼠标出现,早期的计算机就是为了数据计算,需要键盘输入数据.人们从打字机那里来演变出了键盘,出现了键盘后,所有的操作系统都支持指令操作,知道乔布斯发现了图形化界面的操作系统.指令离OS最近,指令学习可以让我们掌握OS.

    指令的选项

    几乎所有的指令都会带选选项的,所谓的选项是对这个指令进一步的补充,就比如指令是一个导航搜索的地址,选项就是把这个地址进一步精确的多少米的范围.选项与选项之间是可以共同使用的,这个后面我们用到的时候在谈.

    ls 指令

    ls 指令 是查找当前目录下的东西包含该目录下的所有子目录与文件.

    也就是说 在2022_06_03文件夹中包含一个code文件夹和一个file.txt文本文件,ls就可以把它们显出出来.

    image-20220603165459485

    常用的选项

    我们的选项有很多,这里我们先列出一些常用的选项.

    • -l 列出文件的详细信息
    • -a 列出目录下的所有文件,包括以 . 开头的隐含文件

    -l 选项

    通过这个选项我们可以看出该文件是文件夹,还是一个普通文件.

    • 文件夹 也就是子目录 用drwxrwxr-x 表示
    • 普通文件 用-rw-rw-r-- 表示

    还可以看到该文件的大小,以及创建时间,可以说是很详细了.

    image-20220603171635363

    -a 选项

    -a可以看到该目录下所有的文件,包含隐藏文件,所谓的隐藏文件,就是不想让别人看到的文件,文件名前面带一个==.==

    在Windows环境下,也存在隐藏文件.

    隐藏文件1

    我们来看看该选项的用法

    集合

    -a和-l选项可以相互配合使用,不用在乎它们的相互顺序

    集合_1

    一般情况下,我们知道这两个选项已经就够用了,下面还有一些不常用的选项.

    • -d 将目录像文件一样显示,而不是显示其下的文件。 如: ls –d 指定目录(绝对地址)
    • -i 输出文件的 i 节点的索引信息
    • -k 以 k 字节的形式表示文件的大小 ,配合 -l使用
    • -n 用数字的 UID,GID 代替名称 (UID,GID先不用了解)
    • -F 在每个文件名后附上一个字符以说明该文件的类型, “*”表示可执行的普通文件; “/”表示目录; “@”表示符号链接; “|”表示FIFOs; “=”表示套接字(sockets)。(目录类型识别)

    -d

    image-20220603230444896

    -i

    image-20220603231002075

    -k

    image-20220603231436508

    -n

    image-20220603231618040

    -F

    image-20220603232242070

    . 和 …

    在我们使用-a选项中都看到了. 和 …,那么这两个东西代表的都是什么意思呢?,我们这里先来简单的了解一下,具体如何使用会在下面的cd指令说的.

    • . 表示 是当前目录
    • … 表示是上级目录

    touch & mkdir 指令

    这是两个指令,作用都是为了创建东西,它们相应的选项也是存在的,但是这里我先不和大家分享,只看它们最基本的功能.

    我们看看它们的区别

    • touch 创建文本文件,例如.txt文件
    • mkdir 创建一个文件夹,类似Windows下的新建文件夹

    我们先来看看它们的现象.

    touch指令

    可以创建文本文件,可以一个,可以多个,创建多个的时候,文件之间隔一个空格就可以了.

    touch 文件名+后缀

    image-20220622183502808

    touch 文件名1+后缀 文件名2+后缀

    image-20220622195007607

    空文件占据硬盘的资源吗

    这是一个常识问题,是占据硬盘资源的,我们在C语言中学过文件指针,它是文件属性之一,这些信息是保存在硬盘当中的,也就是说文件 = 文件内容 + 文件属性.

    mkdir 指令

    mkdir是创建文件夹的,我们一看就可以明白了.这个指令和touch一样,也可以一次创建多个文件夹,这种我们先不谈,我们要说说另外一种,创建一段路径

    mkdir 文件夹名

    image-20220622195547354

    创建一段路径 带了选项 -p

    mkdir -p le1/le2/le3

    image-20220622210407363


    rmdir & rm 指令

    既然我们已经学了创建指令了,那么删除指令这里我们先提前说了吧.

    rmdir

    rmdir删除的是文件夹我们先来看看效果.

    rmdir 文件夹名

    image-20220622210927103

    但是我们有时会遇到这种情况,文件夹里面存在文件,单纯的使用rmdir就不能删除了,所以这个指令我们不常用,下面的rm会解决这个问题的,这才是我们的最爱.

    image-20220622211039530

    rm

    rm是删除普通文件的,我们这里先来看看它的作用.

    rm 文件名+后缀image-20220622211652759

    rm -r

    我们可以通过rm -r来删除存在文件的目录,-r是递归的意思.

    rm -r 目录名

    image-20220622212251550

    rm -f

    这个指令大家可能还用不到,这里提前说说,有的文件需要很高的权限,我们删除的时候计算机会问"你确定删除这个文件吗?",我们这个选项使用后,他就不会出现了,-f 中f是force的意思.我么就不演示了.


    pwd 指令

    pwd 这个指令就只有一个作用,查看当前所在的目录,这个很简单.

    image-20220603233321644

    大家可能发现了,在linux中,路径分割符时==/,而在Windows中,是\==,大家不要记混了.

    image-20220622200454031

    相对路径&绝对路径

    大家都知道什么是绝对路径,就是我们可以通过他给的线索一定可以找到目标.所谓的相对路径是需要一个参考物的,相对路径也是如此,我们是以当前文件所处的地址为参考对象.

    我们需要谈谈目录,目录是具有唯一性的,在Linux下,它们是由树形结构组成的.

    image-20220622205450481

    • 相对路径 以当前文件为参考对象
    • 绝对路经 从根目录出发,pwd查出的就是绝对路径

    cd指令

    我们在Windows环境下如何进入文件夹中,又是如何回到上级目录呢?我们可以通过点击鼠标来进行.

    image-20220622191832215

    但是在Linux中,我们通过cd指令来操作,来看看把.

    使用相对路径

    我们可以cd时用相对路径,这样进入的就是该目录下的文件夹.

    cd 文件夹名

    image-20220622195820852

    使用绝对路径

    我们已经学过了pwd指令了,如果我们想要一次性跳到我们想要的目录下,可以使用绝对路径.我们看看

    cd 绝对路径

    image-20220622200912960

    cd 回到上级目录

    我们如何在Linux中回到上级目录呢?前面我们谈到了==…==表示是上级目录的意思,这样我们可以通过通过下面的指令来进行

    cd …

    image-20220622201206882

    这里有一个问题,如果我们一直回到上级目录,会发生什么情况?我们会看到下面的情况.

    我们会一直停留在一个目录下面,这也是可以理解的,我们在windows中也会出现这种情况,是我们已经到最开始的,目录了.

    image-20220622203427985

    cd常见的快捷方式

    我们这里只和大家分享两种快捷方式,一个是直接到家目录,另外一个是回到上次所在的目录.

    cd ~

    cd ~ 可以让我们直接回到家目录

    image-20220622204019052

    cd -

    可以回到上次所在的目录

    image-20220622204259970

  • 相关阅读:
    算法基础之字符串哈希
    Python实战:批量加密Excel文件指南
    数仓之范式
    mac: nvm is already installed in /Users/**/.nvm, trying to update using git
    大数据之LibrA数据库常见术语(三)
    【学习笔记】 LGV引理
    15. 三数之和
    某今日头条_signature解析
    解决Autodesk License Patcher (NLM Crack)重命名电脑名的问题
    【JavaScript数据结构与算法】一、栈及leetcode实战
  • 原文地址:https://blog.csdn.net/m0_61334618/article/details/125417208