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
George Shafer
Asked: 2018-11-16 12:22:56 +0800 CST

Comando de data dá número de semana errado para 31 de dezembro

  • 21

Quando tento obter o número da semana de 31 de dezembro, ele retorna 1. Quando recebo o número da semana de 30 de dezembro, recebo 52 --- que é o que eu esperaria. O dia segunda-feira está correto. Isso está em um RPI executando o Ubuntu.

$ date -d "2018-12-30T1:58:55" +"%V%a"

52Sun

$ date -d "2018-12-31T1:58:55" +"%V%a"

01Mon

Mesmo problema sem string de tempo

$ date -d "2018-12-31" +"%V%a"

01Mon
linux command-line
  • 2 respostas
  • 4203 Views
Martin Hope
Mateusz Piotrowski
Asked: 2018-11-10 07:01:06 +0800 CST

Existe um utilitário POSIX (ou pelo menos um popular) para definir o diretório de trabalho atual ao chamar um programa?

  • 21

Temos env(1) para modificar o ambiente do comando que queremos executar (por exemplo env MANPAGER=more man dtrace). Existe algo semelhante, mas para modificar o diretório em que o comando será iniciado?

O ideal seria que ficasse assim:

theMagicCommand /new/cwd myProgram

Dessa forma, ele pode ser "encadeado" com outros comandos do tipo env(1), por exemplo,

daemon -p /tmp/pid env VAR=value theMagicCommand /new/cwd myProgram

Até agora posso pensar na seguinte solução, que infelizmente não tem a mesma interface que env(1):

cd /new/cwd && myProgram

Além disso, posso criar um script de shell simples como este:

#! /bin/sh -
cd "${1:?Missing the new working directory}" || exit 1
shift
exec "${@:?Missing the command to run}"

mas estou procurando algo que já existe (pelo menos no macOS e FreeBSD).

myProgramnão é necessariamente um aplicativo de desktop (nesse caso eu poderia usar apenas a tecla Path em um arquivo .desktop ).

shell freebsd
  • 4 respostas
  • 3033 Views
Martin Hope
Alexander Mills
Asked: 2018-10-18 09:36:46 +0800 CST

O que impede stdout/stderr de intercalar?

  • 21

Digamos que eu execute alguns processos:

#!/usr/bin/env bash

foo &
bar &
baz &

wait;

Eu corro o script acima assim:

foobarbaz | cat

até onde posso dizer, quando qualquer um dos processos grava em stdout/stderr, sua saída nunca é intercalada - cada linha de stdio parece ser atômica. Como isso funciona? Qual utilitário controla como cada linha é atômica?

shell osx
  • 2 respostas
  • 3715 Views
Martin Hope
curious_one
Asked: 2018-09-27 04:50:00 +0800 CST

Evite listar arquivos que terminam com ~ (arquivos de backup)

  • 21

Meu requisito é listar todos os arquivos em um diretório, exceto os arquivos que terminam com a ~(arquivos de backup).

Tentei usar o comando:

ls -l | grep -v ~    

Eu recebo esta saída:

asdasad
asdasad~
file_names.txt
normaltest.txt
target_filename
testshell1.sh
testshell1.sh~
testshell2.sh
testshell2.sh~
testtwo.txt
testtwo.txt~
test.txt
test.txt~

Eu quero obter apenas esses arquivos:

asdasad
file_names.txt
normaltest.txt
target_filename
testshell1.sh
testshell2.sh
testtwo.txt
test.txt
filenames ls
  • 7 respostas
  • 4366 Views
Martin Hope
lonix
Asked: 2018-09-05 04:15:43 +0800 CST

Devo excluir as senhas dos usuários depois de configurar a autenticação de chave pública para SSH?

  • 21

É melhor usar chaves públicas para SSH. Então o meu sshd_configtem PasswordAuthentication no.

Alguns usuários nunca fazem login, por exemplo, um usuário sftp com shell /usr/sbin/nologin. Ou uma conta do sistema.

