• 【Linux】linux中你不得不爱的命令集(上)


    Linux命令集

    我们将要介绍的命令并不是linux中所有的命令,是我们常见的和经常要使用的命令。

    我们所用的linux版本是centos7,我们的linux搭建是在腾讯云服务器上搭建的,借助Xshell登录服务器,在root下进行命令行的操作。



    前言

    我们常说Linux操作系统,那操作系统是什么呢?我们先简要的介绍一下,接下来go!


    一、什么是操作系统

     上图是软硬件的分层结构,可以看到操作系统在中间,起着承上启下的作用。

    应用软件:就是我们平时用的app等

    设备驱动:我们外接键盘,鼠标,光盘等,这都需要设备驱动才可以被计算机识别出来,也是一种软件

    硬件:就是cpu,内存,磁盘等等

    那么什么是操作系统呢??我们举一个形象的例子来具体说明:

    在公司中,我们可能有这样的上下级关系:

    比如说:今天老板说:要做一款游戏,他就会吩咐给主管,而主管呢就会督促码农去编写,做出的一款游戏呢,就会面向用户,用户在游戏过程中所遇到的问题,就会直接和老板反馈,而老板就会督促主管,主管就会鞭策码农。

    那么在这里,老板就起到了非常重要的作用,堆对上就要满足用户的需求,对下就要督促和管理好,保证有条不紊的进行。

    所以,关键来了:

     操作系统是一款管理软件,管理软硬件,对上和对下都有很大的作用。


    二、Linux命令

    命令行是学习Linux操作系统的重要手段。

    在介绍命令过程中,我们会穿插着讲述有关的知识点,所以不只是单纯的命令。

    在刚接触linux,我们不会去讲很深入的东西。

    pwd 指令

    pwd命令:显示当前用户所在的路径

    /root即为我们现在所处的路径

    cd:进入目录(进入路径,让我们进入不同路径下操作)cd+路径

    我们先进入play目录,然后pwd来查看此时的路径。.单点是本机目录 ;..双点是上级目录

    linux下的文件和目录和路径:文件就是我们windows下的文件,那么路径和目录是差不多的,后面我们不会做区分。目录就相当于windows下的文件夹,我们说在这个路径下操作,就是在这个目录下操作

     

     所以我们所说的路径和目录是不作区分的。

    cd ~ :到用户的工作路径(家目录)。

    root用户和普通用户的默认工作路径不相同。

    而普通用户的默认路径是:

    /home/XXX :普通用户的默认工作路径(家目录)

    /root:root用户的默认工作路径。二者并不相同 

    ls 命令

    ls -l:显示当前路径下的文件或者子目录更详细的属性信息(注意指定之间的空格)

    那么说到文件,问题:创建一个空文件,占不占磁盘空间呢??

    当然占了!!

    文件包括:内容数据+属性数据(元数据),所以我们看到的文件的大小,一般是比实际数据大,还有属性数据。

    文件还有:普通文件和目录,目录->就像文件夹->保存其他文件的场所。

    所以日后我们操作文件的方法无非就是:1.操作文件内容,2.操作文件属性

    ls -a: 列出目录下的所有文件,包括以 . 开头的隐含文件。当然命令很多是可以叠加使用的,ls-l 是显示更详细的属性信息,那么ls -al 呢??

    ls -al :列出目录下的所有文件,包括以 . 开头的隐含文件更详细的属性信息

    ls -Rl :列出所有子目录下的文件的详细信息。(递归) 

    tree 命令

    tree .:递归下呈树状结构,展开当前目录下所有的文件

    若出现不能使用的情况,就需要安装:yum install -y tree

    cd 命令

    语法 :cd 目录名
    功能 :改变工作目录。将当前工作目录改变到指定的目录下。
    cd .. : 返回上级目录,不断回退,最终就是根目录 /
    Windows下:D:\xxx\yyy\zzz (反斜杠表示目录分隔符)
    Linux下:/xxx/yyy/zzz (斜杠表示目录分隔符)
    windows和Linux中,Windows文件夹里面可以套文件夹,Linux目录中可以套目录
    几乎任何操作系统,文件和目录组织结构是一颗多叉树
    tree . 命令就可以看到。
    是树就有叶子节点和路上节点
    叶子节点可能是普通文件,也可以是空目录;
    路上节点只能是目录
    文件在同一目录下,不可以出现相同文件名文件,在不同目录下可以出现。
    我们用路径去标识是一个文件,是因为路径具有唯一性
      从根目录开始,依次按照树状结构,依次查找定位文件的方案叫做绝对路径;
      根据据相对目录找,就叫做相对路径(进行文件定位)
    cd ~:进入用户家目录(工作路径),/home/xxx :叫做xxx用户的工作路径,特定用户登录时,默认所处路径,但root有独立的目录。/root
    cd - :返回最近访问目录(反复跳转的作用,反复在最近两个目录下跳转)

    whoami:查看谁正在使用Linux系统

    touch指令

    语法 :touch [ 选项 ]...  文件 ...
    功能 touch 命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
    常用选项:
    touch 文件名:创建一个普通文件

    ll:显示最近一次的修改时间,ls -l 的简称,(可能在别的版本下不适用)

    stat 文件名:获取更详细的文件属性

    那么这里的Access,Modify,Change都是时间,但有什么区别呢??

    • Access 指最后一次读取的时间(访问)
    • Modify 指最后一次修改数据的时间(修改)
    • Change 指最后一次修改元数据的时间(改变)

    详情(更加详细点这里)

    mkdir 命令

    mkdir 目录名:创建一个目录

     目录是蓝色的,那我如果想创建一串路径呢??

    mkdir -p:创建一串路径

    那么既然有创建,就该有删除 

    rmdir指令 && rm 指令(重要)

    rmdir 目录名最重要的是,它只能删除空目录

    那如果要删除一串目录应该怎么办?

    rm -r:递归删除,全部删除,现在发现是不是 r,有递归的意思??

    那么在删除文件或者目录时,就会有人误操作,不小心点到,结果误删,那不得怪Linux系统,居然不询问直接删了,所以当然是有的!

    rm 文件名:默认删除普通文件

    这样就删除了,但如果你想删一串目录,那就会不停的问你是否要删除,所以就有:

    rm -f:不需要询问,直接删除

    命令是可以叠加使用的:rm -rf:递归删除,无需询问!(连目录带里面文件统统删除)

    man指令(重要)

    man指令:是一个查看命令,系统调用,C接口的一个手册。(手册还有编号)

    man 默认从1号手册开始查找,找到即停。

    man也可以根据指定手册查找:man 1/2/3  命令/接口/C接口

    按q退出!

    cp指令(重要)

    cp src dest:cp [选项] 源文件或目录 目标文件或目录

    拷贝目录时,需要使用cp -r 目录名 目标目录

     当然,要拷贝目录,当然也要把目录中的文件都拷贝,所以又要用到 递归拷贝!

    cp -r src dest :递归拷贝

    当我们拷贝文件时,若不同目录下,有重名文件,在拷贝时就会把旧文件重新覆盖,所以以防覆盖,cp -i:就会询问是否要覆盖

     >:重定项,会自动创建不存在的文件

    echo  内容:把信息显示到显示器:

    echo  内容  >文件名:把内容写到文件中显示出来:

    cat 文件名:显示文件内容

    linux中>表示覆盖原文件内容(文件的日期也会自动更新),>>表示追加内容(会另起一行,文件的日期也会自动更新)。

    ctrl r :搜索历史命令(会自动显示出里使用过的命令)


    总结

    大家下去可以自己去反复敲一敲命令行,熟能生巧,我们下期再见!

  • 相关阅读:
    解救Kubernetes混乱:Descheduler快速实现资源平衡
    NLP领域可以投稿的期刊或会议(不断更新中……)
    如何在Visual Studio新C++项目中调用之前配置过的库?
    [git] git diff
    使用 SwiftUI 请求 App Store 评级,要求用户在 App Store 中对您的应用进行评分和评论的操作指南
    Qemu系统模拟:1 简介
    设置Oracle环境变量
    Vue中的混入(mixin)
    webpack中的代理配置
    基于51单片机LCD声光音乐盒
  • 原文地址:https://blog.csdn.net/ChaoFreeandeasy_/article/details/127935512