Linux中强大的文件通配:简化文件管理 (linux中文件通配)

随着计算机技术的不断发展,操作系统也在不断的升级改进,Linux作为一种自由开放源代码的操作系统,得到了越来越多的人的青睐。其中,Linux中强大的文件通配机制是其独特的功能之一,可以帮助用户更加方便地管理和操作文件。

文件通配是指使用通配符来匹配文件名或路径名,以方便对文件的查找和操作。在Linux中,常用的三种通配符是:*、? 和 [ ],它们可以组合使用,以实现更加灵活的文件管理。下面,我们来一一介绍一下这三种通配符的用法。

首先是“*”通配符,它代表任意字符,可以代表任何长度的字符串。例如,我们想要查找某个文件夹下所有以“.txt”结尾的文件,只需要使用命令“ls *.txt”,这样就能够一次性查找到该文件夹下所有以“.txt”结尾的文件。如果想要查找某个文件夹下的所有文件,只需要使用“ls *”命令即可。

其次是“?”通配符,它代表单个字符。例如,我们想要查找某个文件夹下所有以“t”字母开头的文件,可以使用“ls t?*”命令。这样就能够查找到该文件夹下以“t”字母开头的所有文件。另外,在使用“?”通配符时,还需要注意避免与一些特殊字符混淆,如“/”“\”“$”等。

是“[ ]”通配符,它代表一组字符中的任意一个。例如,我们想要查找某个文件夹下所有以“txt”或“doc”结尾的文件,可以使用“ls *[td]oc”命令。这样就能够一次性查找到该文件夹下所有以“txt”或“doc”结尾的文件。在使用“[ ]”通配符时,还可以组合使用多个字符,以更加灵活地匹配文件名或路径名。

除了以上三种通配符,Linux中还有其他一些通配符,如“{}”、“|”等,它们也可以在一定程度上简化文件管理。通配符的使用可以帮助用户更加方便地进行文件的查找和操作,缩短操作时间,提高工作效率。

Linux中强大的文件通配机制为用户提供了更加灵活、简单、高效的文件管理方式,熟练掌握这些技巧可以使用户更加顺手地操作Linux系统,提高工作效率和使用体验。

相关问题拓展阅读:

Linux文件管理与bash特性有哪些

一.Linux 文件管理类命令

我把文件管理类命令分为四种,也就是我们常说的CRUD 增删改查

1.2.1 创建类命令

1、touch 命令

touch 命令虽然是修改文件元数据的时间戳,但是如果 touch 命令后面没有加选项 而且这个命令所指向的文件不存在,那么默认就是创建一个touch 后面跟参数的文件 例如:

touch /PATH/TO/SOMEFILE

touch 更新文件的timestarp

-a 更新atime为当前时间

二 、bash 工作特性

bash工作特性主要有以下几点,我们一一说明

1、 命令行展开

~ 和 {}

~ 我们之前已经使用过,就是管理员可以通过 cd ~ USERNAME到用户的家目录

2、命令别名

alias 和 unalias

我们可以使用alias 来创建命令别名

3、命令历史

history 之前讲过,主要就是通过history 查看命令历史,包括可以用

!STRING 的形式调用之前执行的命令

!! 执行上一条命令

4、文件名通配

文件名通配之前精讲过,这里只是总结,只要记住那些通配符即可

5、快捷键

bash 命令的快捷键 Ctrl + a Ctrl +e 等等

6、命令补全机制

7、路径补全机制

