• Linux相关命令


    一、一些重要的目录介绍

    1. /home : 普通用户的主目录就放在这里面
    2. /root : 超级管理员的主目录
    3. /etc : 系统级的配置文件存放的目录,例如:环境变量的配置文件、网络配置文件
    4. /usr : 用户共享目录,通常用来安装软件在/usr/local
    5. /opt :
      5.1 通常会创建一个子目录 /opt/software 来存储软件的安装文件(压缩包)
      5.2 再创建一个子目录 /opt/module 来安装那些解压即可安装的软件(JDK、Tomcat等等)

    二、Linux中的常用命令

    1. 查看帮助文档 man
      man ls 就是查看ls命令的帮助文档

    2. 使用某个命令时候的提示 --help
      ls --help

    3. 获取当前的日期时间
      date +%Y-%m-%d 以"年-月-日"的格式显示日期

    date +%Y-%m-%d’ '%H:%M:%S 以"年-月-日 时:分:秒"的格式显示日期时间

    date +%F’ '%T 以标准格式显示日期时间

    1. 查看ip信息
      ifconfig

    三、文件目录相关的命令

    1. 相对路径和绝对路径
      1.1 什么是相对路径: 不以 / 开头的路径写法,以当前路径作为基准去找目标路径
      1.1.1 ./ 代表当前目录
      1.1.2 …/ 代表当前目录的上一级目录
      例子: 当前在/usr/local/aa/bb 目录中,想要使用相对路径进入 /usr/hello/test目录中,应该怎么写?
      …/…/…/hello/test

      1.2 什么是绝对路径: 以 / 开头的路径写法,我们通过编写目标路径的绝对路径进行访问
      例子: 当前在/usr/local/aa/bb 目录中,想要使用相对路径进入 /usr/hello/test目录中
      无论我当前在哪个目录,只要目标路径是一样的,那么绝对路径写法就是一样的

    2. pwd: 打印工作目录(当前目录的绝对路径)

    3. 切换目录的命令: cd
      3.1 cd … 表示切换到上一级目录
      3.2 cd / 表示切换到Linux 的根目录
      3.3 cd ~ 表示切换到用户的主目录(回家)
      3.4 cd 绝对路径 访问某个目录
      3.5 cd 相对路径 访问某个目录
      3.6 cd - 切换到你来时候的目录

    4. 列出目录中的文件列表的命令: ls
      4.1 ls 表示列出当前目录中的可见文件的名字
      4.2 ls -l 可以简写为ll 表示列出当前目录中的课件文件的详细信息
      4.3 ll -h 表示列出当前目录中的课件文件的详细信息,并且以kb或者mb等等单位显示文件大小
      4.4 ll -ah a参数表示查看所有文件(包含隐藏文件 . …)
      4.5 ll -Ah A参数表示查看所有文件(包含隐藏文件)
      4.6 ll -ah 目录的绝对路径/目录的相对路径 表示列出某一个目录下的内容
      4.7 ll -R 递归查看
      4.8 ll -ltr 逆序查看最近修改过的文件

    5. 创建和删除目录的命令:
      5.1 创建目录: mkdir 要创建的目录路径 mkdir test1 或者 mkdir /root/test2
      5.2 循环创建目录(创建多级目录): 当路径中的某个目录不存在的时候先将其创建出来再创建后续目录
      mkdir -p 要创建的目录路径 mkdir /root/hello/haha/xixi
      5.3 删除空目录: rmdir 要删除的空目录的路径 rmdir test1

    6. 创建文件、删除文件、删除非空目录的命令:
      6.1 新建文件: touch 要创建的文件路径
      6.2 删除文件: rm 要删除的文件路径
      6.3 f参数: 表示无论如何都要删,不要询问我
      6.4 r参数: 递归删除,用于删除非空文件夹以及将该文件夹中的内容都删除

    7. 移动文件或者目录
      7.1 移动文件或目录 mv 要移动的文件或者目录 目标路径
      7.2 重命名文件 mv 要命名的文件 新文件路径
      mv a.txt b.txt 表示将当前目录中的a.txt重命名为b.txt
      mv /root/test1 /root/test2 表示将/root中的test1目录重命名为test2目录

    8. 复制文件或者目录
      8.1 复制文件 cp 要复制的文件路径 目标路径
      8.2 复制目录 cp -R 要复制的目录 目标路径
      8.3 强制覆盖的复制 \cp -rf phone.jpg test2

    9. cat命令: 适合查看小文件
      9.1 查看轻量级文件 cat 要查看的文件路径
      9.2 连接查看多个文件 cat 多个文件的路径
      9.3 用一个文件内容覆盖另一个文件内容: cat 文件1 > 文件2
      9.4 将一个文件内容追加到另一个文件后面: cat 文件1 >> 文件2

    10. more 命令分页查看文件
      more 要查看的文件路径
      在查看的过程中:
      Enter 键表示查看下一行数据、Space 键表示查看下一屏数据
      Ctrl + B 滚动到上一屏内容 Ctrl + F 滚动到下一屏内容
      q 退出查看

    11. less 命令分屏查看大文件
      less 要查看的文件路径
      在查看过程中:
      Enter 键表示查看下一行数据、Space 键表示查看下一屏数据
      PgUp键滚动到上一屏内容 PGDn键滚动到下一屏内容
      /关键字 向下搜索关键字
      ?关键字 向上搜索关键字
      在搜索的过程中 n 表示正向重复搜索 N 表示反向重复搜索
      q 退出查看

    12. tail命令查看文件的末尾,或者滚动查看文件内容(例如查看Tomcat等等软件的日志文件)

    13. 查找文件:相当于在系统中搜索某个文件
      13.1 使用find命令在系统中指定路径进行全文遍历
      find /root -name “*.txt”

      13.2 基于索引搜索: locate
      13.2.1 Linux系统开机的时候建立索引库
      13.2.2 updatedb
      13.2.3 locate 搜索文件名 基于索引搜索

    14. grep: 筛选
      14.1 配合管道一起进行筛选 ls | grep .txt
      14.2 在文本文件中根据关键字匹配行 grep servlet web.xml 表示在web.xml中找出包含servlet的所有行
      n参数表示显示行号 grep -n servlet web.xml
      v参数表示匹配不包含关键字的那些行

    15. 压缩命令: tar -zcvf 生成的压缩文件名 要进行压缩的内容

    16. 解压命令: tar -zxvf 要被解压的压缩文件名 -C 解压路径

    17. 文件编辑命令:
      17.1 进入一般模式: vim 要编辑的文件路径
      17.2 一般模式下的按键操作:
      yy 复制光标所在行
      p 在光标所在行下方粘贴
      dd 删除光标所在行
      u 撤销前一步操作
      ctrl + r 重做刚刚撤销的操作
      17.3 从一般模式下进入编辑模式:
      i 进入编辑模式,光标位置不动
      I 进入编辑模式,光标会移动到当前行的开头
      a 进入编辑模式,光标会向后移动一格
      A 进入编辑模式,光标会移动到当前行的最后
      o 进入编辑模式,会在当前行下新建一行,并且把光标移动到新行

      17.4 退出编辑模式,回到一般模式: esc

      17.5 从一般模式进入指令模式
      17.5.1 进入指令模式进行一些指令操作
      在一般模式下输入 : 就能进入指令模式,并且也能输入指令
      17.5.2 指令模式下都有哪些指令:
      set nu 显示行号
      noh 在搜索结果中取消高亮
      w 保存修改内容
      q 退出编辑
      wq 保存修改内容并退出编辑
      q! 强制退出编辑不保存修改内容
      17.5.3 进入指令模式进行搜索
      在一般模式下输入 / 搜索关键字就可以向下进行搜索
      n 是正向重复搜索,N 反向重复搜索
      17.5.4 进入指令模式进行全文替换
      在指令模式下输入 %s/要替换的内容/替换成的内容/g

    18. 文件编辑过程中可能会遇到的问题: 存在交换文件
      18.1 文件编辑过程中,Linux会针对正在编辑的文件创建一个交换文件(.原文件名.swp),
      如果正常退出编辑,则会自动删除交换文件
      18.2 交换文件有啥用呢:如果存在某个文件存在交换文件,就表示该文件正在被编辑,别人就不能同时编辑它
      防止多个客户端同时编辑一个文件,导致发生冲突。
      18.3 怎么解决存在交换文件的问题?
      18.3.1 如果是因为当前文件正在被别人编辑,而导致我无法编辑,那么我就告知别人退出编辑让我来编辑
      18.3.2 如果是因为上一次编辑之后,异常退出编辑,导致交换文件没有被删除,那么我们就手动删除交换文件
      交换文件的名字是 .原文件名.swp

    19. 查看进程状态
      19.1 查看所有进程信息: ps -ef
      19.2 配合管道与more或less命令进行分屏查看进程信息: ps -ef | less
      19.2 配合管道与grep命令进行搜索进程信息: ps -ef | grep firefox

    20. 杀死进程: kill -9 进程id

    21. 字符串处理命令
      21.1 basename: 获取字符串中表示当前资源名的部分
      21.2 dirname: 获取字符串中表示当前资源存储的目录部分
      21.3 cut: 切割字符串
      需求一: 选取系统 PATH 变量值,第2个 ‘:’ 开始后的所有路径
      1. 怎么获取PATH遍历的值: echo $PATH
      2. 使用管道将echo $PATH 的结果交给cut命令操作: echo $PATH | cut
      3. cut命令的使用: 根据’:‘切割,第三列以及之后的内容 3-
      echo $PATH | cut -d ‘:’ -f 3-
      需求二: 切割ifconfig 后打印的IP地址
      1. 观察ifconfig查询的内容
      2. 将ifconfig的内容通过管道交给grep命令操作,查询出包含IP地址的那些行: ifconfig | grep netmask
      3. 通过管道切割这些包含ip地址的行,根据’i’切割, 获取第二列以及之后的内容2-
      ifconfig | grep netmask | cut -d ‘i’ -f 2-
      4. 再通过管道将上述结果交给cut命令处理,根据’ '切割,获取第二列数据
      ifconfig | grep netmask | cut -d ‘i’ -f 2- | cut -d ’ ’ -f 2
      21.4 sort: 对文件中的内容进行排序
      n参数表示按照数值大小排列
      r参数表示反序排列
      t参数表示指定排序时候的分隔符
      k参数表示根据哪一列排序
      sort -t ‘:’ -nk 2 sort.txt

    22. 权限管理相关命令
      22.1 groupadd 组名 创建组
      22.2 创建用户
      1. 指定该用户添加到哪个组: useradd -g 组名 用户名
      2. 不指定该用户添加到哪个组: useradd 用户名
      它默认会新建一个组,组名和用户名一致,然后将用户添加到该组中
      22.3 给用户设置密码: passwd 用户名

      权限分组:
      2.2.4 资源所属用户: 当前资源的拥有者
      2.2.5 资源所属用户组: 拥有当前资源的用户组
      2.2.6 其它组的用户: 除了拥有当前资源的用户组之外的其它组里面的用户

      权限分类:
      r: 读, 对于文件而言就是能够读取文件内容(cat、more、less等等一些命令)

         对于目录而言就是能够查看目录中的内容(ls、ll等等这些命令)
      
      • 1

      w: 写, 对于文件而言就是能够编辑文件内容(vim真正编辑修改文件内容)
      对于目录而言就是能够删除(rm)当前目录、移动(mv)当前目录、重命名当前目录等等操作

      x: 执行, 对于文件而言就是可以直接执行这个文件(可执行文件)
      对于目录而言就是可以使用cd命令进入目录、可以在目录里面新建(touch、mkdir)、删除(rm、rmdir)内容

      修改权限:

      1. 添加权限: chmod +权限 资源

      2. 删除权限: chmod -权限 资源

      3. 精准修改权限:
        3.1 方式一: chmod u=权限,g=权限,o=权限 资源
        3.2 方式二: chmod 三个十进制的数表示三种用户权限 资源

      4. 修改资源的拥有者: chown 拥有者 资源
        修改资源的拥有组: chgrp 拥有组 资源
        同时修改资源的拥有者和拥有组: chown 拥有者:拥有组 资源

    23. 提升普通用户的权限

      1. root修改 /etc/sudoers文件的权限,让其可以修改
      2. root修改 /etc/sudoers文件,给普通用户添加root权限
      3. 普通用户在使用root权限的时候要添加sudo前缀
    24. Linux的服务管理命令:
      24.1 开启服务:systemctl start 服务名称
      24.2 停止服务:systemctl stop 服务名称
      24.3 重启服务:systemctl restart 服务名称
      24.4 设置服务开机自启动:systemctl enable 服务名称
      24.5 取消服务开机自启动:systemctl disable 服务名称
      24.6 查看服务的状态:systemctl status 服务名称

    25. 防火墙相关操作:
      25.1 启动防火墙: systemctl start firewalld
      25.2 关闭防火墙: systemctl stop firewalld
      25.3 查看防火墙状态: systemctl status firewalld
      25.4 重新加载防火墙规则: systemctl reload firewalld
      25.5 设置防火墙开机自启动: systemctl enable firewalld
      25.6 设置防火墙开机不自启动: systemctl disable firewalld
      25.7 防火墙放行某个端口:firewall-cmd --add-port=端口号/tcp --permanent
      修改了防火墙规则之后,一定要重新加载防火墙规则
      25.8 防火墙取消某个端口的放行: firewall-cmd --remove-port=端口/tcp --permanent

  • 相关阅读:
    实时监控电脑屏幕的软件丨同时查看12台电脑屏幕
    2018年美亚杯电子数据取证大赛-团体赛
    当用Kiel打开代码时,电脑显示只读
    SpringMVC原理学习(三)获取参数名
    【软考学习6】计算机存储结构——局部性原理、Cache、主存地址单元、磁盘存取、总线和可靠性
    《已解决 Bug TypeError: Cannot read property ‘props‘ of undefined (React)》
    Python 音频处理工具库之pydub使用详解
    docker 具体操作
    c++ 左值引用 右值引用 及 参数引用 & 与&&
    linux-vsftp虚拟多用户
  • 原文地址:https://blog.csdn.net/LMY0210/article/details/126897405