软链接很容易追踪到原始文件readlink等......但我很难追踪到原始文件的硬链接。
$ ll -i /usr/bin/bash /bin/bash
1310813 -rwxr-xr-x 1 root root 1183448 Jun 18 21:14 /bin/bash*
1310813 -rwxr-xr-x 1 root root 1183448 Jun 18 21:14 /usr/bin/bash*
^
Run Code Online (Sandbox Code Playgroud)
上面是预期的 - 很酷 --> 两个文件都指向相同的 inode 1310813
(但由 指示的链接数^显示为 1。从 Gilles 的回答中可以理解其原因)
$ find / -samefile /bin/bash 2>/dev/null
/usr/bin/bash
Run Code Online (Sandbox Code Playgroud)
以上是预期的 - 所以没有问题。
$ find / -samefile /usr/bin/bash 2>/dev/null
/usr/bin/bash
Run Code Online (Sandbox Code Playgroud)
上面不酷。如何使用文件作为参考跟踪原始文件或每个硬链接/usr/bin/bash?
奇怪 - 下面也没有帮助。
$ find / -inum 1310813 2>/dev/null
/usr/bin/bash
Run Code Online (Sandbox Code Playgroud) 太长了;
在 Ubuntu 20.04.1 上,我尝试使用 KVM 运行 VM。安装所需的软件包后,我仍然收到以下错误:
sudo systemctl status libvirtd
Unit libvirtd.service could not be found.
Run Code Online (Sandbox Code Playgroud)
以下是我所做的 -
a) 检查 kvm 支持
$ sudo kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used
Run Code Online (Sandbox Code Playgroud)
b) 安装所需的包
$ sudo apt install -y qemu qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager
Run Code Online (Sandbox Code Playgroud)
现在,上面应该是一切,我必须能够打开 virt-manager gui 并开始,并且 libvertd 服务应该已经启动。但是,我的机器上仍然没有运行 libvirtd 服务,并且没有安装 libvirtd.service 单元。
显然,virt-manager 无法连接到 demo,因此出现以下错误 - 执行后$ sudo virt-manager--> virt-manager GUI 以 root 权限启动。

窗户上清楚地写着——
libvirtd 服务似乎未安装。安装并运行 libvirtd 服务来管理该主机上的虚拟化。
显然,创建虚拟机是不可行的,下面是尝试创建虚拟机时出现的错误。

参考 - …
Ubuntu 可能很棒,频繁的软件更新可能对保持系统最新和安全非常有帮助。但我的问题是,
有没有一种简单的方法可以完全禁用这些更新提示。请提供您的看法/答案。
我指的软件更新程序的屏幕截图如下。

这是我可以设置的当前最少更新首选项 -

