Linux命令之文件处理
文件处理命令
1、dirname命令 dirname命令去除文件名中的非目录部分,仅显示与目录有关的内容。dirname命令读取指定路径名保留最后一个/及其后面的字符,删除其他部分,并写结果到标准输出,
如果最后一个/后面无字符,dirname则使用倒数第二个/,并忽略其后的所有字符。dirname和basename通常在shell内部命令替换使用,以指定一个与指定输入文件名略
有差异的输出文件名。 语法
dirname(选项)(参数) 选项
--help:显示帮助;
--version:显示版本号。
实例
dirname //
输出为/ dirname /a/b
输出为/a dirname a
输出为. dirname a/b
输出为a 2.basename命令
basename命令用于打印目录或者文件的基本名称。basename和dirname命令通常用于shell脚本中的命令替换来指定和指定的输入文件名称有所差异的输出文件名称。 语法
basename(选项)(参数) 选项
--help:显示帮助;
--version:显示版本号。
参数
文件:带路径信息的文件;
后缀:可选参数,指定要去除的文件后缀字符串。 实例
basename $WORKFILE 3、rename命令
rename命令用字符串替换的方式批量改变文件名。
语法
rename(参数)
参数
原字符串:将文件名需要替换的字符串;
目标字符串:将文件名中含有的源字符替换成目标字符串;
文件:指定要改变文件名的文件列表。 实例
将main1.c重命名为main.c
rename main1.c main.c main1.c rename 支持通配符
? 可代替单个字符
* 可代替多个字符
[charset] 可替代charset集中的任意单个字符 如果使用rename foo0 foo foo0[2]*,从foo0200到foo0278的所有文件都呗重命名为foo0200到foo0278,文件中的 foo0被替换为foo rename支持正则表达式 字母的替换
rename "s/AA/aa/" * //把文件名中的AA替换成aa
修改文件的后缀
rename "s//.html//.php/" * 把点html的后缀替换成点php的后缀
批量添加文件后缀
rename "s/$//.txt/" * //把所有的文件名都已.txt结尾
批量删除文件名
rename "s//.txt//" * //把所有以.txt结尾的文件名的.txt删掉 4、cat命令 cat命令连接文件并打印到标准输出设备上,cat经常用来显示文本的内容,类似于type命令。 注意:当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般使用more等命令分屏显示。为了控制滚屏,
可以按ctrl+S键,停止滚屏;按ctrl+Q键可以恢复滚屏。按ctrl+C键停止该命令的执行,并且返回shell提示符状态。
语法
cat(选项)(参数)
选项
1、-n或-number:有1开始对所有输出的行数编号
2、-b或者--number-nonblack:和-n相似,只不过对空白行不编号;
3、-s或--squeeze-black:当遇到连续两行以上的空白行,就代换为一行的空白行;
4、-A:显示不可打印字符,行尾显示“$”;
5、-e:
6、-t:
参数
文件列表:指定要连接的文件列表。 实例
设m1和m2是当前目录下的两个文件
cat m1(在屏幕上显示m1的内容)
cat m1 m2(同时显示m1和m2 的内容)
cat m1 m2 > file (将文件m1、m2合并后放入文件file中) 5、ln命令
ln命令用来为文件创建连接,连接类型为硬连接和符号连接两种,默认的连接类型是硬连接。如果创建符号连接必须使用 “-s”选项。
注意:符号连接文件不是一个独立的文件,它的许多属性都依赖于源文件,所以给符号文件设置存取权限是没有意义的。 语法
ln(选项)(参数) 选项
1、-b或--backup:删除,覆盖目标文件之前的备份;
2、-d或-F或--directory:建立目录的硬连接;
3、-f或--force:强行建立文件或目录的连接,不论文件或目录是否存在;
4、-i:覆盖既有文件之前先询问用户;
5、-n:把符号文件的目的目录视为一般文件;
6、-s:对源文件简历符号连接,而非硬连接;
7、-v:显示指令执行过程;
参数
源文件:指定连接的源文件。如果使用“-s”选项创建符号连接,则源文件可以是目录或者文件。创建硬连接是源文件只能是文件;
目标文件:指定源文件的目标连接文件。
实例
将/home目录下/mpSever目录下的test.txt文件连接到/gllong目录下的test001.txt文件
ln /home/mpSever/test.txt /gllong/test001.txt //硬连接
ln -s /home/mpSever/test.txt /gllong/text002.txt //符号连接 扩展知识
Linux具有为一个文件起多个名字的功能,称为连接。被连接的文件可以存放在相同的目录下,但是必须有不同的文件名,而不用
在硬盘上为同样的数据重复备份。
另外被连接的文件也可以有相同的文件名,但是存在与不同的目录下,这样只需要对一个目录下的该文件进行修改,就可以完成对
所有目录下同名连接文件进行修改。对于某个文件的各个连接文件,我们可以给它们指定不用的存取权限,以控制对信息共享和增强
安全性。 文件连接类型分为硬连接和符号连接。 硬连接
建立硬连接时,在另外的目录或本目录中增加文件的一个目录项,这样,一个文件就登记在多个目录中,
在默认情况下,ln创建硬连接。ln命令会增加连接数,rm会减少连接数。一个文件除非连接数为0,否则不会从文件系统中
被物理的删除。
对硬连接有如下限制:
不能对目录文件做硬连接。
不同在不同的文件系统之中建立硬连接。就是说,链接文件和被连接文件必须位于同一个文件系统中。
符号连接
符号连接也称为软连接,是将一个路径名连接到一个文件。这些文件是一种特别类型的文件。事实上,它只是一个文本文件。
与硬连接不同的是,符号连接文件确实是一个新文件,当然它具有不同的节点号,而硬连接并没有建立新文件。
符号连接没有硬连接的限制,可以对目标目录做符号连接,也可以在 不同的文件系统之间做符号连接。 使用ln -s命令建立符号连接时,源文件最好用绝对路径名。这样就可以在任何工作路径下进行符号连接。而当源文件用相对
路径时,如果当前的工作路径与要创建的符号文件所在路径不同时就不能创建。 符号连接保持了连接与源文件或者目录之间的区别: 删除源文件或目录,只删除了数据,不会删除连接。一旦以同样的文件名创建了源文件,连接将继续指向该文件的新数据。
在目录长列表中,符号连接作为一种特殊的文件类型显示出来。
符号连接的大小是其连接文件的路径名中的字节数。 6、unlink命令
unlink命令是调用系统函数unlink去删除指定的文件。和rm作用一样,都是删除文件。
语法
unlink(选项)(参数) 参数
文件:要删除的文件 7、touch命令
touch命令有两个功能:一是用于把已存在的文件的时间标签更新为系统当前时间,它们的数据原封不动的保存下来;
二是用来创建新的空文件。
语法
touch(选项)(参数) 选项
1、-a或-atime=atime 只更改存取时间;
2、-c 不建立任何文件;
3、-d<时间日期>使用指定的日期时间,而非现在的日期时间;
4、-m只更改变动时间;
5、-t<日期时间>使用指定的日期时间,而非现在的时间;
参数
文件:指定要设置文件属性的文件列表
实例
touch 1.txt
Linux命令之文件处理的更多相关文章
- Linux命令:修改文件权限命令chmod、chgrp、chown详解
Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权 限分为只读,只写和可执行三种.以文件为例,只读权限表示只允许读其内容,而 ...
- linux命令---查找文件中的内容
linux命令---查找文件中的内容 [yang@localhost ~]$ cat 1.txt |egrep '123456789|second'-------匹配123456789或者seco ...
- linux命令截取文件最后n行(所有命令)
linux命令截取文件最后n行(所有命令) tail -n a.txt > b.txt 联想:系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) una ...
- Linux 命令与文件的搜寻
平时会偶尔忘记一些命令或者文件,下面的这些命令能够帮我们快速的找到命令或者文件 1. 命令的搜寻 命令:which 功能:在PATH配置的目录下搜寻命令 用法:which [-a] [command] ...
- Linux命令之 文件归档管理
1.文件相关知识 Linux怎样保存文件 数据 -这里数据就是文件的内容 元数据 -在linux系统中,所有与某个文件相关的额外信息都保存在一个叫做i-节点(inode)的节构中 文件名 -文件名保存 ...
- Linux命令 比较文件
cmp [功能说明] 比较文件 #cmp可以比较任何类型的文件,并在标准输出设备上显示文件的第一次不同处的行号和字节号,分别从1开始,但是一般用于比较文本文件 [语法格式] Cmp[参数][文件1][ ...
- Linux命令 查看文件内容
cat [功能说明] 查看文件的内容 #cat本身是一个串接命令,把指定一个或多个源文件的内容,利用>符号重定向到目标文件中,如果不指定重定向文件,则默认在标准输出设备上显示.此时,可以利用c ...
- 每天一个linux命令(文件操作):【转载】find命令之exec
find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了. exec解释: -exec 参数后面跟的是command ...
- Linux命令 -文件操作类
声明:本文所涉及到的Linux命令均为最常见的用法,未列举之参数,自行查阅man 1.ls 查看文件与目录 -a 打印全部的文件,包括隐藏文件 -l 列表打印,数据项包括文件属性,大小和权限等 ...
随机推荐
- AngularJS vs. jQuery,看看谁更胜一筹
http://www.apjs.net/ http://docs.angularjs.cn/api/ng/function 本文由PHP100中文网编译,转载请看文末的转载要求,谢谢合作!除非特别声明 ...
- 第13章 Swing程序组件----常用布局管理器
在Swing中,每个组件在容器中都有一个具体的位置和大小,而在容器中摆放各种组件时很难判断其具体位置和大小.布局管理器提供了Swing组件安排.展示在容器中的方法及基本的布局功能. Swing提供的常 ...
- linux通过history查看命令执行时间
Linux的bash内部命令history就可以显示命令行的命令历史,默认环境执行 history 命令后,通常只会显示已执行命令的序号和命令本身.如果想要查看命令历史的时间戳,那么可以执行:# ex ...
- android使用support的ActionBar时遇到的问题
多从网上下载好了support library之后,把android-support-v7-appcompat.jar放到了libs目录下,并加入到了编译路径,本以为万事大吉,可是却报了下面的一个错误 ...
- javascript 中{}和[] 的理解
下面的一段解释是摘抄的,基本理解正确,做个记录.其实js中数组其实就是对象,typeof(['a', 'b', 'c'])//测试之后结果为 : "object" 一.{ } 大 ...
- UINavigationBar
iOS项目,根据设计图,有时需要自定义UIView的UINavigationBar的背景.可以切出来一张1像素左右的背景图片,来充当UINavigationBar的背景. 可以利用Navigation ...
- Material Design设计的开源代码
https://github.com/telly/FloatingAction http://www.csdn.net/article/2014-11-21/2822753-material-desi ...
- 基于M9K块配置ROM的LCD12864图片显示实验
先上传三张图片在说 由于串口传输速度较慢,故此实验是在“LCD12864 液晶显示-汉字及自定义显示(并口)”基础上进一步修改而来.在写代码之前 ...
- Windows Server 2012 在个人终端上使用的推荐设置
Windows Server 2012,也就是 Windows 8 的服务器版本,相对于 Windows 8 企业版而言,增强了作为服务器的功能,弱化了作为终端系统的功能. 目前微软官方提供了 Win ...
- google-c-style
http://zhanxw.com/blog/2011/03/learning-and-applying-coding-style-from-google-in-emacs/ http://stack ...