AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

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

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

Martin Hope
terdon
Asked: 2023-08-17 00:08:44 +0800 CST

Agora é seguro analisar a saída de GNU ls?

  • 26

A sabedoria aceita nas últimas décadas é que nunca é uma boa ideia analisar a saída de ls( [1] , [2] ). Por exemplo, se eu quiser salvar a data de modificação de um arquivo junto com seu nome em uma variável shell, esta não é a maneira correta de fazer isso:

$ ls -l file
-rw-r--r-- 1 terdon terdon 0 Aug 15 19:16 file
$ foo=$(ls -l file | awk '{print $9,$6,$7,$8}')
$ echo "$foo"
file Aug 15 19:16

Assim que o nome do arquivo for ligeiramente diferente, a abordagem falha:

$ ls -l file*
-rw-r--r-- 1 terdon terdon 0 Aug 15 19:16 'file with spaces'
$ foo=$(ls -l file* | awk '{print $9,$6,$7,$8}')
$ echo "$foo"
file Aug 15 19:16

Fica pior se a data de modificação do arquivo não for próxima de hoje, pois isso pode alterar o formato da hora:

$ ls -l
total 0
-rw-r--r-- 1 terdon terdon 0 Aug 15 19:21  file
-rw-r--r-- 1 terdon terdon 0 Aug 15  2018 'file with spaces'

No entanto, as versões mais recentes do GNU coreutils lstêm duas opções que podem ser combinadas para definir um formato de hora específico e produzir uma saída delimitada por NULL:

      --time-style=TIME_STYLE
              time/date format with -l; see TIME_STYLE below
[...]
     --zero end each output line with NUL, not newline
[...]
       The TIME_STYLE argument can be full-iso,  long-iso,  iso,  locale,  or
       +FORMAT.   FORMAT  is  interpreted like in date(1).  If FORMAT is FOR‐
       MAT1<newline>FORMAT2, then FORMAT1 applies  to  non-recent  files  and
       FORMAT2  to recent files.  TIME_STYLE prefixed with 'posix-' takes ef‐
       fect only outside the POSIX locale.  Also the  TIME_STYLE  environment
       variable sets the default style to use.

