当前位置: 首页 > news >正文

Linux命令基础完结篇

用户权限修改

chmod修改文件权限

文字设定法

  • u:所有者
  • g:所属组
  • o:其他人
  • a:所有
  • +:添加权限
  • -:删除权限
  • =:赋予权限

在这里插入图片描述

数字设定法

  • r:4
  • w:2
  • x:1
  • 每一组权限:0~7

在这里插入图片描述

  • 举例:

在这里插入图片描述

添加新用户和新用户组

  • 添加新用户:

    sudo adduser 新用户名
    
  • 查看用户:

    • /home目录下,多出新用户的宿主目录。
    • 在 /etc/passwd 文档的末尾,新增新用户相关信息。
    • 在 /etc/group 文档中,新增用户组相关信息。
  • 删除用户

    sudo deluser 用户名
    
    • 在 /etc/passwd 文件中,会对应删除相应用户数据。

    • 在 /etc/passwd 文件中,会对应删除相应用户组数据。

    • /home目录下,新用户的宿主目录不会自动被删除,可以使用

      sudo rm -rf
      
  • 扩展:

    • 添加用户组:

      sudo addgroup 组名
      
    • 删除用户组:

      sudo delgroup 组名
      

修改文件所有者和所属组

修改所有者:

语法:

sudo chown 用户名 文件名

修改所属组:

语法:

sudo chgrp 用户组名 文件名

一次性修改所有者和所属组

语法:

sudo chown 用户名:组名 文件名

查找和过滤

find

语法:find 搜索路径(绝对、相对)参数 条件

find参数:

  • -name:按文件名搜索
    • 通配符“*”:匹配0~N个任意字符。
    • 通配符“?”:匹配1个任意字符。

在这里插入图片描述

  • -type:按Linux文件类型搜索

    • 搜索普通文件,使用 f 。

      find ./ -type f
      
    • 搜索除普通文件之外的文件,按7中Linux文件类型。

      find /tmp -type s #搜索套接字文件
      find /dev -type c #搜索字符设备文件
      find ./ -type p #搜索管道文件
      
  • -size:按文件大小搜索

  • 注意事项:

    • 取范围时,要有两个 -size参数。

    • k必须小写,M,G大写。

      find ./ -size +3M -size -5M
      find ./ -size +3k -size -5k
      
  • 混合多个参数搜索:

    find ~/ -name "*2015.jpg" -size +1k -size -2M
    
  • -maxdepth:指定搜索层级深度

    find ~/ -maxdepth 4 -name "*2015.jpg" -size +1k -size -2M
    
  • -exec:将find搜索的结果,指定给某一个其他命令执行。

    • 语法:find 命令 -exec shell命令 {} ;

      find ~/ -maxdepth 4 -name "*2015.jpg" -size +1k -size -2M -exec ls -lh {} \;
      
    • 语法:find 命令 -ok shell命令 {} ; 会在执行命令时询问

  • “|”结合 xargs 实现将find搜索的结果,指定给某一个其他命令执行。

    find ~/ -maxdepth 4 -name "*2015.jpg" -size +1k -size -2M  | xargs ls -lh 
    
    • ​ 如果创建了带有特殊字符的文件,再进行检索需要修改 find 搜索结果集的分割条件。

      1. 创建带有空格的文件:

        在这里插入图片描述

      2. 使用 find | xargs 搜索,报错。

        在这里插入图片描述

      3. 解决:修改 find 搜索结果集的分割条件。 -print0

        find ./ -type f -print0 | xargs -0 ls -l;
        

        在这里插入图片描述

grep

按文件内容搜索

  • 语法:grep -r “关键字” 搜索目录位置

    grep -r "love" ./
    
    • -n:显示所在行行号。

    • -i:忽略大小写。

      grep -r "LOVE" ./ -n -i
      

压缩和解压缩

Linux 操作系统中,默认支持的压缩格式:gzip、bzip2。默认这两种压缩格式只能压缩单个文件,不支持打包。压缩后源文件消失。

