用户权限修改

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.pswp.cn/bicheng/90389.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/90389.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/90389.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高效互联,ModbusTCP转EtherCAT网关赋能新能源电缆智能制造

在新能源汽车快速发展的背景下,新能源电缆作为关键组件,需满足耐高低温、阻燃、耐老化等严苛要求,这对生产线的工艺与设备提出了更高标准。为提升制造效率,某领先设备制造商创新采用**ModbusTCP转EtherCAT网关**技术,实…

Java_多线程_生产者消费者模型_互斥锁,阻塞队列

生产者消费者模型(Producer-Consumer Model)是计算机科学中一个经典的并发编程模型,用于解决多线程/多进程环境下的协作问题。 基本概念 生产者:负责生成数据或任务的实体 消费者:负责处理数据或执行任务的实体 缓冲区:生产者与消…

Vue3实现视频播放弹窗组件,支持全屏播放,音量控制,进度条自定义样式,适配浏览器小窗播放,视频大小自适配,缓冲loading,代码复制即用

效果图组件所需VUE3代码<template><div class"video-dialog" :class"fullScreen && video-dialog-full-screen"><el-dialogv-model"props.visible"draggable:show-close"false"title""centeralign-c…

LLM层归一化:γβ与均值方差的协同奥秘

LLM层归一化参数均值和方差;缩放和平移参数是什么 层归一化(Layer Normalization,LN)是深度学习中用于稳定神经网络训练的一种归一化技术 均值和方差参数用于对输入数据进行标准化处理,即将输入数据转换为均值为0、方差为1的标准正态分布 缩放因子γ\gammaγ:标准化后…

智慧场景:定制开发开源AI智能名片S2B2C商城小程序赋能零售新体验

摘要&#xff1a;智慧场景作为零售行业创新发展的关键载体&#xff0c;正深刻改变着消费者的生活方式。本文聚焦智慧零售模式下智慧场景的构建&#xff0c;以定制开发开源AI智能名片S2B2C商城小程序为切入点&#xff0c;深入探讨其在零售企业选址布局、商业模式创新、经营理念转…

QML WorkerScript

WorkerScript是QML中实现多线程编程的关键组件&#xff0c;它允许开发者将耗时操作移至后台线程执行&#xff0c;避免阻塞主UI线程&#xff0c;从而提升应用响应速度和用户体验。本文将全面介绍WorkerScript的核心机制、使用方法和最佳实践。WorkerScript核心机制WorkerScript通…

锐浪报表 Grid++Report 表头表尾的隐藏

设计锐浪表格的模板时&#xff0c;可以通过设计多个表头、表尾&#xff0c;表头、表尾中放入打印控件&#xff0c;可以打印相关的数据。在真实打印时&#xff0c;可以通过打印时让表头、表尾隐藏或显示&#xff0c;实现用户的表格样式。一、表头的指定1、 表头可以多个&#xf…

低速信号设计之 QSPI 篇

一、引言​ 在服务器技术不断演进的当下,对高效、稳定的数据存储和传输需求日益增长。QSPI(Quad Serial Peripheral Interface)总线作为一种高速、串行的外围设备接口,在服务器领域中发挥着关键作用。它为服务器中的各类存储设备及部分外围芯片与主处理器之间提供了快速可…

别只知道暴力循环!我从用户名校验功能中领悟到的高效字符集判断法(1684. 统计一致字符串的数目)

别只知道暴力循环&#xff01;我从用户名校验功能中领悟到的高效字符集判断法 &#x1f60e; 大家好&#xff0c;日常开发中&#xff0c;我们经常会遇到一些看似不起眼&#xff0c;却能成为性能瓶颈的小模块。今天&#xff0c;我想和大家分享一个我亲身经历的故事&#xff0c;…

力扣面试150题--在排序数组中查找元素的第一个和最后一个位置

Day 85 题目描述思路 当 nums[mid] < target 时&#xff0c;说明目标值在右侧&#xff0c;移动左指针 left mid 1 当 nums[mid] > target 时&#xff0c;说明目标值可能在当前位置或左侧&#xff0c;移动右指针 right mid - 1 循环结束后&#xff0c;left 指针会指向第…

C++实战:人脸识别7大核心实例

计算机视觉实例应用 基于C++的人脸识别实例 以下是一些基于C++的人脸识别实例的示例和实现方法,涵盖了多种技术和库的应用。这些例子可以帮助开发者快速上手并实现人脸识别功能。 OpenCV 基础人脸检测 使用OpenCV的预训练模型进行人脸检测是入门级示例。OpenCV自带Haar级联…

Uniapp中使用vue3语法

在setup语法糖中调用uniapp的页面生命周期 <script setup>import { onShow } from "dcloudio/uni-app"onShow(() > {//hanlder...}) </script>vue2混入在vue3中建议使用组合式API 新建baseHook.js import { ref } from "vue"; export fu…

C++vector(2)

2.vector深度剖析及模拟实现 2.1std::vector的核心框架接口的模拟实现bit::vector vector的模拟实现 2.2 使用memcpy拷贝问题 假设模拟实现的vector中的reserve接口中&#xff0c;使用memcpy进行的拷贝&#xff0c;以下代码会发生什么问题&#xff1f; int main() {gxl::ve…

IPSec VPN -- 野蛮模式

一、野蛮模式简介野蛮模式VPN是指IPsec VPN中IKE协商采用野蛮模式&#xff08;Aggressive Mode&#xff09;的虚拟专用网络。它是IKE第一阶段协商的一种方式&#xff0c;与主模式相对&#xff0c;具有协商速度快但安全性稍低的特点。以下是具体介绍&#xff1a;1、工作原理&…

rk3588开发板使用硬件编码处理视频

开发板默认下载的ffmpeg是通用版&#xff0c;无法调用rk3588的硬件编码器&#xff0c;视频编码效率低。 nyanmisaka开发了用于jellyfin的ffmpeg&#xff0c;支持rk3588硬件编码器&#xff0c;编译方法&#xff1a; https://github.com/nyanmisaka/ffmpeg-rockchip/wiki/Compil…

`neutron router-gateway-set` 操作失败的可能原因及解决方案

根据提供的错误信息和搜索结果&#xff0c;neutron router-gateway-set 操作失败的可能原因及解决方案如下&#xff1a;一、常见错误原因数据库字符集配置问题&#xff08;中文名支持&#xff09; 表现&#xff1a;若路由器名称包含中文字符&#xff0c;可能因数据库字符集非UT…

(一)ZooKeeper 发展历史

✨博客主页&#xff1a; https://blog.csdn.net/m0_63815035?typeblog &#x1f497;《博客内容》&#xff1a;.NET、Java.测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识 &#x1f4e2;博客专栏&#xff1a; https://blog.csdn.net/m0_63815035/cat…

OpenCV快速入门之CV宝典

文章目录OpenCV的基础应用一、OpenCV简介&#xff1a;1.1 OpenCV 优势1.2 OpenCV-Python二、环境安装2.1 环境导入三、图像表示3.1 颜色空间&#xff08;Color Space&#xff09;3.2 具体说明3.3 图像在计算机中的表示四、基本图像操作4.1 创建窗口**1. 核心窗口行为控制**cv.W…

LangChain4j 两种类型API

LangChain4j operates on two levels of abstraction: &#xfeff;LangChain4j 提供了两种类型API抽象Low level. At this level, you have the most freedom and access to all the low-level components such as ChatModel, UserMessage, AiMessage, EmbeddingStore, Embedd…

CLI 与 IDE 编码代理比较:提升开发效率的两种路径

引言 在当今快速发展的软件开发领域&#xff0c;人工智能编码助手已成为开发者工具箱中不可或缺的一部分。根据行业报告&#xff0c;使用AI编码助手可以将开发速度提高55%以上&#xff0c;同时显著提升代码质量。目前市场上主要有两种类型的编码代理&#xff1a;集成在IDE中的代…