• Linux下的基本指令


    前言:

    可涵开始Linux的新篇章旅行啦,本文主要介绍Linux下的基本指令~

    引言:

    何为Linux?

    Linux是一种免费使用和自由传播的类UNIX操作系统。

    那什么是操作系统呢?

    操作系统是一款进行软硬件资源管理的软件。

    为什么要进行软硬件管理呢?

    对上提供良好的稳定的运行服务。——工具


    我们下面开始学习Linux下的指令~

    首先我们需要明确,我们现在学习的指令操作和图形化界面没有任何区别。

    快速学习一些简单指令  

    1.who & whoami

    who 查看当前有哪些人登陆了我是机器

    whoami 查看当前账号是谁

    2、clear

    清屏

    3、pwd

    显示当前所处的工作目录

    4、cd

    切换路径。更改工作目录,后面跟上目录名,然后代表已经进入该目录

    4、ls

    查看当前目录下的文件信息

    5、touch

    创建文件的指令,后面直接跟创建文件的文件名

    6、makdir

    新建目录,后面直接跟上目录名

    补充知识点:空文件是否占据磁盘空间?

    问题:如果我今天在Windows上,建一个空文件,这个空文件要占据磁盘/固态硬盘的存储空间吗?

    答案是空文件一定占据磁盘空间

    原因:

    空文件的文件名、大小、属性数据本质也都是数据,也要被计算机记录下来!看到文件不要狭隘的看见文件的内容,文件的属性也是数据。

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

    注意这些内容全部都是二进制数据,都要被存储。

    我们学习的所有的文件操作本质都是:

    1. 要么对文件内容做操作
    2. 要么对文件属性做操作

    一、ls指令 

    ls -l指令:(注意前面有空格!)

    可以直接简写成 ll

    显示文件的属性列表

    ls -a:

    显示所有文件,a——all,包括隐藏文件

    隐藏文件:以.开头的文件就是隐藏文件,当我们用ls -l是发现不了隐藏文件,只有用ls -al才可以显示出来。

    注意ls -a -l 和 ls -l -a 和 ls -al 和ls -la 操作含义一模一样!

    补充知识:Linux下的目录结构的认识

    . 表示当前路径

    ..表示上级路径

    注意任何一个目录下都有.文件和..文件,用于指向自己和上级目录,根节点的..也表示指向自己。

    所以cd .. 表示返回上级路径,回退操作

    我们发现一直返回上级路径到最后只剩下 / ,/也是一个目录,并且是Linux的根目录

    Linux的整体目录结构是一颗多叉树的样子。

    什么是路径:

    用路径分隔符分隔起来的文件夹所组成的一串字符串就是路径。

    注意Linux下的路径分隔符是反斜杠 / 

    windows下的路径分隔符是正斜杠 \

    路径分隔符之间一定是一个目录/文件夹

    为什么要有路径?

    因为路径具有唯一性,我们通过路径可以查找到我们想要的文件,路径的本质就是这一个多叉树的搜索路径。

    对于路径更深的理解(与二叉树相结合)

    1. 叶子结点,一定是普通文件,或者是空目录
    2. 路上结点,非叶子结点,一定是目录
    3. 访问一个文件的本质,需要先找到它,找到文件的本质:就是在一棵多叉树中进行结点的查找。

    绝对路径的概念:

    我们将从/目录开始,定位一个叶子文件的方式从而形成的路径称为绝对路径。

    相对路径的概念:

    相对于自身当前所处的目录为参考点,我们定位一个文件的路径就称为相对路径。

    cd命令

    功能 :改变工作目录。将当前工作目录改变到指定的目录下
    cd后面可以直接加上当前目录的文件名,表示进入该文件。

    也可以加上..表示回退到上级目录

    总结:

    cd命令后面跟上绝对路径/相对路径即可!

    cd的一些其他命令:

    cd - :跳转回最近一次所处的目录。在两个目录之间快速跳转。(反复横跳)

    cd ~进入用户的家目录。

    什么是家目录?

    windows中,我们C盘中有用户这个文件,打开后,其实就相当于进入了家目录。

    Windows中,其实有桌面的概念,但是本质桌面也是目录/文件夹,只不过当用户登录的时候,你到家目录里面有桌面的文件夹,Windows把这个文件夹中的所有文件,以图标的形式,显示在显示器上,就有了桌面!

    默认登陆的时候,默认登录所在的路径,就是当前登录用户的家目录。

    stat指令:

    查看文件更详细的信息。

    ACM时间如何理解?

    touch指令:

    功能:

    1. 创建一个不存在的文件夹
    2. touch命令参数可以更改文档或目录的日期时间

    mkdir指令:

    mkdir-p后面可以直接创建路径

    几个小细节:

    ls -d 显示当前目录的信息

    ls -ld 显示更详细的信息,包括属性

    命令行中用上下键显示历史命令。

    tree命令:

    tree命令用图形化显示当前文件的树状结构!

    删除命令:

    rmdir删除空文件,如果不是空文件,不让删

    rm -rf:r表示递归删除,因为文件的形式是二叉树,我们要递归到叶子结点,删除叶子节点,再往上遍历删除,f表示强制删除(force)

    * 是通配符,表示指定路径下的所有文件

    加上*删除路径下的所有文件

    以.开头的文件(隐藏文件)默认不会被删除。

    想要删除指定文件名,rm后面要跟上指定的文件名

    常用选项
    -f 即使文件属性为只读 ( 即写保护 ) ,亦直接删除
    -i 删除前逐一询问确认
    -r 删除目录及其下所有文件
    总结:
    以后删除就用rm,后面加上文件名或者目录,-r表示删除目录,-f表示强制删除,-i表示删除前再确定一遍是否删除

    man指令:

    功能:

    查询Linux手册页的命令,比如Linux操作系统中有一个man,我们有不会的操作指令就可问这个man。

    用法:

    man 手册编号 查找的内容

    如果不写手册编号,默认从1开始,直到找到为止。

    cp命令:

    cp source destination

    拷贝文件:

    不能在相同目录下拷贝文件,不允许一个目录下有两个同名文件,除非后缀加上.bak表示备份文件

    拷贝文件也不包含.开头的文件,因为每个文件下面都含有.文件和..文件,如果拷贝过去,会造成一个文件下含有相同的文件名,这与我们理念一个文件中不包含两个相同的文件名相悖!

    拷贝目录:

    默认cp只能拷贝文件,加上-r-f可以拷贝目录

    注意:

    拷贝文件/目录时,我们可以更改拷贝过去的文件名,只要保重是同级别,就表示更改文件名

    当要被拷贝的目录后面加上/*,就表示拷贝当前所有的文件!

    nano指令:

    后面加文件名,打开文件,进行书写

    mv命令:

    功能:

    1、剪切文件

    mv source dst

    跟cp拷贝命令相同理解,如果dst是绝对路径,是跟source是同级,那么可以更改dst的文件名。

    2、给文件重命名

    利用剪切的操作给文件重命名,如果将一个文件剪切到不存在的文件名,就是将原来的文件重命名那个不存在的文件名

     alias取别名

    在命令行中取的别名,在Xshell关闭后,就自动销毁了

    所以ll是l-s的别名。

    echo命令

    后面跟什么,就打印什么。

    > 输出重定项

    echo本来是将内容写入到显示屏上,加上>后,我们可以让其写入在文件中。(这就构成了输出重定项)如果是新的文件,就新建一个文件,然后将内容输入到文件中

    每次先清空文件内容,再写入文件

    所以我们根据这个特性,可以新建空文件,并且清空目标文件

    我们也可以在>前面什么也不写,代表新建一个空文件。

    >> 追加重定项

    跟>的区别是>>不会清空文件,而是在原始内容的基础上追加新的内容。

    cat命令:

    1、打印文件内容

    2、cat-n 在输出时加上行号

    3、cat和tac,后者反向打印

    4、cat输入什么,就会自己打印什么

    cat从键盘文件读取什么,就向显示器文件写入什么,默认读取的时候,是从键盘文件中输入的!

    输入重定项 < 

    把本应该从键盘文件中读入的内容,更改成从普通文件中进行输入,输入重定项!

    less指令:

    1、less后面跟文件名,读取文件内容

    2、/ 加上字符串,向下搜索字符串功能。

    head/tail指令

    head和tail就像他的名字一样浅显易懂,他们是用来显示开头或结尾某个数量的文字区块

    语法:

    如果head/tail直接跟上文件名,默认打印前10行/后10行。

    如果加上-n,n自行输入,就表示打印前n行/后n行

    | 命令行管道

    将多组命令连接到一起,例如上面指令,是前80010行代码作为数据通过 | 这个管道,作为下一个命令的输入可以打印80000~80010行代码!

    date 命令

    +%Y %m %d表示格式化打印

    %s打印时间戳,从1970年1月1日截止到现在的累计时间秒数。

    一些热键:

    • Tab按键:具有命令补全的功能,当我们想用一个命令,但忘了具体拼写,我们可以根据Tab补全
    • Ctrl+C按键:让当前的程序强制停止
  • 相关阅读:
    每天进步一点点 --- Guava
    学习笔记|矩阵按键控制原理|数值转化为键码|密码锁|STC32G单片机视频开发教程(冲哥)|第十四集:矩阵按键原理及实践
    springboot+旅游网站 毕业设计-附源码211713
    C语言学习之路(工具篇)—— Visual Studio的使用
    25 VueComponent 的生命周期
    Redis(六) 内存策略
    ichorbio艾美捷CTLA-4体内抗体的应用和相关研究
    oracle SQL
    基于Springboot的校园疫情管理系统
    关于python的odl库的相关问题解决
  • 原文地址:https://blog.csdn.net/hanwangyyds/article/details/133313083