Para que eu possa criar esse usuário sem uma senha com adduser gary --shell /usr/sbin/nologin --disabled-password.

Isso é uma boa/má ideia? Existem ramificações que não considerei?

ubuntu ssh
  • 2 respostas
  • 5654 Views
Martin Hope
Sumit
Asked: 2018-06-10 06:38:55 +0800 CST

Como exportar um perfil do terminal gnome?

  • 21

É possível exportar um perfil do terminal gnome para outro computador?

Eu crio um perfil de terminal usando edit>preferences e salvei como "def". Gostaria de salvar a configuração em um arquivo e usá-la em outro computador.

Eu tento grep "def" dentro de .config/dconf/ e encontro

Binary file dconf/user matches

É possível extrair as informações da configuração (principalmente sobre as cores, leva muito tempo para encontrar as cores certas) e usá-las em outro computador.

Estou usando o Fedora 28 com o gnome.

4.16.13-300.fc28.x86_64, gnome-terminal-3.28.2-2.fc28.x86_64.

gnome-terminal
  • 2 respostas
  • 12141 Views
Martin Hope
x80486
Asked: 2018-05-13 04:50:21 +0800 CST

Erro do BIOS ACPI / AE_NOT_FOUND

  • 21

Estou recebendo essas mensagens de erro toda vez que reinicio minha área de trabalho (e mais algumas que não sei como reter quando está desligando, mas essas não são relevantes para esta questão até agora):

[gorre@uplink ~]$ journalctl -p err..alert
...
-- Reboot --
May 11 21:47:03 uplink kernel: ACPI BIOS Error (bug): Failure looking up [\_SB.PCI0.RP04.PXSX._SB.PCI0.RP05.PXSX], AE_NOT_FOUND (20180105/dswload2-194)
May 11 21:47:03 uplink kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20180105/psobject-252)
May 11 21:47:03 uplink kernel: ACPI Error: Method parse/execution failed \_SB.PCI0.RP04.PXSX, AE_NOT_FOUND (20180105/psparse-550)
May 11 21:47:03 uplink kernel: ACPI BIOS Error (bug): Failure looking up [\_SB.PCI0.RP08.PXSX._SB.PCI0.RP09.PXSX], AE_NOT_FOUND (20180105/dswload2-194)
May 11 21:47:03 uplink kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20180105/psobject-252)
May 11 21:47:03 uplink kernel: ACPI Error: Method parse/execution failed \_SB.PCI0.RP08.PXSX, AE_NOT_FOUND (20180105/psparse-550)
May 12 07:09:30 uplink kernel: rtc_cmos 00:03: Alarms can be up to one month in the future
-- Reboot --
May 12 07:10:32 uplink kernel: ACPI BIOS Error (bug): Failure looking up [\_SB.PCI0.RP04.PXSX._SB.PCI0.RP05.PXSX], AE_NOT_FOUND (20180105/dswload2-194)
May 12 07:10:32 uplink kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20180105/psobject-252)
May 12 07:10:32 uplink kernel: ACPI Error: Method parse/execution failed \_SB.PCI0.RP04.PXSX, AE_NOT_FOUND (20180105/psparse-550)
May 12 07:10:32 uplink kernel: ACPI BIOS Error (bug): Failure looking up [\_SB.PCI0.RP08.PXSX._SB.PCI0.RP09.PXSX], AE_NOT_FOUND (20180105/dswload2-194)
May 12 07:10:32 uplink kernel: ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20180105/psobject-252)
May 12 07:10:32 uplink kernel: ACPI Error: Method parse/execution failed \_SB.PCI0.RP08.PXSX, AE_NOT_FOUND (20180105/psparse-550)

Encontrei este artigo que afirma que alguém pode adicionar esta linha: echo "disable" > /sys/firmware/acpi/interrupts/gpe6Fto /etc/rc.local, mas não tenho certeza se essa é a solução correta ... além disso, se for apenas "corrigir" as mensagens de erro, mas não corrigir o problema subjacente - se houver.

