如何去除Linux文件的^M字符?

linux下,不可避免的会用VIM打开一些windows下编辑过的文本文件。我们会发现文件的每行结尾都会有一个^M符号,这是因为 DOS下的编辑器和Linux编辑器对文件行末的回车符处理不一致,

对于回车符的定义:

windows:0D0A

unixlinux: 0A

MAC: 0D

比较快捷的去除这些符号的方法有这么几种:

(1)是用VI的命令:

使用vi打开文本文件

vi dos.txt

命令模式下输入

:set fileformat=unix

:w

(2) VI下使用正则表达式替换

g/^M/s/^M//

或者

%s/^M//g

(3)使用sed 工具

sed ’s/^M//’ filename > tmp_filename

(4)既然window下的回车符多了‘r’,那么当然通过删除‘r’ ,也可以实现:

tr -d ‘r’

(5)最后一个方法是本人最常用的方法,个人觉得最方便

在终端下敲命令:

$ dos2unix filename

直接转换成unix格式,就OK了!~

linux中的sort命令?

linux的sort命令详解

1.语法

sort

2.参数说明

-b 忽略每行前面开始出的空格字符。

-c 检查文件是否已经按照顺序排序。

-d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。

-f 排序时,将小写字母视为大写字母。

-i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。

-m 将几个排序好的文件进行合并。

-M 将前面3个字母依照月份的缩写进行排序。

-n 依照数值的大小排序。

-o 将排序后的结果存入指定的文件。

-r 以相反的顺序来排序。

-t 指定排序时所用的栏位分隔字符。

+- 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。

–help 显示帮助。

Linux的磁盘分区格式有何区别?

1.磁盘分区格式说明

linux分区不同于windows,linux下硬盘设备名为(IDE硬盘为hdx(x为从a—d)因为IDE硬盘最多四个,SCSI,SATA,USB硬盘为sdx(x为a—z)),硬盘主分区最多为4个,不用说大家也知道…..所以主分区从sdb1开始到sdb4,逻辑分区从sdb5开始,(逻辑分区永远从sdb5开始…)设备名可以使用fdisk –l查看

2.分区详解

使用ssh远程连接工具登录到系统,使用fdisk -l命令查看磁盘状态

linux tmp(linux tm)-编程之家

此处可以看到两块硬盘hda和hdb,第一块硬盘hda是装好系统的。hdb硬盘是未进行分区的。

本例将这个10G的硬盘分区,分区计划:分一个主分区 ,大小3G,文件格式ext3.三个逻辑分区,大小分别为2G,2G,3G。实际分区个数和大小可论情况所定。

下面就是分区的详细步骤,由于是每一步都进行了截图和说明,内容略显复杂,其实很简单。

输入 fdisk /dev/hdb 然后回车,给硬盘进行分区。如下图

linux tmp(linux tm)-编程之家

输入n回车新建分区,接着再输入p回车新建主分区,如图

linux tmp(linux tm)-编程之家

此处要求选择分区号在1-4间,输入1回车

linux tmp(linux tm)-编程之家

First cylinder (1-20805, default 1):这里是设置分区起始的柱面,直接回车选择默认即可,回车后如下图

linux tmp(linux tm)-编程之家

Last cylinder or +size or +sizeM or +sizeK (1-20805, default 20805):此处是设置分区结束柱面,+3G表示从起始柱面开始向后3G结束,也是是设置分区大小为3G,输入+3G后回车,如下图所示

linux tmp(linux tm)-编程之家

此处可输入p查看分区是否成功,输入p回车,如下图:显示分区成功

linux tmp(linux tm)-编程之家

接下来我们就划分扩展分区,按n回车

linux tmp(linux tm)-编程之家

这里输入e,表示创建扩展分区,输入e回车

linux tmp(linux tm)-编程之家

输入分区号2回车

linux tmp(linux tm)-编程之家

此处直接按回车键,表示选择默认

linux tmp(linux tm)-编程之家

此处也是直接回车选择默认,表示将划分第一个主分区后的磁盘全部划分个这个逻辑分区

linux tmp(linux tm)-编程之家

此处可在此输入命令p查看当前分区状态,如下图

linux tmp(linux tm)-编程之家

此处就开始划分扩展分区hdb2下的逻辑分区吧!接着上图,输入命令n回车

linux tmp(linux tm)-编程之家

此处输入l表示选择创建逻辑分区,输入l回车

linux tmp(linux tm)-编程之家

此处直接使用回车,表示选择默认

linux tmp(linux tm)-编程之家

此处输入+2G,表示划分分区大小为2G,输入+2G回车

linux tmp(linux tm)-编程之家

此处要按计划再划分出两个逻辑空间,输入n回车,然后输入l回车选择逻辑分区,然后直接回车选择默认起始柱面,输入+2G回车设置分区大小

linux tmp(linux tm)-编程之家

下面就要将扩展分区的磁盘大小全部分给最后一个逻辑分区,输入n回车,然后输入l选择逻辑分区,然后直接回车选择默认起始柱面,最后不设置磁盘大小直接回车

linux tmp(linux tm)-编程之家

再次输入p查看当前分区状态

linux tmp(linux tm)-编程之家

划分的空间与我们计划划分相同,最后输入w回车,进行保存退出。

再次使用fdisk -l命令就可以查看到磁盘hdb已经分区成功。

linux tmp(linux tm)-编程之家

磁盘划分成功,下面就要对分区进行格式化了

使用命令 mkfs -t ext3 /dev/hdb1

mkfs -t ext3 /dev/hdb5

mkfs -t ext3 /dev/hdb6

mkfs -t ext3 /dev/hdb7

分别对磁盘进行格式化处理,格式化为ext3文件类型

自此分区流程算是完成啦!

附:fdisk和mkfs,mkswap命令的参数解释

fdisk命令详解:

m:获取帮助

n:新建分区

p:显示分区表

d:删除分区

b:设置卷标

w:写入分区表

t:改变分区文件系统类型

v:检验分区

l:显示fdisk所支持的文件系统代码

q:退出