Метод, описанный в Удаление файлов старше X дней+ . будет работать на вас:
find /path/to/directory/ -mtime +7 -delete
но он упускает из виду пару частей вашего вопроса.
... из разных мест...
Вы можете указать несколько начальных точек для одной команды find
. Делать
find /home/user1/Out/vendor /home/user2/Out/vendor /home/user3/Out/vendor /home/user4/Out/vendor … /home/usern/Out/vendor -mtime +7 -deleteили
find /home/user1/Out/vendor /home/user2/Out/vendor /home/user3/Out/vendor \ /home/user4/Out/vendor … /home/usern/Out/vendor -mtime +7 -deleteдля удобства чтения.
Но вам не нужно явно перечислять все подобные каталоги. Если выбуквальноимеете дело с user1
, user2
,..., usern
, (гдеn
— число ), вы можете сделать
find /home/user{1,2,3,4,…,n}/Out/vendor -mtime +7 -deleteили даже
find /home/user{1..n}/Out/vendor -mtime +7 -delete(с использованием буквально двух точек (
.
), также известных как точка или точка )в bash. Но я предполагаю, что вы, вероятно, не имеете дело с user1
, user2
,..., usern
; у ваших пользователей, вероятно, имена. Но применяется тот же принцип; ты можешь сделать
find /home/{user1,user2,user3,user4,…,usern}/Out/vendor -mtime +7 -deleteНапример,
find /home/{alice,bob,cathy,david,…,nathan}/Out/vendor -mtime +7 -deleteили даже
find ~{alice,bob,cathy,david,…,nathan}/Out/vendor -mtime +7 -delete
… как этого добиться, не удаляя папки?
Просто добавьте -type f
к команде:
find /home/{user1,user2,user3,user4,…,usern}/Out/vendor -type f -mtime +7 -delete
netstat -tunleep4 | grep -v "127.0.0" | awk '{print $6}' | grep LISTEN | wc -l
$6 might be different among OS
Обновление из комментариев
netstat -tunleep4 | grep -v "127.0.0" | awk '{print $6}' | grep -c LISTEN
Из man netstat:
This program is mostly obsolete. Replacement for netstat is ss.
На данный момент, я думаю, это будет лучший вариант:
ss -l -4 | grep -v "127\.0\.0" | grep "LISTEN" | wc -l
Где:
netstat -ln4 | grep LISTEN | grep -v 127 | wc -l
Описание:
netstat
-l, --listening display listening server sockets
-n, --numeric don't resolve names
-4
--protocol=family, -A
Specifies the address families (perhaps better described as low level protocols) for which connections are to be
shown. family is a comma (',') separated list of address family keywords like inet, inet6, unix, ipx, ax25, netrom,
econet, ddp, and bluetooth. This has the same effect as using the --inet|-4, --inet6|-6, --unix|-x, --ipx, --ax25,
--netrom, --ddp, and --bluetooth options.
The address family inet (Iv4) includes raw, udp, udplite and tcp protocol sockets.
The address family bluetooth (Iv4) includes l2cap and rfcomm protocol sockets.
grep LISTEN -просто строки со словом LISTEN
grep -v 127 -просто строки без127
wc -l -количество строк результатов
Наглядное объяснение здесь-https://explainshell.com/explain?cmd=netstat+-ln4+%7C+grep+LISTEN+%7C+grep+-v+127+%7C+wc+-l