Aqui estão os arquivos novamente, com essas opções definidas (o zero no final de cada linha de saída é substituído por #e uma nova linha aqui para melhorar a legibilidade):

$ ls -l --zero --time-style=long-iso -- *
-rw-r--r--+ 1 terdon terdon 0 2023-08-16 21:35 a file with a
newline#
-rw-r--r--+ 1 terdon terdon 0 2023-08-15 19:16 file#
-rw-r--r--+ 1 terdon terdon 0 2018-08-15 12:00 file with spaces#

Com essas opções disponíveis, posso fazer muitas das coisas que lstradicionalmente são ruins. Por exemplo:

  1. Obtenha o nome do arquivo modificado mais recentemente em uma variável:

    $ touch 'a file with a'$'\n''newline'
    $ last=$(ls -tr --zero | tail -z -n1)
    bash: warning: command substitution: ignored null byte in input
    $ printf -- 'LAST: "%s"\n' "$last"
    LAST: "a file with a 
    newline"
    
  2. O exemplo que gerou essa pergunta. Outra pergunta, no Ask Ubuntu, onde o OP queria imprimir o nome do arquivo e a data de modificação. Alguém postou uma resposta usando lse um awktruque inteligente e, se somarmos --zeroa ls, parece ser bem robusto:

    $ output=$(ls -l --zero --time-style=long-iso -- * | 
               awk 'BEGIN{RS="\0"}{ t=index($0,$7); print substr($0,t+6), $6 }')
    $ printf 'Output: "%s"\n' "$output"
    Output: "a file with a
    newline 2023-08-16"
    

Não consigo encontrar um nome que quebre qualquer um desses dois exemplos. Então, minhas perguntas são:

  1. Existe um caso que falharia em um dos dois exemplos acima? Talvez alguma esquisitice local?
  2. Se não, isso significa que as versões modernas do GNU lspodem realmente ser usadas com segurança com nomes de arquivo arbitrários?
shell
  • 3 respostas
  • 3946 Views
Martin Hope
Evan Carroll
Asked: 2023-07-30 05:04:18 +0800 CST

O que é "horkage"?

  • 35

Existem muitas constantes no Kernel nomeadas comHORKAGE ,

  • ATA_HORKAGE_ZERO_AFTER_TRIM
  • ATA_HORKAGE_NODMA
  • ATA_HORKAGE_ATAPI_MOD16_DMA
  • ATA_HORKAGE_NO_DMA_LOG
  • ATA_HORKAGE_NO_ID_DEV_LO
  • ATA_HORKAGE_NO_LOG_DIR
  • ATA_HORKAGE_WD_BROKEN_LPM

No entanto, estes não são realmente documentados

Force horkage de acordo com libata.force e reclame sobre isso. Para consistência com a seleção do link, o dispositivo número 15 seleciona o primeiro dispositivo conectado ao link do host.

O que significa "horkage"?

linux
  • 4 respostas
  • 5564 Views
Martin Hope
Sebastian Carlos
Asked: 2023-07-06 15:17:35 +0800 CST

Por que "sim e" trava minha sessão Bash?

  • 30

"Sim, e..." é uma regra prática maravilhosa na comédia improvisada. Não tanto no mundo UNIX.

Quando executo o yes&comando reconhecidamente bobo, não consigo interrompê-lo. O terminal trava ou fica preso em um loop.

Espero que o yesprocesso seja suspenso imediatamente, pois qualquer processo em segundo plano deve ser suspenso se tentar gravar no stdout, mas não parece ser o caso e estou me perguntando o porquê.

bash
  • 2 respostas
  • 4866 Views
Martin Hope
Patrick Bucher
Asked: 2023-04-05 14:45:11 +0800 CST

Devo (ainda) usar UTC para todos os meus servidores?

  • 28

Meu empregador está localizado na Europa (CET) e, portanto, usamos o horário de verão, o que requer uma mudança de uma hora duas vezes por ano. Nossos servidores estão rodando na nuvem em diferentes locais. O funcionário que montou toda a infraestrutura se foi. Ele decidiu usar UTC como fuso horário do sistema em todos os servidores (atualmente Ubuntu 18.04, 20.04 e 22.04).

Isso não é o ideal, porque você precisa adicionar mentalmente 1/2 hora a cada data que vê em um arquivo de log, dependendo da época do ano (+2 horas no verão, +1 hora no inverno). O tempo de alguns cronjobs também precisa ser ajustado duas vezes ao ano, porque as tarefas devem ser executadas ao meio-dia CET.

Existe algum bom motivo para (ainda) usar UTC como fuso horário do sistema? Ou devo mudar para CET, para que meus cronjobs e arquivos de log se alinhem melhor com o relógio de parede?

linux
  • 4 respostas
  • 4574 Views
Martin Hope
Ole Tange
Asked: 2023-03-22 06:10:14 +0800 CST

rsync o arquivo `a`b

  • 27

Sim, eu sei o que você está pensando: "Quem diabos nomeia seu arquivo `a`b?"

Mas vamos supor que você tenha um arquivo chamado `a`b(possivelmente feito por um usuário maluco do Mac - obviamente não por você), e você deseja rsyncisso. A solução óbvia:

rsync server:'./`a`b' ./.;
rsync 'server:./`a`b' ./.;

dá:

bash: line 1: a: command not found
rsync: [sender] link_stat "/home/tange/b" failed: No such file or directory (2)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1865) [Receiver=3.2.7]
rsync: [Receiver] write error: Broken pipe (32)

Até:

$ rsync 'server:./\`a\`b' ./.;
bash: line 3: a\: command not found
rsync: [sender] link_stat "/home/tange/\b" failed: No such file or directory (2)
:

Qual é o rsynccomando que devo executar?

$ rsync --version
rsync  version 3.2.7  protocol version 31
rsync
  • 3 respostas
  • 1557 Views
Martin Hope
Damn Vegetables
Asked: 2023-03-20 11:31:18 +0800 CST

Por que a escala fracionária do Gnome é 1,7518248558044434 em vez de 1,75?

  • 26

Se eu definir a escala de 175% nas configurações do Gnome, o valor será salvo como 1.7518248558044434em ~/.config/monitors.xml:

<monitors version="2">
  <configuration>
    <logicalmonitor>
      <x>0</x>
      <y>0</y>
      <scale>1.7518248558044434</scale>
      <primary>yes</primary>
      <monitor>
        <monitor spec>
          <connector>DP-3</connector>