Ou talvez eu deva esperar por uma atualização?


Estou a usar:

[gorre@uplink ~]$ uname -a
Linux uplink 4.16.8-1-ARCH #1 SMP PREEMPT Wed May 9 11:25:02 UTC 2018 x86_64 GNU/Linux

... e este é o meu hardware:

  • Fonte de alimentação Corsair RMX750 (750 Watt) 80+ Gold totalmente modular
  • Processador Intel Core i7-8700 (BX80684I78700)
  • Asus Prime Z370-P
  • Corsair Force MP500 M.2 2280 240GB NVMe PCI-Express 3.0 x4 MLC SSD
  • Corsair Vengeance LPX 32 GB (2 x 16 GB) 288 pinos DDR4 SDRAM DDR4 2666 (PC4 21300)

ATUALIZAR

4.19.13-1-ltsNova atualização do kernel :

$ uname -a
Linux uplink 4.19.13-1-lts #1 SMP Sun Dec 30 07:38:47 CET 2018 x86_64 GNU/Linux

...e as mensagens de erro/aviso finalmente desapareceram!

-- Reboot --
Dec 28 09:40:42 uplink kernel: ACPI Error: [_SB_.PCI0.RP05.PXSX] Namespace lookup failure, AE_NOT_FOUND (20170728/dswload2-191)
Dec 28 09:40:42 uplink kernel: ACPI Exception: AE_NOT_FOUND, During name lookup/catalog (20170728/psobject-252)
Dec 28 09:40:42 uplink kernel: ACPI Error: Method parse/execution failed \_SB.PCI0.RP04.PXSX, AE_NOT_FOUND (20170728/psparse-550)
Dec 28 09:40:42 uplink kernel: ACPI Error: [_SB_.PCI0.RP09.PXSX] Namespace lookup failure, AE_NOT_FOUND (20170728/dswload2-191)
Dec 28 09:40:42 uplink kernel: ACPI Exception: AE_NOT_FOUND, During name lookup/catalog (20170728/psobject-252)
Dec 28 09:40:42 uplink kernel: ACPI Error: Method parse/execution failed \_SB.PCI0.RP08.PXSX, AE_NOT_FOUND (20170728/psparse-550)
Dec 28 09:41:08 uplink gnome-session-binary[712]: Unrecoverable failure in required component org.gnome.Shell.desktop
Dec 28 11:48:13 uplink flatpak[7192]: libostree HTTP error from remote flathub for <https://dl.flathub.org/repo/objects/3d/b5370c04103b9acd46bca2f315fb4855649926120b099a>
Dec 28 11:48:16 uplink flatpak[7192]: libostree HTTP error from remote flathub for <https://dl.flathub.org/repo/objects/e0/a43c4cbae106fc801d3c7bcc004b8222e9bf0528beef04>
Dec 29 12:19:37 uplink kernel: rtc_cmos 00:03: Alarms can be up to one month in the future
Dec 30 09:03:02 uplink kernel: rtc_cmos 00:03: Alarms can be up to one month in the future
Dec 30 19:07:11 uplink kernel: [drm:intel_pipe_update_end [i915]] *ERROR* Atomic update failure on pipe A (start=952715 end=952716) time 142 us, min 1073, max 1079, scan>
Dec 31 08:11:28 uplink kernel: rtc_cmos 00:03: Alarms can be up to one month in the future
-- Reboot --
Jan 01 10:23:42 uplink gnome-session-binary[516]: Unrecoverable failure in required component org.gnome.Shell.desktop
linux arch-linux
  • 3 respostas
  • 55455 Views
Martin Hope
Heath Raftery
Asked: 2018-04-04 19:42:34 +0800 CST

Usar jq dentro da cadeia de pipe não produz saída

  • 21

A questão da jqnecessidade de um filtro explícito quando a saída é redirecionada é discutida em toda a web. Mas não consigo redirecionar a saída se fizer jqparte de uma cadeia de pipe, mesmo quando um filtro explícito está em uso.

