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
nh2
Asked: 2025-03-29 22:00:25 +0800 CST

Diferença entre pointopoint-/32 e /32 com rota adicionada

  • 7

Em redes Linux, há alguma diferença entre criar um endereço IP com uma /32sub-rede pointopoint GATEWAYhabilitada e um endereço /32com uma rota adicional GATEWAY?

( pointopointin ifconfigé a peeropção em ip address, e o IFF_POINTOPOINTsinalizador no kernel.)

Concretamente, existe alguma diferença (por exemplo, no comportamento de roteamento ou desempenho) entre os comandos

ip addr add 1.2.3.4/32 peer 1.2.3.1 dev eth0

e

ip addr add 1.2.3.4/32 dev eth0
ip route add 1.2.3.1 dev eth0

onde 1.2.3.1fica o portal?

Pergunta bônus: se não há diferença, por que foi pointopointadicionado ao kernel?

linux
  • 1 respostas
  • 42 Views
Martin Hope
glades
Asked: 2025-03-29 21:59:02 +0800 CST

vincular -x com pontos de código unicode

  • 5

Eu instruí meu emulador de terminal a enviar "\u{85}" (caractere de controle C1 "NEXT LINE" (NEL)) pelo pipe para ser capturado pelo bash:

bind -x '"\u0085":"echo Hello"'

Mas isso não aciona nada. Então minha primeira pergunta é: Como eu represento pontos de código unicode para bind -x? Estranhamente, o bash pega a representação octal:

bind -x '"\205":"echo Hello"'

Em qualquer caso, o acima cria artefatos estranhos no shell:

Hello
 $ �Hello
Hello
 $ �

Imaginei que o caractere de controle provavelmente tem alguns efeitos colaterais. Então, minha segunda pergunta é: qual intervalo unicode posso reutilizar com segurança para meu próprio bem?

bash
  • 1 respostas
  • 29 Views
Martin Hope
NetRanger
Asked: 2025-03-29 20:48:32 +0800 CST

Adicione um caractere para duplicar e-mails usando apenas o bash

  • 3

Dados de entrada:

id,location_id,name,title,[email protected],department
1,1,Susan houston,Director of Services,[email protected],
2,1,Christina Gonzalez,Director,[email protected],
3,2,Brenda brown,"Director, Second Career Services",[email protected],
4,3,Howard Lader,"Manager, Senior Counseling",[email protected],
8,6,Bart charlow,Executive Director,[email protected],
9,7,Bart Charlow,Executive Director,[email protected],

Preciso adicionar um caractere para duplicar e-mails após a parte do e-mail, ou seja, [email protected] se tornaria [email protected] (o dígito após a parte do e-mail precisa ser retirado da segunda coluna). Como posso fazer isso no Bash para todas as entradas?

bash
  • 2 respostas
  • 81 Views
Martin Hope
Adrián Bíro
Asked: 2025-03-29 18:54:53 +0800 CST

A diretiva de registro do systemd acrescenta ' ^M ' no arquivo de registro. O que devo especificar no arquivo de unidade para removê-lo?

  • 5

Tenho um script de backup (wrapper rsync) em execução, eu estava usando --log-fileflag com rsync antes, depois de mudar para StandardOutput/StandardError o systemd começou a acrescentar ' ^M ' entre as linhas de log. Como posso removê-lo com a instrução de arquivo unitário, por favor?

[Unit]
Description=...
Wants=...

[Service]
Type=oneshot
User=adrian
Group=adrian
ReadOnlyPaths=/
ReadWritePaths=/var/log/foo.log
StandardOutput=append:/var/log/foo.log
StandardError=append:/var/log/foo.log
ExecPaths=/usr/local/bin /usr/bin /bin
ExecStart=/usr/local/bin/foo_script.sh

[Install]
WantedBy=multi-user.target

Configurações de ambiente

echo $LANG
en_US.UTF-8

Tentei vários modos de saída, mas com o mesmo resultado.

Não é causado pelo editor ou outra ferramenta, o systemd loggin está anexando-o. A versão original com o logging especificado no script com o sinalizador rsync estava funcionando sem nenhum problema. journalctl -u <service name>está renderizando ok, mas a diretiva de saída do systemd está anexando-o ali.

