Да, это очень возможно. Я использую сценарий Python для этой задачи в моем браузере caja
. Я воспроизвожу здесь сценарий, заменяя caja
на nemo
. Надеюсь, он будет напрямую работать с nemo
без каких-либо дальнейших изменений.
#!/usr/bin/env python3
import subprocess
import time
import sys
get = lambda cmd: subprocess.check_output(["/bin/bash", "-c", cmd]).decode("utf-8")
def run(cmd):
subprocess.call(["/bin/bash", "-c", cmd])
try:
arg = sys.argv[1]
except:
arg = ""
try:
pid = get("pidof nemo").strip()
except subprocess.CalledProcessError:
run("nemo "+arg)
else:
w = [l.split() for l in get("wmctrl -lp").splitlines() if pid in l][-1]
w_id = w[0]
if len( [l for l in get("xprop -id "+w_id).splitlines() if all(
["_NET_WM_WINDOW_TYPE(ATOM)" in l, "_TYPE_NORMAL" in l])]) != 0:
run("wmctrl -ia "+w[0])
run("xdotool key Control_L+t")
if arg != "":
run("xdotool key Control_L+l")
time.sleep(0.2)
run("xdotool type "+arg)
time.sleep(0.01*len(arg))
run("xdotool key Return")
else:
run("nemo "+arg)
Сохраните этот сценарий как nemo-tab.py
в вашем каталоге ~ / bin
или в любом другом каталоге, который есть на вашем пути. Сделайте его исполняемым. Затем, когда вы запустите этот сценарий, он откроет новую вкладку в любом запущенном браузере nemo
или запустит новый браузер, если ни один экземпляр не запущен. Вы запускаете его следующим образом:
nemo-tab.py "~/Documents"
Теперь, в вашем случае, вы можете выполнить команду пять раз в сценарии bash, чтобы загрузить экземпляр nemo
с 5 начальными вкладками:
#!/bin/bash
nemo-tab.py "~/Documents"
nemo-tab.py "~/Desktop"
nemo-tab.py "~/media/data"
nemo-tab.py "~/Videos"
nemo-tab.py "~/Pictures"
Обратите внимание, что вам понадобится для установки xdotool
и wmctrl
:
sudo apt-get install xdotool wmctrl
Источник скрипта Python: https://askubuntu.com/questions/628084/what-is-the-command-to -open-a-specific-directory-in-a-new-tab-in-nautilus
find. -type f -mtime +0 -exec rm -f {} +
или
find. -type f ! -mtime -1 -exec rm -f {} +
Удалил бы обычные файлы, содержимое которых последний раз изменялось более 24 часов назад(-mtime +0
означает :чей возраст в днях (округляется до целого числа, дни равны 24 часам, или 86400 Длительность секунды эпохи Unix )строго больше 0 ).
Некоторые реализации find
имеют предикат -delete
, который можно использовать вместо -exec rm -f {} +
, что сделает его более безопасным и эффективным.
Для файлов, которые были изменены ранее, чем сегодня 00 :00 :00, с GNU find
вы можете добавить предикат -daystart
. Это будет включать в себя файлы, которые последний раз изменялись вчера, даже если менее 24 часов назад.
В некоторых реализациях find
вы также можете:
find. ! -newermt 00:00:00 -delete
Для удаления файлов, которые последний раз изменялись до (или ровно )00 :00 :00 сегодня.
find имеет параметр -not
или !
, который отменяет предыдущий, и -delete
для удаления файлов:
find. ! -mtime -1 -type f -delete
Обратите внимание, что -not
не соответствует стандарту POSIX
Использование zsh, либо изначально, либо черезzsh -c "..."
:
rm -f /path/to/folder/*(.m+0) # for that directory only
rm -f /path/to/folder/**/*(.m+0) # recursively
Скобки (
... )
создают zsh "квалификатор glob" . Внутри точка .
указывает простые файлы (, аналогичные find -type f
), а m+0
требует, чтобы время модификации файла было строго больше нуля дней назад, после усечения до целых дней — 23. часы 0 дней; 25 часов будет 1 день.
Чтобы еще больше соответствовать поведению find
по умолчанию при поиске/сопоставлении «скрытых» файлов (, которые начинаются с точки ), добавьте квалификатор заглавной D:
rm -f /path/to/folder/*(D.m+0) # for that directory only
rm -f /path/to/folder/**/*(D.m+0) # recursively
Когда количество старых файлов больше, чем за день, я делаю следующее, чтобы быть тщательным. Получить количество файлов в день:
$ find. -type f -printf '%TY-%Tm-%Td\n' | sort | uniq -c
# Output:
42315 2020-09-29
42315 2020-09-30
42315 2020-10-01
42315 2020-10-02
42315 2020-10-03
42315 2020-10-04
42315 2020-10-05
2275 2020-10-06
И удалить все файлы старше текущего дня:
$ find. -mindepth 1 -type f -mtime +0 | xargs /bin/rm -f
## Now to check the count again.
$ find. -type f -printf '%TY-%Tm-%Td\n' | sort | uniq -c
2275 2020-10-06
Не знаю почему, но я обнаружил, что использование -exec rm
занимает много времени, а конвейер xargs
быстрее.