• Linux基础指令


    一、学习Linux指令的目标

    1.学习各种指令,按照我说的做就可以,不需要将来背。
    2.穿插很多的Linux相关的基本概念(系统层面)需要理解+需要记忆的

    我们在敲各种指令,究竟是在做什么?第一次接触windows的时候,我们进行的各种日常操作(使用windows),我们接下来敲击的各种指令,起着同样的作用(使用Linux)

    二、Linux基础命令

    ls  //显示当前路径下的文件夹
    ls -l   //将文件的属性尽可能多的显示出来
    ls -a -l   //-a表示的是显示所有文件,包括隐藏文件
    Linux下是有隐藏文件的! windows下有没有隐藏文件呢?有的
    Linux下隐藏文件/目录(文件夹)的方式,可以让文件名以.开头
    ls -a -l -i   //-i表示的是查看文件的inode编号
    .    //ls-al下的一个点表示当前路径 ,  使用.可以限定我们要执行的可执行程序在什么位置
    ..   //ls-al下的两个点表示直接上级路径,帮助我们进行路径切换
    /    //  /表示Linux的路径分隔符
    
    ls /home/105/lesson/code/105.txt   //表示绝对路径进行查找
    ls ../../../105.txt    //不以根目录开始,而是以当前路径为参考点,这样的定位文件的方式,叫作相对路径
    绝对路径:很少日常操作中使用,一般会出现在比较正式的场合,比如,配置文件中
    相对路径:日常操作(比较简单的)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    pwd //显示当前我所处的路径
    
    • 1
    touch     //在当前路径下创建一个普通文件  
              //再次touch同名文件时,表示为更新文件的最近修改时间,更新成为最新的时间
    1.touch test.txt  
    
    • 1
    • 2
    • 3
    mkdir   //在当前路径下创建一个目录/文件夹
    1.mkdir dir
    mkdir -p d1/d2/d3/4   //创建多级目录
    rmdir d1  //默认只能删除空目录
    rm -rf 文件、目录   //删除文件或者目录
    rm -rf *.c       //*是一种通配结构
    rm -rf *     //-r:递归  -f:强制
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    cd  //进入一个路径
    1.cd dir
    cd .  //进入当前路径
    cd ..  //进入直接上级路径
    cd ~   //进入当前用户的工作目录
    cd -    //跳转至上一次我所处的路径中
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    clear  //清除当前屏幕
    
    • 1
    su -    //切换超级用户
    whoami   //查看自己当前的用户
    
    • 1
    • 2
    tree d1   //以树状结构展示整个目录
    tree .    //以当前路径的方式展示整个目录
    
    • 1
    • 2
    man 指令  // 在线手册,查看指令的帮助文档
    man  man   //查看man的帮助文档  上下翻直接按上下,退出按q
    man 1 printf
    man 3 printf 
    man 2 fork
    
    • 1
    • 2
    • 3
    • 4
    • 5
    nano    //用记事本方式打开一个文件进行编辑
    
    • 1
    cp 源文件 目标文件  //将源文件拷贝到目标文件
    拷贝普通文件或者目录,如果是目录   -rf
    cp hello.c /home/zl/105   //将hello.c的文件以绝对路径的方式拷贝到105中
    cp -rf dir ../       //将dir整个目录递归的方式拷贝到上级目录
    
    • 1
    • 2
    • 3
    • 4
    mv 源文件 目标文件    //从源文件的位置移动到目标文件的位置
    a. 转储特定的一个文件或者目录到其他的路径下
    b.对一个文件或者目录进行重命名
    mv hello.c dir/      //将hello.c的文件移动到dir目录里面
    mv hello.c world.cpp   //将hello.c的文件重命名为world.cpp
    mv dir new/     //将dir的整个目录移动到new目录当中
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    cat world.cpp     //从上到下正序打印world.cpp文件中的内容到屏幕上
    tac world.cpp     //从下到上反序打印world.cpp文件中的内容到屏幕上
    cat   //从键盘中读取输入
    cat < file.txt   //本来应该从键盘读取的内容,变成从文件中读取
    
    • 1
    • 2
    • 3
    • 4
    echo "hello 105"    //叫做打印内容到显示器
    echo “hello 107>file.txt  // 1.创建没有的文件  2.本来应该显示到显示器的内容,被写入到了文件中->输出重定向  (>表示输出重定向(从文件开始,覆盖式的写入)   >>表示追加重定向(从文件的结尾,追加式的写入))
    
    • 1
    • 2
    more    //将指令一屏幕打印满,往下翻只能按回车
    less    //将指令一屏幕打印满,往下翻可以按回车,也可以按上下键
    
    • 1
    • 2
    ctrl+c   //终止异常的命令
    
    • 1
    head -3 file.txt   //取出文件中内容的头3行
    tail -1 file.txt   //取出文件中内容的最后一行
    提取出一个文件的999行到10091.第一种方法先取出前面的1010行,再从结尾处取最后的11行
    head -1010 file.txt >tmp.txt
    tail -11 file.txt
    2.第二种方法是使用管道的方法
    head -1010 file.txt | tail -11
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    date +%Y/%m/%d-%H:%M:%S    //显示当前的时间
    date +%s   //时间戳,从1970年01/01/00:00.开始到现在的秒数->该数据是单项递增的,具有唯一性的!
    date +%Y/%m/%d-%H:%M:%S -d @1657699330    //将时间戳转换为当前的时间点 
    
    • 1
    • 2
    • 3
    cal 2022 //显示日历
    
    • 1
    find ~ -name test.c   //查找家目录中名字为test.c的文件
    
    • 1
    which   //在系统路径中,去查找特定的指令所在的路径
    whereis  test.c   //查找系统中与test.c匹配的文件
    alias zhangsan='ls-al'  //给ls-al这条指令取别名
    
    • 1
    • 2
    • 3
    grep '888' file.txt   //行文本过滤工具,找到file.txt中包含888的文本行
    grep -i  //忽略大小写的不同,所以大小写视为相同
    grep -n  //顺便输出行号
    grep -v  //反向选择,亦即显示出没有‘搜寻字符串’内容的那一行
    
    • 1
    • 2
    • 3
    • 4
    echo "-l -a -i" | xargs ls    //将"-l -a -i"指令的命令行参数交给ls (将管道的输出结果,作为命令行参数,交给后面的程序)
    
    • 1

    如果我在磁盘上新建一个空文件,请问该文件要不要占据磁盘上面的空间呢?当然需要!
    文件=内容数据+属性数据
    Linux的整个目录结构,本质上是一颗多叉树结构
    a.目录(路上节点) b. 文件或者空目录(叶子节点)
    我们 一般定位一个文件(普通)的时候,是不是喜欢采用路径的方式,来进行定位!!
    普通用户而言:/home/XXX:就叫做XXX这个用户的家目录(工作目录)
    对于root用户而言:/root

    打包和压缩:
    感性的认识:
    1.是什么?
    打包:将东西放在一起
    压缩:采用某种压缩算法,压缩它的存储空间
    2. 为什么?
    便于传输,或者归档
    3.怎么办?
    市面上各种后缀的压缩包,是非常多的解压工具非常多,Linux下也是如此
    zip/unzip
    tar

    zip -r proc.zip project    //-r:进行递归打包,proc.zip是打包后的文件名字格式,project是原来要打包的文件
    unzip proc.zip   //将proc.zip文件在当前路径进行解压
    unzip name.zip -d 指定的路径  //将name.zip文件在指定路径进行解压
    
    • 1
    • 2
    • 3
    tar -czvf project.tgz project          //c:表示创建 z:表示压缩 f:创建一个文件所对应的文件名  v:显示压缩过程  project.tgz表示压缩后的文件名  project表示要压缩的文件
    tar -xzvf project.tgz project   //默认在当前目录下解压project文件
    tar -xzf project.tgz -C /home/zl/105/     //在指定路径下进行解压文件 -C指定路径进行解压或解包
    
    • 1
    • 2
    • 3
    bc    //Linux下的计算器
    echo "1+2+3+4+5" | bc        //计算1+2+3+4+5的结果
    
    • 1
    • 2
    uname -r    //查看linux下的体系结构
    tab      //表示热键补齐功能
    ctrl-c   //让当前程序终止
    ctrl-d    //快速退出
    halt  或shutdown   //云服务器关机
    history    //查看输入的历史命令
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  • 相关阅读:
    OpenTCS客户端开发之Web客户端(一)
    手拉手一起学HTML(下)——表格标签和列表标签,表单标签
    Camunda 7.x 系列【49】存储服务 RepositoryService
    2022年已经过去一半了,是不是很突然呢?
    DOM跟BOM的区别
    品牌赋能之道:体育冠军代言与祝福视频的妙用
    无敌了!Redis进军磁盘存储!
    卷积神经网络loss不下降,神经网络loss多少算正常
    java计算机毕业设计共享汽车管理系统MyBatis+系统+LW文档+源码+调试部署
    react基础教程学习(一)
  • 原文地址:https://blog.csdn.net/m0_70091181/article/details/134475641