Por que é tão? A princípio, pensei que poderia ser devido a um erro de arredondamento de ponto flutuante, mas 1,75 é um daqueles números felizes cujo valor exato pode ser expresso.

Gnomo Wayland 43.3

gnome
  • 2 respostas
  • 7516 Views
Martin Hope
user356126
Asked: 2022-12-22 18:15:43 +0800 CST

Como o kernel sabe que está saindo da hibernação, não inicializando?

  • 30

Quando um sistema Linux hiberna e sai da hibernação, acho que o kernel precisa saber que está retomando, não inicializando. Caso contrário, o kernel iniciará o processo de inicialização normal e não carregará os dados trocados. Como o kernel sabe que está retomando?

A princípio, pensei que o GRUB (ou outro gerenciador de inicialização) informa o kernel pelos parâmetros do kernel. Mas, desde que eu verifique /proc/cmdline, os parâmetros do kernel são os mesmos de sempre. Existe algum mecanismo para o kernel saber que está retomando?

linux-kernel
  • 1 respostas
  • 2194 Views
Martin Hope
Ian Christy
Asked: 2022-07-06 13:12:02 +0800 CST

Por que awk -F funciona para a maioria das letras, mas não para a letra "t"?

  • 39
 July 2022      mac os Monterey V12.1 
   awk --version 20200816
   GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin21)

Por que awk -Ffunciona para a maioria das letras, mas NÃO para a letra t? Eu tenho a solução, mas gostaria de entender porque o awk falha para a letra t.

# Count 'e's
% echo "tweeter" | awk -F "e" '{print NF-1}'
3

# Count 'r's
% echo "tweeter" | awk -F "r" '{print NF-1}'
1

# (Attempt to) count 't's
% echo "tweeter" | awk -F "t" '{print NF-1}'
0   <=== ????

# Use gsub()
% echo "tweeter" | awk '{print gsub(/t/, "")}'
2
awk macos
  • 2 respostas
  • 6945 Views
Martin Hope
manuel
Asked: 2022-05-28 05:12:56 +0800 CST

Não foi possível excluir este arquivo como root [duplicado]

  • 25
Essa pergunta já tem respostas aqui :
Não é possível excluir o arquivo, mesmo executando como root (3 respostas)
Por que não consigo excluir este arquivo como root? (2 respostas)
Fechado há 5 meses .

Não consigo excluir um arquivo com rm -rf /home/wordpress/testDomain.comda minha máquina Linux. Em vez do arquivo ser excluído, recebo um Operation not permittederro. Como posso consertar isso?

$ cd /home/wordpress/testDomain.com/wp-content/plugins/sitepress-multilingual-cms/vendor/otgs
$ sudo rm -f annmanagement
rm: cannot remove 'annmanagement': Operation not permitted
$ ls -al
total 3308
drwxr-xr-x 2 www-data www-data    4096 May 27 13:43 .
drwxr-xr-x 3 www-data www-data    4096 May 27 13:46 ..
-r-------- 1 root     root     3375768 Dec 27  2016 annmanagement

$ sudo find . -inum 535255 -exec rm -i {} \;**
rm: remove regular file './annmanagement'? y
rm: cannot remove './annmanagement': Operation not permitted


$ lsattr
----i---------e----- ./annmanagement

$ stat annmanagement
  File: annmanagement
  Size: 3375768         Blocks: 6600       IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 535255      Links: 1
Access: (0400/-r--------)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2022-05-27 09:02:30.650849241 +0200
Modify: 2016-12-27 10:48:37.000000000 +0100
Change: 2022-03-15 07:59:42.524922372 +0100
 Birth: -

Saída de linha:

