===================================================================================================================
一、linux压缩、解压命令用法
===================================================================================================================
.gz
压缩:
gzip filename 生成 filename.gz
解压:
gzip -d filename.gz

.bz2
压缩:
bzip2 -z FileName
解压:
bzip2 -d FileName.bz2

.tar
压缩:
tar cvf filename.tar DirName
解压:
tar xvf filename.tar
tar xvf filename.tar -C /home

.tar.gz
压缩:
tar zcvf filename.tar.gz DirName 把DirName目录打包,生成filename.tar.gz文件
解压:
tar zxvf filename.tar.gz

.tar.bz2
压缩:
tar jcvf filename.tar.bz2 DirName 把DirName目录打包,生成filename.tar.bz2文件
解压:
tar jxvf filename.tar.bz2

.tgz
compress:
tar zcvf filename.tgz DirName
decompress :
gzip -dv filename.tgz --> filename.tar
tar xvf filename.tar

.rar
压缩:
rar a lj_tmp ./temp/ -->lj_tmp.rar
解压:
rar e FileName.rar
unrar e FileName.rar
unrar x FileName.rar

-------------------------------------------------------------------------------------------------------------------
linux - tar 分卷压缩
分卷压缩适用于比较大的文件,比如android源码,可以将一个大的文件或目录压缩成多个较小的压缩包,这样便于网络传输,
此外,有 文件系统单个文件不得大于4G,如fat16,此时利用分卷压缩,将一个大文件分成多个小文件存储显得很有用。
文件下载到本地PC端以后,再使用多卷合并,把多个较小的压缩包合并为一个大包,最后再将此大包解压。
整个流程如下:
source_dir/ --> 分卷压缩 --> 多卷合并 --> 解压缩 --> source_dir/

1、压缩成.tar.gz包,待压缩文件为 test/
(1)分卷压缩
tar czvf - /test | split -b 20m - ts.tar.gz.
将把 test/目录压缩成每个20M的包,依次生成 ts.tar.gz.aa ts.tar.gz.ab ts.tar.gz.ac ... 生成包的个数视 test/目录本身的大小而定
(2)多卷合并
cat ts.tar.gz.a* > ts.tar.gz
这一步实现多卷合并

2、压缩成.tar.bz2包,待压缩文件为 test/
(1)分卷压缩
tar cjvf - test/ | split -b 30m - ts.tar.bz2.
生成 ts.tar.bz2.aa ts.tar.bz2.ab ts.tar.bz2.ac ...
(2)多卷合并
cat ts.tar.bz2.a* > ts.tar.bz2

3 解压
tar xzvf ts.tar.gz
或者
tar xjvf ts.tar.bz2

===================================================================================================================
二、ls 命令的参数选项说明:
===================================================================================================================
-a, –all 列出目录下的所有文件,包括以 . 开头的隐含文件。
-A, –almost-all 列出除了 . 及 .. 以外的任何项目
–author 印出每个文件的作者
-f 对输出的文件不进行排序,-aU 选项生效,-lst 选项失效
-F, –classify 加上文件类型的指示符号 (*/=@| 其中一个)
-clt 显示当前目录下的文件,并按时间先后排列
-k 即 –block-size=1K,以 k 字节的形式表示文件的大小
-l 列出文件的详细信息
-o 类似 -l,显示文件的除组信息外的详细信息。
-L, –dereference 当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链接本身的信息
-lh, –human-readable 以容易理解的格式列出文件大小 (例如 1K 234M 2G)
-p, -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字
-Q, –quote-name 将项目名称括上双引号
-r, –reverse 依相反次序排列
-R, –recursive 同时列出所有子目录层
-s, –size 以块大小为单位列出所有文件的大小
-S 根据文件大小排序

只列出子目录
1. ls -F | grep /$
2. ls -l | grep “^d”

列出目前工作目录下所有名称是s 开头的档案,愈新的排愈后面,可以使用如下命令:
ls -ltr s*

用ls -l命令查看某一个目录会得到一个9个字段的列表.
drwxrwxr-x 4 insound insound 4096 4月 22 17:59 workspace
1 2 3 4 5 6 7 8 9
第1字段: 文件属性字段
第2字段: 文件硬链接数或目录子目录数
第3字段: 文件拥有者
第4字段: 文件拥有者所在的组
第5字段: 文件大小(以字节为单位)
第6字段: 文件创建月份
第7字段: 文件创建日期
第8字段: 文件创建时间
第9字段: 文件名 (如果是一个符号链接,那么会有一个 “->” 箭头符号,后面根一个它指向的文件)

===================================================================================================================
三、grep与正则表达式
===================================================================================================================
1、 grep -[acinv] '搜索内容串' filename

-a
以文本文件方式搜索

-c
计算找到的符合行的次数

-i
忽略大小写

-n
顺便输出行号

-v
反向选择,即找没有搜索字符串的行

其中搜索串可以是正则表达式!

搜索有the的行,并输出行号
$grep -n 'the' regular_express.txt

搜索没有the的行,并输出行号
$grep -nv 'the' regular_express.txt

