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 列表打印,数据项包括文件属性,大小和权限等 ...
随机推荐
- jq的事件冒泡
在页面上可以有多个事件,也可以多个元素响应同一件事, 事件冒泡引发的问题: 有些时候不想动用的事件,却因为事件冒泡而触发 解决问题: 1.事件对象 由于IE-DOM和标准的DOM实现事件对象的方法各不 ...
- JavaBean-- DAO设计模式
企业分层架构: 资源层:主要是数据库的操作层,里面可以进行各种数据存储,但是这些数据存储操作的时候肯定依靠SQL语句,如果在一个程序中出现过多的SQL语句,JSP页面非常复杂,不便于程序的可重用性 数 ...
- Eclipse配置
下载地址:http://www.eclipse.org/downloads/ tomcat plugin:http://www.eclipsetotale.com/tomcatPlugin.html# ...
- C++零食:使用Unicode版的预定义宏__FUNCTION__
在C++中支持一种预定义宏.比如: __FILE__: 就是当前源代码文件名 __LINE__: 就是当前源代码的行号 这些宏可以在printf等语句中直接作为字符串使用,调试的时候很方便. 如下代码 ...
- 【转】Linux 标准目录结构
初学Linux,首先需要弄清Linux 标准目录结构 / root --- 启动Linux时使用的一些核心文件.如操作系统内核.引导程序Grub等. home --- 存储普通用户的个人文件 ftp ...
- Codeforces Round #364 (Div. 2)C. They Are Everywhere(尺取法)
题目链接: C. They Are Everywhere time limit per test 2 seconds memory limit per test 256 megabytes input ...
- 转 linux目录介绍
以下用一个表格来罗列linux默认的目录或文件及其用途: 目录/文件 用途 来源 / /处于Linux文件系统树形结构的最顶端,它是Linux文件系统的入口,所有的目录.文件.设备都在/之下. - / ...
- 再探CRC(转)
源:http://hi.baidu.com/skystalker/item/228a263147f74e87f5e4ad8d 之前写了CRC16的程序,虽说能用,却不知其所心然,现在要用CRC32,重 ...
- js中的 AOP
原文 :http://blog.csdn.net/notejs/article/details/8770575 面向切面的编程(AOP)还是有点意思的,可以在不修改原有代码的情况下增加新功能.有一些j ...
- webView缩放
self.webview.scalesPageToFit = YES; 可以让webView内容用缩放手势放大或缩小