当前位置:K88软件开发文章中心网站服务器框架Shell → 文章内容

Shell 文件操作

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-23 14:39:36

操作,可以考虑把mv改写为你自己的处理命令,例如,我需要修改所有的文件名后缀为大写。$ find ./ -name "*.c" -o -name "*.h" | xargs -i ./toupper.sh '{}' ./c_files/toupper.sh 就是我们需要实现的转换小写为大写的一个处理文件,具体实现如下:$ cat toupper.sh#!/bin/bash# the {} will be expended to the current line and becomen the first argument of this scriptFROM=$1BASENAME=${FROM##*/}BASE=${BASENAME%.*}SUFFIX=${BASENAME##*.}TOSUFFIX="$(echo $SUFFIX | tr '[a-z]' '[A-Z]')"TO=$2/$BASE.$TOSUFFIXCOM="mv $FROM $TO"echo $COMeval $COMupdatedb+locate 基本使用演示$ updatedb #更新库$ locate find*.gz #查找包含find字符串的所有gz压缩包实际上,除了上面两种命令外,Linux 下还有命令查找工具:which 和 whereis,前者用于返回某个命令的全路径,而后者用于返回某个命令、源文件、man 文件的路径。例如,查找find` 命令的绝对路径:$ which find/usr/bin/find$ whereis findfind: /usr/bin/find /usr/X11R6/bin/find /usr/bin/X11/find /usr/X11/bin/find /usr/man/man1/find.1.gz /usr/share/man/man1/find.1.gz /usr/X11/man/man1/find.1.gz需要提到的是,如果想根据文件的内容搜索文件,那么 find 和 updatedb+locate 以及 which,whereis 都无能为力啦,可选的方法是 grep,sed 等命令,前者在加上 -r 参数以后可以在指定目录下文件中搜索指定的文件内容,后者再使用 -i 参数后,可以对文件内容进行替换。它们的基本用法在前面的章节中已经详细介绍了,这里就不再赘述。值得强调的是,这些命令对文件的操作非常有意义。它们在某个程度上把文件系统结构给抽象了,使得对整个文件系统的操作简化为对单个文件的操作,而单个文件如果仅仅考虑文本部分,那么最终却转化成了之前的字符串操作,即上一节讨论过的内容。为了更清楚地了解文件的组织结构,文件之间的关系,在下一节将深入探讨文件系统。参考资料从文件 I/O 看 Linux 的虚拟文件系统Linux 文件系统剖析《Linux 核心》第九章 文件系统Linux Device Drivers, 3rd Edition技巧:Linux I/O 重定向的一些小技巧Intel 平台下 Linux 中 ELF 文件动态链接的加载、解析及实例分析:part1,part2Shell 脚本调试技术ELF 文件格式及程序加载执行过程总汇Linux下 C 语言编程——文件的操作"Linux下 C 语言编程" 的 文件操作部分Filesystem Hierarchy Standard学会恢复 Linux系统里被删除的 Ext3 文件使用mc恢复被删除文件linux ext3 误删除及恢复原理Linux压缩/解压缩方式大全Everything is a byte后记考虑到文件和文件系统的重要性,将把它分成三个小节来介绍:文件、文件系统、程序与进程。在“文件”这一部分,主要介绍文件的基本属性和常规操作,在“文件系统”那部分,将深入探讨 Linux 文件系统的各个部分(包括 Linux 文件系统的结构、具体某个文件系统的大体结构分析、底层驱动的工作原理),在“程序与进程”一节将专门讨论可执行文件的相关内容(包括不同的程序类型、加载执行过程、不同进程之间的交互[命令管道和无名管道、信号通信]、对进程的控制等)有必要讨论清楚 目录大小 的含义,另外,最好把一些常规的文件操作全部考虑到,包括文件的读、写、执行、删除、修改、复制、压缩/解压缩等下午刚从上海回来,比赛结果很“糟糕”,不过到现在已经不重要了,关键是通过决赛发现了很多不足,发现了设计在系统开发中的关键角色,并且发现了上海是个美丽的城市,上交也是个美丽的大学。回来就开始整理这个因为比赛落下了两周的 Blog12月15日,添加文件搜索部分内容

上一页  [1] [2] [3] [4] [5] 


Shell 文件操作