• 开始Linux之路


    人生得一知己足矣,斯世当以同怀视之。——鲁迅


    1、ls指令

    语法: ls [选项][目标或文件]
    功能: 对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。

    ls -l:列出文件的详细信息
    ls -la:(all)列出文件所有的信息,包括 . 开头的隐含文件
    ls -l / :能够展现更目录下的文件
    ls -l /root:展现root下的文件
    ls -ld /:只差看目录本身的属性
    ls *:其中的*在这里意味着当前目录下的所有文件,当然*加在别的地方的意思就是这个地方的中间可以是任意的,但是别的地方一定是必须要符合条件的。(*:表示一个通配符,匹配任意文件名)
    

    当我们执行这两个指令的时候会发现一些不一样的地方。其中就包含了隐藏文件。
    在Linux中以 . 开头的文件成为隐含文件。
    任何目录之下,都会有默认的两个隐藏的文件, . 和 . . 。其中一个点的作用是当前目录,两个点是上级目录。
    两个点的作用是为了能够方便的回到上级的目录。
    我们应该知道想要执行程序就需要先把程序加载到内存里,所以又因为访问一个文件又要先找到这个文件,所以一个点能够找到当前路径下的定位。
    一个点的作用为的通常是执行当前程序下。
    当然了,在windows中也是包涵隐藏的文件的。

    2、pwd命令

    语法: pwd
    功能: 显示当前用户所在的目录

    3、cd指令

    语法: cd 目录名
    功能: 改变工作目录。将当前工作目录改变到指定的目录下。

    cd .. : 返回上级目录
    cd /home/litao/linux/ : 绝对路径  
    cd ../day02/ : 相对路径
    cd ~:进入用户家目录()
    cd -:返回最近一次所属的路径之下(方便路径切换,两个路径之间快速跳转)
    

    返回上级目录的操作,直到 / 的结果时候就不能再返回上级节点,此时就是Linux的根目录。
    Linux下指定的用户也有自己的家目录
    对于root账号:默认的家目录是 /root-超级管理员账号

    4、mkdir指令(重要)

    语法: mkdir [选项] dirname
    功能: 在当前目录下创建一个名为“dirname”的目录

    mkdir –p test/test1 : 递归建立多个目录
    

    两个路径分割之间,一定是一个“文件夹”,路径的最末端一定是一个普通的文件或者文件夹。
    /:是Linux中的路径分割符
    \:是windows中的路径分割符

    为啥系统中需要路径的作用?
    首先,路径是在一个系统层面标定一个特定的文件。其次路径的作用,让文件具有必须的路径的唯一性。

    为什么要找到目标文件?
    因为只有找到目标文件之后,才能够访问。那怎么找到文件呢,那是因为有路径。又因为路径是具有唯一性。

    那么我每次直接创建一个文件的话里面是没有内容的,但是呢,我们可以通过另外的的手段去创建。

    mkdir -p a/b/c/d
    

    这样就能够创建一个递归目录。
    我们怎么检查?可以一步一步的cd进去检查。
    当然也有一种比较简单的方法

    tree a
    

    tree:以树形式显示目录结构。但是有时候需要安装一下tree的指令。

    yum -y install tree
    

    安装完之后就能看到
    在这里插入图片描述

    # which tree
    /usr/bin/tree
    

    通过which也能够发现现在在bin中能够看到tree的可执行文件。
    那么其中的yum -y install 的指令是什么意思呢,请看下面的介绍。

    5、whoami命令

    语法: whoami
    功能: 显示当前用户的名字

    6、创建一个普通用户

    利用adduser在/home的位置添加一个用户。就像是在Windows上创建多用户,不同的Windows用户展现的桌面文件夹所展现的是不一样的。

    7、重新认识指令

    指令本质都是程序 —指令、程序、可执行程序都是一回事。原理上是一样的。
    那这些程序通常在哪呢?在 /usr/bin/…中。可以自行查找。
    所以意味着安装和卸载意味着什么?意味着就是把可执行程序拷贝或删除到系统路径下。
    程序也是文件,文件也是内容+权限。

    8、which指令

    语法: which [命令的名称]
    功能: which一个命令的名称就代表在体统层面上告诉我这个可执行程序所在的路径在哪里。
    但是当我们进行

    which ls//这个时候出现了有点不一样的东西
    alias ls='ls --color=auto'
            /usr/bin/ls    会出现这种情况
    

    但是我能够找到可执行程序的文件的时候,我们能够直接/usr/bin/ls,通过绝对路径找到ls,并且执行ls,但是此时出现了不一样的结果。
    在这里插入图片描述
    一个是有颜色的,还有一个是没有颜色的,那这又是为什么呢?
    请先看下面alias命令的介绍。

    9、alias命令

    alias也是Linux命令,给其他命令其一个别名的作用。

    alias zhangsan='ls -la'
    which zhangsan
    alias zhangsan='ls -la'
            /usr/bin/ls
    

    然后直接用zhangsan也能够实现ls -la的效果的作用。此时zhangsan就是ls -la的别名了。这就像是你给你的朋友起外号一样,即使是外号也是相同的人(指令的相同效果)
    在这里插入图片描述
    其中能够说明的是,ll就是ls -l的别名所以就有相同的效果。
    那么颜色的不同,就是后面的- -color=auto的效果。
    在这里插入图片描述
    这样子的话就有了两个相同结果的命令。

    10、touch指令

    语法: touch [选项] 文件
    功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
    touch只能创建普通文件!
    补充: 如果想要了解一个文件更充分的信息的话需要用到stat [文件名]
    在这里插入图片描述
    Access,Modify和Change三种时间代表的含义不同。
    简称一个文件的ACM时间。
    Access是最后一次进入的时间,可是Modify和Change这两个有点相似啊,翻译成中文都有改变的意思,那到底又是什么意思呢?
    其中Modify的含义是对文件内容最后一次修改的时间。
    而Change的含义是对文件属性修改的最后一次的时间。
    通常来说文件的属性包含很多,有时候伴随着Modify的改变,大部分都会改变Change的时间。

    11、rmdir指令 及 rm指令(重要)

    在这里插入图片描述
    如图所示,rmdir能够删除掉只有没有内容的dir文件夹,当删除其中包含内容的文件夹的时候不能够删除。
    那么我们可以运用rm命令

    rm [文件名]:删除,但是过程中会询问是否要删除,系统要小心的询问一下(通常在root的情况下才会询问)
    rm -f [文件名]:强制删除,不会弹出对话框询问是否需要删除文件
    
    //默认是文件夹的情况下rm都要加上 -r 通过递归的方式来删除文件夹。当然此时的-f,强制删除的命令也是能够使用的。
    [root@VM-16-12-centos ~]# rm empty
    rm: cannot remove ‘empty’: Is a directory
    [root@VM-16-12-centos ~]# rm -r empty
    rm: remove directory ‘empty’? y
    
    //话说回来!千万别用这个代码
    rm -rf /
    //删除的话,”会有好果子吃“
    //会将一切有可能的都解决掉
    

    Linux系统中,rm就是删除,删除就是删除,对于小白来说,几乎找不回来。
    一旦有不确定的目录或者是文件,宁可备份,不可删除。

    12、man指令(重要)

    Linux的命令有很多参数,不可能全部记住,我们可以通过查看联机手册来帮助获取。
    访问Linux手册的命令是
    man语法:man [选项] 命令
    按Q是退出操作。上下键是翻页操作。
    当我们man man的时候
    在这里插入图片描述
    不是只能查指令。
    比较重要的三个点man主要的用处。
    第一个是可执行程序查找。
    第二点是查找系统调用
    第三个是C库函数查找。

    13、cp指令(重要)

    语法: cp [选项] 源文件或目录 目标文件或目录
    功能: 复制文件或目录

    cp src dst :其中dst可以是目录(直接拷贝到目录中),可以是带路径的文件名(拷贝到指定目录,顺便进行重命名)
    src或者是dst都可以携带绝对路径或者相对路径进行拷贝
    cp [源文件] ../ :直接拷贝到上一级的目录中
    cp [源文件] ../hello.txt:将文件拷贝到上一级并且修改名字为hello.txt
    cp -rf a ../ ://拷贝递归文件夹的时候需要带上-r
    

    14、mv指令(重要)

    mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命 令,经常用来备份文件或者目录。
    语法: mv [选项] 源文件或目录 目标文件或目录
    功能: 能够实现重命名,剪切或者是重命名与剪切一起
    在这里插入图片描述

    mv src dst
    mv test.txt log.txt//将test.txt的名字改为log.txt
    mv log.txt ..(/):将log.txt剪切
    

    15、小知识点

    1. 当文件显示出现失控的状态。比如说一种情况,当tree / 的时候可能因为太多文件而一直进行停不下来的时候。怎么解决?ctrl+c终止异常的命令。
    2. 同一个目录之下不能拷贝同名文件。
  • 相关阅读:
    数据在内存中的存储
    实战:django项目环境搭建(pycharm,virtualBox)
    E-梅莉的市场经济学
    系统设计类题目汇总四
    Java 泛型
    4.MidBook项目经验之MonogoDB和easyExcel导入导出
    python 将二维数组的数据保存到csv文件中
    想知道怎么把过曝的图片进行修复?这些方法可以做到
    ZCMU--5230: 排练方阵(C语言)
    C# 找出两个Rectangle或是矩形的相互重合与非重合部分?
  • 原文地址:https://blog.csdn.net/2301_79194984/article/details/140329659