linux常用命令及解释大全(二)

news2024/11/19 1:52:37

目录

前言

一、文件的权限

二、文件的特殊属性

三、打包和压缩文件

四、查看文件内容

五、文本处理

5.1 grep

5.2 sed

5.3 其它

总结



前言

本篇文章接linux常用命令及解释大全(一)继续介绍了一部分linux常用命令,包括文件的权限,文件的特殊属性,打包和压缩文件,查看文件内容,文本处理这五个部分。linux常用命令及解释详情请看正文。


- 使用 "+" 设置权限,使用 "-" 用于取消

一、文件的权限

  1. ls -lh:列出文件的详细信息,包括文件权限。

  2. ls /tmp | pr -T5 -W$COLUMNS:将/tmp目录下的文件按照5栏的格式在终端中显示。

  3. chmod ugo+rwx directory1:设置目录directory1的所有者、群组和其他人的读、写和执行权限。

  4. chmod go-rwx directory1:取消目录directory1的群组和其他人的读、写和执行权限。

  5. chown user1 file1:将文件file1的所有者更改为user1。

  6. chown -R user1 directory1:将目录directory1的所有者和其中所有文件的所有者都更改为user1。

  7. chgrp group1 file1:将文件file1的群组更改为group1。

  8. chown user1:group1 file1:将文件file1的所有者和群组同时更改为user1和group1。

  9. find / -perm -u+s:列出系统中所有使用了SUID权限的文件。

  10. chmod u+s /bin/file1:给文件file1设置SUID权限,允许执行该文件的用户具有与所有者相同的权限。

  11. chmod u-s /bin/file1:禁用文件file1的SUID权限。

  12. chmod g+s /home/public:给目录/public设置SGID权限,类似于SUID,但针对目录。

  13. chmod g-s /home/public:禁用目录/public的SGID权限。

  14. chmod o+t /home/public:给文件/public设置粘贴(STIKY)权限,只允许合法的所有者删除文件。

  15. chmod o-t /home/public:禁用目录/public的粘贴(STIKY)权限。

二、文件的特殊属性

  1. chattr +a file1:设置文件 file1 为只追加属性,只允许以追加方式读写文件,禁止修改和删除文件。

  2. chattr +c file1:设置文件 file1 可以被内核自动压缩和解压缩(需要特定的文件系统和工具支持)。

  3. chattr +d file1:设置文件 file1 在进行文件系统备份时,dump 程序将忽略该文件。

  4. chattr +i file1:设置文件 file1 为不可变属性,即不能被删除、修改、重命名或链接。

  5. chattr +s file1:设置文件 file1 可以被安全地删除,即删除后不会被恢复。

  6. chattr +S file1:使系统在应用程序对文件 file1 执行写操作后,立即将修改的结果写到磁盘。

  7. chattr +u file1:设置文件 file1 允许恢复,即如果文件被删除,系统将允许在以后恢复该被删除的文件。

  8. lsattr:显示文件的特殊属性。


三、打包和压缩文件

  1. bunzip2 file1.bz2:解压名为 ‘file1.bz2’ 的文件。

  2. bzip2 file1:压缩名为 ‘file1’ 的文件。

  3. gunzip file1.gz:解压名为 ‘file1.gz’ 的文件。

  4. gzip file1:压缩名为 ‘file1’ 的文件。

  5. gzip -9 file1:以最大程度压缩的方式压缩 ‘file1’。

  6. rar a file1.rar test_file:创建名为 ‘file1.rar’ 的压缩包,其中包含 ‘test_file’。

  7. rar a file1.rar file1 file2 dir1:同时压缩 ‘file1’、 ‘file2’ 和目录 ‘dir1’ 到 ‘file1.rar’。

  8. rar x file1.rar:解压名为 ‘file1.rar’ 的压缩包。

  9. unrar x file1.rar:解压名为 ‘file1.rar’ 的压缩包。

  10. tar -cvf archive.tar file1:创建一个非压缩的 tarball,将 ‘file1’ 放入其中。

  11. tar -cvf archive.tar file1 file2 dir1:创建一个包含 ‘file1’、 ‘file2’ 和 ‘dir1’ 的档案文件。

  12. tar -tf archive.tar:显示 tar 包中的内容。

  13. tar -xvf archive.tar:解压 tar 包。

  14. tar -xvf archive.tar -C /tmp:将压缩包解压到 /tmp 目录下。

  15. tar -cvfj archive.tar.bz2 dir1:创建一个使用 bzip2 格式压缩的 tar 包。

  16. tar -jxvf archive.tar.bz2:解压使用 bzip2 格式压缩的 tar 包。

  17. tar -cvfz archive.tar.gz dir1:创建一个使用 gzip 格式压缩的 tar 包。

  18. tar -zxvf archive.tar.gz:解压使用 gzip 格式压缩的 tar 包。

  19. zip file1.zip file1:创建一个 zip 格式的压缩包,其中包含 ‘file1’。

  20. zip -r file1.zip file1 file2 dir1:将多个文件和目录同时压缩成一个 zip 格式的压缩包。

  21. unzip file1.zip:解压 zip 格式的压缩包。


四、查看文件内容

  1. cat file1:从第一个字节开始正向查看文件 ‘file1’ 的内容。

  2. tac file1:从最后一行开始反向查看文件 ‘file1’ 的内容。

  3. more file1:查看一个长文件 ‘file1’ 的内容,可以逐页浏览。

  4. less file1:类似于 ‘more’ 命令,但允许使用反向操作,可以在文件中进行正向和反向操作。

  5. head -2 file1:查看文件 ‘file1’ 的前两行。

  6. tail -2 file1:查看文件 ‘file1’ 的最后两行。

  7. tail -f /var/log/messages:实时查看被添加到文件 ‘/var/log/messages’ 中的内容,适用于日志文件等需要实时监控的文件。


五、文本处理

5.1 grep

这些命令是使用管道、标准输入(STDIN)和标准输出(STDOUT)进行文本操作的:

  1. 将命令应用于 file1 的内容,并将处理结果输出到 result.txt 文件中:

    cat file1 | command( sed, grep, awk, 等等...) > result.txt
    
  2. 将命令应用于 file1 的内容,并将处理结果附加到已有的 result.txt 文件末尾:

    cat file1 | command( sed, grep, awk, 等等...) >> result.txt
    
  3. 在文件 ‘/var/log/messages’ 中查找包含关键词 “Aug” 的行:

    grep Aug /var/log/messages
    
  4. 在文件 ‘/var/log/messages’ 中查找以 “Aug” 开头的词汇:

    grep ^Aug /var/log/messages
    
  5. 选择在文件 ‘/var/log/messages’ 中包含数字的所有行:

    grep [0-9] /var/log/messages
    
  6. 在目录 ‘/var/log’ 及其子目录中递归搜索字符串 “Aug”:

    grep Aug -R /var/log/*
    

5.2 sed

这些 sed 命令能够对文本文件进行替换、删除、查找等操作:

  1. 将 example.txt 文件中的 “string1” 替换为 “string2”:

    sed 's/stringa1/stringa2/g' example.txt
    
  2. 从 example.txt 文件中删除所有空白行:

    sed '/^$/d' example.txt
    
  3. 从 example.txt 文件中删除所有带有零个或多个空格开头的注释行,以及所有空白行:

    sed '/ *#/d; /^$/d' example.txt
    
  4. 将输入字符串 “esempio” 转换为大写字母:

    echo 'esempio' | tr '[:lower:]' '[:upper:]'
    
  5. 从 result.txt 文件中排除第一行:

    sed -e '1d' result.txt
    
  6. 只查看 example.txt 文件中包含关键词 “string1” 的行:

    sed -n '/stringa1/p' example.txt
    
  7. 从 example.txt 文件中删除每一行末尾的零个或多个空白字符:

    sed -e 's/ *$//' example.txt
    
  8. 从文档中删除所有的 “string1” 词汇,保留剩余的内容:

    sed -e 's/stringa1//g' example.txt
    
  9. 查看 example.txt 文件中从第一行到第五行的内容:

    sed -n '1,5p;5q' example.txt
    
  10. 查看 example.txt 文件中的第五行内容:

    sed -n '5p;5q' example.txt
    
  11. 将 example.txt 文件中的每个连续的零替换为单个零:

    sed -e 's/00*/0/g' example.txt
    

5.3 其它

