Смонтируйте zip-архив как файловую систему с помощью fuse-zip . Затем вы можете получить доступ к файлам в нем, используя любую команду.
mkdir foo
fuse-zip foo.zip foo
Затем, чтобы скопировать Needle.txt
из любого подкаталога, в котором он находится:
find foo -name needle.txt -exec cp -p {} . \;
Или с помощью рекурсивной глобализации оболочки (в bash сначала нужно запустить shopt -s globstar
; в zsh это работает из коробки):
cp -p foo/**/needle.txt .
Отключите файловую систему, когда вы закончите ее использовать.
fusermount -u foo
Команда top
предназначена для интерактивного использования. Чтобы получить желаемый результат программным способом, вы можете вместо этого использовать ps
, который может дать большую часть той же информации, но более удобен для сценария -.
Пример:
$ ps -eo pid,uid,pri,nice,vsz,rss,s,%cpu,%mem,time,comm | head
PID UID PRI NI VSZ RSS S %CPU %MEM TIME COMMAND
1 0 19 0 186380 9608 S 0.0 0.0 00:01:15 systemd
2 0 19 0 0 0 S 0.0 0.0 00:00:00 kthreadd
3 0 39 -20 0 0 I 0.0 0.0 00:00:00 rcu_gp
4 0 39 -20 0 0 I 0.0 0.0 00:00:00 rcu_par_gp
6 0 39 -20 0 0 I 0.0 0.0 00:00:00 kworker/0:0H-kblockd
8 0 39 -20 0 0 I 0.0 0.0 00:00:00 mm_percpu_wq
9 0 19 0 0 0 S 0.0 0.0 00:00:19 ksoftirqd/0
10 0 41 - 0 0 I 0.0 0.0 00:02:20 rcu_preempt
11 0 41 - 0 0 S 0.0 0.0 00:00:24 rcuc/0
Обратите внимание, что отсутствует только одно поле SHR
. (Я не мог найти, как заставить ps
распечатать его.)
команда:top -b -n1| sed -n '/PID/,$p'
выход
ux_example ~]# top -b -n1| sed -n '/PID/,$p'
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
7 root RT 0 0 0 0 S 1.7 0.0 0:01.04 migration/1
1 root 20 0 19356 1564 1252 S 0.0 0.1 0:07.96 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.07 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:03.46 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 0:01.84 ksoftirqd/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
6 root RT 0 0 0 0 S 0.0 0.0 1:58.23 watchdog/0
8 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/1
9 root 20 0 0 0 0 S 0.0 0.0 0:02.87 ksoftirqd/1
10 root RT 0 0 0 0 S 0.0 0.0 2:10.65 watchdog/1
11 root RT 0 0 0 0 S 0.0 0.0 0:02.42 migration/2
12 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/2
13 root 20 0 0 0 0 S 0.0 0.0 0:01.27 ksoftirqd/2
14 root RT 0 0 0 0 S 0.0 0.0 1:55.75 watchdog/2
15 root RT 0 0 0 0 S 0.0 0.0 0:01.03 migration/3
16 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/3
17 root 20 0 0 0 0 S 0.0 0.0 0:00.95 ksoftirqd/3
18 root RT 0 0 0 0 S 0.0 0.0 1:58.07 watchdog/3
19 root 20 0 0 0 0 S 0.0 0.0 0:14.40 events/0
20 root 20 0 0 0 0 S 0.0 0.0 3:52.96 events/1
21 root 20 0 0 0 0 S 0.0 0.0 0:16.77 events/2
22 root 20 0 0 0 0 S 0.0 0.0 1:34.48 events/3
23 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cgroup
24 root 20 0 0 0 0 S 0.0 0.0 0:00.01 khelper
25 root 20 0 0 0 0 S 0.0 0.0 0:00.00 netns
26 root 20 0 0 0 0 S 0.0 0.0 0:00.00 async/mgr
27 root 20 0 0 0 0 S 0.0 0.0 0:00.00 pm
28 root 20 0 0 0 0 S 0.0 0.0 0:07.44 sync_supers
29 root 20 0 0 0 0 S 0.0 0.0 0:03.43 bdi-default
30 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kintegrityd/0
31 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kintegrityd/1
32 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kintegrityd/2
33 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kintegrityd/3
34 root 20 0 0 0 0 S 0.0 0.0 0:02.02 kblockd/0
35 root 20 0 0 0 0 S 0.0 0.0 0:01.02 kblockd/1
36 root 20 0 0 0 0 S 0.0 0.0 0:07.83 kblockd/2
37 root 20 0 0 0 0 S 0.0 0.0 0:22.51 kblockd/3
38 root 20 0 0 0 0 S 0.0 0.0 0:
Различные компоненты области сводки могут быть включены или отключены следующим образом::
Summary-Area-defaults
'l' - Load Avg/Uptime On (thus program name)
't' - Task/Cpu states On (1+1 lines, see '1')
'm' - Mem/Swap usage On (2 lines worth)
'1' - Single Cpu On (thus 1 line if smp)
Чтобы отключить их все, запустите top
, затем нажимайте каждую из клавиш m , l и t , пока эти строки не исчезнут (несколько раз. из них циклически переключаются между несколькими режимами, а не просто переключаются -на выключение ). Затем сохраните изменения в .toprc
с помощью W .
После этого top -b -n 1
покажет только пустую строку, строку заголовка столбца и отдельные строки для каждого процесса.
Файл конфигурации, по большей части, удобочитаем -человеком, поэтому вы можете редактировать его напрямую, но, похоже, он не предназначен для этого. (Примечательно, что поле fieldscur
содержит символы, не входящие в обычный диапазон ASCII. )Части, которые вы хотите отключить, представлены битами в записи winflags
, но точные значения (, а также расположение файла конфигурации )могут различаться в разных версиях.