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 / unix / 问题

All perguntas(unix)

Martin Hope
Ivoirians
Asked: 2025-04-24 04:29:39 +0800 CST

Como excluir texto armazenado em buffer escrito no terminal durante a execução do script

  • 14

Digamos hipoteticamente que eu esteja executando um script bash de longa duração e, enquanto ele estiver em execução, eu acidentalmente clico com o botão direito do mouse no terminal e colo uma senha sensível (recém-copiada de um gerenciador de senhas) no terminal.

~$ process_data.sh
[useful data 1]
[useful data 2]
...
[useful data N-1]
hunter2[useful data N]
[useful data N+1]

Existe alguma maneira de remover o texto (hunter2) de exibição no terminal, preservando os dados úteis? Ctrl-L e clearapaga tudo na tela. Ctrl-H funciona para apagar caracteres na linha atual, mas não consigo mover o cursor para cima.

Não preciso excluir o texto de ~/.bash_history, só quero que os dados úteis apareçam no terminal sem o texto ofensivo.

Presumo que a resposta possa depender das capacidades/implementação do terminal. Estou usando o Ubuntu 18, mas soluções para qualquer terminal comum seriam apreciadas.

shell
  • 3 respostas
  • 772 Views
Martin Hope
Isidro Arias
Asked: 2025-04-16 18:02:44 +0800 CST

Por que `tail -c 4097 /dev/zero` sai imediatamente em vez de bloquear?

  • 14

Observo que, no Ubuntu 24.04.2 com coreutilsversão 9.4-3ubuntu6, executando:

$ tail -c 4097 /dev/zero
$ echo $?
0

sai imediatamente com um código de status 0. Eu esperava que o comando bloqueasse indefinidamente, já que /dev/zero é um fluxo infinito.

Em contraste, os seguintes comandos se comportam conforme o esperado (ou seja, eles bloqueiam até serem interrompidos):

$ tail -c 4096 /dev/zero
^C
$ echo $?
130
$ cat /dev/zero | tail -c 4097
^C
$ echo $?
130

Tentativa de depuração

A saída do strace mostra diferenças entre as duas invocações:

strace tail -c 4096 /dev/zero strace tail -c 4097 /dev/zero
… …
fechar(3) = 0 fechar(3) = 0
openat(AT_FDCWD, "/dev/zero", O_RDONLY) = 3 openat(AT_FDCWD, "/dev/zero", O_RDONLY) = 3
fstat(3, {st_mode=S_IFCHR|0666, st_rdev=makedev(0x1, 0x5), …}) = 0 fstat(3, {st_mode=S_IFCHR|0666, st_rdev=makedev(0x1, 0x5), …}) = 0
lseek(3, -4096, FIM_DE_BUSCA) = 0 lseek(3, -4097, FIM_DE_BUSCA) = 0
leia(3, "\0\0\0\0\0\0\0\0\0"…, 8192) = 8192 leia(3, "\0\0\0\0\0\0\0\0\0\…, 4097) = 4097
leia(3, "\0\0\0\0\0\0\0\0\0"…, 8192) = 8192 fstat(1, {st_mode=S_IFIFO|0600, st_size=0, …}) = 0
leia(3, "\0\0\0\0\0\0\0\0\0"…, 8192) = 8192 escreva(1, "\0\0\0\0\0\0\0\0\0\…, 4096
leia(3, "\0\0\0\0\0\0\0\0\0"…, 8192) = 8192 fechar(3) = 0
leia(3, "\0\0\0\0\0\0\0\0\0"…, 8192) = 8192 escreva(1, "\0", 1) = 1
leia(3, "\0\0\0\0\0\0\0\0\0"…, 8192) = 8192 fechar(1) = 0
leia(3, "\0\0\0\0\0\0\0\0\0"…, 8192) = 8192 fechar(2) = 0
leia(3, "\0\0\0\0\0\0\0\0\0"…, 8192) = 8192 exit_group(0) = ?
leia(3, "\0\0\0\0\0\0\0\0\0"…, 8192) = 8192 ~~+~~ saiu com 0 ~~+~~
leia(3, "\0\0\0\0\0\0\0\0\0"…, 8192) = 8192
leia(3, "\0\0\0\0\0\0\0\0\0"…, 8192) = 8192
…
linux
  • 1 respostas
  • 211 Views
Martin Hope
rdong8
Asked: 2025-04-15 16:19:59 +0800 CST

O que é esse ícone (pontos sobre uma linha cinza curva) que aparece momentaneamente na minha barra de status do GNOME?

  • 14

Captura de tela dos ícones da barra de status do GNOME

O ícone mais à esquerda ( thunderbolt-acquiring-symbolic.svg) é o que está em questão.

Para contextualizar, tenho um par de fones de ouvido Bluetooth multiponto conectados simultaneamente ao meu iPhone e ao meu laptop Linux. Quando ouço música no meu celular, vejo periodicamente este ícone aparecer no meu laptop, mesmo quando não estou reproduzindo nenhum áudio. O ícone normalmente desaparece em alguns segundos, mas minha música fica inaudível (mas ainda tocando no meu celular) por um tempo. Depois, tudo volta ao normal.

shell
  • 2 respostas
  • 1401 Views
Martin Hope
Yakog
Asked: 2025-02-22 21:46:15 +0800 CST

Por que o bash dá o seguinte resultado após a expansão de chaves?

  • 14

Estou usando Linux e a seguinte versão do bash:

GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu)

Quando eu digito:

echo file{[1,2],3}.txt

Espero que a expansão do suporte seja feita primeiro, então:

echo file[1,2].txt file3.txt

Depois disso, espero que pare por aí, já que [1,2] não é um globbing válido. No entanto, ele fornece o seguinte como saída:

file[1.txt file2].txt file3.txt

Por que?

Lista de arquivos no diretório atual (resultado do lscomando):

go.mod  hello.sh  hi  main.go
bash
  • 1 respostas
  • 611 Views
Martin Hope
Apollucas
Asked: 2025-01-26 22:28:58 +0800 CST

Como faço para que `ls` classifique da mesma forma que o Thunar classifica os arquivos?

  • 14

O título é um resumo do que estou tentando alcançar, mas darei um exemplo para ilustrar qual é meu problema e como estou tentando resolvê-lo.

Pasta de exemplo

Digamos que eu tenha uma pasta em um sistema Linux com os seguintes arquivos: .a, .A, .b, .B, a, A, be B.

Thunar

Quando abro a pasta no Thunar, meu gerenciador de arquivos preferido, os arquivos são exibidos nesta ordem:

.a
.A
.b
.B
a
A
b
B

Esta é uma saída que faz sentido para mim; primeiro os arquivos ocultos (ou diretórios), depois classificados alfabeticamente (onde o caso é levado em conta). De preferência, eu teria os arquivos em letras maiúsculas classificados antes dos em letras minúsculas, mas não é tão ruim. Em outras palavras, esta é a saída que estou tentando obter com ls.

ls

Quando quero listar os arquivos desta pasta via ls, isto é o que obtenho:

$ ls -lA
total 0
-rw-r--r-- 1 lucas lucas 0 Jan 26 14:58 .a
-rw-r--r-- 1 lucas lucas 0 Jan 26 14:58 a
-rw-r--r-- 1 lucas lucas 0 Jan 26 14:58 .A
-rw-r--r-- 1 lucas lucas 0 Jan 26 14:58 A
-rw-r--r-- 1 lucas lucas 0 Jan 26 14:58 .b
-rw-r--r-- 1 lucas lucas 0 Jan 26 14:58 b
-rw-r--r-- 1 lucas lucas 0 Jan 26 14:58 .B
-rw-r--r-- 1 lucas lucas 0 Jan 26 14:58 B

Aqui, os arquivos ocultos não são classificados no topo, mas os arquivos em geral são classificados em uma ordem alfabética "sensata".

Experimentando com LC_ALL=CeLC_COLLATE=C

Algumas soluções para classificar os arquivos ocultos no topo são definir temporariamente LC_ALLou LC_COLLATEcomo C(estou com dificuldade para ver a diferença entre os dois, então uma explicação seria muito apreciada):

$ LC_ALL=C ls -lA
total 0
-rw-r--r-- 1 lucas lucas 0 Jan 26 14:58 .A
-rw-r--r-- 1 lucas lucas 0 Jan 26 14:58 .B
-rw-r--r-- 1 lucas lucas 0 Jan 26 14:58 .a
-rw-r--r-- 1 lucas lucas 0 Jan 26 14:58 .b
-rw-r--r-- 1 lucas lucas 0 Jan 26 14:58 A
-rw-r--r-- 1 lucas lucas 0 Jan 26 14:58 B
-rw-r--r-- 1 lucas lucas 0 Jan 26 14:58 a
-rw-r--r-- 1 lucas lucas 0 Jan 26 14:58 b
$ LC_COLLATE=C ls -lA
total 0
-rw-r--r-- 1 lucas lucas 0 Jan 26 14:58 .A
-rw-r--r-- 1 lucas lucas 0 Jan 26 14:58 .B
-rw-r--r-- 1 lucas lucas 0 Jan 26 14:58 .a
-rw-r--r-- 1 lucas lucas 0 Jan 26 14:58 .b
-rw-r--r-- 1 lucas lucas 0 Jan 26 14:58 A
-rw-r--r-- 1 lucas lucas 0 Jan 26 14:58 B
-rw-r--r-- 1 lucas lucas 0 Jan 26 14:58 a
-rw-r--r-- 1 lucas lucas 0 Jan 26 14:58 b

Como você pode ver, isso resolve o problema dos arquivos ocultos, mas o comportamento da classificação alfabética agora é inconsistente com a forma como o Thunar classifica os arquivos em ordem alfabética.

Questões

Então isso levanta a questão: como eu consigo lsclassificar da mesma forma que o Thunar? De preferência, eu quero evitar o pipe lspara outro comando como sort, já que eu gostaria de criar um alias para esse novo comando para "ls"ele mesmo.

E se isso não for possível, como posso fazer o Thunar classificar os arquivos da maneira que lsele classificaria os arquivos (o método LC_ALL=C/ LC_COLLATE=Cparece bom o suficiente para mim)?

Por extensão, gostaria de perguntar quais são as melhores práticas ao classificar arquivos em ordem alfabética. O comportamento que acabei de descrever é exatamente o que parece sensato para mim, mas talvez não seja, afinal?

files
  • 2 respostas
  • 871 Views
Martin Hope
Nie Philip
Asked: 2024-04-05 00:50:59 +0800 CST

Como cancelar a permissão de administrador de um grupo?

  • 14

Eu configurei um grupo chamado music, usando o comando groupadd -g 500 music.

Então eu adiciono Alice ao grupo de música e defino Alice para ser a administradora do grupo de música, usando esses dois comandos gpasswd -a alice musice gpasswd -A alice music.

Agora Alice pode adicionar pessoas ao grupo musical sem a permissão da permissão negada, mas como cancelar essa permissão? Verifiquei a página de manual do, gpasswdmas não encontrei nada sobre a opção de cancelar a permissão de administrador. Tento atingir o objetivo removendo Alice da música do grupo, usando o comando gpasswd -d alice music, mas Alice ainda tem permissão para manipular os membros do grupo. Como posso cancelar a permissão de administrador de um grupo?

linux
  • 1 respostas
  • 481 Views
Martin Hope
jwzumwalt
Asked: 2024-01-05 13:21:40 +0800 CST

Imprima todos os comentários C em um arquivo de texto separado

  • 14

Gostaria de imprimir todos os meus comentários C em um arquivo de texto separado.

  • Usando awk, sed, grep ou bash
  • gerar todos os comentários C multilinhas entre /* ... */ (inclusive)
  • linhas de saída com // comentários
  • Opcional: imprimir números de linha

Eu tentei essas soluções, mas não funcionou no Ubuntu

  • Analisando comentário multilinha do estilo C
  • https://stackoverflow.com/questions/57723357/how-can-i-grep-matching-a-comment-string

O objetivo da minha solicitação é poder usar rapidamente os comentários do código-fonte como ponto de partida para uma boa documentação. Eu não gosto da confusão extra e dos comandos incorporados proprietários (ou seja, Doxygen) de programas de documentação dedicados. Por exemplo, comentar adequadamente cada função do código-fonte e remover comentários superficiais de uma linha economizará muito tempo e fornecerá uma referência quase completa. Isso também incentivará melhores comentários no código-fonte.

c
  • 4 respostas
  • 1301 Views
Martin Hope
tagomago
Asked: 2024-01-03 02:12:50 +0800 CST

Qual ferramenta gratuita o Nautilus usa para extrair arquivos RAR?

  • 14

Percebi que o Nautilus (Arquivos GNOME) pode extrair alguns arquivos RAR que não podem ser extraídos usando pacotes gratuitos como unrar-free ou file-roller via CLI, nem usando ferramentas GUI como Engrampa ou Xarchiver. Não sei por que exatamente. Nenhuma senha envolvida ou algo incomum, apenas (o que parece) arquivos RAR normais. Talvez formatos diferentes?

De qualquer forma, gostaria de saber qual ferramenta autônoma (se houver) o Nautilus usa para extrair arquivos RAR para que eu possa fazer isso sozinho na linha de comando.

Eu só uso repositórios gratuitos do Debian, então acho que deveria ser um pacote gratuito...

Esta é minha primeira pergunta, deixe-me saber se devo melhorar alguma coisa.

Obrigado!!

command-line
  • 1 respostas
  • 949 Views
Martin Hope
Dave The Dane
Asked: 2023-12-17 17:36:13 +0800 CST

ps -o pid,ppid,stat,exe -e | grep deletado tem "(deletado)" anexado ao caminho do executável

  • 14
ps -o pid,ppid,stat,exe -e | grep deleted

gera uma saída como esta:

   1777    1346 Sl   /usr/bin/python3.10 (deleted)
   1778    1346 Sl   /usr/bin/python3.10 (deleted)
   1825    1327 Ss   /usr/lib/bluetooth/obexd (deleted)
   2007       1 Sl   /usr/bin/python3.10 (deleted)
   2101    1346 S    /usr/bin/python3.10 (deleted)
   2199       1 Sl   /usr/bin/python3.10 (deleted)
 371565  371305 SLl  /usr/lib/x86_64-linux-gnu/webkit2gtk-4.0/WebKitNetworkProcess (deleted)
 371566  371305 SLl  /usr/lib/x86_64-linux-gnu/webkit2gtk-4.0/WebKitWebProcess (deleted)
 376426  371305 SLl  /usr/lib/x86_64-linux-gnu/webkit2gtk-4.0/WebKitWebProcess (deleted)
 380141  371305 SLl  /usr/lib/x86_64-linux-gnu/webkit2gtk-4.0/WebKitWebProcess (deleted)

O que (deleted)significa e como posso fazer com que o ps liste o caminho sem anexá-lo?

linux
  • 2 respostas
  • 469 Views
Martin Hope
FaxMax
Asked: 2017-11-24 01:24:36 +0800 CST

Por que canalizar `mysql` para 'tail' altera o formato de saída?

  • 15

Quando vejo o resultado de um SELECTcom o MySQL Workbench, está correto com um único \

max@host 10:13:58: ~$ mysql -h db-master.domain.local -uuser -ppw db -e '
>                 SELECT
>                 DISTINCT i.filesourceregexp
>                 FROM db.ImportLogFiles i'

+------------------------------------------------+
| filesourceregexp                               |
+------------------------------------------------+
| ^[0-9]{8}_1062355673_merge_google_pbn\.csv$    |
| ^[0-9]{8}_8026062435_merge_google_pbn\.csv$    |
| ^[0-9]{8}_1062355673_store_visits_report\.csv$ |
+------------------------------------------------+

max@host 10:14:10: ~$ mysql -h db-master.domain.local -uuser -ppw db -e '
                SELECT
                DISTINCT i.filesourceregexp
                FROM db.ImportLogFiles i' | tail -n +2
^[0-9]{8}_1062355673_merge_google_pbn\\.csv$
^[0-9]{8}_8026062435_merge_google_pbn\\.csv$
^[0-9]{8}_1062355673_store_visits_report\\.csv$
max@host 10:14:19: ~$ 

Tenho essas opções em my.cnf:

[client] 
host = db-master 
user = user 
password = pass 
default-character-set=utf8

Por que canalizar o resultado tailaltera a saída/string? (observe o duplo \).

pipe mysql
  • 1 respostas
  • 2118 Views
Prev
Próximo

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