AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-81700

markling's questions

Martin Hope
markling
Asked: 2022-05-25 15:15:54 +0800 CST

Como pesquisar a data de exclusão de arquivos na Lixeira a partir da linha de comando

  • 0

Quero restaurar o arquivo que excluí acidentalmente. Não consigo ir para a pasta lixeira/lixeira e simplesmente restaurar o arquivo, porque não tenho ideia de qual era o arquivo. Eu o deletei pressionando acidentalmente a tecla delete enquanto o foco da tela estava em uma janela Thunar. (Este é um perigo particular quando você tem um teclado mecânico e dedos humanos).

Thunar não mostra datas apagadas, então não é possível simplesmente ordenar os arquivos na pasta lixo/lixeira.

Mas se eu clicar com o botão direito do mouse em um arquivo excluído na lixeira e examinar as propriedades dos arquivos, vejo que os arquivos na lixeira têm uma propriedade de data "Excluído".

Como faço para listar os arquivos por data de exclusão em um terminal. E como faço para abrir a pasta da lixeira em um terminal?

E se a pasta da lixeira for virtual e as propriedades do arquivo tiverem uma data de exclusão armazenada em algum outro local, onde fica esse local e como faço para consultá-lo? (Vejo que se eu olhar em ~/.local/share/Trash/files/, parece que são os mesmos arquivos que estão na lixeira para a qual você navega a partir do ícone do painel lateral Thunar. Mas os arquivos ~/.local/share/Trash/files/não têm a data "Excluído" como um atributo quando você clique para ver suas propriedades).

symlink date
  • 1 respostas
  • 88 Views
Martin Hope
markling
Asked: 2022-03-28 06:51:20 +0800 CST

Localizar com argumentos opcionais entre parênteses

  • 0

Como adicionar listas de argumentos agrupados opcionais para encontrar?

Por exemplo, usando uma matriz de argumentos base que definem arquivos que sempre serão encontrados, não importa quais outras condições de variáveis ​​sejam especificadas.

# args to find any files ending _count or _scan

._. fargs=( -type f -name '*_count' -o -name '*_scan' )
._. cd /sys/fs/ext4/sda1
._. find . \( "${fargs[@]}" \) 2> /dev/null
./mb_min_to_scan
./errors_count
./mb_max_to_scan
./msg_count
./warning_count

Adicionar argumentos adicionais opcionais

._. fpterm=warning
._. fpterm2=max
._. fANDargs=( -ipath "*$fpterm*" -o -ipath "*$fpterm2*" )

Aplique os argumentos opcionais entre parênteses para executar find com o formulário: ( a ou b ou c ) e ( d ou e ou f )

._. find . \( "${fargs[@]}" \) \( "${fANDargs[@]}" \) 2> /dev/null
./dm-1/mb_max_to_scan
./dm-1/warning_count
./dm-0/mb_max_to_scan
./dm-0/warning_count
./sda1/mb_max_to_scan
./sda1/warning_count

Mas quando a matriz arg opcional está vazia, ela impede que outras condições sejam atendidas e nenhum arquivo é encontrado:

._. fANDargs=()
._. find . \( "${fargs[@]}" \) \( "${fANDargs[@]}" \) 2> /dev/null
._. 

O parêntese vazio causa o problema:

._. find . \( "${fargs[@]}" \) \( \) 2> /dev/null
._.

Considerando que, normalmente, uma matriz arg vazia não impede que outras condições sejam atendidas:

._. fANDargs=()   
._. echo "${fANDargs[@]}"

._. find . \( "${fargs[@]}" \) "${fANDargs[@]}" 2> /dev/null
...
./sda1/mb_min_to_scan
./sda1/errors_count
./sda1/mb_max_to_scan
./sda1/msg_count
./sda1/warning_count

Portanto, se os colchetes puderem ser adicionados somente quando a matriz opcional args não estiver vazia, o comando poderá funcionar.

Mas como os colchetes podem ser adicionados condicionalmente?

Parece não funcionar quando você adiciona o parêntese à matriz, por exemplo:

._. fpterm=warning
._. fANDargs=()
._. [ ! -z $fpterm ] && fANDargs+=( '\(' -ipath "*$fpterm*" '\)' )
._. echo "${fANDargs[@]}"
\( -ipath *warning* \)
._. find . \( "${fargs[@]}" \) "${fANDargs[@]}" 2> /dev/null
._.
bash find
  • 1 respostas
  • 30 Views
Martin Hope
markling
Asked: 2019-11-06 02:40:56 +0800 CST

Por que esses argumentos de filtro rsync falham no bash quando passados ​​no array?

  • 0