这些命令可以帮助你进行文件的处理、比较和合并等操作:

  1. 显示 file1 文件的内容,并在每行前面标记行号:

    cat -n file1
    
  2. 删除 example.txt 文件中的所有偶数行。使用 awk 命令筛选出奇数行:

    cat example.txt | awk 'NR%2==1'
    
  3. 在字符串 “a b c” 中,使用 awk 命令打印第一列(以空格分隔的单词):

    echo a b c | awk '{print $1}'
    
  4. 在字符串 “a b c” 中,使用 awk 命令打印第一列和第三列:

    echo a b c | awk '{print $1,$3}'
    
  5. 将 file1 和 file2 的内容按行合并:

    paste file1 file2
    
  6. 将 file1 和 file2 的内容按行合并,并使用 “+” 字符进行分隔:

    paste -d '+' file1 file2
    
  7. 对 file1 和 file2 的内容进行排序:

    sort file1 file2
    
  8. 取出 file1 和 file2 的并集,并去除重复的行:

    sort file1 file2 | uniq
    
  9. 删除 file1 和 file2 的交集,并保留其他行:

    sort file1 file2 | uniq -u
    
  10. 取出 file1 和 file2 的交集,并仅保留同时存在于两个文件中的行:

    sort file1 file2 | uniq -d
    
  11. 比较 file1 和 file2 的内容,仅删除在 file1 中包含的行:

    comm -1 file1 file2
    
  12. 比较 file1 和 file2 的内容,仅删除在 file2 中包含的行:

    comm -2 file1 file2
    
  13. 比较 file1 和 file2 的内容,仅删除两个文件都包含的行:

    comm -3 file1 file2
    


总结

Linux命令的使用具有灵活性、高效性和强大的功能。它们能够提供快速、可自动化和高度定制的操作方式。使用Linux命令可以以低资源消耗处理大型任务,并且支持编程和批量操作。总而言之,Linux命令是一个强大的工具,能够提供高效、灵活和可定制的操作,对于计算机系统的理解和掌握非常有价值。

关注,点赞,收藏,希望友友们能一键三连哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/983757.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android签名查看

查看签名文件信息 第一种方法: 1.打开cmd,执行keytool -list -v -keystore xxx.keystore,效果如下图: 第二种方法: 1.打开cmd,执行 keytool -list -v -keystore xxxx.keystore -storepass 签名文件密码&#xff0…

Linux 下 C语言版本的线程池

目录 1. 线程池引入 2. 线程池介绍 3. 线程池的组成 4. 任务队列 5. 线程池定义 6. 头文件声明 7. 函数实现 8. 测试代码 1. 线程池引入 我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:如果并发的线程数…

壁炉在文学和艺术中的代表着什么呢,能给我们带来什么样的影响?

壁炉,不仅仅是家庭温暖的来源,也是文学和艺术中常见的重要元素。它的形象在文学作品、绘画和电影中频繁出现,不仅为故事情节提供了背景,还象征着情感、温馨和安全感。让我们一起深入探讨壁炉在文学和艺术中的形象,以及…

Android相机调用-CameraX【外接摄像头】【USB摄像头】

Android相机调用有原生的Camera和Camera2,我觉得调用代码都太复杂了,CameraX调用代码简洁很多。 说明文档:https://developer.android.com/jetpack/androidx/releases/camera?hlzh-cn 现有查到的调用资料都不够新,对于外接摄像…

RecyclerView的item布局预览显示是一行两块 运行后显示了一行一块,怎么回事

QQ有人问我了: 没有起作用?有 解决问题:在item布局上第一个外层宽度、高度分别为match_parent和wrap_content,第二个外层宽度和高度都为match_parent,运行后可以显示一行两块 其他学习资料: 1、付费专栏…

mybatis 数据库字段加密

目录 1、引入依赖 2、添加配置 3、指定加密字段 4、测试&#xff0c;效果 1、引入依赖 <dependency><groupId>io.github.whitedg</groupId><artifactId>mybatis-crypto-spring-boot-starter</artifactId><version>1.2.3</version>…

C#文件拷贝工具

目录 工具介绍 工具背景 4个文件介绍 CopyTheSpecifiedSuffixFiles.exe.config DataSave.txt 拷贝的存储方式 文件夹介绍 源文件夹 目标文件夹 结果 使用 *.mp4 使用 *.* 重名时坚持拷贝 可能的报错 C#代码如下 Form1.cs Form1.cs设计 APP.config Program.c…

微信小程序踩坑记录

1、原生微信小程序开发&#xff0c;切换版本后一直报错&#xff0c;切回去还是报错&#xff0c;后来排查发现是编辑器未更新的问题 2、本地开发静态时&#xff0c;要把这个勾选&#xff0c;否则每次提交代码都会冲突 持续记录踩坑。。。

果粉崩溃!Icloud又要涨价?我来教你使用群晖生态将本地SSD“上云“!

文章目录 前言本教程解决的问题是&#xff1a;按照本教程方法操作后&#xff0c;达到的效果是想使用群晖生态软件&#xff0c;就必须要在服务端安装群晖系统&#xff0c;具体如何安装群晖虚拟机请参考&#xff1a; 1. 安装并配置synology drive1.1 安装群辉drive套件1.2 在局域…

Android离线文字识别-tesseract4android调用

Android在线文字识别可以调阿里云的接口Android文字识别-阿里云OCR调用__花花的博客-CSDN博客 需要离线文字识别的话&#xff0c;可以调tesseract4android。个人测试效果不是特别理想&#xff0c;但是速度真的很快&#xff0c;VIVO S10后摄照片&#xff0c;80ms内识别完成。现…

手写Spring:第13章-把AOP扩展到Bean的生命周期

文章目录 一、目标&#xff1a;把AOP扩展到Bean的生命周期二、设计&#xff1a;把AOP扩展到Bean的生命周期三、实现&#xff1a;把AOP扩展到Bean的生命周期3.1 工程结构3.2 AOP动态代理融入Bean的生命周期类图3.3 定义Advice拦截器链3.3.1 定义拦截器链接口3.3.2 方法拦截器链接…

算法笔记:堆

【如无特别说明&#xff0c;皆为最小二叉堆】 1 介绍 2 特性 结构性&#xff1a;符合完全二叉树的结构有序性&#xff1a;满足父节点小于子节点&#xff08;最小化堆&#xff09;或父节点大于子节点&#xff08;最大化堆&#xff09; 3 二叉堆的存储 顺序存储 二叉堆的有序…

问道管理:a股交易时间和规则?

A股是指中国境内流通的人民币普通股票&#xff0c;是国内投资者最为熟悉和广泛的投资工具之一。作为投资者&#xff0c;了解A股的买卖时刻和规矩是非常重要的。本文从买卖时刻、买卖规矩、买卖方式等多个视点来分析A股买卖时刻和规矩&#xff0c;期望对读者有所协助。 A股买卖…

C#事件event

事件模型的5个组成部分 事件拥有者&#xff08;event source&#xff09;&#xff08;类对象&#xff09;&#xff08;有些书将其称为事件发布者&#xff09; 事件成员&#xff08;event&#xff09;&#xff08;事件拥有者的成员&#xff09;&#xff08;事件成员就是事件本身…

2023年03月 C/C++(八级)真题解析#中国电子学会#全国青少年软件编程等级考试

C/C编程&#xff08;1~8级&#xff09;全部真题・点这里 第1题&#xff1a;最短路径问题 平面上有n个点&#xff08;n<100&#xff09;&#xff0c;每个点的坐标均在-10000~10000之间。其中的一些点之间有连线。 若有连线&#xff0c;则表示可从一个点到达另一个点&#xff…

C++——STL容器【map和set】

文档&#xff1a;map、set 文章目录 &#x1f36f;1. 关联式容器&#x1fad6;2. set&#x1f37c;1. 模板参数&#x1f37c;2. 构造函数&#x1f37c;3. 修改&#x1f37c;4.操作&#x1f95b;find&#x1f95b;count&#x1f95b;lower_bound & upper_bound & equal_…

Increment Selection 插件

Increment Selection 插件实现递增 初次使用 按下快捷键 Alt Shift 鼠标左键向下拖拽 向下拖拽之后&#xff0c;在输入一个数字&#xff0c;比如我这里输入了一个数字1 然后按下快捷键 Ctrl Shift ← 进行选中数字 然后按下快捷键 Ctrl Alt i 建自动递增。 然后鼠标随…

网络是如何进行通信

网络是如何进行通信的 简介 在现代社会中&#xff0c;网络已经成为我们生活中不可或缺的一部分。从上网搜索信息、在线购物到远程工作和社交媒体&#xff0c;我们几乎无时无刻不与网络保持着联系。但是&#xff0c;网络究竟是个什么玩意&#xff0c;它是如何工作的呢&#xf…

MinIO集群模式信息泄露漏洞(CVE-2023-28432)

前言&#xff1a;MinIO是一个用Golang开发的基于Apache License v2.0开源协议的对象存储服务。虽然轻量&#xff0c;却拥有着不错的性能。它兼容亚马逊S3云存储服务接口&#xff0c;非常适合于存储大容量非结构化的数据。该漏洞会在前台泄露用户的账户和密码。 0x00 环境配置 …

数字信封技术概论

数字信封技术是一种通过加密手段实现信息保密性和验证的技术&#xff0c;它在保护敏感信息传输过程中得到了广泛应用。本文将详细介绍数字信封技术的原理、实现和应用场景。 一、数字信封技术的原理 数字信封技术是一种将对称密钥通过非对称加密手段分发的方法。在数字信封中…