在 Linux/unix 中压缩、解压缩,借助 tar 命令完成。tar 的作用是“打包”。

压缩

  • 格式:

    tar zcvf 压缩包名.tar.gz 压缩原材料
    tar jcvf 压缩包名.tar.bz2 压缩原材料
    
    • z:使用 gzip 压缩格式。
    • j:使用bzip2压缩格式。
    • c:创建压缩包。
    • v:显示压缩过程。
    • f:用来指定压缩包包名。f 必须是最后一个参数,后面紧跟压缩包名称。

在这里插入图片描述

解压缩

  • 格式:

    tar zxvf 压缩包名.tar.gz 
    tar jcvf 压缩包名.tar.bz2
    
    • x:解压缩。

    • 直接解压缩到当前目录

      在这里插入图片描述

    • 解压缩到指定目录,使用参数 -C:

    • tar zxvf 压缩包名.tar.gz 压缩原材料 -C 目录

vim编辑器

vim的三种工作模式

  • 命令模式:
    • 进入 vim/vi 后自动处于的一种模式。
    • 在此种模式下。用户键入的所有内容都被当做命令看到。
  • 编辑模式
    • 编写代码。
  • 末行模式
    • 在此种模式下,键入的指令都被当做末行命令。

在这里插入图片描述

切换编辑模式

  • i:改变工作模式为编辑模式,向光标 插入数据。

  • a:改变工作模式为编辑模式,向光标 插入数据。

  • o:改变工作模式为编辑模式,向光标所在行的 下一行 插入数据。

  • I(大i):改变工作模式为编辑模式,向光标所在行的 行首 插入数据。

  • A:改变工作模式为编辑模式,向光标所在行的 行尾 插入数据。

  • O:改变工作模式为编辑模式,向光标所在行的 上一行 插入数据。

  • s:改变工作模式为编辑模式,删除光标所选字符。

  • S:改变工作模式为编辑模式,删除光标所在行。

保存和退出

  • 命令模式:
    • ZZ
  • 末行模式:
    • w:保存
    • q:退出
    • q!:强制退出
    • x:保存、退出

光标移动

  • hjkl:左下上右
  • G:文件的末行
  • gg:文件的首行
  • gg=G:自动排版(缩进对齐)
  • 0:不改变工作模式,将光标移动至本行行首。
  • $:不改变工作模式,将光标移动至本行行尾。
  • NG:不改变工作模式,跳转至第N行。
  • 末行模式,跳转至指定行:
    • :N回车,跳转到第N行。

撤销、反撤销

  • 撤销:命令模式下 u
  • 反撤销:ctrl -r

复制、粘贴

  • 单行复制:
    • 光标移动至待复制行,放在任意字符上,按 yy 复制本行,移动光标至目标位置,p 向下粘,P 向上粘。
  • 多行复制:
    • 光标移动至待复制多行的首行任意字符上,按 Nyy 复制多行,移动光标至目标位置,p 向下粘,P 向上粘。
  • 片段复制:
    • 光标移动至待复制区域的首个字符上,先按 v ,再按 hjkl ,移动光标,选中待复制区域,按 y 复制,p 向后粘,P 向前粘。
  • 复制一个单词:
    • 光标移动至待复制单词首字符上,按 yw 复制一个单词,移动光标至目标位置,p 向后粘,P 向前粘。

剪切、删除

vim 中剪切不粘贴就是删除。

  • 单行剪切:
    • 光标移动至待剪切行,放在任意字符上,按 dd 剪切本行,移动光标至目标位置,p 向下粘,P 向上粘。
  • 多行剪切:
    • 光标移动至待剪切多行的首行任意字符上,按 Ndd 剪切多行,移动光标至目标位置,p 向下粘,P 向上粘。
  • 片段剪切:
    • 光标移动至待剪切区域的首个字符上,先按 v ,再按 hjkl ,移动光标,选中待剪切区域,按 d 剪切,p 向后粘,P 向前粘。
  • 剪切一个单词:
    • 光标移动至待剪切单词首字符上,按 dw 剪切一个单词,移动光标至目标位置,p 向后粘,P 向前粘。

