2025年2月28日

如何在 Linux 上使用文件系统 ACL(访问控制列表)

访问控制列表为您提供了 Linux 文件系统权限的更大灵活性。要点要查看文件的所有 ACL 条目,请使用命令“getfacl filename”,但将“filename”替换为文件名。要为文件设置新的 ACL 条目,请使用命令“setfacl -m u:username:rwx filename”要在目录上设置默认 ACL 条目,请使用命令“setfacl -d -m u:username:rwx dirname”您是否负责管理多组人员之间的共享文件服务器,这些人员都需要不同的访问权限?在本教程中,我们将介绍 ACL 的基础知识并在虚构的办公场景中使用它们。-m 表示我们正在修改文件的 ACL 条目u: 表示这是我们要添加的用户,后跟冒号 (:) 分隔符(g: 添加组,o:添加所有其他用户的权限)lumberg: 是我们要添加的用户名,后跟另一个冒号分隔符r 表示…
2025年2月28日

如何在 Linux 上使用 xargs

xargs 是一个命令行工具。如果您想将一个命令的输出重定向为另一个命令的参数,那么 xargs 就是适合您的工具。它是一个非常有用的工具,可以轻松地在命令行上完成很多事情。在本文中,我将向您展示如何在 Linux 上使用 xargs。那么,让我们开始吧。xargs 的工作原理:使用 xargs 命令的格式是:$ command1 | xargs command2您还可以使用一些选项修改 xargs 的行为。在这种情况下,xargs 命令的格式将是:$ command1 | xargs [options] command2这里,command1 的输出将用作command2 的参数。 command1 的输出被 xargs 分解为许多参数,具体取决于称为分隔符的字符。然后,xargs 对每个参数运行命令 command2,并且该参数作为命令 comman…
2025年2月28日

如何在 Linux 上使用 Watch 命令定期运行程序

如果您发现自己一次又一次运行相同的命令,可能有更好的方法。有时,您需要重复运行命令或程序来监视系统的各个方面,例如正在进行的进程、磁盘空间使用情况或用户登录。 Linux watch 命令可让您自动执行这些任务,而无需一次又一次手动运行它们。使用该命令,您可以实时监控系统活动,例如用户登录、网络状态、内存和CPU使用情况、磁盘空间等。让我们看看如何在Linux中使用watch命令。什么是手表命令?watch Linux 命令定期重复运行指定的命令或程序,并在终端中显示其输出。这使您可以实时观察输出的变化。它会在每个时间间隔刷新输出,覆盖命令之前的输出。默认情况下,该命令每两秒重复一次,并一直持续到您使用 Ctrl + C 手动停止为止。观察命令语法watch命令的语法是:watch options <command>有多…
2025年2月28日

如何在 Linux 上使用 tar 命令创建 tar.gz 存档

本文向您展示在 Linux 中使用 tar 命令从命令行创建 tar.gz 存档的最佳实践。使用 tar 命令在 Linux 中创建 tar.gz 存档是任何 Linux 管理员的必备技能。因此,在本文中,我们将向您展示如何使用遵循最佳实践的实际示例在 Linux 中创建 tar.gz 存档。此外,如果您想了解如何在 Linux 中提取 tar.gz 文件,请查看我们的优秀指南“如何使用命令行在 Linux 中提取 tar.gz 文件”。例如,您可能已经遇到过扩展名为 tar、tar.gz 或 tar.bz2 的文件。虽然都是档案,但还是有区别的。因此,在我们进入实用性之前,我们想阐明它们之间的区别。TAR、TAR.GZ 和 TAR.BZ2 之间有什么区别?Tar 代表“Tape Archive”,因为在发明 tar 时它被用来将数据放置在存储磁带上。它是 Linux/UNIX 系统中的…
2025年2月28日

如何在 Linux 上使用 Rscript 省略 GNU R 打印的行号输出

这是一个简单的 GNU R 脚本,打印一行: #!/usr/bin/Rscript print("hello R") 其中或执行输出是: $ ./script.R [1] "hello R" 打印的行号实际上是给定矩阵的行名称。避免打印行号的一种方法是使用 cat() 函数: #!/usr/bin/Rscript cat("hello R") 其中执行输出是: $ ./script.R hello R 但是,cat() 函数有其局限性,您可能很快就会遇到麻烦: $ cat ./script.R #!/usr/bin/Rscript dataf = data.frame(col1=c(1,2,3),col2=c(4,5,6)) cat(dataf) print() 处理上述数据没有问题,但是 cat() 会导致错误: $ ./script.R Error in cat(list(...), fil…
2025年2月28日

如何在 Linux 上使用 head 和 tail 命令进行文本处理

