linux命令—系统文件操作

[TOC]

ls命令—显示命令

Linux ls(英文全拼: list directory contents)命令用于显示指定工作目录下之内容(列出目前工作目录所含的文件及子目录)。

语法:

1
ls [-alrtAFR] [name...]

参数 :

参数 功能
-a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
-d 只列出目录(不递归列出目录内的文件)
-l 以长格式显示文件和目录信息,包括权限、所有者、大小、创建时间等
-r 倒序显示文件和目录
-t 将按照修改时间排序,最新的文件在最前面
-A 同 -a ,但不列出 “.” (目前目录) 及 “..” (父目录)
-F 在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/“
-R 递归显示目录中的所有文件和子目录

将 /bin 目录以下所有目录及文件详细资料列出:

1
ls -lR /bin

当文件名包含空格、特殊字符或者开始字符为破折号时,可以使用反斜杠(\)进行转义,或者使用引号将文件名括起来。例如:

1
2
3
ls "my file.txt"    # 列出文件名为"my file.txt"的文件
ls my\ file.txt # 列出文件名为"my file.txt"的文件
ls -- -filename # 列出文件名为"-filename"的文件

ls 命令还可以使用通配符进行模式匹配,例如 :* 表示匹配任意字符,? 表示匹配一个字符,[…] 表示匹配指定范围内的字符。例如:

1
2
3
ls *.txt         # 列出所有扩展名为.txt的文件
ls file?.txt # 列出文件名为file?.txt的文件,其中?表示任意一个字符
ls [abc]*.txt # 列出以a、b或c开头、扩展名为.txt的文件

列出目前工作目录下所有名称是 s 开头的文件,越新的排越后面:

1
ls -ltr s*

echo命令—打印命令

用于输出字符串

选项

echo -n 表示不换行输出

echo -e 表示输出转义字符

image-20240612125125473

tar命令—打包解压命令

在Linux中,tar命令是一个常用的工具,用于打包和解压文件。它在文件管理、备份和压缩方面扮演着重要角色。tar(tape archive)最初是为磁带设备设计的,但现在已经成为文件操作的标准工具之一。它能够将一组文件和目录打包成单个归档文件,也可以从归档文件中提取出文件和目录。通过结合不同的选项,你可以在tar命令中实现广泛的功能。

一,参数列表

下表列出了tar命令的一些常用参数及其功能:

参数 功能
-c 创建新的归档文件(打包)
-x 从归档文件中提取文件(解包)
-f <文件名> 指定归档文件名
-v 显示操作的详细信息
-z 通过gzip压缩归档文件
-j 通过bzip2压缩归档文件
-C <目录> 切换到指定目录
—exclude=<模式> 排除匹配模式的文件
—list 列出归档文件的内容
—help 显示帮助信息

二,使用介绍

1. 打包文件和目录

使用tar命令打包文件和目录很简单。要创建一个归档文件,可以使用参数-c-f,然后指定归档文件名。例如,要将/home/user/documents目录打包成一个文件,可以运行以下命令:

1
tar -cf documents.tar /home/user/documents

这将创建一个名为documents.tar的归档文件,其中包含了/home/user/documents目录下的所有内容。

2. 解包归档文件

要从归档文件中提取文件,可以使用参数-x-f,然后指定归档文件名。例如,要将documents.tar解包到当前目录,可以运行以下命令:

1
tar -xf documents.tar

这将把documents.tar中的内容提取到当前目录。

3. 压缩归档文件

tar命令还可以与压缩工具一起使用,以创建压缩的归档文件。常见的压缩选项有-z(使用gzip压缩)和-j(使用bzip2压缩)。例如,要创建一个gzip压缩的归档文件,可以运行以下命令:

1
tar -czf documents.tar.gz /home/user/documents

4. 列出归档文件内容

你可以使用--list参数来列出归档文件中的内容,而无需实际提取它们。例如:

1
tar --list -f documents.tar

5. 排除特定文件

有时候你可能想要在打包时排除特定文件或目录,以避免将其包含在归档中。你可以使用--exclude参数指定要排除的文件或目录的模式。例如,要打包/home/user/documents目录,但排除所有.txt文件,可以运行以下命令:

1
tar -cf documents.tar --exclude='*.txt' /home/user/documents

6. 保留文件权限和所有权

在创建归档文件时,有时你可能希望保留原始文件的权限和所有权信息。这可以通过参数--preserve-permissions实现。例如,要创建一个保留权限和所有权的归档文件,可以运行以下命令:

