Используйте htop, чтобы найти ненужные процессы, которые могут занимать процессорное время.
Установить:
sudo apt -получить установку htop
В качестве бонуса вы можете повысить приоритет из htop для своего программного обеспечения Hadoop, чтобы оно работало более плавно.
Это заставит nl
начать с 0:
$ ls -lh | nl -v 0
0 total 24
1 -rw-rw-r-- 1 wolf wolf 186 Sep 24 22:18 01.py
2 -rw-rw-r-- 1 wolf wolf 585 Sep 24 22:21 02.py
3 -rw-rw-r-- 1 wolf wolf 933 Sep 24 22:26 03.py
Вы можете попробовать awk
вместо:
ls -lh | awk '{printf("%5s ",NR==1?" ":NR-1); print}'
Будет напечатана строка «итогов» без нумерации, а все остальные строки с числами, скорректированными -справа, с шириной поля 5. Промежуток между числом и содержимым строки будет равен двум пробелам (текст после 5s
в строке формата printf()
); вы можете заменить его чем-то другим, например \t
.
Если вам не нужна строка "итоги", вы можете использовать
ls -lh | awk 'NR>1{print (NR-1) "\t" $0}'
или
ls -lh | awk 'NR>1 {printf("%5s ",NR-1); print}'
вместо этого.
Это немного некрасиво, но, по крайней мере, с реализацией GNU Coreutils nl
вы можете указать строки, которые должны быть пронумерованы с помощью регулярного выражения -, поскольку t
не является одним из возможных типов файлов в ls
длинный -вывод списка1вы могли бы сделать
ls -lh | nl -bp'^[^t]'
К сожалению, это не сохраняет выравнивание вывода.
Возможно, наиболее формально правильный подход состоит в том, чтобы разделить вывод ls
на отдельные разделы заголовка и основного текста :
$ ls -lh | sed -e '1s/.*/\\:\\:\\:\n&\n\\:\\:/' | nl
total 0
1 -rw-rw-rw- 1 steeldriver steeldriver 0 Sep 9 19:53 bar
2 -rw-r--r-- 1 steeldriver steeldriver 449 Sep 16 17:41 bash_envs
3 -rw-rw-rw- 1 steeldriver steeldriver 131 Sep 5 18:13 dirlist
4 -rw-r--r-- 1 steeldriver steeldriver 359 Sep 13 19:42 error_status
(по умолчанию стиль нумерации заголовков — нет).
nl
$ ls -lh | { sed -u q; nl; }
total 24
1 -rw-rw-r-- 1 wolf wolf 186 Sep 24 22:18 01.py
2 -rw-rw-r-- 1 wolf wolf 585 Sep 24 22:21 02.py
3 -rw-rw-r-- 1 wolf wolf 933 Sep 24 22:26 03.py
sed
(с -u
для отключения буферизации )будет потреблять одну строку и q
uit, неявно выводя строку перед завершением. nl
поглощает остальные строки.
Если вы действительно хотите, чтобы первая строка была с отступом, вы можете сделать это следующим образом:
$ ls -lh | { sed -u 's/^/ /;q'; nl; }
total 24
1 -rw-rw-r-- 1 wolf wolf 186 Sep 24 22:18 01.py
2 -rw-rw-r-- 1 wolf wolf 585 Sep 24 22:21 02.py
3 -rw-rw-r-- 1 wolf wolf 933 Sep 24 22:26 03.py
Если вы хотите начать нумерацию строк ниже, скажите sed
, когда следует q
uit:
$ ls -alh | { sed -u 's/^/ /;3q'; nl; }
total 24
drwx------ 1 wolf wolf 186 Sep 24 22:18.
drwx------ 1 wolf wolf 186 Sep 24 22:18..
1 -rw-rw-r-- 1 wolf wolf 186 Sep 24 22:18 01.py
2 -rw-rw-r-- 1 wolf wolf 585 Sep 24 22:21 02.py
3 -rw-rw-r-- 1 wolf wolf 933 Sep 24 22:26 03.py
Вы также можете использовать что-то вроде /\.\.$/q
вместо 3q
.