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

简介: 本篇文章继续介绍了一部分linux常用命令,包括文件的权限,文件的特殊属性,打包和压缩文件,查看文件内容,文本处理这五个部分。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

              image.gif

              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

                image.gif


                总结

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

                目录
                相关文章
                |
                5天前
                |
                NoSQL 关系型数据库 MySQL
                Linux学习记录---(1、基本命令)
                该博客文章提供了Linux系统中基本命令的使用记录,包括文件和目录操作、Redis服务管理、MySQL数据库操作以及Tomcat服务器的启动和检查。
                Linux学习记录---(1、基本命令)
                |
                2天前
                |
                Linux
                会玩这10个Linux命令,一定是个有趣的IT男!
                会玩这10个Linux命令,一定是个有趣的IT男!
                |
                6天前
                |
                运维 Ubuntu Linux
                Linux系统之ncdu命令的基本使用
                【8月更文挑战第8天】Linux系统之ncdu命令的基本使用
                14 2
                Linux系统之ncdu命令的基本使用
                |
                11天前
                |
                数据可视化 Linux 测试技术
                7zip压缩工具的Linux命令
                本文介绍了如何在Linux系统中使用7zip压缩工具,包括通过brew安装、使用基本命令进行文件压缩、解压、列出存档内容、测试存档完整性以及进行性能基准测试等操作。
                45 3
                7zip压缩工具的Linux命令
                |
                2天前
                |
                安全 Linux 开发者
                Linux笔记之ldd命令详解
                `ldd`命令是Linux环境下一个非常实用的工具,用于显示一个程序运行时所需的共享库依赖。它帮助开发者和系统管理员快速诊断程序运行问题,特别是在处理"找不到库文件"或者"错误的库文件版本"等错误时。然而,出于安全的考虑,对于不信任的可执行文件,应该慎用 `ldd`命令,可以考虑使用其他工具如 `objdump`。总的来说,懂得如何妥善且安全地使用 `ldd`,对于维护一个稳定和高效的Linux系统来说,是非常重要的。
                17 9
                |
                2天前
                |
                Linux Shell
                linux命令
                linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。
                |
                3天前
                |
                移动开发 运维 网络协议
                运维必备 | Linux netstat命令详解
                运维必备 | Linux netstat命令详解
                |
                3天前
                |
                Linux
                真香~ Linux vi常用命令汇总!
                真香~ Linux vi常用命令汇总!
                |
                3天前
                |
                Linux Shell
                linux命令
                linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。
                |
                7天前
                |
                运维 安全 Linux
                【超实用秘籍】Linux文件传输新高度:10个scp命令让你瞬间变身文件传输达人,从此告别繁琐操作!
                【8月更文挑战第13天】文件传输是运维工作的核心部分,尤其对Linux用户来说,了解高效且安全的传输方法非常重要。本文介绍10种scp命令的应用技巧,涵盖基础文件传输、密钥认证、目录复制等场景,助你灵活运用这一基于SSH协议的安全工具。从简单的文件传输到复杂的多主机文件迁移,scp都能轻松应对。通过本文的学习,你将能更熟练地使用scp命令,提高工作效能。
                26 6