$ sudo strace rm -f annmanagement**
execve("/bin/rm", ["rm", "-f", "annmanagement"], 0x7ffc24e45690 /* 13 vars */) = 0
brk(NULL)                               = 0x55cd820a2000
arch_prctl(0x3001 /* ARCH_??? */, 0x7ffe7894d320) = -1 EINVAL (Invalid argument)
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=42697, ...}) = 0
mmap(NULL, 42697, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f8c5d386000
close(3)                                = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300A\2\0\0\0\0\0"..., 832) = 832
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
pread64(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32, 848) = 32
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\30x\346\264ur\f|Q\226\236i\253-'o"..., 68, 880) = 68
fstat(3, {st_mode=S_IFREG|0755, st_size=2029592, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8c5d384000
pread64(3, "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"..., 784, 64) = 784
pread64(3, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32, 848) = 32
pread64(3, "\4\0\0\0\24\0\0\0\3\0\0\0GNU\0\30x\346\264ur\f|Q\226\236i\253-'o"..., 68, 880) = 68
mmap(NULL, 2037344, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f8c5d192000
mmap(0x7f8c5d1b4000, 1540096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x22000) = 0x7f8c5d1b4000
mmap(0x7f8c5d32c000, 319488, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x19a000) = 0x7f8c5d32c000
mmap(0x7f8c5d37a000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1e7000) = 0x7f8c5d37a000
mmap(0x7f8c5d380000, 13920, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f8c5d380000
close(3)                                = 0
arch_prctl(ARCH_SET_FS, 0x7f8c5d385580) = 0
mprotect(0x7f8c5d37a000, 16384, PROT_READ) = 0
mprotect(0x55cd80c6a000, 4096, PROT_READ) = 0
mprotect(0x7f8c5d3be000, 4096, PROT_READ) = 0
munmap(0x7f8c5d386000, 42697)           = 0
brk(NULL)                               = 0x55cd820a2000
brk(0x55cd820c3000)                     = 0x55cd820c3000
openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=3035952, ...}) = 0
mmap(NULL, 3035952, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f8c5ceac000
close(3)                                = 0
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
newfstatat(AT_FDCWD, "annmanagement", {st_mode=S_IFREG|0400, st_size=3375768, ...}, AT_SYMLINK_NOFOLLOW) = 0
unlinkat(AT_FDCWD, "annmanagement", 0)  = -1 EPERM (Operation not permitted)
openat(AT_FDCWD, "/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=2996, ...}) = 0
read(3, "# Locale name alias data base.\n#"..., 4096) = 2996
read(3, "", 4096)                       = 0
close(3)                                = 0
openat(AT_FDCWD, "/usr/share/locale/en_US.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en_US.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en_US/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale-langpack/en_US.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale-langpack/en_US.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale-langpack/en_US/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale-langpack/en.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale-langpack/en.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale-langpack/en/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
write(2, "rm: ", 4rm: )                     = 4
write(2, "cannot remove 'annmanagement'", 29cannot remove 'annmanagement') = 29
openat(AT_FDCWD, "/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale-langpack/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale-langpack/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale-langpack/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale-langpack/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale-langpack/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale-langpack/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
write(2, ": Operation not permitted", 25: Operation not permitted) = 25
write(2, "\n", 1
)                       = 1
lseek(0, 0, SEEK_CUR)                   = -1 ESPIPE (Illegal seek)
close(0)                                = 0
close(1)                                = 0
close(2)                                = 0
exit_group(1)                           = ?
+++ exited with 1 +++
files permissions
  • 1 respostas
  • 1905 Views
Martin Hope
Fajela Tajkiya
Asked: 2022-05-04 13:57:12 +0800 CST

Ao usar cat para criar arquivo, tenho que digitar ctrl+d duas vezes para finalizar a entrada, isso é esperado? [duplicado]

  • 29
Essa pergunta já tem respostas aqui :
Ctrl+D para terminar a entrada da linha do terminal (2 respostas)
Fechado há 5 meses .

Acabei de aprender um truque para criar um novo arquivo com o catcomando. Pelos meus testes, se a última linha não for seguida por uma nova linha, terei que digitar ctrl+dduas vezes para finalizar a entrada, conforme demonstrado abaixo.

[root@192 ~]# gato > teste
uma
b
ctrl+d[root@192 ~]# gato > teste
uma
b ctrl+dctrl+d[root@192 ~]#

Isso é esperado? Por que esse comportamento?

cat newlines
  • 2 respostas
  • 2480 Views
Martin Hope
Fravadona
Asked: 2022-04-14 00:25:04 +0800 CST

Como evitar que os anexos automáticos ao .bashrc sejam eficazes?

  • 27

Estou procurando uma maneira de anular o comportamento indesejável de alguns instaladores que anexam código .bashrcpara forçar o carregamento de seu ambiente automaticamente. O problema surgiu algumas vezes, principalmente com o Conda, e em alguns casos o usuário acabou com uma conta quebrada que o impedia de fazer login mais.

Eu tentei adicionar um documento aqui não fechado no final do .bashrc, assim:

# .bashrc

#...

: <<'__END__'

O que funciona, mas gera avisos irritantes de erros de análise .

Qual seria uma maneira limpa de fazer isso (sem tornar o .bashrc somente leitura)?

bash
  • 3 respostas
  • 1677 Views
Martin Hope
user149408
Asked: 2022-04-04 05:29:21 +0800 CST

Adicionar encaminhamento de porta a uma sessão SSH em execução

  • 23

O cliente OpenSSH tem uma opção de linha de comando para encaminhamento de porta, usada assim:

ssh -L localport:server:serverport user@host

que se conectará hostcomo user, e ao mesmo tempo redirecionará localporto cliente para serverporton server(que pode ser hostou qualquer coisa alcançável pela hostrede).

Agora suponha que eu tenha SSHed para hostfazer apenas

ssh user@host

e no meio da sessão percebo que esqueci de encaminhar a porta. Infelizmente, estou no meio de algo, então não quero apenas sair e restabelecer a conexão SSH com o encaminhamento de porta.

Existe uma maneira de adicionar encaminhamento de porta a uma sessão SSH em execução?

openssh port-forwarding
  • 2 respostas
  • 2242 Views
Martin Hope
DEKKER
Asked: 2022-04-01 06:40:04 +0800 CST

O que acontece quando o Linux fica sem letras para unidades?

  • 35

Digamos que eu tenha 50 unidades flash USB.

Eu suponho que eles chegam a /dev/sdaser /dev/sdz. O que vem depois /dev/sdz?

linux filesystems
  • 1 respostas
  • 4480 Views
Martin Hope
Michael
Asked: 2022-02-16 11:40:33 +0800 CST

Equivalente a Ctrl-Alt-Del no Linux? [duplicado]

  • 32
Essa pergunta já tem respostas aqui :
O que fazer quando um desktop Linux congela? (9 respostas)
Fechado há 8 meses .

Eu tolamente comecei um trabalho que acabou sendo tão grande e ocupado que congelou tudo. Eu gostaria de poder digitar um comando kill ou usar xkill, mas o sistema não responde, além da troca audível. No Windows, Ctrl-Alt-Del ajuda nessas situações; o Linux tem uma maneira de entrar em um sistema sobrecarregado?

Acabei de ver este e não pude deixar de compartilhar:

xkcd: Teclado Acordado

centos kill
  • 5 respostas
  • 5353 Views
Martin Hope
ks1322
Asked: 2022-01-23 03:03:53 +0800 CST

Por que o 'ping' não gera um resumo ao redirecionar a saída?

  • 29

Consigo fazer ping no google.com por vários segundos e quando pressiono Ctrl+ C, um breve resumo é exibido na parte inferior:

$ ping google.com
PING google.com (74.125.131.113) 56(84) bytes of data.
64 bytes from lu-in-f113.1e100.net (74.125.131.113): icmp_seq=2 ttl=56 time=46.7 ms
64 bytes from lu-in-f113.1e100.net (74.125.131.113): icmp_seq=3 ttl=56 time=45.0 ms
64 bytes from lu-in-f113.1e100.net (74.125.131.113): icmp_seq=4 ttl=56 time=54.5 ms
^C
--- google.com ping statistics ---
4 packets transmitted, 3 received, 25% packet loss, time 3009ms
rtt min/avg/max/mdev = 44.965/48.719/54.524/4.163 ms

No entanto, quando faço a mesma saída de redirecionamento para o arquivo de log com tee, o resumo não é exibido:

$ ping google.com | tee log
PING google.com (74.125.131.113) 56(84) bytes of data.
64 bytes from lu-in-f113.1e100.net (74.125.131.113): icmp_seq=1 ttl=56 time=34.1 ms
64 bytes from lu-in-f113.1e100.net (74.125.131.113): icmp_seq=2 ttl=56 time=57.0 ms
64 bytes from lu-in-f113.1e100.net (74.125.131.113): icmp_seq=3 ttl=57 time=50.9 ms
^C

Posso obter o resumo também ao redirecionar a saída com tee?

linux signals
  • 2 respostas
  • 2683 Views
Martin Hope
Boris Kalinin
Asked: 2022-01-11 03:24:34 +0800 CST

Por que o arquivo tar é muito maior que o arquivo de texto, 10240 bytes?

  • 34

Eu verifiquei essas duas perguntas ( pergunta um , pergunta dois ), mas elas não foram úteis para eu entender. Eu tenho um arquivo file.txtcom 40 linhas de Hello World!string. ls -lmostra que seu tamanho é de 520 bytes. Agora eu arquivo este arquivo com tar -cvf file.tar file.txte quando faço ls -lnovamente vejo que file.tarsão 10240 bytes. Por quê?

Li alguns manuais e entendi que arquivar e compactar são coisas diferentes. Mas alguém pode explicar como funciona?

tar
  • 2 respostas
  • 5519 Views
Martin Hope
IsaIkari
Asked: 2022-01-04 07:38:55 +0800 CST

Por que evitar o uso de "&&" no script bash?

  • 45

Estou escrevendo um script bash que contém uma seção if simples com duas condições:

  if [[ -n $VAR_A ]] && [[ -n $VAR_B ]]; then
    echo >&2 "error: cannot use MODE B in MODE A" && exit 1
  fi

Um engenheiro sênior revisou meu código e comentou:

por favor, evite usar && quando você pode simplesmente executar os dois comandos nas linhas subsequentes.

Ele não explicou mais. Mas por curiosidade, gostaria de saber se isso é verdade e qual o motivo de evitar o uso do &&.

bash shell
  • 5 respostas
  • 13782 Views
Martin Hope
Thomas
Asked: 2021-11-16 02:24:50 +0800 CST

Como restaurar um arquivo sudoers quebrado sem poder usar o sudo?

  • 29

Estou recebendo o seguinte erro de sudo:

$ sudo ls
sudo: /etc/sudoers is owned by uid 1000, should be 0
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

Claro que não posso chownvoltar rootsem usar sudo. Também não temos uma senha na rootconta.

Sinceramente, não sei como o sistema entrou nessa bagunça, mas agora cabe a mim resolvê-lo.

Normalmente, eu inicializaria no modo de recuperação, mas o sistema é remoto e acessível apenas por uma VPN enquanto inicializado normalmente. Pela mesma razão, inicializar a partir de um live CD ou pendrive também é impraticável.

O sistema é o Ubuntu 16.04 (além do EOL, não pergunte), mas a pergunta e as respostas são provavelmente mais gerais.

linux sudo
  • 3 respostas
  • 6101 Views
Martin Hope
cas
Asked: 2021-10-18 20:06:44 +0800 CST

Existe algum motivo pelo qual /proc/*/cmdline é legível para o mundo?

  • 30

Talvez eu ainda não tenha tomado café suficiente hoje, mas não consigo me lembrar ou pensar em nenhuma razão pela qual /proc/PID/cmdlinedeveria ser legível pelo mundo - afinal, /proc/PID/environnão é.

Torná-lo legível apenas pelo usuário (e talvez pelo grupo e pelo root, é claro) evitaria a exposição casual de senhas inseridas como argumentos de linha de comando.

Claro, isso afetaria outros usuários executando pse htopsimilares - mas isso é uma coisa boa, certo? Esse seria o ponto de não torná-lo legível para o mundo.

linux permissions
  • 2 respostas
  • 6296 Views
Martin Hope
Kahn
Asked: 2021-10-08 05:08:44 +0800 CST

Qual é a diferença entre echo 0>file.txt e echo 0>file.txt?

  • 28

Eu vejo que isso tem o comportamento:

[root@divinity test]# echo 0 > file.txt
[root@divinity test]# cat file.txt
0
[root@divinity test]# echo 0> file.txt

[root@divinity test]# cat file.txt

Também notei que, se eu incluir "", funcionará como esperado:

[root@divinity test]# echo 0""> file.txt
[root@divinity test]# cat file.txt
0

Imagino que tudo isso seja apenas parte do redirecionamento de IO, mas não entendo muito bem o que echo 0>está fazendo.

shell io-redirection
  • 2 respostas
  • 3515 Views

Sidebar

Stats

  • Perguntas 200806
  • respostas 265436
  • best respostas 132718
  • utilizador 66935
  • 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