In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-01-16 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >
Share
Shulou(Shulou.com)06/01 Report--
本篇内容主要讲解"怎么在Linux上以树状查看文件和进程",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么在Linux上以树状查看文件和进程"吧!
介绍三个 Linux 命令:ps、pstree 和 tree 以类似树的格式查看文件和进程。
Linux 提供了一些方便的命令,用于以树状分支形式查看文件和进程,从而易于查看它们之间的关系。在本文中,我们将介绍 ps、pstree 和 tree 命令以及它们提供的一些选项,这些选项可帮助你将注意力集中在要查看的内容上。
ps
我们用来列出进程的 ps 命令有一些有趣的选项,但是很多人从来没有利用过。虽然常用的 ps -ef 提供了正在运行的进程的完整列表,但是 ps -ejH 命令增加了一个不错的效果。它缩进了相关的进程以使这些进程之间的关系在视觉上更加清晰--就像这个片段:
$ ps -ejH PID PGID SID TTY TIME CMD... 1396 1396 1396 ? 00:00:00 sshd28281 28281 28281 ? 00:00:00 sshd28409 28281 28281 ? 00:00:00 sshd28410 28410 28410 pts/0 00:00:00 bash30968 30968 28410 pts/0 00:00:00 ps
可以看到,正在运行的 ps 进程是在 bash 中运行的,而 bash 是在 ssh 会话中运行的。
-exjf 选项字符串提供了类似的视图,但是带有一些其它细节和符号以突出显示进程的层次结构性质:
$ ps -exjfPPID PID PGID SID TTY TPGID STAT UID TIME COMMAND... 1 1396 1396 1396 ? -1 Ss 0 0:00 /usr/sbin/sshd -D 1396 28281 28281 28281 ? -1 Ss 0 0:00 \_ sshd: shs [priv]28281 28409 28281 28281 ? -1 S 1000 0:00 \_ sshd: shs@pts/028409 28410 28410 28410 pts/0 31028 Ss 1000 0:00 \_ -bash28410 31028 31028 28410 pts/0 31028 R+ 1000 0:00 \_ ps axjf
命令中使用的这些选项表示:
-e 选择所有进程-j 使用工作格式-f 提供完整格式列表-H 分层显示进程(如,树状格式)-x 取消"必须与 tty 相关联"的限制
同时,该命令也有一个 --forest 选项提供了类似的视图。
$ ps -ef --forestUID PID PPID C STIME TTY TIME CMD...root 1396 1 0 Oct08 ? 00:00:00 /usr/sbin/sshd -Droot 28281 1396 0 12:55 ? 00:00:00 \_ sshd: shs [priv]shs 28409 28281 0 12:56 ? 00:00:00 \_ sshd: shs@pts/0shs 28410 28409 0 12:56 pts/0 00:00:00 \_ -bashshs 32351 28410 0 14:39 pts/0 00:00:00 \_ ps -ef --forest
注意,这些示例只是这些命令如何使用的示例。你可以选择最适合你的进程视图的任何选项组合。
pstree
使用 pstree 命令可以获得类似的进程视图。尽管 pstree 具备了许多选项,但是该命令本身就提供了非常有用的显示。注意,许多父子进程关系显示在单行而不是后续行上。
$ pstree... ├─sshd───sshd───sshd───bash───pstree ├─systemd─┬─(sd-pam) │ ├─at-spi-bus-laun─┬─dbus-daemon │ │ └─3*[{at-spi-bus-laun}] │ ├─at-spi2-registr───2*[{at-spi2-registr}] │ ├─dbus-daemon │ ├─ibus-portal───2*[{ibus-portal}] │ ├─pulseaudio───2*[{pulseaudio}] │ └─xdg-permission-───2*[{xdg-permission-}]
通过 -n 选项,pstree 以数值(按进程 ID)顺序显示进程:
$ pstree -nsystemd─┬─systemd-journal ├─systemd-udevd ├─systemd-timesyn───{systemd-timesyn} ├─systemd-resolve ├─systemd-logind ├─dbus-daemon ├─atopacctd ├─irqbalance───{irqbalance} ├─accounts-daemon───2*[{accounts-daemon}] ├─acpid ├─rsyslogd───3*[{rsyslogd}] ├─freshclam ├─udisksd───4*[{udisksd}] ├─networkd-dispat ├─ModemManager───2*[{ModemManager}] ├─snapd───10*[{snapd}] ├─avahi-daemon───avahi-daemon ├─NetworkManager───2*[{NetworkManager}] ├─wpa_supplicant ├─cron ├─atd ├─polkitd───2*[{polkitd}] ├─colord───2*[{colord}] ├─unattended-upgr───{unattended-upgr} ├─sshd───sshd───sshd───bash───pstree
使用 pstree 时可以考虑的一些选项包括 -a(包括命令行参数)和 -g(包括进程组)。
以下是一些简单的示例(片段)。
命令 pstree -a 的输出内容:
└─wpa_supplicant -u -s -O /run/wpa_supplicant
命令 pstree -g 的输出内容:
├─sshd(1396)───sshd(28281)───sshd(28281)───bash(28410)───pstree(1115)tree
虽然 tree 命令听起来与 pstree 非常相似,但这是用于查看文件而非进程的命令。它提供了一个漂亮的树状目录和文件视图。
如果你使用 tree 命令查看 /proc 目录,你显示的开头部分将类似于这个:
$ tree /proc/proc├── 1│ ├── attr│ │ ├── apparmor│ │ │ ├── current│ │ │ ├── exec│ │ │ └── prev│ │ ├── current│ │ ├── display│ │ ├── exec│ │ ├── fscreate│ │ ├── keycreate│ │ ├── prev│ │ ├── smack│ │ │ └── current│ │ └── sockcreate│ ├── autogroup│ ├── auxv│ ├── cgroup│ ├── clear_refs│ ├── cmdline...
如果以 root 权限运行这条命令(sudo tree /proc),你将会看到更多详细信息,因为 /proc 目录的许多内容对于普通用户而言是无法访问的。
命令 tree -d 将会限制仅显示目录。
$ tree -d /proc/proc├── 1│ ├── attr│ │ ├── apparmor│ │ └── smack│ ├── fd [error opening dir]│ ├── fdinfo [error opening dir]│ ├── map_files [error opening dir]│ ├── net│ │ ├── dev_snmp6│ │ ├── netfilter│ │ └── stat│ ├── ns [error opening dir]│ └── task│ └── 1│ ├── attr│ │ ├── apparmor│ │ └── smack...
使用 -f 选项,tree 命令会显示完整的路径。
$ tree -f /proc/proc├── /proc/1│ ├── /proc/1/attr│ │ ├── /proc/1/attr/apparmor│ │ │ ├── /proc/1/attr/apparmor/current│ │ │ ├── /proc/1/attr/apparmor/exec│ │ │ └── /proc/1/attr/apparmor/prev│ │ ├── /proc/1/attr/current│ │ ├── /proc/1/attr/display│ │ ├── /proc/1/attr/exec│ │ ├── /proc/1/attr/fscreate│ │ ├── /proc/1/attr/keycreate│ │ ├── /proc/1/attr/prev│ │ ├── /proc/1/attr/smack│ │ │ └── /proc/1/attr/smack/current│ │ └── /proc/1/attr/sockcreate...
分层显示通常可以使进程和文件之间的关系更容易理解。可用选项的数量很多,而你总可以找到一些视图,帮助你查看所需的内容。
到此,相信大家对"怎么在Linux上以树状查看文件和进程"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.