问题列表 - 第5350页

以下哪一个路径具有优先级:/usr 或 /usr/local

我想aria2c通过将其复制到手动安装/usr/local/bin,因为我使用 apt 安装了 aria2c/usr/bin

如果我输入其中哪一个将被执行aria2c

shell path environment-variables

12
推荐指数
2
解决办法
8198
查看次数

LUKS 加密中的位旋转

位腐烂如何影响 LUKS 容器及其内部文件系统?

假设您有一个非常适合处理位腐烂的文件系统。现在将其放入 LUKS 容器中。如果位腐烂损坏了容器,我假设解密的文件系统将遭受大量损坏的原始字节/块。

LUKS 如何防范这种情况?

filesystems corruption luks disk-encryption

14
推荐指数
2
解决办法
2130
查看次数

使用 youtube-dl 从 YouTube 频道下载所有视频列表并对其进行排序

我想下载 YouTube 频道的所有视频列表并按时长排序。这是我用youtube-dl resp 尝试过的。yt-dlp

yt-dlp --skip-download "url_to_channel" --get-duration --get-title > list

然后类似的东西cat list | sed '$!N;s/\n/ /g' | sort。然而,这不起作用,因为持续时间是第二次打印的(并且sort -k2由于标题包含空格而没有帮助)。

在一天结束时,我还想获取网址和标题,然后将其通过管道传输到 html 文件(或 Latex -> pdf)以获取包含可点击网址和缩略图的列表(这不是这个问题的内容,但你当你写答案时可能会想到这一点;我只想先解决上面的简单情况)。

编辑

例如:

yt-dlp --skip-download "https://www.youtube.com/user/emacsrocks/videos" --get-duration --get-title > list_test
Run Code Online (Sandbox Code Playgroud)

结果是

cat list_test

Parens of the Dead Live - Preparing for a new game, bonus stream, live on Twitch
1:06:45
Parens of the Dead Live - Improving the code 3 years later, live on Twitch
1:55:55
Emacs …
Run Code Online (Sandbox Code Playgroud)

command-line sed awk youtube-dl

3
推荐指数
1
解决办法
7463
查看次数

不同用户对文件或目录进行 cp、mv 和重命名或建立硬/符号链接需要什么权限?

root我可以使用以下权限将 /etc/passwd 文件复制到我的主目录:

-rw-r--r--. 1 root root 2751 Dec 24 21:26 /etc/passwd
Run Code Online (Sandbox Code Playgroud)

我不能做同样的事情:

-rw-------. 1 root root 43591 Dec 27 18:32 /var/log/messages
Run Code Online (Sandbox Code Playgroud)

所以我猜测 的读取权限使得others复制成为可能?

为了创建硬链接,我在主目录中以 root 用户身份创建了 file1,并尝试以普通用户身份创建硬链接。我没能做到。

-rw-r--r--. 1 root root 0 Dec 27 18:39 file1

是什么阻止了硬链接的创建?

file1所在目录权限为: drwx------. 18 student student 4096 Dec 27 18:42 .

我能够将 file1 重命名为 file2 所以我猜测,与复制相同,读取权限正在others使这种情况发生?

最后,我无法将 file2 移动到其他位置。为什么?

编辑:我看过一个解释硬链接权限的问题,但我不明白复制、移动和重命名其他用户的文件和目录需要什么权限。

linux permissions

1
推荐指数
1
解决办法
6837
查看次数

使用 less / search 命令时使用锚 ^ 模式

在浏览 Linux 手册页时,有时您需要查询手册页中诸如-p或 之类的标志的含义。-al

手册页的默认文本阅读器较少,我尝试使用 / 搜索来查找公共标志列表定义中的第一个匹配项:

/^-p
Run Code Online (Sandbox Code Playgroud)

Pattern not found发生了却不起作用。

这个技巧在 vim 中工作时有效,但在阅读手册页时不适用于 less。