在用户所制定的起始位置进行查找 更多更详细的介绍可查看《Linux就该这么学》。

  Linux上的文件管理命令

  目录管理命令:

  mkdir:make directories

  mkdir … DIRECTORY…

  -p: 自动按需创建父目录;

  -v: verbose,显示详细过程;

  -m MODE:直接给定权限;

  注意:路径基名方为命令的作用对象;基名之前的路径必须得存在;

  rmdir:remove empty directories

  rmdir … DIRECTORY…

  -p:删除某目录后,如果其父目录为空,则一并删除之;

  -v: 显示过程;

  文件管理命令

  cp命令:copy

  源文件;目标文件;

  单源复制:cp … SOURCE DEST

  多源复制:cp … SOURCE… DIRECTORY

  cp … -t DIRECTORY SOURCE…

  单源复制:cp … SOURCE DEST

  如果DEST不存在:则事先创建此文件,并复制源文件的数据流至DEST中;

  如果DEST存在:

  如果DEST是非目录文件:则覆盖目标文件;

  如果DEST是目录文件:则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流;

  多源复制:cp … SOURCE… DIRECTORY

  cp … -t DIRECTORY SOURCE…

  如果DEST不存在:错误;

  如果DEST存在:

  如果DEST是非目录文件:错误;

  如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名;

  常用选项:

  -i:交互式复制,即覆盖之前提醒用户确认;

  -f:强制覆盖目标文件;

  -r, -R:递归复制目录;

  -d:复制符号链接文件本身,而非其指向的源文件;

  -a:-dR –preserve=all, archive,用于实现归档;

  –preserv=

  mode:权限

  ownership:属主和属组

  timestamps: 时间戳

  context:安全标签

  xattr:扩展属性

  links:符号链接

  all:上述所有属性

  mv命令:move

  mv … SOURCE DEST

  mv … SOURCE… DIRECTORY

  mv … -t DIRECTORY SOURCE..

  常用选项:

  -i:交互式;

  -f:force

  rm命令:remove

  rm … FILE…

  常用选项:

  -i:interactive

  -f:force

  -r: recursive

  bash的特性

  命令的执行状态结果

  命令执行的状态结果:

  bash通过状态返回值来输出此结果:

  成功:0

  失败:1-255

  命令行展开

  ~:自动展开为用户的家目录,或指定的用户的家目录;

  {}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径;

  创建/tmp目录下的:a_c, a_d, b_c, b_d

  touch {a,b}_{c,d}

  创建/tmp/mylinux目录下的

  mkdir -pv   /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/networkscripts},lib/modules,lib64,proc,in,sys,tmp,usr/local/{bin,in},var/{lock,log,run}}

  文件元数据

  文件元数据主要包括权限,大小,inode,属主,属组,access time, modify time, change time,etc…

  文件的元数据可以用stat命令查看。

  touch命令可以修改时间戳:

  touch … FILE…

  -c: 指定的文件路径不存在时不予创建;

  -a: 仅修改access time;

  -m:仅修改modify time;

  -t STAMP

  YY>MMDDhhmm

  命令别名&引用命令的执行结果

  可以使用alias name=value形式定义命令别名。

  引用命令的执行结果:

  $(COMMAND)

  或`COMMAND`

  练习

  显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。

  ls -ld /var/l**

  显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。

  ls -ld /etc/*>

  显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。

  ls -ld /etc/>*

  在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-32-22。

  touch /tmp/tfile-`date +%Y-%m-%d-%H-%M-%S`

  复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。

  cp -r /etc/p* /tmp/mytest1/

  复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。

  cp -r /etc/*.d /tmp/mytest2/

  复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

  cp -r /etc/*.conf /tmp/mytest3/

1、文件管理命令

文件处理类:

1、ls:

命令功能: 显示目录下的文件

语法:

-a # 显示所有文件, 包括隐藏文件

-l # 显示文件详细信息

-d # 查看目录属性信息

Bash 工作特性

命令的执行状态返回值

在shell中, 每执行一次命令, 都会产生一个命令返回值, 保存在bash的特殊环境变量 ?中.这个特殊的返回值,叫做命令执行的状态返回值查看命令的执行状态返回值的方法:echo?

查看的命令返回值有多种结果, 但只分为两类:

状态返回值为0, 表示命令执行成功

状态返回值为1-255, 表示命令有错误

命令行展开

~: 展开结果为用户的家目录

{}: 可以承载一个逗号分割的路径列表, 自动展开成为多个路径

linux cp命令,如何复制多个目录下文件到 对应多个目录下面

1、打开SecureCRT,选择要登录的系统IP地址, 点击连接。

2、出现下图的界面说明连接成功。

3、然后我们使用cd 命名切换到要复制的文件所在的目录,比如说目录/123。

4、然后我们使用ls 命令列出文件夹里面的文件, 比如说目录123里面的123.txt 文件。

5、通过命令我们可以看到456目录里面是空的。

6、假如我们要把123.txt 复制到456文件夹里面,那么就使用命令cp 要复制的文件的路径 要复制到的文件夹路径,如下图所示,把123.txt 复制到456文件夹 ,然后ls 查看已经复制成功了。

简单的办法是采用打包再解包

如:

cd /mnt/data/file.bk

tar cvf /tmp/bakfile.tar */*/csvZip

然后/mnt/www/html

tar xvf /tmp/bakfile.tar

只是这样要求磁盘空间要足够才可以!

另一种办法是写shell脚本进行操作

cd /mnt/data/file.bk

for dir in `find . -type d -name “csvZip”`

do

cp $dir/* /mnt/www/html/$dir

done

这事。。。在干嘛?

已经解决了是吗?

是有所问必有所答。。。

cp /home/* /mnt/

呢?

linux中文件通配的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux中文件通配,Linux中强大的文件通配:简化文件管理,Linux文件管理与bash特性有哪些,linux cp命令,如何复制多个目录下文件到 对应多个目录下面的信息别忘了在本站进行查找喔。


数据运维技术 » Linux中强大的文件通配:简化文件管理 (linux中文件通配)