1
tar --preserve-permissions -cf documents.tar /home/user/documents

这将创建一个归档文件,其中包含了/home/user/documents目录下的所有内容,并保留了原始文件的权限和所有权。

7. 保留时间戳

类似地,你也可以通过参数--atime-preserve来保留文件的访问时间戳。这在某些情况下可能很有用,例如备份目的。以下是一个示例:

1
tar --atime-preserve -cf backup.tar /path/to/backup

这将创建一个归档文件,其中包含了/path/to/backup目录下的内容,并保留了文件的访问时间戳。

8. 增量备份

使用tar命令进行增量备份是一个常见的用例。增量备份只备份自上次备份以来发生更改的文件,这可以节省时间和存储空间。要创建增量备份,你可以结合使用--listed-incremental参数和一个状态文件。以下是一个示例:

1
tar --create --file=backup-$(date +%Y%m%d).tar --listed-incremental=backup.snar /path/to/backup

这将创建一个带有日期后缀的增量备份归档文件,并使用backup.snar文件来跟踪文件状态。

9. 使用文件列表

有时候,你可能希望从一个文件列表中读取要包含在归档中的文件和目录。这可以通过参数--files-from实现。例如,如果你有一个包含文件列表的files.txt文件,可以运行以下命令:

1
tar -cf backup.tar --files-from=files.txt

这将根据files.txt中列出的路径创建一个归档文件。

10. 压缩级别控制

对于需要更多控制的情况,你可以使用不同的压缩级别来平衡压缩速度和压缩率。例如,对于gzip压缩,你可以使用参数-z的同时指定不同的压缩级别(1-9)。压缩级别越高,压缩率越高,但耗时也越长。以下是一个示例:

1
tar -czvf documents.tar.gz -9 /home/user/documents

这将以最高压缩级别(9)创建gzip压缩的归档文件。

wget命令—下载命令

一、wget命令介绍

1. wget命令简介

wget 是一个非交互式的网络下载工具,可以在命令行中使用。它支持从远程服务器下载文件,并提供了断点续传、递归下载、后台下载等功能。wget 是一个功能强大且灵活的工具,广泛用于下载文件、镜像网站等场景。

2. wget命令的基本语法

wget 命令的基本语法如下:

1
wget [选项] [URL]

其中,URL 是要下载的文件的地址。

  1. 常用的wget命令选项
    下面是一些常用的 wget 命令选项的说明:
参数 功能
-O 文件名 将下载的文件保存为指定的文件名
-P 目录 将下载的文件保存到指定的目录
-c 继续下载中断的文件,支持断点续传
-r 递归下载,下载指定 URL 中的所有链接
-np 不递归下载上级目录
-nH 不创建主机目录,将文件保存在当前目录
-b 后台下载,将下载任务放到后台执行
-q 静默模式,减少输出信息
-v 详细模式,增加输出信息
-h—help 显示帮助信息,列出可用的选项和参数
-y 在执行操作时自动回答 “yes”,省去用户确认步骤
–limit -rate 下载大文件必要限速
-i 下载多个文件

4. 常用的wget命令参数

下面是一些常用的 wget 命令参数的说明:

  • URL:要下载的文件的地址。
  • 文件名:要保存的文件名。
  • 目录:要保存的目录路径。

二、wget命令示例用法

下面是一些 wget 命令的示例用法:

1. 下载文件

下载指定 URL 的文件,并保存为指定的文件名:

1
wget http://example.com/file.zip -O myfile.zip

2. 断点续传下载

继续下载中断的文件,支持断点续传:

1
wget -c http://example.com/file.zip

3. 递归下载

递归下载指定 URL 中的所有链接,并保存到指定的目录:

1
wget -r -np -nH --cut-dirs=2 http://example.com/dir/ -P /path/to/save

4. 后台下载

将下载任务放到后台执行:

1
wget -b http://example.com/file.zip

5. 静默模式下载

以静默模式下载文件,减少输出信息:

1
wget -q http://example.com/file.zip

6. 自动确认下载

在执行操作时自动回答 “yes”,省去用户确认步骤:

1
wget -y http://example.com/file.zip

7.限速下载

1
wget –limit-rate=300k http://example.com/file.zip

8.下载多个文件

首先,保存一份下载链接文件

cat > filelist.txt
url1
url2
url3
url4
接着使用这个文件和参数-i下载

1
wget -i filelist.txt