systemd
  • 1 respostas
  • 61 Views
Martin Hope
Seamus
Asked: 2025-03-29 14:21:22 +0800 CST

Como enviar um "keypress" para uma instância de 'mpg123' iniciada em 'cron'?

  • 6

Eu costumo mpg123tocar uma lista de músicas enquanto trabalho. O host que realmente executa mpg123e toca a música é um sistema local, sem interface , mas posso me conectar a ele por SSH. Eu começo mpg123neste host em cron; ele toca as faixas de áudio da minha "playlist" em um loop contínuo. No entanto, há momentos em que preciso pausar a música (chamadas telefônicas recebidas, visitantes, etc.).

man mpg123diz que pressionando a stecla uma vez eu posso pausar a reprodução, e pressioná-la novamente para recomeçar. Se eu iniciar mpg123em um terminal, e deixá-lo rodando, isso funciona bem. Eu também aprendi que é possível enviar um sinal de "pausa" ( s) para mpg123quando ele estiver sendo reproduzido em uma screensessão:

$ screen -S mpg123                                   # to start the screen session 
$ /usr/bin/mpg123 --loop -1 /home/pi/rainstorm.mp3   # for example
'ctrl+a, d'                                          # quit screen 

... 

$ screen -S mpg123 -X stuff "s"   # pauses play

Encontrei uma pergunta parecida com a minha aqui no SO , mas a resposta parece não atingir o objetivo - pelo menos eu não entendi!

Não consegui encontrar um método que me permita enviar um scomando "pause" ( ) para mpg123se ele foi iniciado em cron. Eu preferiria uma rota mais diretascreen do que enviar esse comando para mpg123, além disso, não tenho certeza se isso poderia ser configurado usando cron.

Alguém pode me aconselhar sobre uma abordagem? Eu preferiria uma " bashsolução" a uma que exija (por exemplo) um programa em C - mas ficaria feliz em aceitar o que eu puder conseguir!

linux
  • 1 respostas
  • 33 Views
Martin Hope
Ambre
Asked: 2025-03-28 21:47:36 +0800 CST

O shell não está redirecionando a saída do tar para o arquivo

  • 10

Imagino que seja um problema simples, mas não tenho ninguém para verificar meu trabalho.

Aqui está meu script bash

#!/bin/bash

# establish date format and dump name
DATE=$(date +"%Y%m%d-%H%M")
DUMPFILE=$DATE.dump

# path to log dir and name of output log file 
LOGDIR=/opt/mongodb/backups/logs
DBLOG=$DATE-dump.log

# backup the database and output to a dump file, redirect output to a log
docker exec -i mongodb sh -c "mongodump --archive" > \
    $DUMPFILE 2> \ 
    $LOGDIR/$DBLOG

# archive the dump file and the file uploads
ARCHIVENAME=$DATE.tgz
ARCHIVELOG=$DATE-archive.log

tar -czvf $ARCHIVENAME /opt/mongodb/$DUMPFILE /opt/mongodb/files &> \
    $LOGDIR/$ARCHIVELOG

Onde estou preso, o script emite corretamente o log de despejo. No entanto, quando chega ao fim, recebo

./backup.sh: line 20: /opt/mongodb/backups/logs/20250328-0942-archive.log: No such file or directory

Tentei usar o caminho absoluto em vez do da var:

tar -czvf $ARCHIVENAME /opt/mongodb/$DUMPFILE /opt/mongodb/files &> \
    /opt/mongodb/backups/logs/$ARCHIVENAME

Mas recebo o mesmo erro. Estou supondo que isso seja meu entendimento ruim de redirecionamentos, tar ou um erro de sintaxe. Qualquer ajuda seria apreciada.

EDIT: Um arquivo chamado "' '" é criado toda vez que executo o script. Se executado

cat ' '

Vejo que esse arquivo é o log, então ele redireciona a saída para um arquivo, mas não da maneira desejada.

bash
  • 2 respostas
  • 576 Views