有没有办法实现这个要求呢?

less man search pattern-matching

5
推荐指数
1
解决办法
737
查看次数

无法打开对控制台的访问,root 帐户已被锁定

我有一个 Debian 11,我仅将 LVM 用于数据,我执行了以下命令:

mount /dev/srv-vg/lv-data /mnt/data
vi /etc/fstab
/dev/srv-vg/lv-data /mnt/data ext4 defaults 0 0
Run Code Online (Sandbox Code Playgroud)

mount 命令工作得很好,文件夹工作得很好,但是在重新启动时添加 fstab 行后,出现以下错误:

[FAILED] Failed to mount /mnt/data
[DEPEND] Dependency failed for Local File Systems

Cannot open access to console, the root account is locked
Press ENTER to continue
Run Code Online (Sandbox Code Playgroud)

当我按 Enter 键时,它只是再次显示相同的消息(根帐户已锁定。)

有人能帮我吗?

编辑:修正了拼写错误。

linux root debian mount fstab

4
推荐指数
1
解决办法
3万
查看次数

`exec 6>&1` 或类似的函数有什么作用?

我正在将一些软件从 Unix 迁移到 Linux。

我有以下脚本;它是文件传输的触发器。

命令的作用是什么exec

它们也能在 Linux 上运行吗?

#!/bin/bash
flog=/mypath/log/mylog_$8.log
pid=$$
flog_otherlog=/mypath/log/started_script_${8}_${pid}.log

exec 6>&1
exec 7>&2
exec >> $flog
exec 2>&1


exec 1>&6 
exec 2>&7

/usr/local/bin/sudo su - auser -c "/mypath/bin/started_script.sh $1 $pid $flog_otherlog $8" 
Run Code Online (Sandbox Code Playgroud)

启动的脚本如下:

#!/bin/bash
flusso=$1
pidpadre=$2
flogcurr=$3
corrid=$4
pid=$$

exec >> $flogcurr
exec 2>&1

if  [ $1 = pippo ] || [ $1 = pluto ] || [ $1 = paperino ]
    then
        fullfile=${myetlittin}/$flusso
        filename="${flusso%.*}"
        datafile=$(ls -le $fullfile  | awk '{print $6, " ", …
Run Code Online (Sandbox Code Playgroud)

linux bash exec

12
推荐指数
2
解决办法
3172
查看次数

顶部显示同一进程的线程的不同 pid。如何修复它?

当我执行 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)

top ps thread htop

1
推荐指数
1
解决办法
1395
查看次数

为什么 `ps e` 显示的进程比 `ps` 更多?

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)

ps

3
推荐指数
1
解决办法
815
查看次数

lsof 中的“i”标志是什么意思?

我试图找出我的 Linux Ubuntu 机器上正在使用哪些端口。我正在阅读文章如何检查端口是否在 Linux 或 Unix 上使用,并看到其中一个命令是:

\n

sudo lsof -i -P -n | grep LISTEN

\n

我仍然对很多 Linux 命令不太熟悉,但我最近刚刚了解了如何lsof列出所有打开的文件,所以我想了解这些标志的用途。

\n

(-P 和 -n 标志是做什么用的?我已经看过手册,但它\xe2\x80\x99s 根本没有帮助。看来 -i 标志是这里最重要的标志。)

\n

我发现如果我在没有 -i 标志的情况下对“LISTEN”执行 grep,我得到的结果与使用的结果完全不同。

\n

在手册中,它是这样说的:

\n
\n

-i [i]\n此选项选择其 Internet 地址与 i 中指定的地址匹配的文件列表。如果未指定地址,则此选项将选择所有 Internet 和 x.25 (HP-UX) 网络文件的列表。

\n
\n

我真的不明白这意味着什么,并且绝对不明白它如何帮助我找出正在使用的端口。

\n

ubuntu lsof

3
推荐指数
1
解决办法
969
查看次数