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
Dominick Pastore
Asked: 2022-04-28 20:52:50 +0800 CST

Por que echo -e está se comportando de maneira estranha em um Makefile?

  • 15

Eu estava escrevendo um Makefile (no Ubuntu 20.04, se for relevante) e notei um comportamento interessante com o echo. Pegue este Makefile simples:

test.txt:
        @echo -e 'hello\nworld'
        @echo -e 'hello\nworld' > test.txt

Quando eu executo make, eu esperaria ver a mesma coisa no stdout que no test.txt, mas na verdade não vejo. Eu recebo isso no stdout:

hello
world

mas isso em test.txt:

-e hello
world

Enquanto isso, se eu remover -ede ambas as linhas no Makefile, recebo isso no stdout:

hello\nworld

e isso em test.txt:

hello
world

Isso me fez pensar se echodetecta o redirecionamento e se comporta de maneira diferente, mas não quando eu apenas o executo manualmente no shell /bin/echo -e 'hello\nworld' > test.txt(que produz helloe worldem linhas separadas, como eu normalmente esperaria). Cheguei até a confirmar que o Makefile está usando /bin/echo em vez de um shell embutido adicionando uma @echo --versionlinha.

O que está acontecendo aqui?

echo gnu-make
  • 1 respostas
  • 2323 Views
Martin Hope
davidvandebunte
Asked: 2022-01-28 08:16:28 +0800 CST

Redefina o sistema de arquivos ext4 sem alterar o UUID do sistema de arquivos

  • 15

Eu tenho um sistema de arquivos com muitos arquivos pequenos que eu apago regularmente (os arquivos são um cache que pode ser facilmente regenerado). É muito mais rápido simplesmente criar um novo sistema de arquivos em vez de executar rm -rfou rsyncexcluir todos os arquivos (ou seja, excluir com eficiência um diretório grande contendo milhares de arquivos ).

O único problema com a criação de um novo sistema de arquivos para limpar o sistema de arquivos é que seu UUID muda, levando a alterações em, por exemplo, /etc/fstab.

Existe uma maneira de simplesmente "desvincular" um diretório de, por exemplo, um sistema de arquivos ext4 ou limpar completamente sua lista de inodes?

ext4 inode
  • 6 respostas
  • 1597 Views
Martin Hope
A.L
Asked: 2021-12-09 03:25:33 +0800 CST

O que é o pacote bsdutils no Debian? O que é um "sistema Unix estilo BSD"?

  • 15

Eu tropecei no pacote bsdutils no Debian. A descrição diz:

Este pacote contém o mínimo de utilitários BSD necessários para um sistema Debian: logger, renice, script, scriptlive, scriptreplay e wall. Os utilitários BSD padrão restantes são fornecidos por bsdextrautils.

Da mesma forma, a descrição do bsdmainutils também menciona o BSD:

Este pacote contém muitos pequenos programas que muitas pessoas esperam encontrar quando usam um sistema Unix no estilo BSD.

Fiquei surpreso ao ver que esses pacotes se relacionam ao BSD, no contexto de um sistema Linux.

Esses pacotes usam algum código do BSD? O que é um sistema Unix estilo BSD ?

debian history
  • 2 respostas
  • 1892 Views
Martin Hope
Diagon
Asked: 2021-11-10 03:55:47 +0800 CST

Precisa do código de saída da função de condição quando um loop "while" do Bash termina

  • 15

Estou tentando obter o código de saída da função que estou chamando repetidamente na parte "condition" de um whileloop Bash:

while <function>; do 
    <stuff> 
done 

Quando esse loop termina devido a um erro, preciso do código de saída de <function>. Alguma ideia de como posso conseguir isso?

bash shell-script
  • 4 respostas
  • 2904 Views
Martin Hope
Vlastimil Burián
Asked: 2020-02-27 18:08:26 +0800 CST

Scripts shell POSIX shebang #!/bin/sh vs #!/usr/bin/env sh, alguma diferença?

  • 15

Recentemente notei que muitos scripts estão usando /usr/bin/envem seu shebang . Eu vi isso principalmente usando Bash e Python , mas até agora nunca em conjunto com POSIX sh ( ash, dash,...).

Eu me pergunto por que, e se meus scripts de shell POSIX , destinados a serem altamente portáteis, podem se beneficiar da envabordagem?


Existe um consenso geral sobre se usar:

  • padrão:

    #!/bin/sh
    
  • meio Ambiente:

    #!/usr/bin/env sh
    

Deixe-me enfatizar isso o suficiente:

Nunca vi isso com sh.

shell posix
  • 1 respostas
  • 4579 Views
Martin Hope
Mike
Asked: 2020-02-04 17:22:21 +0800 CST

Como posso contar o número de arquivos em um diretório e excluir o mais antigo se o número exceder 5

  • 15