head 和 tail 是 Linux 上最常用的两个文本操作命令。以下是您如何利用它们来发挥自己的优势。有许多 Linux 命令和工具用于处理文本文件。但有时您不想读取文件的全部内容,而是想读取文件的特定部分。你知道在Linux上可以使用head和tail命令分别输出文件的开头和结尾吗?继续阅读,了解如何使用这两个命令在 Linux 上有效地处理和操作文本。什么是头命令?head 命令用于打印出文件的初始部分。它从头开始读取文件。如果你有一个超过一千行的文件,打开它并阅读会非常麻烦。您可以使用 head 命令轻松地从顶部打印出几行。head 命令语法head命令的基本语法是:head [option] [file]有许多选项可以与 head 命令一起使用,其中一些选项将在稍后讨论。要获取有关 head 命令的命令行帮助,请运行以下命令查看其手册页…
2025年2月28日

如何在 Linux 上使用 gdisk 和 sgdisk 操作 gpt 分区表

GPT 是 GUID Partition Table 的缩写:它是存储设备的新标准:它是 UEFI 固件规范的一部分,也是 MBR 的后继者,它克服了 MBR 的一些限制。例如,MBR 最多允许 4 个主分区(GPT 最多支持 128 个),并且仅适用于最大 2TB 的驱动器。在 Linux 上,我们可以使用多种工具来创建和操作 GPT 分区表。在本教程中,我们重点介绍 gdisk 和 sgdisk 实用程序的使用。在本教程中您将学习:如何使用 gdisk 列出设备的分区表如何创建GPT分区表如何创建新分区如何删除分区如何调整分区大小如何以非交互方式使用 sgdisk使用的软件要求和约定Gdisk 与 sgdisk在本教程中,我们将使用两种不同的工具:gdisk 和 sgdisk。它们让我们执行相同的操作,但有很大的不同:前者以交互方式工作,提供确认提示和基于问题的界面。只有当…
2025年2月28日

如何在 Linux 上使用 cron

cron 系统是一种按计划自动运行命令的方法。cron 系统是一种按计划自动运行命令的方法。计划作业称为cronjob,它是在名为crontab的文件中创建的。对于计算机用户来说,这是实现计算机自动化的最简单、最古老的方法。编写一个定时任务要创建 cronjob,您可以使用 -e 选项编辑 crontab:$ crontab -e 这将打开您的 crontab 您的默认文本编辑器。要显式设置文本编辑器,请使用 EDITOR 环境变量:$ EDITOR=nano crontab -e cron 语法要安排 cronjob,您需要提供一个 cron 表达式,后跟您希望计算机执行的命令。 cron 表达式安排命令运行的时间:分钟(0 到 59)小时(0 到 23,0 表示午夜)一个月中的某一天(1 到 31)月(1 至 12)星期几(0 到 6,星期日为 0)字段中的星号 (*) 翻译为“…
2025年2月28日

如何在 Linux KVM 桥上禁用 netfilter

最近,由于 Netfilter 阻止所有流向虚拟机的流量以及流出虚拟机的流量,我的 KVM 服务器 Linux 网桥出现了问题。我只能从虚拟机管理程序访问虚拟机。在进一步故障排除时,我注意到问题出在 Netfilter 过滤流量上。解决方案是防止桥接流量通过主机的 iptables 规则。什么是 netfilter 和 iptables?Netfilter是Linux提供的一个框架,允许以定制处理程序的形式实现各种与网络相关的操作。 Iptables 是一种广泛使用的防火墙工具,它与内核的 netfilter 数据包过滤框架交互。iptables 防火墙通过与 Linux 内核网络堆栈中的数据包过滤挂钩进行交互来工作。这些内核挂钩称为 netfilter 框架。在 KVM 桥上禁用 netfilter为了防止桥接流量通过主机的 iptables 规则,您需要在 /p…
2025年2月28日

如何在 Docker 容器内运行 Linux 命令

以下是在 Docker 容器内运行 Linux 命令的多种方法,无论是否输入命令。此外,了解如何从 Linux 中的任何目录执行此操作。有两种方法可以在 Docker 容器内运行 Linux 命令:使用 Docker exec 命令从容器外部运行它,或者首先进入正在运行的容器,然后像在常规 Linux 终端中一样运行该命令。要立即在 Docker 容器上运行 Linux 命令,无需输入,您可以使用 docker exec 命令,如下所示:docker exec container_name_or_ID bash -c "<linux command>" 根据容器内可用的 shell 类型,命令可能会根据具体情况而有所不同。它也可以是 sh 而不是 bash。同样,您可以进入容器的 shell 并在其中运行 Linux 命令。docker exec container_name_…