编辑 - 感谢 Roman Riabenko 建议检查评论中的链接,这些链接又建议检查无人值守的升级。但 20.04.1 似乎并非如此。
$ cat /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
APT::Periodic::Unattended-Upgrade "0";
Run Code Online (Sandbox Code Playgroud)
和
$ cat /etc/apt/apt.conf.d/10periodic
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
APT::Periodic::Unattended-Upgrade "0";
Run Code Online (Sandbox Code Playgroud) 我看到一些文件/目录即使是 root 用户也无法访问:
find: ‘/run/user/1000/gvfs’: Permission denied.
所以我更深入地跑了ls -l;下面是输出。
/run/user/125# ll
ls: cannot access 'gvfs': Permission denied
total 4
drwx------ 12 gdm gdm 340 Sep 3 10:20 ./
drwxr-xr-x 4 root root 80 Sep 3 10:19 ../
srw-rw-rw- 1 gdm gdm 0 Sep 3 10:19 bus=
drwx------ 3 gdm gdm 60 Sep 3 10:19 dbus-1/
drwx------ 2 gdm gdm 60 Sep 3 10:19 dconf/
drwx--x--x 2 gdm gdm 60 Sep 3 10:19 gdm/
prw-rw-r-- 1 gdm gdm …Run Code Online (Sandbox Code Playgroud) Find 是一个很好的工具——而且用途广泛。我试图通过向现有文件名添加后缀或前缀来重命名文件。凉爽的。
find -name "*" -exec mv {} {}.yo \;
现在这是我无法获得的部分 -如果必须撤消上述操作,我该怎么做?
编辑 -
我注意到前缀是不可能的 - 是否有解决方案。
find -type f -name "*" -exec mv {} yu.{} \;
mv: cannot move './o.txt.yu.yu' to 'yu../o.txt.yu.yu': No such file or directory
Run Code Online (Sandbox Code Playgroud) 我已经看到以下模式在几个地方(甚至在 SOF 上)用作电子邮件 ID 验证的示例。
\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b
Run Code Online (Sandbox Code Playgroud)
以上摘自https://www.regular-expressions.info/tutorial.html,以及引用
this pattern describes an email address.
Run Code Online (Sandbox Code Playgroud)
这种模式不考虑小写字母(除非我遗漏了一些东西)。
我对这个模式有什么进一步的了解吗?由于这种模式不能真正用于生产?为什么如此受欢迎?
从ps手册页:
默认情况下,ps 选择与当前用户具有相同有效用户 ID (euid=EUID) 并与调用者关联到同一终端的所有进程。
在我的 Ubuntu 系统上,ps没有任何标志的输出如下,符合预期:
$ ps
PID TTY TIME CMD
6444 pts/11 00:00:00 bash
14605 pts/11 00:00:00 ps
Run Code Online (Sandbox Code Playgroud)
现在再次从psOUTPUT MODIFIERS 的手册页中获取:
e Show the environment after the command.
Run Code Online (Sandbox Code Playgroud)
但是当我尝试时ps e,我列出了更多进程:
$ ps e
PID TTY STAT TIME COMMAND
85 pts/1 Ss+ 0:00 -bash HOSTTYPE=x86_64 LANG=C.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
100 pts/2 Ss+ 0:00 -bash HOSTTYPE=x86_64 LANG=C.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
115 pts/3 Ss+ 0:00 -bash HOSTTYPE=x86_64 LANG=C.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:
130 pts/4 Ss+ 0:00 -bash …Run Code Online (Sandbox Code Playgroud) 当我执行 a ps -efT(where -T= Show threads, possibly with SPID column.) 时,我看到所有线程都具有相同的 PID,这是预期的。
myroot 24958 24958 7942 0 20:20 pts/12 00:00:00 java -jar myapp.jar
myroot 24958 24959 7942 0 20:20 pts/12 00:00:11 java -jar myapp.jar
myroot 24958 24960 7942 0 20:20 pts/12 00:00:00 java -jar myapp.jar
myroot 24958 24961 7942 0 20:20 pts/12 00:00:00 java -jar myapp.jar
myroot 24958 24962 7942 0 20:20 pts/12 00:00:00 java -jar myapp.jar
myroot 24958 24963 7942 0 20:20 pts/12 00:00:00 java …Run Code Online (Sandbox Code Playgroud) 在安装 Linux 时,我只提到了一个文件系统(/dev/sda1 -> ext4 -> / )。但是对于 dev、run、proc、sys - Linux 正在创建额外的 FS,这可以从mount.
$ mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,noexec,relatime,size=12138104k,nr_inodes=3034526,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,noexec,relatime,size=2433824k,mode=755)
/dev/sda4 on / type ext4 (rw,relatime,errors=remount-ro)
...
Run Code Online (Sandbox Code Playgroud)
我知道 /proc 是一个虚拟文件系统,位于内存中,而不是在任何 HDD/SSD 上。有人可以解释一下 /dev、/run 和 /sys 的情况吗?它们是否存在于硬盘上(如果存在的话,如果可以有意义地追踪的话,其位置在哪里)。
基于已经问过的问题 -为什么 /dev 和 /run 的 inode 编号与 / 的 inode 编号相同?
首先,如果我做对了,Linux 人员可能会喜欢 GIMP(而不是 Photoshop)等 adobe 替代品来在 Linux 上处理图像/pdf/视频。因此他们可能永远不会错过 Linux 上的 adobe 产品。
但让我想到这个问题的是 - 我找到了一篇文章,其中描述了:How to Install Adobe Acrobat Reader on Ubuntu 20.04 Focal Fossa Linux
我很惊讶,因为根据我的理解,adobe 产品都不适用于 Linux 平台(如果我错了,请纠正我)。然后我认为 Acrobat Reader 可能是一个例外,并在 adobe 网站上进行了检查。我的发现如屏幕截图所示。--> 不,adobe 网站上没有 Linux 版本的 acrobat reader。
我想了解当 adobe 未在其网站上显示ftp://ftp.adobe.com/pub/adobe/reader/unix/9.x/9.5.5/enu/AdbeRdr9.5.5-1_i386linux_enu.deb时如何存在(好吧,即使是 UNIX 版本也没有在该网站上列出)。
和Acrobat Reader一样,还有Flash等其他产品可以通过FTP获取吗?