Shell-3-文件之名
1.生成任意大小的文件
[root@localhost tmp]# dd if=/dev/zero of=junk.data bs=1M count=
记录了1+0 的读入
记录了1+0 的写出
1048576字节(1.0 MB)已复制,0.00219263 秒,478 MB/秒
if代表输入文件,of代表输出文件,bs大小,count表示块数
[root@localhost tmp]# dd if=/dev/zero of=junk.data bs=1M count=
记录了2+0 的读入
记录了2+0 的写出
2097152字节(2.1 MB)已复制,0.00375177 秒,559 MB/秒
|
单元大小 |
代码 |
|
字节(1B) |
c |
|
字(2B) |
w |
|
块(512B) |
b |
|
千字节(1024B) |
k |
|
兆字节(1024kb) |
M |
|
吉字节(1024MB) |
G |
2.文本文件的交集与差集(comm)
交集:打印出两个文件所共有的行。
求差:打印出指定文件所包含的且互不相同的那些行。
差集:打印出包含在文件A中,但不包含在其他指定文件中的那些行。
[root@localhost tmp]# cat A.txt
apple
orange
gold
silver
steel
iron
[root@localhost tmp]# cat B.txt
orange
gold
cookies
carrot
[root@localhost tmp]# sort A.txt -o A.txt ;sort B.txt -o B.txt
[root@localhost tmp]# comm A.txt B.txt apple
carrot
cookies
gold
iron
orange
silver
steel
为了打印交集,删除第1,2列:
[root@localhost tmp]# comm A.txt B.txt - -
gold
orange
3.创建不可修改的文件
chattr +i file
chattr -i file [root@localhost tmp]# for name in {..}.txt
> do
> touch $name
> done
4.使用回环文件
(1)创建一个1G大小的文件
[root@cai tmp]# dd if=/dev/zero of=looback.img bs=1G count=
(2)用mkfs命令将1G文件格式化成ext4文件系统
[root@cai tmp]# mkfs.ext4 looback.img
(3)使用下列命令检查文件系统
file loobackuo.img
(4)现在可以挂载环回文件
[root@cai tmp]# mkdir /mnt/looback
[root@cai tmp]# mount -o loop looback.img /mnt/looback/
(5)使用下面方法卸载(umount)
umount /mnt/looback
5.查找文件差异并进行修补(diff)
[root@cai tmp]# cat .txt
this is a test1 [root@cai tmp]# cat .txt
this is a test2 [root@cai tmp]# diff .txt .txt
1c1
< this is a test1
---
> this is a test2
,4d2
<
<
5a4,
>
>
[root@cai tmp]# diff -u .txt .txt
--- .txt -- ::18.763717808 +
+++ .txt -- ::47.477782113 +
@@ -, +, @@
-this is a test1
+this is a test2 -
- +
+
(2)用下列命令来修补
diff -u .txt .txt >.txt
patch -p1 .txt <.txt
[root@cai tmp]# cat .txt(和2.txt一模一样)
this is a test2
(3)下列命令撤销做出的修改
patch -p1 .txt <version.patch
6.只列出目录的各种办法
(1)ls -d */
(2)ls -F |grep “/$”
(3)ls -l |grep “^d”
(4)find . -type d -maxdepth 1
7.统计文件的行数、单词数和字符数
wc命令(word count单词统计)
(1)统计行数
wc -l file
(2)统计单词数
wc -w file
(3)统计字符数
wc -c file
(4)当wc不使用任何参数时,分别打印出行数,单词数,字符数。
Shell-3-文件之名的更多相关文章
- shell提取文件后缀名,并判断其是否为特定字符串
如果文件是 .css文件 或 .js文件,则进行处理. file=$1 if [ "${file##*.}"x = "css"x ]||[ "${fi ...
- shell判断文件后缀名是否为特定字符串
如果文件是 .css文件 或 .js文件,则进行处理. if [ "${file##*.}"x = "css"x ]||[ "${file##*.}& ...
- shell expr 文件扩展名判断 整数判断
expr "text.sh" : ".*\.sh" &>/dev/null && echo "yes" ||e ...
- Shell获取文件后缀名
file = "thisfile.txt" echo "filename: ${file%.*}" echo "extension: ${file## ...
- 用shell脚本批量修改文件后缀名
早上本想将一些照片上传到相册中,但是由于所有照片的扩展名都是JPG而不是小写的jpg,因此造成了“格式不正确”而不能上传照片.此刻就产生了这样一个问题:使用shell脚本如何批量将所有文件的扩展名JP ...
- Shell获取文件的文件名和扩展名的例子
这篇文章主要介绍了Shell获取文件的文件名和扩展名的例子,简明版的代码实例,看了就懂,需要的朋友可以参考下 basename example.tar.gz .tar.gz # => examp ...
- Bash Shell 解析路径获取文件名称和文件夹名
前言 还是今天再写一个自己主动化打包脚本.用到了从路径名中获取最后的文件名称.这里记录一下实现过程. 当然,最后我也会给出官方的做法.(ps:非常囧,实现完了才发现原来Bash Shell有现成的函数 ...
- Linux下的文件及文件后缀名
Linux下的文件及文件后缀名 2013-03-14 15:34 6969人阅读 评论(0) 收藏 举报 ++++++++++++++++++++++++++++++++++++++正文+++++++ ...
- linux环境: shell初始化文件, for TCSH, CSH
TCSHELL, CSHELL 配置文件 全局配置文件 /etc/csh.cshrc个人配置文件 ~/.cshrc或~/.tcshrc 参考: 1.配置你的csh/tcsh, https://wik ...
- linux下怎样批量更改文件后缀名
今天又有同学问linux下怎样批量更改文件后缀名,这个问题被别人问到三次了,所以这里给出几个解决方法 一.rename解决 1. Ubuntu系统下 rename 's//.c//.h/' ./* ...
随机推荐
- NB-LOT 科普
最全科普!你一定要了解的NB-IoT 2017-06-19 21:04物联网/操作系统/科普 工信部下发通知推动150万NB-IoT基站落地.NB-IoT汹涌而来.很多网友要求雇佣军科普一篇NB-Io ...
- Spring线程池由浅入深的3个示例
作者博客主页:http://blog.csdn.net/chszs 本文提供了三个Spring多线程开发的例子,由浅入深,由于例子一目了然,所以并未做过多的解释.诸位一看便知. 前提条件: 1)在Ec ...
- SpringMVC---依赖注入与面向切面
1.依赖注入与面向切面 1.1.出现背景 ——如何简化java开发? 其中很重要的一点是“组件化”. ——如何更好的“组件化”? 松耦合,以及尽可能的让组件专注于本身. ——Spring框架的目的也只 ...
- Python函数(三)-局部变量
全局变量 全局变量在函数中能直接访问 # -*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" name = 'John' def te ...
- CAD库中列举所有航路点
select distinct f1.airway_point_name,f1.latitude,f1.longitude,upper(f1.airway_point_type_name)type,f ...
- 01-20Asp.net--Linq语法
Linq语法--语言集成查询 同Sqlserver语句,但顺序颠倒了. 使用方法: 新建Linq类.dbml结尾的文件 在web窗体源代码中设计表,使用Repeater中转存放: <asp:Re ...
- iOS多线程各种安全锁介绍 - 线程同步
一.atomic介绍 github对应Demo:https://github.com/Master-fd/LockDemo 在iOS中,@property 新增属性时,可以增加atomic选项,ato ...
- linux 信号量之SIGNAL 0<转>
我们可以使用kill -l查看所有的信号量解释,但是没有看到SIGNAL 0的解释. [root@testdb~]# kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) ...
- java中sleep和join和yield和wait和notify的区别
1.sleep() 使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁.也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据.注意该方 ...
- Codeforces 8C 状压DP
题意:有个人想收拾行李,而n个物品散落在房间的各个角落里(n < 24).现在给你旅行箱的坐标(人初始在旅行箱处),以及n个物品的坐标,你一次只能拿最多两个物品,并且拿了物品就必须放回旅行箱,不 ...