Martin Hope
None
Asked: 2025-03-28 10:34:32 +0800 CST

Por que dependendo da reinicialização as interfaces são renomeadas?! enp3s0f0 para enp3s0f0np0

  • 5

Por que dependendo da reinicialização as interfaces são renomeadas?! Mesmas placas, mesmo conector PCIe, interface de rede era enp3s0f0e se torna enp3s0f0np0sem razão.

Como acabar com esse absurdo?

RHEL 8

network-interface
  • 1 respostas
  • 36 Views
Martin Hope
Manuel Jordan
Asked: 2025-03-28 04:56:01 +0800 CST

Debian: Como aplicar um novo layout de teclado sem reinicializar?

  • 7

Através do VirtualBox foi instalado o Debian 12 como servidor e é necessário alterar o layout do teclado.

Fiz uma pesquisa no Google e usei principalmente o seguinte link como referência principal:

  • Teclado

Assim, como root, foi executado o seguinte conjunto de comandos:

  • localectl status(para saber o atual "Modelo X11")
  • dpkg-reconfigure keyboard-configuration
  • systemctl restart keyboard-setup.service
  • udevadm trigger --subsystem-match=input --action=change(porque o anterior não refletiu a mudança)
  • localectl status(aparece as novas alterações mas não estão sendo aplicadas)

Portanto é obrigatório fazer uma reinicialização

Pergunta

  • Como aplicar um novo layout de teclado sem reiniciar?
debian
  • 1 respostas
  • 30 Views
Martin Hope
IMTheNachoMan
Asked: 2025-03-28 04:27:48 +0800 CST

Como posso evitar que meu Linux grave em /data quando o servidor NFS não estiver ativo e nem montado?

  • 5

Tenho um servidor hospedando uma montagem NFS. Tenho isso montado na minha caixa Linux. Abaixo está a /etc/fstabentrada relevante.

192.168.10.11:/data                        /data          nfs4         auto,nofail,noatime,nolock,intr,tcp,actimeo=1800,soft,rsize=8192,wsize=8192  0  0

O problema é que, se eu reiniciar meu servidor NFS, ou se o servidor NFS estiver inativo quando eu reiniciar meu computador Linux, meu computador Linux gravará /datano /disco.

Existe uma maneira de evitar isso? Basicamente, se o servidor NFS não estiver montado, então não quero /datadisponível.

nfs
  • 2 respostas
  • 57 Views
Martin Hope
Dimitrios Desyllas
Asked: 2025-03-28 03:53:41 +0800 CST

Por que caracteres de controle são acrescentados em test.md?

  • 5

Estou usando uma caixa de diálogo para modificar um único valor em um arquivo:

#!/usr/bin/env bash

prompt_and_save() {
    local file=$1
    local message=$2
    local value=""

    # Check if file exists and read value
    if [ -f "$file" ]; then
        value=$(cat "$file")
    fi

    # Prompt user with dialog
    value=$(dialog --inputbox "$message" 8 50 "$value" 3>&1 1>&2 2>&3)

    # Save the value if not empty
    if [ ! -z "$value" ]; then
        echo "$value" > "$file"
    fi

    clear

    # Return the value
    echo "$value"
}

UPSTREAM_VERSION=$(prompt_and_save "VERSION" "Bump the version (or keep it the same)")
clear
NEW_ENTRY="# Version $UPSTREAM_VERSION $DATE"
RELEASE_NOTES=$(cat RELEASE_NOTES)

echo -e "$NEW_ENTRY\n${RELEASE_NOTES}" > test.md

Mas executando este script eu chego test.mdnestes valores:

# Version ^[[H^[[2J^[[3J0.2.0 
1. Split codebase into multiple files.
2. Use a seperate version file and define built version upon compile.
4. [BUGFIX] If input file is same as output file copy input file into a temporary one.
5. Improved Documentation
6. [BUGFIX] Out of bounds argument parsing
7. [BUGFIX] Values should not be an Argument

Como posso remover quaisquer caracteres de controle UPSTREAM_VERSIONanteriores echoa ele no arquivo?

bash
  • 2 respostas
  • 38 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