2、 利用[ ]搜索集合字符
[ ] 表示其中的某一个字符,例如[ade] 表示a或d或e
grep -n 't[ae]st' regular_express.txt

可以用^符号做[]内的前缀,表示除[]内的字符之外的字符
grep -n '[^g]oo' regular_express.txt

[ ] 内可以用范围表示,比如: [a-z] 表示小写字母, [0-9] 表示0~9的数字, [A-Z] 则是大写字母们。 [a-zA-Z0-9]表示所有数字与英文字符。
当然也可以配合^来排除字符。

搜索包含数字的行:
grep -n '[0-9]' regular_express.txt

3、^表示行的开头; $表示行的结尾; ^$表示空行
这里^与[ ]里面使用的^意义不同。它表示^后面的串是在行的开头。
比如搜索the在开头的行:
grep -n '^the' regular_express.txt

搜索以小写字母开头的行:
grep -n '^[a-z]' regular_express.txt

搜索开头不是英文字母的行:
grep -n '^[^a-zA-Z]' regular_express.txt

$表示它前面的串是在行的结尾,比如'\.' 表示. 在一行的结尾搜索末尾是.的行 :
grep -n '\.$' regular_express.txt //. 是正则表达式的特殊符号,所以要用\转义

^$ 就表示只有行首行尾的空行拉。
搜索空行:
grep -n '^$' regular_express.txt

搜索非空行:
grep -vn '^$' regular_express.txt

4、在bash中*代表通配符,用来代表任意个字符,但是在正则表达式中,他含义不同,*表示有0个或多个某个字符

oo*, 表示第一个o一定存在,第二个o可以有一个或多个,也可以没有,因此代表至少一个o.

. 代表一个任意字符。
g??d 可以用 'g..d' 表示:
grep -n 'g..d' regular_express.txt

5、{ }限定连续重复字符的范围
. *只能限制0个或多个,如果要确切的限制字符重复数量,就用{范围},范围是数字中间用,分隔。
2,5表示2~5个
2表示2个
2,表示2个到更多个

注意,由于{ }在SHELL中有特殊意义,因此作为正则表达式用的时候要用\转义一下。
搜索包含两个o的字符串的行:
grep -n 'o\{2\}' regular_express.txt

搜索g后面跟2~5个o,后面再跟一个g的字符串的行:
grep -n 'go\{2,5\}g' regular_express.txt

搜索包含g后面跟2个以上o,后面再跟g的行:
grep -n 'go\{2,\}g' regular_express.txt

注意,想让[]中的^ -不表现特殊意义,可以放在[]里面内容的后面。
'[^a-z\.!^ -]' 表示没有小写字母,没有. 没有!, 没有空格,没有- 的串。
注意[]里面有个小空格。另外shell 里面的反向选择为[!range], 正则里面是[^range]

===================================================================================================================
四、关于linux系统中的软链接与硬链接
===================================================================================================================
ln 链接命令
ln -s source dist 为档案source创建软链接文件dist
ln source dist 为档案source创建硬链接文件dist

硬连结的意思是一个档案可以有多个名称,而软连结的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。软链接就是ln -s ** **,
它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间;硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件.
无论是软链接还是硬链接,文件都保持同步变化。
若一个 inode 号对应多个文件名,则称这些文件为硬链接。换言之,硬链接就是同一个文件使用了多个别名

硬链接的特点:
删除一个硬链接文件并不影响其他有相同 inode 号的文件
不能对目录进行创建,只可对文件创建
文件有相同的 inode 及 data block

软链接的特点:
软链接有自己的文件属性及权限等,也即软链接有自己的inode号;
删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接被称为死链接(即 dangling link,若被指向路径文件被重新创建,死链接可恢复为正常的软链接)
软链接可对文件或目录创建;
可对不存在的文件或目录创建软链接;

例如:
ln -s /home/insound/jackly ./ln_jackly
在当前目录下创建一个软链接文件ln_jackly,指向/home/insound/jackly

===================================================================================================================
五、U盘格式化
===================================================================================================================
mkfs.vfat -F 32 /dev/sdb1
将U盘格式化为FAT32格式

===================================================================================================================
六、linux下用fdisk对U盘进行分区:
===================================================================================================================
(1) 查看U盘对应的设备名
fdisk -l
----------------------------------------------------------------------------------
Disk /dev/sdb: 3904 MB, 3904897024 bytes
190 heads, 35 sectors/track, 1146 cylinders, total 7626752 sectors
Units = 扇区 of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0000b89b

设备 启动 起点 终点 块数 Id 系统
/dev/sdb1 * 24576 7626751 3801088 c W95 FAT32 (LBA)
-----------------------------------------------------------------------------------

(2)进入U盘
fdisk /dev/sdb

(2)
m,打印帮助信息

(3)
p,列出分区表

(4)
n,新建分区
输入起始sector
输入终止sector

(5)
w,保存退出

===================================================================================================================
七、linux下用find查找命令
===================================================================================================================
find pathname -options [-print -exec -ok]