Por que esse comando rsync funciona quando eu o dou literalmente, mas não quando o crio a partir de variáveis?

Aqui estão as variáveis ​​- primeiro as opções que estou passando para o rysnc, como um array:

$ echo "${options[@]}"
-av --prune-empty-dirs -f "- *.flac" -f "- *.WMA" -f "- *.wma" -f "- *.ogg" -f "- *.mp4" -f "- *.m4a" -f "- *.webm" -f "- *.wav" -f "- *.ape" -f "- *.zip" -f "- *.rar"

$ echo ${options[6]}
-f

$ echo ${options[7]}
"- *.wma"

Em seguida, o diretório de origem, do qual o rsync deve copiar os arquivos:

$ echo "\"$dir/\""
"/media/test/Ahmad Jamal Trio/Live at the Pershing/"

E o diretório de destino, para o qual o rsync deve copiar os arquivos:

$ echo "\"$target_dir\""
"/home/test/mp3/Ahmad Jamal Trio/Live at the Pershing/"

Junte tudo:

$ echo "${options[@]}" "\"$dir/\"" "\"$target_dir\""
-av --prune-empty-dirs -f "- *.flac" -f "- *.WMA" -f "- *.wma" -f "- *.ogg" -f "- *.mp4" -f "- *.m4a" -f "- *.webm" -f "- *.wav" -f "- *.ape" -f "- *.zip" -f "- *.rar" "/media/test/Ahmad Jamal Trio/Live at the Pershing//" "/home/test/mp3/Ahmad Jamal Trio/Live at the Pershing/"

Isso tudo parece que deveria. E, de fato, funciona se você der o comando literalmente, assim:

$ rsync -av --prune-empty-dirs -f "- *.flac" -f "- *.WMA" -f "- *.wma" -f "- *.ogg" -f "- *.mp4" -f "- *.m4a" -f "- *.webm" -f "- *.wav" -f "- *.ape" -f "- *.zip" -f "- *.rar" "/media/test/Ahmad Jamal Trio/Live at the Pershing/" "/home/test/mp3/Ahmad Jamal Trio/Live at the Pershing/"
./
Ahmad Jamal Trio - Live at the Pershing - 01 - But Not for Me.mp3
Ahmad Jamal Trio - Live at the Pershing - 02 - Surrey With The Fringe On Top.mp3
Ahmad Jamal Trio - Live at the Pershing - 03 - Moonlight In Vermont.mp3
Ahmad Jamal Trio - Live at the Pershing - 04 - Music, Music, Music.mp3
Ahmad Jamal Trio - Live at the Pershing - 05 - No Greater Love.mp3
Ahmad Jamal Trio - Live at the Pershing - 06 - Poinciana.mp3
Ahmad Jamal Trio - Live at the Pershing - 07 - Wood'yn You.mp3
Ahmad Jamal Trio - Live at the Pershing - 08 - What's New.mp3
AlbumArtSmall.jpg
AlbumArtLarge.jpg
Folder.jpg

sent 43,194,376 bytes  received 285 bytes  28,796,440.67 bytes/sec
total size is 43,182,454  speedup is 1.00

Mas falha quando chamo rsync usando os vars como args:

$ rsync "${options[@]}" "\"$dir/\"" "\"$target_dir\""
Unknown filter rule: `"- *.flac"'
rsync error: syntax or usage error (code 1) at exclude.c(902) [client=3.1.2]
bash
  • 1 respostas
  • 301 Views
Martin Hope
markling
Asked: 2017-12-07 11:29:17 +0800 CST

Como aplicar o comando ao arquivo em $ PATH com espaços?

  • 0

Meu $PATH tem /a/path/com espaços/in/it

Posso executar executáveis ​​​​que ficam no referido caminho simplesmente digitando seus nomes.

Mas quando tento aplicar comandos neles, eles falham com o erro não encontrado.

por exemplo. Eu tenho um script python no caminho, chamado prog.py

Se eu apenas digitar prog.py, meu shell tentará executá-lo. Então o caminho está funcionando. Mas:

$ python3 prog.py

python3: can't open file 'prog.py': [Errno 2] No such file or directory

$ file prog.py

prog.py: cannot open `prog.py' (No such file or directory)

Se eu cd para o local real de prog.py, tente os mesmos comandos, eles serão executados conforme o esperado:

$ file ./prog.py

./prog.py: Python script, ASCII text executable

$ python3 ./prog.py

True

Por que isso acontece? E o que posso fazer para executar esses comandos (principalmente python3) de onde eu quiser?

python path
  • 3 respostas
  • 1226 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve