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等等这些命令)
    

    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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值