例如:
find /home/lijiang/ -name *love.java -print
在 /home/lijiang 目录下 查找 含有 love.java字段的文件,并在终端打印出来

linux命令总结1129相关推荐

  1. 1、Linux命令随笔

    1 Linux命令总结 2 3 man ==命令帮助; 4 help ==命令的帮助(bash的内置命令); 5 ls ==list,查看目录列表; 6 -ld:查看目录权限; 7 -l:(long) ...

  2. LINUX命令大全详解备忘录

    文件目录操作命令 ls命令 cd命令 pwd命令 mkdir命令 rm 命令 rmdir 命令 mv命令 cp 命令 touch 命令 cat 命令 nl命令 more命令 less 命令 head ...

  3. linux 命令总结

    http://linux.chinaunix.net/techdoc/system/2008/03/12/982929.shtml 1. 永久更改ip ifconfig eth0 新ip 然后编辑/e ...

  4. linux 命令总结(转载)

    linux 命令总结(转载) 1. 永久更改ip ifconfig eth0 新ip 然后编辑/etc/sysconfig/network-scripts/ifcfg-eth0,修改ip 2.从Lin ...

  5. linux命令大全(完善中)

    bash作为大多数的linux系统的默认字符解析器,所以必须了解bash的优势 1.默认保存历史命令(可以用上下键翻看) 2.命令输入前几位可用tab键补全 3.强大的批量处理脚本 4.实用的环境变量 ...

  6. 作为一个java程序员,常用的linux命令(越攒越多)

    本篇记录我在工作中不断遇到的常用的linux命令,并进行总结,时常更新! 1. 升级服务时先停止服务,然后进行替换 linux中杀进程时候,如果你是知道它所占用的端口号的话,可以通过 netstat ...

  7. Linux命令行与命令

    Linux命令行与命令 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Linux的命令是很重要的工具,也往往是初学者最大的瓶颈. ...

  8. sed linux 命令

    sed linux 命令 1. Sed简介 2. 定址 3. Sed命令 4. 选项 5. 元字符集 6. 实例 7. 脚本 1. Sed简介 sed 是一种在线编辑器,它一次处理一行内容.处理时,把 ...

  9. linux 命令行叫dos,利用shell编程实现DOS风格的Linux命令行

    如果你是习惯于Windows命令提示符的IT人,当你第一次使用Linux命令行时,一定会感到无所适从.你所熟悉的DOS命令再Linux中基本不存在.摆在你面前的是一大堆要记背的命令. 一种替代方案是利 ...

最新文章

  1. 安装nginx及依赖包
  2. Linux下Nginx访问web目录提示403Forbidden
  3. P2617 Dynamic Rankings(整体二分)
  4. 怎样进入pe重建硬盘
  5. wrong elf class: elfclass32_薇娅倾情推荐亿健ELF跑步机,价格优惠大还为粉丝争取福利! - 消费...
  6. Win10中的IIS10安装php manager和IIS URL Rewrite
  7. 台式电脑计算机能创建新磁盘吗,解决方案:如何添加硬盘以扩展台式计算机上的存储空间|如何对新添加的硬盘进行分区...
  8. 如何避免可怕的中年危机?看完这篇彻底明白了
  9. IP地址基础和子网规划之其一
  10. Android9能用的flash播放器,安卓flash播放器源码支持android9
  11. 计算机考试系统客户端怎么用不了,[说明]计算机基础测评系统考试客户端操作步骤.doc...
  12. Fragstats计算景观生态指数
  13. 前端 环形统计_用Canvas+js 实现简单圆形百分比统计图表
  14. CSJ加人|cs如何加人|cs加人快捷键
  15. Zynga将Cocos2D-X移植到Emscripten
  16. 图解通信原理与案例分析-2:如何用电信号来表示和传输0和1,远远比我们想象的要复杂得多
  17. 第一性原理计算软件攻略-利用VESTA绘制差分电荷密度图解
  18. 微信浏览器iframe嵌套h5,h5页面不能调起微信支付问题处理
  19. 高可用集群下的负载均衡(7):haproxy + keepalived 实现高可用负载均衡
  20. 2021高考 海南中学成绩查询,2021海南省地区高考成绩排名查询,海南省高考各高中成绩喜报榜单...

热门文章

  1. ddr5和ddr6的显卡插口区别 ddr5和ddr6差距有多大
  2. dva自定义组件及使用方法
  3. 【大数据开发】SparkStreaming——DStream输入源、原语、SparkStream与Kafka和Redis三者的交互
  4. 我去那个擅长搞事件营销的沸点天下到底收获了什么?
  5. python云盘私有云_GitHub - 0x2642/Umi-Chest: 一个基于python的私有云实验项目
  6. css什么是重绘重排,哪些操作会造成重绘重排
  7. ASP.NET正则实现表情替换为图片,如[hanx]替换为img src=img/hanx.gif/
  8. oracle数据表转换为mysql数据表
  9. 007 - 配置 Clion 调试显示 Qt 变量
  10. 中文分词软件包的使用