Дальнейшие исследования выявили параметр noperm
, который можно использовать в команде монтирования:
sudo mount.cifs //HPSERVER/linux-bup/ /home/maxg/bmsOnSrvr --v -o user=linux,pass=****,noperm
результат сейчас:
# [2018-04-17 21:45] maxg@rpi32 ~/bmsOnSrvr $
la
total 5
drwxr-xr-x 2 root root 0 Apr 17 21:04.
drwxr-xr-x 8 maxg maxg 4096 Apr 17 19:15..
-rwxr-xr-x 1 root root 4 Apr 17 21:04 deleteme.txt
-rwxr-xr-x 1 root root 0 Apr 8 11:50 desktop.ini
drwxr-xr-x 2 root root 0 Apr 17 19:15 rPi32
# [2018-04-17 21:45] maxg@rpi32 ~/bmsOnSrvr $
echo kjskjs>max.txt
# [2018-04-17 21:45] maxg@rpi32 ~/bmsOnSrvr $
rm desktop.ini
# [2018-04-17 21:45] maxg@rpi32 ~/bmsOnSrvr $
la
total 5
drwxr-xr-x 2 root root 0 Apr 17 2018.
drwxr-xr-x 8 maxg maxg 4096 Apr 17 19:15..
-rwxr-xr-x 1 root root 4 Apr 17 21:04 deleteme.txt
-rwxr-xr-x 1 root root 7 Apr 17 21:45 max.txt
drwxr-xr-x 2 root root 0 Apr 17 19:15 rPi32
[править] Однако, похоже, это правильный способ сделать это:
sudo mount.cifs //HPSERVER/linux-bup/ /home/maxg/bmsOnSrvr --v -o user=linux,pass=****,uid=1001,gid=1001
результат сейчас:
# [2018-04-17 21:59] maxg@rpi32 ~/bmsOnSrvr $
la
total 4
drwxr-xr-x 2 maxg maxg 0 Apr 17 21:50.
drwxr-xr-x 8 maxg maxg 4096 Apr 17 19:15..
drwxr-xr-x 2 maxg maxg 0 Apr 17 19:15 rPi32
# [2018-04-17 21:59] maxg@rpi32 ~/bmsOnSrvr $
echo crap>crap.txt
# [2018-04-17 21:59] maxg@rpi32 ~/bmsOnSrvr $
la
total 5
drwxr-xr-x 2 maxg maxg 0 Apr 17 22:00.
drwxr-xr-x 8 maxg maxg 4096 Apr 17 19:15..
-rwxr-xr-x 1 maxg maxg 5 Apr 17 21:59 crap.txt
drwxr-xr-x 2 maxg maxg 0 Apr 17 19:15 rPi32
Шаблон *-*
будет соответствовать любому имени в текущем каталоге, которое содержит тире(буквально «имя, которое содержит хотя бы одно -
, возможно, с префиксом и/или суффиксом какой-либо другой строки» ). Это означает, что вы должны уметь
rm./*-*
или
rm -- *-*
для удаления всех файлов с именами, содержащими символ -
в текущем каталоге.
В оболочке zsh
использование *-*(.)
в качестве шаблона ограничит поиск только обычными файлами (, а не каталогами, хотя rm
все равно не сможет удалять каталоги ).
Если rm
слишком много файлов для обработки за один раз, используйте find
следующим образом:
find. -maxdepth 1 -type f -name '*-*' -delete
Я использую -maxdepth 1
, чтобы ограничить поиск только текущим каталогом, и я добавил -type f
, чтобы удалять только обычные файлы.
Вы также можете использовать (несколько медленный )цикл:
for name in./*-*; do
rm "$name"
done
Некоторые люди предпочитают "один -лайнер", и этот цикл может быть записан как
for name in./*-*; do rm "$name"; done
... хотя ввод ее как многострочной команды -определенно возможен в большинстве современных оболочек.