Linux命令使用案例

发布于:2023-10-01 ⋅ 阅读:(83) ⋅ 点赞:(0)

轻松找到特定类型文件

1. 使用find命令

        find命令是Linux系统中最常用的查找文件命令之一,它的功能非常强大,可以搜索指定目录下的所有文件和子目录,还可以针对文件的类型、大小、修改时间等条件进行过滤。以下是使用find命令查找所有图片文件的命令:

find /path/to/directory -type f -name "*.jpg" -o -name "*.png"

        上面的命令将在/path/to/directory目录中查找所有的.jpg和.png文件,并将它们的路径输出到屏幕上。其中,“-type f”表示只搜索普通文件,不搜索目录和软链接等;“-name”表示根据文件名进行匹配;“-o”表示或运算符,用于将多个匹配条件组合在一起。

2. 使用grep命令

        grep命令是一个强大的文本搜索工具,它可以在文件中搜索指定的字符串,并输出包含该字符串的行。与find命令相比,grep命令适用于对文件内容进行搜索的情况。以下是使用grep命令查找所有Shell脚本文件的命令:

grep -rI –include \*.sh "search_string" /path/to/directory

        上面的命令将在/path/to/directory目录中查找所有的Shell脚本文件,并在这些文件中搜索包含“search_string”的行。其中,“-r”表示递归搜索子目录;“-I”表示忽略二进制文件;“–include”表示只搜索指定类型的文件;“\*.sh”表示要搜索的文件类型为.sh。

3. 使用locate命令

        locate命令是一个快速查找文件的工具,它使用文件名数据库来实现高效的文件搜索。在大多数Linux系统中,安装了locate命令后会周期性地更新文件名数据库,因此在使用locate命令时比find命令快得多。以下是使用locate命令查找所有图片文件的命令:

locate -i "*.jpg" "*.png" | grep "/path/to/directory/"

        上面的命令将在整个计算机系统中查找所有的.jpg和.png文件,并使用grep命令过滤出/path/to/directory目录下的文件。其中,“-i”表示忽略大小写。

4. 使用find+xargs命令组合

        find和xargs命令是Linux系统中非常常用的组合,它们通常用于处理文件列表,并将这些文件交给其他命令进行处理。以下是使用find+xargs命令查找所有.zip和.rar文件,并解压缩它们的命令: 

find /path/to/directory/ -type f -iname "*.zip" -o -iname "*.rar" | xargs -I{} unzip {}

        上面的命令将在/path/to/directory目录中查找所有的.zip和.rar文件,并使用xargs命令将这些文件交给unzip命令进行解压缩。其中,“-I{}”表示将每个文件名用{}代替,以便在xargs命令中使用。

sh脚本的编写

Linux复习资料——一篇文章学会sh脚本的编写_sh脚本编写命令_红目香薰的博客-CSDN博客

批处理命令

在Shell中,可以使用循环和通配符来批量操作文件。以下是一些常用的方法:

1、批量复制文件

使用cp命令可以复制一个或多个文件。通配符*可用于匹配文件名中的任意字符。

cp file1 file2 file3 /path/to/destination/

cp /path/to/source/* /path/to/destination/

2、批量移动文件

使用mv命令可以移动一个或多个文件。与复制文件类似,可以使用通配符来匹配文件名。

mv file1 file2 file3 /path/to/destination/

mv /path/to/source/* /path/to/destination/

3、批量重命名文件

使用mv命令可以重命名一个或多个文件。重命名文件的方法是将文件名更改为新的名称。

mv oldname1 newname1

mv oldname2 newname2

4、批量删除文件

使用rm命令可以删除一个或多个文件。通配符可以用来匹配文件名中的任意字符。

rm file1 file2 file3

rm /path/to/source/*

5、批量压缩文件

使用tar命令可以将一个或多个文件打包成一个tar文件。可以使用通配符来匹配文件名。

tar -cvf archive.tar file1 file2 file3

tar -cvf archive.tar /path/to/source/*

6、批量解压缩文件

使用tar命令可以将tar文件解压缩。可以使用通配符来匹配文件名。

tar -xvf archive.tar

tar -xvf archive.tar -C /path/to/destination/

7、批量修改文件权限

使用chmod命令可以修改文件或目录的权限。可以使用通配符来匹配文件名。

chmod 755 file1 file2 file3

chmod 755 /path/to/source/*

8、批量查找文件

使用find命令可以查找文件。可以使用通配符来匹配文件名。

find /path/to/source -name "*.txt"

9、批量修改文件后缀

        有时候我们需要将一组文件的后缀名进行修改,比如将.jpg后缀的文件改为.png后缀的文件。我们可以使用Shell中的for循环和字符串替换功能来实现批量修改后缀名的功能。

        假设我们有一组.jpg后缀的文件,现在需要将它们的后缀名全部修改为.png。我们可以使用如下命令:

for file in *.jpg

do

mv -- "$file" "${file%.jpg}.png"

done

        上述命令中,首先使用for循环遍历当前目录下所有的.jpg文件,然后使用mv命令将文件的后缀名修改为.png。其中'${file%.jpg表示从变量$file中删除后缀名为.jpg的部分,然后再加上新的后缀名.png。

10、批量修改文件内容

        有时候我们需要批量修改一组文件的内容。可以使用 sed命令来实现。假设我们有一组txt文件,现在需要将其中的某个字符串替换为另一个字符串。我们可以使用如下命令:

for file in *.txt

do

sed -i 's/old_string/new_string/g' "$file"

done

        上述命令中,首先使用for循环遍历当前目录下所有的txt文件,然后使用sed命令将文件中的old_string替换为new_string。其中-g选项表示将文件中所有匹配的字符串都进行替换。

11、批量压缩和解压缩文件夹

        除了压缩单个文件,有时候我们也需要压缩整个文件夹。可以使用tar命令来实现。假设我们有一个文件夹source,现在需要将它压缩成一个tar文件。我们可以使用如下命令:

tar -czvf source.tar.gz source/

        上述命令中,-c表示创建一个新的tar文件,-z表示将其压缩为gzip格式,-v表示输出详细信息,-f表示指定压缩后的文件名。

        如果需要解压缩一个tar文件,可以使用如下命令:

tar -xzvf source.tar.gz

        上述命令中,-x表示解压缩tar文件,-z表示解压缩gzip格式的文件,-v表示输出详细信息,-f表示指定要解压缩的文件名。

12、批量复制和移动文件夹

        与批量复制和移动文件类似,我们也可以使用cp和mv命令来批量复制和移动文件夹。假设我们有一个文件夹source,现在需要将它复制到目标目录中。我们可以使用如下命令:

cp -r source /path/to/destination/

        上述命令中,-r表示递归复制整个文件夹。

        如果需要移动一个文件夹到目标目录中,可以使用如下命令:

mv source /path/to/destination/

        上述命令中,mv命令可以用来移动文件或文件夹,将source文件夹移动到目标目录中。

        使用mv命令时需要确保目标目录不存在同名文件或文件夹,否则会将源文件夹中的文件或文件夹与目标目录中的同名文件或文件夹合并。如果需要覆盖同名文件或文件夹,可以使用-rf选项。

如何快速删除word文档里所有文字 

        使用快捷键Ctrl+H打开查找替换页面后,勾选【通配符】,并在查找内容上输入【[一-龥]】,替换的内容一样为空。点击全部替换,就能删除所有汉字。