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 / ubuntu / Perguntas / 1541123
Accepted
Malph Bar
Malph Bar
Asked: 2025-02-11 13:52:20 +0800 CST2025-02-11 13:52:20 +0800 CST 2025-02-11 13:52:20 +0800 CST

Por que o diretório . não foi criado no momento em que instalei o Linux?

  • 772

Eu instalei o Linux em fevereiro. Agora, quando listei o diretório home com ls -la, por que o tempo está sendo mostrado assim:

drwx------ 20 chuck_user chuck_user      4096 Jul  5  2024 .

Por que o horário é Jul 5 2024, e por que ele é diferente de outras datas?

A pergunta é diferente de O que 'ls -la' faz? porque lá ela só perguntou sobre o que faz ls -la. Mas eu quero saber o motivo pelo qual o timestamp do .diretório não corresponde ao horário em que instalei o Linux. O timestamp é Jul 4 2024ainda que eu tenha instalado em fevereiro de 2025.

command-line
  • 4 4 respostas
  • 309 Views

4 respostas

  • Voted
  1. Best Answer
    Artur Meinild
    2025-02-11T16:04:52+08:002025-02-11T16:04:52+08:00

    O registro de data e hora de um diretório (neste caso ., que é o diretório atual) terá o registro de data e hora do último arquivo que foi alterado dentro daquele diretório.

    No caso do diretório inicial ( ~), se você não alterou nenhum arquivo, o registro de data e hora seria em algum momento no passado.

    No entanto, normalmente o arquivo .bash_historydentro dele ~muda cada vez que você executa um comando de terminal, então provavelmente o registro de data e hora do seu diretório inicial ~será atualizado na próxima vez que você fizer login (esse é o meu caso, pelo menos).

    • 6
  2. mook765
    2025-02-11T16:29:50+08:002025-02-11T16:29:50+08:00

    O horário exibido ls -lnão exibe a data de criação de um arquivo ou diretório, em vez disso, é exibido o horário da última modificação (mtime).

    Dê uma olhada na documentação :

    '-l' '--formato=longo' '--formato=detalhado'

    Produza formato longo. Além do nome de cada arquivo, imprima o tipo de arquivo, bits do modo de arquivo, número de hard links, nome do proprietário, nome do grupo, tamanho e timestamp (veja Formatando timestamps de arquivo), normalmente o timestamp de modificação (o mtime, veja Timestamps de arquivo).

    Se você quiser ver o registro de data e hora da criação, você pode usar o statcomando -:

    ~$ stat ~
      File: /home/mook
      Size: 4096            Blocks: 8          IO Block: 4096   directory
    Device: 8,34    Inode: 1444610     Links: 16
    Access: (0750/drwxr-x---)  Uid: ( 1000/    mook)   Gid: ( 1000/    mook)
    Access: 2025-02-11 12:56:52.096895764 +0700
    Modify: 2025-02-11 15:15:16.625465657 +0700
    Change: 2025-02-11 15:15:16.625465657 +0700
     Birth: 2024-08-04 01:25:23.591294430 +0700
    
    • 3
  3. Austin Hemmelgarn
    2025-02-12T00:13:17+08:002025-02-12T00:13:17+08:00

    A data listada por lsé especificamente o tempo de modificação, abreviado como 'mtime' em sistemas do tipo UNIX, como Linux, do arquivo ou diretório. Este timestamp é atualizado sempre que os dados do objeto do sistema de arquivos são modificados.

    Para um arquivo, o significado dessa declaração é relativamente óbvio: o mtime muda para a hora atual sempre que o arquivo é gravado.

    Para um diretório, no entanto, o significado de 'dados' é um pouco menos óbvio. Os 'dados' de um diretório são o conjunto de entradas de diretório para esse diretório, que é funcionalmente uma lista dos objetos do sistema de arquivos (e seus nomes) que estão naquele diretório. Isso significa que criar, remover ou renomear um arquivo em um diretório atualizará o mtime do diretório (embora alterar permissões em tal arquivo não o faça, porque as permissões são parte do objeto do sistema de arquivos, não parte da entrada do diretório).

    O tempo de 'criação' é um conceito diferente em sistemas do tipo UNIX, e é realmente um pouco complicado. Todos os sistemas de arquivos Linux fornecem dois timestamps adicionais além do mtime:

    • ctime ('tempo de alteração'), que rastreia a última modificação de certos metadados do arquivo. Isso inclui permissões, rótulos de segurança, ACLs, xattrs e, notavelmente, todos os outros timestamps. ctime não costuma ser excepcionalmente útil para usuários comuns, mas pode ser muito útil para administradores de sistemas auditarem quando as alterações aconteceram.
    • atime ('tempo de acesso'), que rastreia a última vez que um arquivo foi acessado. Isso é atualizado sempre que o mtime seria atualizado, mas também sempre que os dados são lidos do arquivo. Este também se comporta um pouco inesperadamente com diretórios, pois percorrer um diretório (acessar um arquivo sob esse diretório) não o atualiza, mas listar o conteúdo do diretório o faz. Muito poucas coisas realmente usam atime atualmente porque é trivial falsificar, e está se tornando cada vez mais normal realmente desativar o rastreamento dele ao montar sistemas de arquivos para reduzir as gravações em disco.

    Além disso, alguns sistemas de arquivos fornecem um quarto registro de data e hora chamado de 'btime' ou 'birth time' do objeto do sistema de arquivos, e ele só é definido quando um objeto do sistema de arquivos é criado pela primeira vez. Essa é a coisa mais próxima que você pode chegar do tempo de criação de um objeto do sistema de arquivos, mas também se comporta de uma forma não óbvia por causa de como o próprio sistema funciona. Em particular, muitas coisas no Linux não reescrevem arquivos no local, em vez disso, elas escrevem um arquivo temporário com quaisquer alterações e, em seguida, o renomeiam sobre o arquivo existente (isso é feito para garantir que todas as alterações aconteçam ou nenhuma delas aconteça). No entanto, isso cria um novo objeto do sistema de arquivos que substitui o antigo, então não é incomum que o btime nos arquivos corresponda ao mtime.

    • 1
  4. Paul_Pedant
    2025-02-11T19:40:41+08:002025-02-11T19:40:41+08:00

    Você quer dizer que está em /home, em vez de seu próprio diretório home de usuário, que está em home? O atalho para seu próprio diretório home de usuário é ~.

    /homegeralmente só será atualizado quando você adicionar um novo usuário ao sistema, porque o conteúdo de /homesão apenas os diretórios de usuários. Então sua data de "5 de julho de 2024" é provavelmente quando seu download para a distro foi criado , pois /homeseria descompactado e instalado a partir daí.

    Eu entendo isso:

    paul: /home $ ls -la
    total 44
    drwxr-xr-x  4 root root  4096 Nov 23 17:12 .
    drwxr-xr-x 22 root root  4096 Feb  1 15:59 ..
    drwx------  2 root root 16384 Mar 16  2017 lost+found
    drwxr-x--- 59 paul paul 20480 Feb 11 11:16 paul
    paul: /home $
    

    Cada diretório no Linux tem um pai .., e suas permissões no seu "home" parecem muito incomuns. Então suspeito que você não esteja mostrando toda a saída do seu ls -laaqui. Saída de pwdtambém seria útil.

    • 0

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

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