# Get information about a file or directory (/docs/filesystem/info)

<!-- agent-signals: reading_time_min: 2 · est_tokens: 1026 · updated: 2026-07-30 -->
Related: [Download data from sandbox](/docs/filesystem/download.md), [Attach custom metadata to files](/docs/filesystem/metadata.md), [Read & write files](/docs/filesystem/read-write.md), [Upload data to sandbox](/docs/filesystem/upload.md), [Watch sandbox directory for changes](/docs/filesystem/watch.md)

You can get information about a file or directory using the `files.getInfo()` / `files.get_info()` methods. Information such as file name, type, and path is returned.

Files can also carry custom user-defined metadata, which is returned in the `metadata` field — see [Custom metadata](/docs/filesystem/metadata).

### Getting information about a file [#getting-information-about-a-file]

<CodeGroup>
  <CodeBlockTabs defaultValue="JavaScript & TypeScript" groupId="javascript-typescript+python">
    <CodeBlockTabsList>
      <CodeBlockTabsTrigger value="JavaScript & TypeScript">
        JavaScript & TypeScript
      </CodeBlockTabsTrigger>

      <CodeBlockTabsTrigger value="Python">
        Python
      </CodeBlockTabsTrigger>
    </CodeBlockTabsList>

    <CodeBlockTab value="JavaScript & TypeScript">
      ```js  
      import { Sandbox } from 'e2b'

      const sandbox = await Sandbox.create()

      // Create a new file
      await sandbox.files.write('test_file.txt', 'Hello, world!')

      // Get information about the file
      const info = await sandbox.files.getInfo('test_file.txt')

      console.log(info)
      // {
      //   name: 'test_file.txt',
      //   type: 'file',
      //   path: '/home/user/test_file.txt',
      //   size: 13,
      //   mode: 0o644, 
      //   permissions: '-rw-r--r--',
      //   owner: 'user',
      //   group: 'user',
      //   modifiedTime: '2025-05-26T12:00:00.000Z',
      //   symlinkTarget: null
      // }
      ```
    </CodeBlockTab>

    <CodeBlockTab value="Python">
      ```python  
      from e2b import Sandbox

      sandbox = Sandbox.create()

      # Create a new file
      sandbox.files.write('test_file', 'Hello, world!')

      # Get information about the file
      info = sandbox.files.get_info('test_file')

      print(info)
      # EntryInfo(
      #   name='test_file.txt',
      #   type=<FileType.FILE: 'file'>,
      #   path='/home/user/test_file.txt',
      #   size=13,
      #   mode=0o644,
      #   permissions='-rw-r--r--',
      #   owner='user',
      #   group='user',
      #   modified_time='2025-05-26T12:00:00.000Z',
      #   symlink_target=None
      # )
      ```
    </CodeBlockTab>
  </CodeBlockTabs>
</CodeGroup>

### Getting information about a directory [#getting-information-about-a-directory]

<CodeGroup>
  <CodeBlockTabs defaultValue="JavaScript & TypeScript" groupId="javascript-typescript+python">
    <CodeBlockTabsList>
      <CodeBlockTabsTrigger value="JavaScript & TypeScript">
        JavaScript & TypeScript
      </CodeBlockTabsTrigger>

      <CodeBlockTabsTrigger value="Python">
        Python
      </CodeBlockTabsTrigger>
    </CodeBlockTabsList>

    <CodeBlockTab value="JavaScript & TypeScript">
      ```js  
      import { Sandbox } from 'e2b'

      const sandbox = await Sandbox.create()

      // Create a new directory
      await sandbox.files.makeDir('test_dir')

      // Get information about the directory
      const info = await sandbox.files.getInfo('test_dir')

      console.log(info)
      // {
      //   name: 'test_dir',
      //   type: 'dir',
      //   path: '/home/user/test_dir',
      //   size: 0,
      //   mode: 0o755,
      //   permissions: 'drwxr-xr-x',
      //   owner: 'user',
      //   group: 'user',
      //   modifiedTime: '2025-05-26T12:00:00.000Z',
      //   symlinkTarget: null
      // }
      ```
    </CodeBlockTab>

    <CodeBlockTab value="Python">
      ```python  
      from e2b import Sandbox

      sandbox = Sandbox.create()

      # Create a new directory
      sandbox.files.make_dir('test_dir')

      # Get information about the directory
      info = sandbox.files.get_info('test_dir')

      print(info)
      # EntryInfo(
      #   name='test_dir',
      #   type=<FileType.DIR: 'dir'>,
      #   path='/home/user/test_dir',
      #   size=0,
      #   mode=0o755,
      #   permissions='drwxr-xr-x',
      #   owner='user',
      #   group='user',
      #   modified_time='2025-05-26T12:00:00.000Z',
      #   symlink_target=None
      # )
      ```
    </CodeBlockTab>
  </CodeBlockTabs>
</CodeGroup>
