标签: linux

有效删除包含数千个文件的大目录

我们有一个文件夹变得笨重的问题,其中包含数十万个小文件。

执行rm -rf返回错误的文件太多了,而我们需要做的是:

find /path/to/folder -name "filenamestart*" -type f -exec rm -f {} \;

这有效,但速度非常慢,并且经常因内存不足而失败。

有一个更好的方法吗?理想情况下,我想删除整个目录而不关心其中的内容。

linux command-line rm files

233
推荐指数
11
解决办法
34万
查看次数

如何在简单的 shell 脚本中获取分发名称和版本号?

我正在开发一个简单的 bash 脚本,它应该能够在 Ubuntu 和 CentOS 发行版上运行(对 Debian 和 Fedora/RHEL 的支持将是一个加分项),我需要知道脚本正在运行的发行版的名称和版本(以触​​发特定操作,例如创建存储库)。到目前为止,我所得到的是:

OS=$(awk '/DISTRIB_ID=/' /etc/*-release | sed 's/DISTRIB_ID=//' | tr '[:upper:]' '[:lower:]')
ARCH=$(uname -m | sed 's/x86_//;s/i[3-6]86/32/')
VERSION=$(awk '/DISTRIB_RELEASE=/' /etc/*-release | sed 's/DISTRIB_RELEASE=//' | sed 's/[.]0/./')

if [ -z "$OS" ]; then
    OS=$(awk '{print $1}' /etc/*-release | tr '[:upper:]' '[:lower:]')
fi

if [ -z "$VERSION" ]; then
    VERSION=$(awk '{print $3}' /etc/*-release)
fi

echo $OS
echo $ARCH
echo $VERSION
Run Code Online (Sandbox Code Playgroud)

似乎有效,返回ubuntucentos(我没有尝试过其他人)作为发布名称。但是,我有一种感觉,必须有一种更简单、更可靠的方法来解决这个问题——这是真的吗?

它不适用于 RedHat。/etc/redhat-release 包含:Redhat Linux 企业版 5.5 …

linux shell-script distributions

231
推荐指数
8
解决办法
29万
查看次数

如何获取我机器上所有计划的 cron 作业的列表?

我的系统管理员在我的机器上设置了一堆 cron 作业。我想知道确切的时间安排。我怎样才能得到那个清单?

linux cron scheduling

231
推荐指数
3
解决办法
56万
查看次数

Linux “top”命令:us、sy、ni、id、wa、hi、si 和 st(CPU 使用率)是什么?

当我top在 Linux 中发出时,我得到类似这样的结果:

顶部截图

其中一行具有 CPU 使用率信息,如下所示:

Cpu(s): 87.3%us,  1.2%sy,  0.0%ni, 27.6%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Run Code Online (Sandbox Code Playgroud)

虽然我知道每个任务的定义(远在下面),但我不明白这些任务的确切含义。

  • hi - 服务硬件中断是什么意思?
  • si - 服务软件中断是什么意思?
  • st - 他们说这是“当管理程序为另一个处理器提供服务时,虚拟 CPU 非自愿等待的 CPU 时间(或从虚拟机窃取的 CPU 时间百分比”)。

但它实际上意味着什么?有人可以更清楚吗?

我列出的所有的ussyni,等,因为它可以帮助别人寻找相同。此信息不在手册页中。

us: user cpu time (or) % CPU time spent in user space
sy: system cpu time (or) % CPU time spent in kernel space
ni: user nice cpu time (or) % CPU time spent on low priority processes
id: …
Run Code Online (Sandbox Code Playgroud)

linux cpu top

231
推荐指数
3
解决办法
33万
查看次数

如何递归删除主目录中的空目录?

可能的重复:
如何删除子树中的所有空目录?

我经常创建目录,分散在我的主目录中,我发现很难找到和删除它们。

我想要任何别名/函数/脚本来查找/定位并删除我的主目录中的所有空目录。

linux filesystems find rm

224
推荐指数
2
解决办法
20万
查看次数

cp -r 和 cp -a 的区别

我正在寻找cp -r和之间的区别cp -a。在从文件夹复制文件方面,“递归”是什么意思?

linux cp recursive

222
推荐指数
2
解决办法
44万
查看次数

`ps aux`中的aux是什么意思?

ps aux似乎很方便地列出了所有进程及其状态和资源使用情况(Linux/BSD/MacOS),但是我无法理解aux使用man ps.

什么aux意思?

linux ps

222
推荐指数
3
解决办法
43万
查看次数

如何在 VIM 中编辑多个文件?

我知道我可以vim通过执行类似的操作来打开多个文件vim 2011-12*.log,但是如何在文件之间切换并一次关闭一个文件?另外,我如何知道我正在编辑的当前文件的文件名?

linux command-line vim files

216
推荐指数
8
解决办法
29万
查看次数

linux:如何查看系统上所有可用磁盘的所有 UUID?

我的/etc/fstab包含这个:

# / was on /dev/sda1 during installation
UUID=77d8da74-a690-481a-86d5-9beab5a8e842 /               ext4    errors=remount-ro 0       1
Run Code Online (Sandbox Code Playgroud)

此系统上还有其他几个磁盘,并非所有磁盘都安装到正确位置(例如,/dev/sda1 和 /dev/sdb1 有时会颠倒)。

如何查看系统上所有磁盘的 UUID?我可以在这个系统上看到第三个磁盘的 UUID 吗?

storage linux

213
推荐指数
6
解决办法
54万
查看次数

限制单个 Linux 进程的内存使用

我正在pdftoppm将用户提供的 PDF 转换为 300DPI 图像。这很好用,除非用户提供页面非常大的 PDF。 pdftoppm将分配足够的内存来在内存中保存该大小的 300DPI 图像,对于 100 英寸的方形页面,它是 100*300 * 100*300 * 4 字节/像素 = 3.5GB。恶意用户可以给我一个愚蠢的大 PDF 并导致各种问题。

所以我想做的是对我即将运行的子进程的内存使用设置某种硬限制——如果它试图分配超过 500MB 的内存,就让进程死掉。那可能吗?

我不认为 ulimit 可以用于此,但是否有一个等价的进程?

linux memory ulimit

207
推荐指数
7
解决办法
30万
查看次数

标签 统计

linux ×10

command-line ×2

files ×2

rm ×2

cp ×1

cpu ×1

cron ×1

distributions ×1

filesystems ×1

find ×1

memory ×1

ps ×1

recursive ×1

scheduling ×1

shell-script ×1

storage ×1

top ×1

ulimit ×1

vim ×1