一、统计文件夹下的文件个数

在Linux系统中,可以通过组合使用以下三个命令来统计目录下文件和文件夹的数量:lsgrepwc。这些命令的组合能够分别统计文件的数量、包含子目录的文件数量,以及目录(文件夹)的数量。

1. 统计当前目录下文件的数量(不包括目录)

$ ls -l | grep "^- " | wc -l

这条命令统计当前目录中普通文件的数量,不包括子目录中的文件。

2. 统计当前目录及其子目录下的文件数量

$ ls -lR | grep "^- " | wc -l

该命令统计当前目录及其所有子目录中的普通文件数量。

3. 统计某目录下的文件夹(目录)数量(包括子目录)

$ ls -lR | grep "^d" | wc -l

此命令统计当前目录及其子目录中的文件夹数量。

命令解析:

  • ls -l
    以长列表形式显示目录下的文件信息。每一行对应一个文件或目录。ls -lR则递归列出所有文件和子目录的内容。

  • grep "^- "
    通过正则表达式过滤ls的输出,仅保留普通文件的列表。类似地,grep "^d"用于过滤并仅保留目录。

  • wc -l
    统计输出信息的行数,每一行对应一个文件或目录,因此行数即为文件或目录的数量。

 二、目录与文件管理

1.文件和目录的查看

  1. 查看指定目录下的所有文件ls [directory]
  2. 以详细列表形式显示文件ls -l
  3. 按修改时间倒序显示文件ls -ltr
  4. 通配符使用(如星号 *)ls *na* —— 查找文件名中包含“na”字符的文件。

2.文件权限管理

  1. 更改文件权限chmod [para] [filename]
  2. 增减文件权限
    • 增加执行权限:chmod +x [filename]
    • 移除写权限:chmod -w [filename]

3.目录与文件的创建与删除

  1. 创建目录mkdir [directoryName]
  2. 删除文件或目录rm [-rf] [filename or directoryName]

4.目录与文件的操作

  1. 查看当前目录路径pwd
  2. 目录切换
    • 切换到指定路径:cd [absolutePath]
    • 上级目录:cd ..
    • 当前目录:cd .
    • 上次访问的目录:cd -
    • 用户根目录:cd ~
  3. 创建空文件touch [filename]
  4. 移动文件/目录mv [filename] [object_directoryName]
  5. 重命名文件/目录mv [old_filename] [new_filename]
  6. 复制文件/目录cp [source_filename] [dest_filename]
  7. 快速文件名补全:输入文件名开头字符后,按 Tab 键可补全名称。

5.文件和目录的搜索

  1. 查找文件或文件夹find [directory] –name [filename]
  2. 在文件中搜索字符串grep “[string]” –r [filename]

6.文件内容查看

  1. 查看文件全部内容cat [file_name]
  2. 显示文件开头内容head [file_name]
    • 指定行数显示:head –n [line_num] [file_name]
  3. 显示文件结尾内容tail [file_name]
    • 指定行数显示:tail –n [line_num] [file_name]
    • 动态刷新显示:tail –f [file_name]
  4. 分页显示文件内容more [file_name]

三、 压缩与解压缩

示例:

tar -czvf COAWST-CICE_FCST.tar.gz COAWST-CICE_FCST/

这条命令将 COAWST-CICE_FCST/ 目录下的内容打包并使用 gzip 压缩为 COAWST-CICE_FCST.tar.gz 文件。

tar 是一个用于打包文件或文件夹的工具,结合压缩工具如 gzipbzip2xz 等可以创建压缩包。选项说明:

  1. -c:创建一个新的压缩文件。
  2. -z:通过 gzip 压缩文件。
  3. -v:显示详细的压缩过程。
  4. -f:指定压缩文件的名称。

 示例:

tar -zxvf COAWST-CICE_FCST.tar.gz

这条命令解压缩 COAWST-CICE_FCST.tar.gz 文件到当前目录。

解压缩文件时,根据不同的压缩格式,选择不同的选项:

  1. -x:表示解压缩。
  2. -z:表示通过 gzip 解压缩。
  3. -j:表示通过 bzip2 解压缩。
  4. -J:表示通过 xz 解压缩。

其他常见解压缩命令

  1. 解压 .tar 文件:tar -xvf folder.tar
  2. 解压 .tar.bz2 文件:tar -jxvf folder.tar.bz2
  3. 解压 .tar.xz 文件:tar -Jxvf folder.tar.xz
  4. 解压 .zip 文件:unzip folder.zip
  5. 打包:tar –cvf jpg.tar *.jpg
  6. 打包并压缩:tar –czf jpg.tar.gz *.jpg
  7. 解压:tar -xf jpg.tar
  8. 解压压缩包:tar -zxf jpg.tar.gz

四、文件传输命令

示例:

sftp> put /Users/Desktop/COAWST-CICE_FCST.tar.gz /public/home/elpt_2022_000100/

该命令将本地文件 COAWST-CICE_FCST.tar.gz 上传到远程路径 /public/home/elpt_2022_000100/

  1. sftp 是用于在不同计算机之间通过 SSH 传输文件的工具。
  2. put 命令用于将本地文件上传到远程服务器。

1.使用 scp 命令

  1. 文件上传:

    • 使用 scp 将本地文件上传到远程主机的指定目录。
    • 例子:

      scp /本地路径/文件名 用户名@远程主机IP:/远程路径/

      可以同时修改远程文件的名称。
  2. 上传目录:

    • 使用 -r 选项可以递归上传整个目录,包含目录及其内容。
    • 例子:

      scp -r /本地路径/目录名 用户名@远程主机IP:/远程路径/

  3. 文件下载:

    • 通过 scp 从远程主机下载文件到本地。
    • 例子:

      scp 用户名@远程主机IP:/远程路径/文件名 /本地路径/

  4. 下载目录:

    • 使用 -r 选项递归下载整个目录及其内容。

2.使用 sftp 命令

  1. 连接远程主机:

    • 通过 sftp 命令与远程主机建立连接。
    • 例子:

      sftp 用户名@远程主机IP

  2. 文件上传:

    • 使用 put 命令将本地文件上传到远程目录。
    • 例子:

      put /本地路径/文件名 /远程路径/

  3. 上传目录内容:

    • 使用 put -r 上传整个目录下的内容,目录后要加 /./*
    • 例子:

      put -r /本地路径/目录/* /远程路径/

  4. 文件下载:

    • 使用 get 下载远程主机上的文件到本地。
    • 例子:

      get /远程路径/文件名 /本地路径/

  5. 下载目录内容:

    • 使用 get -r 下载远程主机的整个目录或目录下的内容。
  6. 注意事项:

    • sftp 命令不要以 ; 结尾,否则会导致命令失败。
    • 下载时注意目录中的文件不会被覆盖,但已有文件的内容可能会被清空。

这些命令适用于远程主机文件的传输和管理,通过 scpsftp 命令,你可以轻松在本地主机和远程主机之间交换文件和目录。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