Considerar:

touch in.txt
tail -f in.txt | jq '.f1'
# in a different terminal:
echo '{"f1":1,"f2":2}' >> in.txt
echo '{"f1":3,"f2":2}' >> in.txt

Como esperado, a saída no terminal original do jqcomando é:

1
3

Mas se eu adicionar qualquer tipo de redirecionamento ou canalização ao final do jqcomando, a saída ficará silenciosa:

rm in.txt
touch in.txt
tail -f in.txt | jq '.f1' | tee out.txt
# in a different terminal:
echo '{"f1":1,"f2":2}' >> in.txt
echo '{"f1":3,"f2":2}' >> in.txt

Nenhuma saída aparece no primeiro terminal e out.txt está vazio.

Eu tentei centenas de variações, mas é um problema indescritível. A única solução alternativa que encontrei , conforme descoberto por meio de mosquitto_sube The Things Network (que foi onde também descobri o problema), é agrupar as funções tail e jq em um script de shell:

#!/bin/bash
tail -f $1 | while IFS='' read line; do
echo $line | jq '.f1'
done

Então:

./tail_and_jq.sh | tee out.txt
# in a different terminal:
echo '{"f1":1,"f2":2}' >> in.txt
echo '{"f1":3,"f2":2}' >> in.txt

E com certeza, a saída aparece:

1
3

Isso com o último jqinstalado via Homebrew:

$ echo $SHELL
/bin/bash
$ jq --version
jq-1.5
$ brew install jq
Warning: jq 1.5_3 is already installed and up-to-date

Isso é um bug (em grande parte não documentado) no jqmeu entendimento de correntes de tubulação?

pipe io-redirection
  • 2 respostas
  • 13970 Views
Martin Hope
alpha
Asked: 2018-02-10 03:21:54 +0800 CST

O que acontece se você excluir um arquivo de dispositivo?

  • 21

Eu sei aproximadamente sobre os arquivos localizados em /dev.

Sei que existem dois tipos (caractere/bloco), o acesso a esses arquivos se comunica com um driver no kernel.

Quero saber o que acontece se eu excluir um - especificamente para os dois tipos de arquivo. Se eu excluir um arquivo de dispositivo de bloco, digamos /dev/sda, que efeito - se houver - isso terá? Acabei de desmontar o disco?

Da mesma forma, e se eu excluir /dev/mouse/mouse0- o que acontece? O mouse para de funcionar? Ele se substitui automaticamente?

Posso excluir esses arquivos? Se eu tivesse uma VM configurada, tentaria.

linux linux-kernel
  • 3 respostas
  • 6017 Views
Martin Hope
user1717828
Asked: 2017-12-16 08:16:04 +0800 CST

Milhões de (pequenos) arquivos de texto em uma pasta

  • 21

Gostaríamos de armazenar milhões de arquivos de texto em um sistema de arquivos Linux, com o objetivo de compactar e servir uma coleção arbitrária como um serviço. Tentamos outras soluções, como um banco de dados de chave/valor, mas nossos requisitos de simultaneidade e paralelismo tornam o uso do sistema de arquivos nativo a melhor escolha.

A maneira mais direta é armazenar todos os arquivos em uma pasta:

$ ls text_files/
1.txt
2.txt
3.txt

o que deve ser possível em um sistema de arquivos EXT4 , que não tem limite para o número de arquivos em uma pasta.

Os dois processos FS serão:

  1. Escreva o arquivo de texto do web scrape (não deve ser afetado pelo número de arquivos na pasta).
  2. Compacte os arquivos selecionados, fornecidos pela lista de nomes de arquivos.

Minha pergunta é: o armazenamento de até dez milhões de arquivos em uma pasta afetará o desempenho das operações acima ou o desempenho geral do sistema, de maneira diferente de criar uma árvore de subpastas para os arquivos residirem?

files filesystems
  • 5 respostas
  • 12448 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