当我试图对 ls 命令进行逆向工程时,我发现了一个有趣的行为。当我做3个文件,foo.png,foopa.png,和fooqa.png,LS排序他们为foopa.png,foo.png和fooqa.png。我也尝试过使用 .gif 扩展名,似乎是在 p 和 q 被扩展名的第一个字母和字母表中的下一个字母替换时发生的;所以在 . g如果是 g 和 h。( fooga.gif, 那么foo.gif, 那么fooha.gif)
为什么它以这种方式对输出进行排序?
假设我想删除目录中除名为“notes.txt”的文件之外的所有文件。我会用管道来做到这一点,ls | grep -v "notes.txt" | xargs rm. 如果第二个管道的输出是 rm 应该使用的输入,为什么我需要 xargs?
为了进行比较,管道echo "#include <knowledge.h>" | cat > foo.c将回显的文本插入到文件中,而不使用 xargs。这两个管道有什么区别?
我正在查看 coreutils 并发现这是作为 coreutils 一部分包含的文件之一: /usr/bin/[. [它是什么以及它有什么作用?
它是一个可执行文件。我只是不知道它有什么作用或如何使用它。
$ file /usr/bin/[
/usr/bin/[: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped
Run Code Online (Sandbox Code Playgroud)
当我尝试运行它时,我认为它默认为 bash 内置的行扩展。而不是实际运行文件。
$ "/usr/bin/["
/usr/bin/[: missing ‘]’
$ /usr/bin/\[
/usr/bin/[: missing ‘]’
Run Code Online (Sandbox Code Playgroud) 默认情况下,Linux 至少在 ext4 上为 root 用户保留了一部分文件系统(以防止普通用户完全填满驱动器并使系统崩溃,并减少碎片)。但是,df仅显示普通用户可见的可用空间(即使以 root 身份运行)。您如何显示root可以访问的“真实”可用空间?
我想在我没有管理员权限的 debian linux 系统上安装更现代版本的 GNU utils (coreutils)。有没有办法做到这一点?
理由是我需要一个更现代的版本,而不是安装在我打算运行分析的系统中的版本。我正在尝试使用“sort -R”或“shuf”来随机化大文本文件中的行。
多年来使用多个 SQL 和 NoSQL 数据库后,我觉得确保以数据为中心的个人应用程序的可移植性的最佳方法是完全避免使用所有真正的数据库。我认为文件系统是一个漂亮的数据库范式,它是可移植的、人类可读的,因此对于我正在编写的个人应用程序类型来说,它具有足够的寿命。它就像一个图数据库,它强制执行树结构(适用于分区),用符号链接来表示多对一关系。
有没有办法将整个文件系统拓扑导出为单个文件?find命令的输出很有希望,但没有标准化的方法来导出指示符号链接指向什么的数据。我不想提出我自己个人选择的find输出格式,例如:
/home/me/photos/beach/me_and_my_dog.jpg -> /home/me/photos/beach/1.jpg
Run Code Online (Sandbox Code Playgroud)
如果之前有人做过建立文件系统拓扑导出格式的工作。
另一个候选是一个 JSON 文件:
home : [{
me : [{
photos : [{
beach : [{
1.jpg,
{ me_and_my_dog.jpg : ./1.jpg }
}]
}]
}
}]
Run Code Online (Sandbox Code Playgroud)
但同样有多种表示文件类型的方法,我想知道是否有人已经完成了建立标准的工作。
请注意,我不希望导出文件的内容 - 这会使导出比需要的大得多。
我必须阅读一个大文件,在开始阅读之前,我需要知道文件中的总行数(以百万为单位)。
我已经实施了很多解决方案,并找到了一个。但是在我的搜索过程中,我想看看它是如何wc -l工作的。我在谷歌上找不到任何东西。
虽然我已经找到了解决我的问题的方法,但我仍然想知道wc -l它是如何工作的,因为它可以在几秒钟内计算一个 9200 万行的文件的行数!
如何?
我正在尝试在 CentOS 6.5 中输入“realpath”。但是好像没有安装。我检查过它包含在 coreutils (archlinux) 中。我仔细检查了 CentOS 提供的 coreutils 包,它缺少 /usr/bin/realpath。我不想安装像' http://pkgs.org/centos-6/repoforge-x86_64/realpath-1.17-1.el6.rf.x86_64.rpm.html '这样的第3方rpm 。
我已经 yum 搜索 realpath,找不到它。该实用程序是否包含在其他包中?或者只是出于安全原因被删除?
是否有更新的 unxutils.zip 版本?(适用于 Windows 的 unix 命令行实用程序)规范下载位于http://unxutils.sourceforge.net/,但它们的日期为 1999-2003;特别是du.exe不包含--max-depth参数。
GNUWin32 Coreutils更新一些,但可以追溯到 2005 年(版本 5.3.0)并且也没有du --max-depth争论。