• Linux基础命令


    一、Linux目录结构


    Linux系统中没有盘符的概念,所有的文件和目录都被组织成以一个根节点开始的倒置的树状结构,
    文件系统的最顶层是由根目录开始的,系统使用 / 来表示根目录,呈现为一个树状结构。
    在这里插入图片描述


    FHS(文件系统层次结构标准)标准目录讲解

    • / -----操作系统的根路径
    • /bin -----普通用户和管理员都可以执行的命令
    • /boot -----主引导目录,放置开机会使用到的文件,包括Linux核心文件以及开机菜
      单与开机所需配置文件等等
    • /dev -----设备文件
    • /etc -----配置文件存放目录
    • /home -----普通用户家目录
    • /root -----管理员家目录
    • /lib -----存放程序运行所需要的共享库及内核模块
    • /media -----可移除设备的挂载目录
    • /mnt -----临时设备建议的挂载目录
    • /proc -----存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存
      的映射,我们可以通过直接访问这个目录来获取系统信息
    • /sys -----这个目录跟/proc非常类似,也是一个虚拟的文件系统,主要也是记录核心与系统硬件信息
      较相关的信息
    • /srv -----srv可以视为“service”的缩写,是一些网络服务启动之后,这些服务所需要取用的数据目
      录。
    • /run -----临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或
      清除。
    • /tmp -----临时文件存放目录
    • /usr -----usr是Unix Software Resource的缩写, 也就是“Unix操作系统软件资源”所放置的目
      录,FHS建议所有软件开发者将他们的数据放置到这个目录下的子目录
    • /var -----常变文件存放目录

    二、绝对路径与相对路径


    绝对路径:由根目录(/)开始写起的文件名或目录名称, 例如 /home/tom/
    相对路径:相对于目前路径的文件名写法。 例如 ./home/tom或 …/…/home/tom/ 等等。反正开头不
    是 / 就属于相对路径的写法
    相对路径就是以 “你当前所在路径的相对位置” 来表示的。举例来说,如果目前在 /home 这个目录
    下, 如果想要进入 /var/log 这个目录时,可以采用下列两种写法:
    cd /var/log (绝对路径)
    cd …/var/log (相对路径)

    因为你在 /home 下面,所以要回到上一层 (…/) 之后,才能继续往 /var 来移动,特别注意下列两
    个特殊的目录:
    . 代表当前的目录,也可以使用 ./ 来表示;
    … 代表上一层目录,也可以 …/ 来代表


    三、常用命令

    1. ls

    • ls命令:显示指定工作目录下的内容,如果不提供参数,ls将在当前目录上运行。
      在这里插入图片描述

    • -a:列出指定目录下的所有文件和子目录(包括以“.”开头的隐含文件)。
      在这里插入图片描述

    • -d:如果是目录,则显示目录的属性而不是目录下的内容。
      在这里插入图片描述

    • -l:使用长格式显示文件或目录的详细属性信息。或直接ll
      在这里插入图片描述在这里插入图片描述

    • -R:列出所有子目录下的文件
      在这里插入图片描述

    • -h:与-l参数结合使用,可以将文件大小带单位显示
      在这里插入图片描述


    2.pwd

    • pwd命令:当前目录绝对路径
      在这里插入图片描述

    3.man

    • man 所要查询的命令 例如:man lsq退出,查询所需命令的帮助文档。

    在这里插入图片描述


    4.cd

    • cd命令:改变当前工作目录,当不指定目标目录时,将被带到主目录。

    • cd //进入主目录
      在这里插入图片描述

    • cd ~ //进入主目录
      在这里插入图片描述

    • cd / //回到根目录
      在这里插入图片描述

    • cd .. //回到上一级目录
      在这里插入图片描述

    • cd - //返回到前一个工作目录
      在这里插入图片描述


    5.cat

    • cat命令:查看文件的内容,将文件的内容输出到标准输出

    • 格式:cat [选项] 文件名在这里插入图片描述
      在这里插入图片描述

    • -b 列出行号,仅针对非空白行号显示,空白行不标行号;
      在这里插入图片描述

    • -n打印出行号,连同空白行也会有行号,与-b的选项不同
      在这里插入图片描述

    • cat -n >> 文件名 可以在文件中写入,若文件不存在则创建,按ctrl + c 退出,> 为覆盖。
      在这里插入图片描述


    6.tac

    • tac命令:和cat命令相反,从最后一行开始显示
    • 格式:tac [选项] 文件名
      在这里插入图片描述

    7.nl

    • nl命令:计算文件中行号,将输出的文件内容自动的加上行号

    • 格式:nl [选项] 文件名
      在这里插入图片描述

    • -b 指定行号指定的方式,主要有两种:

    • -b a 表示不论是否为空行,也同样列出行号(类似 cat -n)
      在这里插入图片描述

    • -b t 如果有空行,空的那一行不要列出行号(默认值)
      在这里插入图片描述


    8.more

    • more命令:分页查看文件的内容

    • 格式:more [选项] 文件名

    • 空格键(space):代表向下翻一页

    • 回车键(Enter):代表向下翻一行

    • b 键:往前查看一页,不过这动作只对文件有用,对管道无用

    • q 键:退出。
      在这里插入图片描述


    9.less

    • less命令:less命令 与 more命令 非常类似,但less命令 可以更加随意地浏览文件,而且 less 在查看之前不会加载整个文件
      格式:less [选项] 文件名

    • 空格键向下翻动一页

    • Pagedown向下翻动一页

    • Pageup向上翻动一页

    • /字符串向下搜寻[字符串]功能

    • ?字符串向上搜寻[字符串]功能

    • n重复前一个搜寻(与/或?有关)

    • N反向重复前一个搜寻(与/或?有关)

    • q离开less这个程序
      在这里插入图片描述


    10.head

    • head命令:用于查看文件的开头部分的内容,默认显示 10 行的内容

    • 格式:head [选项] 文件名
      在这里插入图片描述

    • -n指定显示的行数,如果为负数则表示不显示后面的多少行
      在这里插入图片描述在这里插入图片描述


    11.tail

    • tail命令:用于查看文件的结尾部分的内容,默认显示 10 行的内容

    • 格式:tail [选项] 文件名
      在这里插入图片描述

    • -n指定显示的行数
      在这里插入图片描述

    • -f实时查看被添加到一个文件中的内容
      在这里插入图片描述在这里插入图片描述

    • 按ctrl + c 退出
      在这里插入图片描述


    12.grep

    • grep命令:在指定文本文件中匹配字符串,输出匹配字符串所在行的全部内容。(用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。)

    • 格式:grep [选项] 要查找的内容 目标文件名
      在这里插入图片描述

    • -n在文件中查找指定内容并显示匹配行的行号
      在这里插入图片描述

    • -E用来扩展选项为正则表达式(grep -E 选项可以用来扩展选项为正则表达式。 如果使用了grep 命令的选项-E,则应该使用 | 来分割多个pattern,以此实现OR操作。)

    • -v对匹配的结果进行反选即显示不包含匹配文本的所有行。
      在这里插入图片描述


    13.locate

    • locate命令:用于查找符合条件的文件
      格式:locate [选项] 要查找的文件(选项后输入的内容都被当做文件名处理,与路径无关!!!!!!)
      在这里插入图片描述

    • -i忽略大小写,例如locate -i ~/r忽略大小写搜索当前用户目录下所有以 r 开头的文件 :
      在这里插入图片描述

    • -r使用基本正则表达式进行匹配,搜索基本正则表达式 REGEXP 来代替模式,即使用正则表达式来匹配文件名

    • locate -r st$ # 使用-r选项查找以"st"结尾的文件或目录
      在这里插入图片描述

    • updatedb更新locate命令的数据库


    14.find

    • find命令:在指定目录下查找文件

    • 格式:find 路径 选项 要查找的文件

    • -name 通过文件名查找文件
      示例:find / -name ??? 查找文件名长度为三个字符文件
      示例:find . -name "[a-z]*[4-9].log" 在当前目录查找文件名以小写字母开头,最后是4到9加上.log结束的文件。

    • 要按指定的时间戳搜索文件,我们需要知道 Linux 系统中的 3 个不同的时间戳:
      访问时间戳 (atime) :最后一次读取文件的时间。
      修改时间戳 (mtime) :文件内容最后一次被修改的时间。
      更改时间戳 (ctime) :上次更改文件元数据的时间(如,所有权、位置、文件类型和权限设置)

    • -mtime n n 为数字,意义为在 n 天之前的『一天之内』被更动过内容的文件;
      示例:find /root -mtime 0 查找从现在开始到 24 小时前被更动过内容的文件

    • -mtime +n 列出在 n 天之前(不含 n 天本身)被更动过内容的文件;
      示例:find /root -mtime +1 查找大于等于2天前被更动过内容的文件

    • -mtime -n 列出在 n 天之内(含 n 天本身)被更动过内容的文件
      示例:find /root -time -2 查找小于等于2天内被更动过内容的文件
      -newer file file 为一个存在的文件,列出比 file 还要新的文件档名

    • -user 通过用户名查找文件

    • -exec 该参数后面跟命令,能够进行额外的动作
      示例: find /etc/ -name shadow -exec ls -l {} \;
      该示例中特殊的地方有 {} 以及 ; 还有 -exec 这个参数,这些东西的意义为:

      • {} 代表的是『由 find 找到的内容』,find 的结果会被放置到 {} 位置中;
      • -exec 一直到 ; 是关键词,代表 find 额外动作的开始 (-exec) 到结束,在这中间的就是 find 指令内的额外动作。 在本例中就是『 ls -l {} 』
      • 因为『 ; 』在 bash 环境下是有特殊意义的,因此利用反斜杠来转义。

    15.tr

    • tr命令:进行文本字符替换
    • 格式:tr [原始字符] [目标字符]
    • 例:cat test.txt | tr a-z A-Z
      在这里插入图片描述

    16.wc

    • wc命令:统计指定文本的行数、字数、字节数

    • 格式:wc [参数] 文件

    • 如果不带参数,命令执行结果格式为行数 单词数 字节数 文件名
      在这里插入图片描述

    • -l只显示行数
      在这里插入图片描述

    • -w只显示单词数
      在这里插入图片描述

    • -c只显示字节数
      在这里插入图片描述


    17.cut

    • cut命令:用于按“列”提取文本字符

    • 格式:cut [参数] 文件

    • -f:指定要查看的区域

    • -d:自定义分隔符


    18.mkdir

    • mkdir命令:创建一个新目录

    • 格式:mkdir [选项] 要创建的目录

    • -p创建目录结构中指定的每一个目录,如果目录不存在则创建目录,如果目录已存在也不会被覆盖


    19.touch

    • touch命令:创建一个新的空文本文件,或者修改文件时间

    • 格式:touch [选项] 要创建的文件名

    • -a:修改atime(最后一次读取文件的时间)

    • -m:修改mtime(最后一次修改文件内容的时间)

    • -t:指定时间 如:202101010601


    20.echo

    • echo "网络空间安全人才" > 123.txt //输出网络空间安全人才到123.txt文件
    • echo "网络空间安全人才" >> 123.txt //追加输出网络空间安全人才到123.txt文件
    • cat > 文件名建立一文件,然后把接下来的键盘输入写入文件,直到按Ctrl+D为止

    21.cp

    • cp命令:用于复制文件或目录,目录不能直接复制,需要加上-r参数

    • 格式:cp [选项] 源文件 目标文件

    • -b:若需覆盖文件,则覆盖前先行备份

    • -r:复制目录,实现将源目录下的文件和子目录一起复制到目标目录中

    • -f:如果目标文件或目录已经存在,则将其覆盖,并不作提示

    • (由于在CentOS中 cp 命令设置了别名,所以 -f 参数可能会被忽略,可以在命令前添加符号\忽略别名的设置。例如:\cp -rf test …/test)

    • -p:连同文件的属性(权限、用户、时间)一起复制过去


    22.mv

    • mv命令:用于移动或重命名目录与文件

    • -b若需覆盖文件,则覆盖前先行备份

    • -f如果目标文件已经存在,不会询问而直接覆盖;


    23.rm

    • rm命令:用于删除一个文件或者目录

    • -f 强制删除文件

    • -r 递归删除目录

  • 相关阅读:
    使用match-lstm和答案指针进行机器理解
    【Java分享客栈】我有一个朋友,和前端工程师联调接口被狠狠鄙视了一番。
    【uniapp】小程序开发:3 分包配置
    MATLAB——极限学习机参考程序
    如何构建城市经济大脑分析指标框架?六大分析主题
    AI实战营第二期 第八节 《MMSegmentation代码课》——笔记9
    设计模式-组合模式
    Check SSH attacks on Linux
    78. 子集
    Go语言---简单版并发服务器
  • 原文地址:https://blog.csdn.net/weixin_46065653/article/details/126348224