状态的联机帮助页objdump
:
--demangle[=style]
...
The optional demangling style argument can be used to choose an appropriate demangling style for your compiler.
它没有提到程序可以识别哪些可能的样式。无论我在表单帖子中找到对该--demangle
选项的引用,都没有提及可能的样式选项。怎样才能让别人知道呢?
状态的联机帮助页objdump
:
--demangle[=style]
...
The optional demangling style argument can be used to choose an appropriate demangling style for your compiler.
它没有提到程序可以识别哪些可能的样式。无论我在表单帖子中找到对该--demangle
选项的引用,都没有提及可能的样式选项。怎样才能让别人知道呢?
关于ps
命令,为简单起见考虑是否:
tty3
执行yes
命令tty4
执行yes > /dev/null
命令通过ps
我需要在报告中显示带有选项、管道和重定向的完整命令,在这种情况下重定向,已尝试ps aux
并且ps -ef
没有按预期出现,因为这两种情况总是出现yes
- 我需要查看yes
和 yes > /dev/null
... COMMAND
yes
yes > /dev/null
所以目前这 > /dev/null
部分不包括在内。如何实现这个目标?
关于带有管道的命令mvn clean ... | tee ...
和关于选项的命令tar -xzf /path/to/filename.tar.gz
... COMMAND
mvn clean ... | tee ...
tar -xzf /path/to/filename.tar.gz
或全部:选项、管道和重定向
关于ps
命令 - 根据与ps
命令一起使用的选项添加一个/多个带有默认标题的额外列/标题 - 通过O
选项。
介绍
如果ps x
执行,输出如下:
PID TTY STAT TIME COMMAND
1677 ? Ss 0:00 /lib/systemd/systemd --user
1679 ? S 0:00 (sd-pam)
1704 tty1 S+ 0:00 -bash
1961 tty4 S 0:00 -bash
1973 tty4 S+ 0:00 man ps
1983 tty4 S+ 0:00 pager
2227 ? S 0:00 sshd: manueljordan@pts/0
2228 pts/0 Ss 0:00 -bash
2307 ? S 0:01 sshd: manueljordan@pts/1
2308 pts/1 Ss 0:00 -bash
2407 ? S 0:00 sshd: manueljordan@pts/2
2408 pts/2 Ss 0:00 -bash
2437 pts/2 S+ 0:00 less
2846 pts/1 S+ 0:00 man ps
2856 pts/1 S+ 0:00 pager
2968 pts/0 R+ 0:00 ps x
出现,我们知道默认的列/标题集。
如何简单的确认 - 如果ps xO %cpu
执行输出如下:
PID %CPU S TTY TIME COMMAND
1677 0.0 S ? 00:00:00 systemd
1679 0.0 S ? 00:00:00 (sd-pam)
1704 0.0 S tty1 00:00:00 bash
1961 0.0 S tty4 00:00:00 bash
1973 0.0 S tty4 00:00:00 man
1983 0.0 S tty4 00:00:00 pager
2227 0.0 S ? 00:00:00 sshd
2228 0.0 S pts/0 00:00:00 bash
2307 0.0 S ? 00:00:01 sshd
2308 0.0 S pts/1 00:00:00 bash
2407 0.0 S ? 00:00:00 sshd
2408 0.0 S pts/2 00:00:00 bash
2437 0.0 S pts/2 00:00:00 less
2846 0.0 S pts/1 00:00:00 man
2856 0.0 S pts/1 00:00:00 pager
2969 0.0 R pts/0 00:00:00 ps
直到这里一切都好。没有理由创建这个帖子
因此理论上可以添加任何HEADER
基于其各自的CODE
- 它根据STANDARD FORMAT SPECIFIERS
部分,它可以通过man ps
。
现在感谢这个问题的经验:
出现PSR
列/标题。
情况
如果ps xO psr
执行,输出如下:
PID TTY STAT TIME COMMAND
1677 ? Ss 0:00 /lib/systemd/systemd --user
1679 ? S 0:00 (sd-pam)
1704 tty1 S+ 0:00 -bash
1961 tty4 S 0:00 -bash
1973 tty4 S+ 0:00 man ps
1983 tty4 S+ 0:00 pager
2227 ? S 0:00 sshd: manueljordan@pts/0
2228 pts/0 Ss 0:00 -bash
2307 ? S 0:01 sshd: manueljordan@pts/1
2308 pts/1 Ss 0:00 -bash
2407 ? S 0:00 sshd: manueljordan@pts/2
2408 pts/2 Ss 0:00 -bash
2437 pts/2 S+ 0:00 less
2846 pts/1 S+ 0:00 man ps
2856 pts/1 S+ 0:00 pager
2975 pts/0 R+ 0:00 ps xO psr
如果你意识到PSR
没有出现,为什么?
但是如果ps xO %cpu,psr
被执行,输出是:
PID %CPU PSR S TTY TIME COMMAND
1677 0.0 1 S ? 00:00:00 systemd
1679 0.0 2 S ? 00:00:00 (sd-pam)
1704 0.0 1 S tty1 00:00:00 bash
1961 0.0 0 S tty4 00:00:00 bash
1973 0.0 1 S tty4 00:00:00 man
1983 0.0 2 S tty4 00:00:00 pager
2227 0.0 3 S ? 00:00:00 sshd
2228 0.0 3 S pts/0 00:00:00 bash
2307 0.0 3 S ? 00:00:01 sshd
2308 0.0 3 S pts/1 00:00:00 bash
2407 0.0 0 S ? 00:00:00 sshd
2408 0.0 0 S pts/2 00:00:00 bash
2437 0.0 0 S pts/2 00:00:00 less
2846 0.0 0 S pts/1 00:00:00 man
2856 0.0 0 S pts/1 00:00:00 pager
2981 0.0 0 R pts/0 00:00:00 ps
或者如果ps xO uname,psr
被执行,输出是:
PID USER PSR S TTY TIME COMMAND
1677 manuelj+ 1 S ? 00:00:00 systemd
1679 manuelj+ 2 S ? 00:00:00 (sd-pam)
1704 manuelj+ 1 S tty1 00:00:00 bash
1961 manuelj+ 0 S tty4 00:00:00 bash
1973 manuelj+ 1 S tty4 00:00:00 man
1983 manuelj+ 2 S tty4 00:00:00 pager
2227 manuelj+ 3 S ? 00:00:00 sshd
2228 manuelj+ 3 S pts/0 00:00:00 bash
2307 manuelj+ 3 S ? 00:00:01 sshd
2308 manuelj+ 3 S pts/1 00:00:00 bash
2407 manuelj+ 0 S ? 00:00:00 sshd
2408 manuelj+ 0 S pts/2 00:00:00 bash
2437 manuelj+ 0 S pts/2 00:00:00 less
2846 manuelj+ 0 S pts/1 00:00:00 man
2856 manuelj+ 0 S pts/1 00:00:00 pager
2982 manuelj+ 0 R pts/0 00:00:00 ps
您如何查看何时声明了至少另一个要与标头一起添加的额外标PSR
头,然后/仅PSR
出现在输出中。
为什么在PSR
声明如何通过选项添加唯一的额外标题时标题不出现O
?这是出于某种原因的预期行为吗?
通过以下有价值的教程:
如果ps -ef
执行该命令,则输出具有以下标头:
UID PID PPID C STIME TTY TIME CMD
...
...
在同一个教程中存在对STIME
列/标题的解释。
但是通过该man ps
部分中的STANDARD FORMAT SPECIFIERS
- 甚至man
通过/STIME
搜索词进行相同的搜索,STIME
术语/列/标题不会出现。
注意我假设根据应用于ps
命令的选项,其他列/标题会发生这种情况。所以 ...
问题
Linux 发行版
这种情况发生在 Ubuntu Server 18:04 和 20:04
通过ps --help all
有关选项的命令tty
存在以下内容:
-a all with tty, except session leaders
a all with tty, including other users
x processes without controlling ttys
tty[1-6]
我知道and之间的区别pts/[0...N]
,很快前者基于通过控制台的直接连接,后者通过远程连接(即:)ssh
,如果有问题请纠正我
通过 Ubuntu Server 的 Virtual Box,具有:
当执行ps a
或ps -a
命令时,在其输出中 -TTY
列/标题tty[1-6]
按预期显示值,但也出现pts/[0..N]
。没想到因为pts
不是.tty
现在关于x
选项 - 不确定它的描述是否表明/意味着:所有关于不相关tty
- 例如pts
。但又出现了tty
(未预期的)和pts
预期的。
如果我以错误的方式理解这些选项,请纠正我。
问题
tty
或pts
?不是两个一起我有以下 JPEG 文件:
$ ls -l
-rw-r--r-- 1 user group 384065 janv. 21 12:10 CamScanner 01-10-2022 14.54.jpg
-rw-r--r-- 1 user group 200892 janv. 10 14:55 CamScanner 01-10-2022 14.55.jpg
-rw-r--r-- 1 user group 283821 janv. 21 12:10 CamScanner 01-10-2022 14.56.jpg
我$ img2pdf
用来将每个图像转换为 PDF 文件。要做到这一点 :
$ find . -type f -name "*.jpg" -exec img2pdf "{}" --output $(basename {} .jpg).pdf \;
结果 :
$ ls -l *.pdf
-rw-r--r-- 1 user group 385060 janv. 21 13:06 CamScanner 01-10-2022 14.54.jpg.pdf
-rw-r--r-- 1 user group 201887 janv. 21 13:06 CamScanner 01-10-2022 14.55.jpg.pdf
-rw-r--r-- 1 user group 284816 janv. 21 13:06 CamScanner 01-10-2022 14.56.jpg.pdf
如何删除.jpg
PDF 文件名的一部分?即,我想要CamScanner 01-10-2022 14.54.pdf
而不是CamScanner 01-10-2022 14.54.jpg.pdf
。
单独使用,$ basename filename .extension
打印不带扩展名的文件名,例如:
$ basename CamScanner\ 01-10-2022\ 14.54.jpg .jpg
CamScanner 01-10-2022 14.54
$ find
但似乎语法在我的命令中不起作用。知道为什么吗?
注意:如果你替换$ img2pdf
它$ echo
是一样的,$ basename
不要去掉.jpg
部分:
$ find . -type f -name "*.jpg" -exec echo $(basename {} .jpg).pdf \;
./CamScanner 01-10-2022 14.56.jpg.pdf
./CamScanner 01-10-2022 14.55.jpg.pdf
./CamScanner 01-10-2022 14.54.jpg.pdf
我在 Unix stackexchange 上偶然发现了以下答案-plow
,该选项与 一起使用dpkg-reconfigure
,但我在 dpkg 或 dpkg-reconfigure 联机帮助页中找不到任何相关信息:
那么这个选项到底在做什么呢?我闻起来像货物崇拜。