我打开了两个贝壳。第一个在目录 A 中。在第二个中,我删除目录 A,然后重新创建它。当我回到第一个 shell 并键入 时ls
,输出为:
ls: cannot open directory .: Stale file handle
Run Code Online (Sandbox Code Playgroud)
为什么?我认为第一个 shell(在不存在的目录中保持打开状态的 shell)会在等待下一个命令时“冻结”,并且不会“意识到”该目录已被删除并重新创建。除了字符串之外,shell 是否持有对其当前工作目录的“更深层次”引用$PWD
?
我对find
Linux 中的命令有疑问。
在我在网上找到的所有文章中,它都说 属性-size -10M
,例如,返回大小小于 10 MB 的文件。但是当我尝试对此进行测试时,似乎-size -10M
返回大小小于或等于 9 MB 的文件。
如果我做
find . -type f -size -1M
Run Code Online (Sandbox Code Playgroud)
该find
命令仅返回空文件(单位无关紧要,可以是 -1G、-1k...)。
find . -type f -size -2M
Run Code Online (Sandbox Code Playgroud)
返回文件 <= 1M 大小等。
手册页说:
请记住,大小四舍五入到下一个单位。因此 -size -1M 不等于 -size -1048576c。前者只匹配空文件,后者匹配 0 到 1,048,575 字节的文件。
好的,所以我猜 -1M 被四舍五入到 0M,-2M 到 -1M 等等......?
但是之后
find . -type f -size 1M
Run Code Online (Sandbox Code Playgroud)
返回文件 <= 1M(即 100K 和 512K 文件,但不是空文件),而我希望它返回大小正好为 1M 的文件。
find . -type f -size 2M
Run Code Online (Sandbox Code Playgroud)
返回文件 …
对于使用 Powershell 的 Windows 终端,我有插件 PSReadline,它为我提供了一些非常方便的功能。例如,当我开始打字时,我的历史记录的可导航列表视图。因此,如果我输入,cd
它会显示我最近使用的 10 个命令的列表,其中包含cd
,我可以在该列表中上下移动并选择一个。
我喜欢的另一个功能是我可以键入cd
并按 Tab 键来显示我可以导航到的所有子目录的列表。我还可以按上/下/左/右键在此列表中选择一个目录并跳转到该目录。
是否可以为 WSL (Ubuntu) 提示符做类似的事情?顺便说一句,我在 Powershell 和 WSL 中都使用 oh-my-posh 作为提示。我怀疑 oh-my-zsh 可能有这样的东西,但我很想避免安装它,因为我花了很多时间为 oh-my-posh 设置主题。除非有办法在没有主题的情况下使用 oh-my-zsh 插件。
我知道双引号的内容是展开的,而单引号的内容不是,这样
echo '$1'
Run Code Online (Sandbox Code Playgroud)
给
$1
Run Code Online (Sandbox Code Playgroud)
然而
echo "$1"
Run Code Online (Sandbox Code Playgroud)
给
<the argument - blank in this particular example>
Run Code Online (Sandbox Code Playgroud)
一样
echo $1
Run Code Online (Sandbox Code Playgroud)
然而,问题Bash: How to create an alias in .bashrc for awk with parameters让我想知道为什么在声明别名时使用双引号而不是单引号,因此:
alias cutf="_cutf"
Run Code Online (Sandbox Code Playgroud)
代替
alias cutf='_cutf'
Run Code Online (Sandbox Code Playgroud)
我会像后一个例子一样使用单引号。网络上的大多数示例也使用 single ,除非需要一些扩展。但是,在这种情况下,在我看来,没有明显的扩展。在这种情况下,它们是可以互换的,还是因为使用了函数定义而需要双引号?
我正在使用 Ubuntu,我想根据第二列(年龄)中的值将我的 csv 文件拆分为两个 csv 文件。第一个文件适用于 60 岁以下 (<60) 的患者,第二个文件适用于 60 岁以上 (>=) 的患者。例如,如果我有以下输入:
id,age
1,65
2,63
3,5
4,55
5,78
Run Code Online (Sandbox Code Playgroud)
期望的输出是:
文件下:
id,age
3,5
4,55
Run Code Online (Sandbox Code Playgroud)
文件覆盖:
id,age
1,65
2,63
5,78
Run Code Online (Sandbox Code Playgroud)
我已尝试以下代码,但它删除了标题(列名称),如何避免这种情况?
awk -F ',' '($2>=60){print}' file.csv > file_over.csv
Run Code Online (Sandbox Code Playgroud)
输入文件大约有50k行(lines)。
我有一个巨大的歌曲文件夹,结构混乱,文件重复在多个文件夹中。
我需要推荐一个工具或脚本,可以通过简单的两个匹配来查找和删除重复项:
在这种情况下,和song.mp3
中存储的文件大小为 1234 字节。工具/脚本应仅保留一份副本。/songs/album1
/songs/albumz
我在 Fedora 上尝试过czkawka,但它可以按文件名或文件大小进行搜索,但不能将两者组合在一起进行搜索。
当我输入 时dpkg -l | grep xserver-xorg
,我会得到已安装的软件包及其版本的列表:
ii xserver-xorg 1:7.7+3~deb7u1
ii xserver-xorg-core 2:1.12.4-6
ii xserver-xorg-input-evdev 1:2.7.0-1+b1
ii xserver-xorg-input-kbd 1:1.6.1-1+b1
ii xserver-xorg-input-mouse 1:1.7.2-3
ii xserver-xorg-video-radeon 1:6.14.4-8
Run Code Online (Sandbox Code Playgroud)
我想知道冒号前面的数字是什么意思,即2
中的数字2:1.12.4-6
我正在玩(内核cgroups v2
)。Fedora 35
5.15.5-200.fc35.x86_64
我能够测试和控制器cpu
,没有任何问题。但对于,或者我有麻烦了。以下是如何为控制器重现此问题的步骤列表(所有命令均以 root 用户身份执行):cpuset
pids
memory
hugetlb
io
memory
确保在根 cgroup 中启用内存控制器:
# cat cgroup.subtree_control
cpu io memory hugetlb pids
Run Code Online (Sandbox Code Playgroud)
创建新的cgroup:
# mkdir example
# cd example/
Run Code Online (Sandbox Code Playgroud)
启用内存控制器:
# echo "+memory" > cgroup.subtree_control
Run Code Online (Sandbox Code Playgroud)
将进程添加到控制组:
# echo $$ > cgroup.procs
bash: echo: write error: Device or resource busy
Run Code Online (Sandbox Code Playgroud)
当我尝试首先将进程添加到cgroup
控制器然后启用控制器时,最后一步会发生相同的错误。
我究竟做错了什么?
我正在使用 Intel\xc2\xae Core\xe2\x84\xa2 i3-1115G4 在 Ubuntu 20.04(主机)上安装 Ubuntu 22.04(来宾)。
\n我安装了qemu
、qemu-kvm
并将bridge-utils
我的用户添加到kvm
组中。但是运行命令,
qemu-system-x86_64 -boot d -cdrom ~/Downloads/ubuntu-22.04-desktop-amd64.iso -m 2048 -accel kvm\n
Run Code Online (Sandbox Code Playgroud)\n给出一个错误
\nqemu-system-x86_64: warning: host doesn\'t support requested feature: CPUID.80000001H:ECX.svm [bit 2]\n
Run Code Online (Sandbox Code Playgroud)\n 我在写作方面的经验非常少。很久以前,我写了一个非常小的简单的java作业,用于tasklet
在java中读写文件。现在我必须学习如何在Perl
.
通常,在这种情况下,我会在 google 上搜索信息,但我没有得到任何关于如何在互联网搜索中用 perl 编写工作的信息。任何人都可以让我知道任何互联网资源或书籍,我可以从互联网上下载以学习 perl 工作。
我对 Perl 有一点了解。