Criei um script para executar backups automatizados no meu servidor CentOS 7. Os backups são armazenados no diretório /home/backup. O script funciona, mas agora gostaria de incorporar uma forma de contar os arquivos após o backup acontecer e se o número for maior que 5, excluir o backup mais antigo.

Abaixo está o que eu tenho para o meu script de backup.

#!/bin/bash

#mysqldump variables

FILE=/home/backup/databasebk_!`date +"Y-%m-%d_%H:%M"`.sql
DATABASE=database
USER=root
PASS=my password

#backup command process

mysqldump --opt --user=${USER} --password=${PASS} ${DATABASE} > ${FILE}

#zipping the backup file

gzip $FILE

#send message to the user with the results

echo "${FILE}.gz was created:"
ls -l ${FILE}.gz

# This is where I would like to count the number of files 
# in the directory and if there are more than 5 I would like
# to delete the oldest file. Any help is greatly appreciated

Obrigado -Mike

shell-script variable
  • 7 respostas
  • 6296 Views
Martin Hope
John Smith
Asked: 2019-11-08 07:54:35 +0800 CST

Crie um dispositivo de bloco virtual que grava em /dev/null

  • 15

Eu quero testar alguns links físicos em uma configuração. As ferramentas de software que posso usar para testar isso exigem um dispositivo de bloco para ler/gravar de/para. Os dispositivos de bloco que tenho disponíveis não podem saturar o link físico, então não posso testá-lo completamente.

Eu sei que posso configurar um dispositivo de bloco virtual que é apoiado por um arquivo. Então, minha ideia era de alguma forma configurar um dispositivo de bloco virtual para /dev/null, mas o problema é que não consigo ler a partir dele. Existe uma maneira de configurar um dispositivo de bloco virtual que grava em /dev/null, mas apenas retorna sempre zero quando lido?

Obrigado por qualquer ajuda!

linux
  • 2 respostas
  • 1975 Views
Martin Hope
干猕猴桃
Asked: 2019-10-04 02:13:56 +0800 CST

Excluir linha se a próxima linha for a mesma

  • 15

Que comando sed/awk posso usar? Apenas sort -uirá remover todas as instâncias

Entrada:

abc
abc
def
abc
abc
def

Saída esperada:

abc
def
abc
def
text-processing
  • 3 respostas
  • 1684 Views
Martin Hope
Shuzheng
Asked: 2019-09-24 03:55:08 +0800 CST

Como o próprio vinculador/carregador dinâmico pode ser vinculado dinamicamente conforme relatado por `file`?

  • 15

Considere as dependências de objetos compartilhados de /bin/bash, que incluem /lib64/ld-linux-x86-64.so.2(ligador/carregador dinâmico):

ldd /bin/bash
    linux-vdso.so.1 (0x00007fffd0887000)
    libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007f57a04e3000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f57a04de000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f57a031d000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f57a0652000)

A inspeção /lib64/ld-linux-x86-64.so.2mostra que é um link simbólico para /lib/x86_64-linux-gnu/ld-2.28.so:

ls -la /lib64/ld-linux-x86-64.so.2 
lrwxrwxrwx 1 root root 32 May  1 19:24 /lib64/ld-linux-x86-64.so.2 -> /lib/x86_64-linux-gnu/ld-2.28.so

Além disso, os próprios filerelatórios /lib/x86_64-linux-gnu/ld-2.28.sosão vinculados dinamicamente:

file -L /lib64/ld-linux-x86-64.so.2
/lib64/ld-linux-x86-64.so.2: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=f25dfd7b95be4ba386fd71080accae8c0732b711, stripped

Eu gostaria de saber:

  1. Como o próprio vinculador/carregador dinamicamente ( /lib64/ld-linux-x86-64.so.2) pode ser vinculado dinamicamente? Ele se conecta em tempo de execução?
  2. /lib/x86_64-linux-gnu/ld-2.28.soestá documentado para lidar com binários a.out ( man ld.so), mas /bin/bashum ELF é executável?

O programa ld.so lida com binários a.out, um formato usado há muito tempo; ld-linux.so* (/lib/ld-linux.so.1 para libc5, /lib/ld-linux.so.2 para glibc2) lida com ELF, que todo mundo vem usando há anos.

linux
  • 2 respostas
  • 2535 Views
Martin Hope
retnikt
Asked: 2019-09-01 00:14:04 +0800 CST

Como executar um comando 1 de N vezes no Bash

  • 15

Eu quero uma maneira de executar um comando aleatoriamente, digamos 1 em cada 10 vezes. Existe um coreutil embutido ou GNU para fazer isso, idealmente algo como:

chance 10 && do_stuff

onde do_stuffé executado apenas 1 em 10 vezes? Eu sei que poderia escrever um script, mas parece uma coisa bastante simples e eu queria saber se existe uma maneira definida.

bash gnu
  • 5 respostas
  • 2896 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