查找、替换

查找

  • 想象一个关键词,在文件中查找。
    • 命令模式下,输入“/”,按 n 查找下一个。
  • 看到一个关键词,查找在文件后续出现的位置。
    • 将光标放在任意字符上:
      • 使用 * 向后查找。
      • 使用 # 向前查找。

替换

  • 单行替换

    • 将光标置于待替换行的任意位置,进入末行模式

      #:s/旧字符串/新字符 
      #只能替换首个
      #想替换全部,使用 /g
      #:s/旧字符串/新字符/g 
      #举例:
      :s/append/add/g
      
  • 通篇替换

    #:%s/旧字符串/新字符/g 
    #举例:
    :%s/append/add/g
    
  • 多行替换

    #:起始行号,终止行号s/旧字符串/新字符/g
    #举例:
    :173,180s/append/add/g
    

分屏

  • 横屏分:

    • sp:直接将当前文件划分为两个屏幕。
    • sp 新文件名:将新文件和现有文件,在同一个 vim 中打开。
  • 竖屏分:

    • vsp
    • vsp 新文件名
  • 切换:ctrl + ww

  • 退出:

    • 在哪个分屏窗口执行,q 或 wq,就退出哪个窗口。
    • wqall,可以一次性退出所有窗口。
      /add/g
  • 通篇替换

    #:%s/旧字符串/新字符/g 
    #举例:
    :%s/append/add/g
    
  • 多行替换

    #:起始行号,终止行号s/旧字符串/新字符/g
    #举例:
    :173,180s/append/add/g
    

分屏

  • 横屏分:
    • sp:直接将当前文件划分为两个屏幕。
    • sp 新文件名:将新文件和现有文件,在同一个 vim 中打开。
  • 竖屏分:
    • vsp
    • vsp 新文件名
  • 切换:ctrl + ww
  • 退出:
    • 在哪个分屏窗口执行,q 或 wq,就退出哪个窗口。
    • wqall,可以一次性退出所有窗口。
http://www.xdnf.cn/news/1179775.html

相关文章:

  • Windows 11下纯软件模拟虚拟机的设备模拟与虚拟化(仅终端和网络)
  • 【C++】类和对象(1)
  • go项目实战二
  • ESP32- 项目应用1 智能手表 之更新天气#4
  • Rust与YOLO目标检测实战
  • OpenLayers 综合案例-基础图层控制
  • ddos 放在多个云主机,同时运行
  • vue递归树形结构删除不符合数据 生成一个新数组
  • 点击按钮滚动到底功能vue的v-on:scroll运用
  • 04.建造者模式的终极手册:从快餐定制到航天飞船的组装哲学
  • 期待更好的发展
  • 使用全局变量访问 Qt UI 组件的方法文档
  • 基于markdown封装的前端文档编辑工具,markdown.js的解析与应用
  • 开源Qwen凌晨暴击闭源Claude!刷新AI编程SOTA,支持1M上下文
  • SQL基础⑪ | 约束
  • 基于ABC与BP神经网络分类模型的特征选择方法研究(Python实现)
  • 制造业新突破:AR 培训系统助力复杂操作轻松上手​
  • Linux服务器安全自动化审计实战:一键扫描账户/网络/进程/计划任务风险(附开源脚本)
  • 数据库期中复习
  • 【Guava】1.1.我的报告
  • 进程调度的艺术:从概念本质到 Linux 内核实现
  • Windows 10 远程桌面(RDP)防暴力破解脚本
  • 用python自动标注word试题选项注意事项
  • 安全逆向工程学习路线
  • 4.1.2 XmlInclude 在 C# 中的作用及示例
  • 【Unity开发】数据存储——XML
  • web:js函数的prototype(原型对象)属性
  • Opentrons 模块化平台与AI技术助力智能移液创新,赋能AAW™自动化工作站
  • 电商项目_秒杀_架构升级
  • YOLOv4深度解析:革命性的实时目标检测技术