精华内容
下载资源
问答
  • Linux技巧:dos转unix文件格式方法

    千次阅读 2019-07-22 00:07:07
    Window上编辑的文件上传到Linux系统上,经常会遇到报错,原因在于window上文件格式与linux上是不同的导致。 Windows上市dos格式,Linux上是unix格式。 Dos->Unix转换是需要的,一般可以采取以下两种方法进行装换...

    Window上编辑的文件上传到Linux系统上,经常会遇到报错,原因在于window上文件格式与linux上是不同的导致。 Windows上市dos格式,Linux上是unix格式。
    Dos->Unix转换是需要的,一般可以采取以下两种方法进行装换:

    使用dos2unix 文件名 进行转换

    终端执行: dos2unix test.py

    借助vim编辑器进行转换

    在linux上使用vim编辑器
    命令行模式下输入:set ff
    显示fileformat=dos

    命令行模式下输入:set ff=unix回车

    命令行模式下再次输入:set ff

    显示fileformat=unix

    展开全文
  • Linux下window转unix文件格式

    千次阅读 2012-07-09 17:51:55
    在window下写了一些linux下的shell文件,然后复制到red hat中,执行shell文件时,提示^M 解释错误,用vi打开一看原来文件中的每一行都加了一个^M字符,才知原来是window与unix格式不兼容的原因(\r\n与\r)。...

    在window下写了一些linux下的shell文件,然后复制到red hat中,执行shell文件时,提示^M 解释错误,用vi打开一看原来文件中的每一行都加了一个^M字符,才知原来是window与unix格式不兼容的原因(\r\n与\r)。

    因此需要将文件中多余的^M去掉,用如下命令搞定:find -name \*sh -exec sed -i 's/\r//g' {} \;

    展开全文
  • Unix / Linux 文件系统

    千次阅读 2018-08-19 00:56:47
    我们工作中使用 Unix / Linux 作为应用程序服务器,无非就是把我们编写好的软件部署到远程服务器,其中少不了对文件的各种操作,如果你不会操作文件那么将寸步难行。接下来我们来认识一下 Unix / Linux 文件系统。 ...

    作为一名电脑使用者,不懂图形化操作文件系统就不算会使用电脑。那么作为一名程序员,如果不懂命令行操作 Linux 文件系统,就不敢说自己是一名合格的程序员。我们工作中使用 Unix / Linux 作为应用程序服务器,无非就是把我们编写好的软件部署到远程服务器,其中少不了对文件的各种操作,如果你不会操作文件那么将寸步难行。接下来我们来认识一下 Unix / Linux 文件系统。

    1. 本地文件系统

    在这里我们将讨论面向本地磁盘的文件系统(硬盘,CD-ROM,DVD-ROM,USB)。这类文件系统UFS(Unix File System),FAT(File Allocation File 通常是 Windows 和 DOS 系统的文件系统),NTFS(New Technology File System,通常是 Windows NT,2000,XP 的文件系统),UDF(Universal Disk Formt 通常是 DVD 文件系统),HFS+(Hierarchical File System 分级文件系统,例如 Mac OS X),ISO9660 通常为 CD-ROM 文件系统 和 EXT2 扩展文件系统(它是 Linux 默认的内核文件系统)等等。

    说了这么多,那我们使用的虚拟机中的 CentOS 7 使用的是什么类型的文件系统呢?使用 df -T 来查看一下。

    从 Type 一列我们看到它使用了 xfs 文件系统,这是一种高性能的日志文件系统,诞生于 1993 年,在 2000 年被移植到 Linux 系统上。上面介绍的都是面向磁盘的本地文件系统,其实还有面向网络的和临时的虚拟文件系统,例如上图中的 tmpfs 就是一种面向内存的临时文件系统。

    2. 目录结构

    要想熟练操作文件就必须了解系统的目录结构,Unix / Linux 使用分层的文件系统结构,"/" 是文件系统的根基,其他的所有的目录都是从这里开始。我们使用 tree 命令来查看从根目录开始的目录结构,只显示一层深度。如下:

    bin 目录主要存放二进制可执行文件,例如上一篇文章我们使用的 passwd,cat,vi 等程序。boot 目录存放用于启动系统的文件。dev 目录存放设备文件。etc 目录存放系统配置文件,如 用户信息,hosts 信息。lib 存放共享库的文件。media 存放挂在的媒体文件。mnt 存放挂在的移动设备文件。opt 额外安装的软件可以指定安装到该目录下,便于管理。proc 存在系统当前正在运行的进程信息。root 我的系统用户主目录。run 未查到相关信息。sbin -> usr/sbin 存放系统管理的必须程序。srv 存放用户主动产生的文件,对外服务。sys 存放全局设备文件,例如总线控制等。tmp 存放临时文件。usr 可以存放任意的文件,例如被很多用户使用的联机帮助页。var 存放长度可变的文件,例如日志文件。

    3. 常用的命令

    要想操作文件,必须先学会文件系统的导航。接下来了解几个常用的导航命令吧!

    • pwd 显示当前所在的目录,我们执行命令的时候需要确认当前目录是否是我们预想的目录,因此这个命令经常使用。如下显示我们现在位于 /root 目录
    • cd(Change Directory)去到任何我们想去的目录,如我们想去到 /etc目录:
    • which 和 whereis,我们平常使用的一些工具,假如我们想知道他们真正位于什么目录,可以使用 which。例如我们想知道 cd 工具位于什么目录,可以如下操作: which 和 whereis 的不同之处在于 which 搜寻环境变量 PATH 里面指定的内容,whereis 将在 PATH 和 MANPATH 指定的目录中查找。
    • find 查找目录或者文件,例如我们需要在 /root 目录下去查找一个叫做 test 的文件:
    • file 查看文件的类型,例如查看 test 是什么类型的文件,显示结果为一个文本文件
    • ls 显示目录中的内容,假如我们想查看根路径的内容,则可以如下操作: -l 参数可以显示出文件的对应的详细内容,所有者,权限,大小,上次更改时间,符号链接。同时我们也可以加上 -a 参数显示所有文件,包括 . 开头的隐藏文件。

    4. 文件的类型

    也许你已经注意到了,用 ls 命令列出来的文件中的最左边有一些信息。例如 drwxr-xr-x,第一位代表的就是文件的类型,后面的9位代表的文件的权限。- 代表这是一个文本文件,或者可执行文件。b 代表这是一个块文件,例如硬盘。c 字符设备文件,如硬盘。d 代表这是一个目录文件。l 代表这是一个符号链接,可以理解为 Windows 系统中的快捷方式。p 代表这是一个管道,用于通讯。s 代表这是套接字,用于通讯。由于我们平时操作会用到符号链接,因此我们简要介绍下符号链接。Unix / Linux 使用 inode 来引用文件而不是文件名,inode 在一个分区中是唯一的。符号链接有 2 种,硬链接 和 软连接。首先我们来创建一个文件,然后分别为它创建一个硬链接和一个软连接。

    接下来我们分别对源文件,硬链接,软链接进行写入操作,我们会发现,对它们中任何的一个的写入操作在其他的上面都会反映出来。

    既然效果都一样,那么软链接和硬链接究竟有什么区别呢?硬链接使用 inode 来实现,软链接使用文件名来实现。因此,如果我们删除 file 文件,然后创建一个新的 file 文件。此时我们的软链接是依然生效的,而硬链接已经失效了。如下实验数据:

    5. 文件的权限

    我们使用 ls -l 命令查看文件的时候,最左边开始的字符串反映了文件的权限,如下例:

    如上图我们可以清楚的明白各个用户对于文件的权限在哪里查看,那么对应的 r,w,x 分别就是读,写,执行权限。我们可以使用 chmod(change mode)来更改文件的权限,操作的时候有 2 中选择,一种是使用符号模式,即rwx,另外一种是绝对模式用8 个数字分别代表一种权限。使用 chmod 用户(a/u/g/o)+/- 权限(rwx) 文件名 命令格式来操作文件权限,实验结果:

    同时我们也可以使用绝对模式来操作文件权限,例如 chmod 777 file,代表所有用户都用于对 file 文件的最大操作权限。绝对模式的数字代表的含义如下:

    0 无权限,1 执行权限,2 写入权限,3 执行和写入权限,4 读取权限,5 读取和执行权限,6 读取和写入权限,7所有权限。此处留一道脑筋急转弯,为啥不用 3 代表 读取权限呢?

    6. 查看文件

    程序出错以后难免要去查看日志文件,此时查看文件的命令就尤为重要。我们可以使用 cat,more,less,head,tail等命令查看文件内容。cat 将内容一股脑全部打印在屏幕上,不适合查看内容多的文件。此时使用 more 就可以,查看完后按 enter 键,继续显示下一行,less 命令更加强大,可以使用 上下方向键来移动。head 查看文件头部的内容,tail查看尾部的内容。在查看一些不断输出的日志文件时候,我们可以使用 tail -f 命令来不断刷新显示的内容。

    7. 查看分区空间使用率

    如果有个笨蛋程序员写了一个死循环的程序,那么避免不了产生一个超级大日志文件撑爆服务器。那么我们如何查看分区的空间使用率呢?df(disk free)显示磁盘使用情况,例如:df -k

    掌握以上命令以后,我们已经可以对 Unix / Linux  系统的文件一顿操作了,但是强大的系统远不止这点命令,就让我们在实战的过程中,边用边学习吧。

     

    展开全文
  • 换行符在Linux和Windows下的区别以及将Linux和windows下的文件的互Linux命令:unix2dos, dos2unix 一、区别 换行符: 1.windows中的换行符是\r\n, 2. linux/unix下的换行符是\n。 其

    换行符在Linux和Windows下的区别以及将Linux和windows下的文件的互转的Linux命令:unix2dos, dos2unix


    一、区别

    换行符:

    1.windows中的换行符是\r\n,

    2. linux/unix下的换行符是\n。

    其中:

    回车符:\r=0x0d  (13)          return; #回车(carriage return)  

    换行符:\n=0x0a (10)           newline。#换行(newline)

     

    二、文件格式互转命令

    1.unix2dos:将具有unix风格的格式文件转化为具有window下的格式文件。

    2.dos2unix:将具有windows风格的格式文件转化为unix下的格式文件。

     

    两个命令的具体用法参见man手册。

     

    windows的换行符是\r\n Linux采用的是\n
    可以采用unix2dos或dos2unix转换文本文件 


    三、回车换行符的历史背景
         早期的计算机输出设备不是显示器,而是电传打字机,结构与普通的打字机差不多。有一个打印头在纸上打字,同时有一个电动机控制纸张的进出。当打印头到达行尾的时候,需要两个动作才能够到达下一行的行首:首先执行回车动作,将打印头移动到本行的行首,然后进行换行动作,电动机将纸张向上移动一行,这样打印头就处于下一行的行首,可以继续进行打印。回车和换行对应的控制字符分别是\r和\n,这就是windows中换行符为\r\n的由来。后来由于经常连续执行,所以在打印机中将这两个控制字符简化为一个控制字符,这就是linux/unix中的换行符\n的由来。

     Unix系统里,每行结尾只有“<换行>”,即“\n”;Windows系统里面,每行结尾是“ <回车><换行>”,即“\r\n”;Mac系统里,每行结尾是“<回车>”。一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号.

     

     

    四、引起的现象和问题:

     

    1.问题一

    ​    做一个日志文件的时候发现由printWriter写出来的文件在windows上打开 是混乱的,因为在linux下执行printLn方法时 写入的换行符是\n ,在windows没法识别\r\n才能被认为是换行

     

    2. 问题二 

    有时在WIN下编辑好的脚本文件上传到LINUX服务器中不能正常执行,开始误认为是LINUX配置问题,后来发现,是WIN与LINUX存储文件时的换行符标志不同造成的。在DOS使用的换行符为 ^M$,我们称为CR与LF两个符号。而在Linux中,则仅有LF ($) 这个换行符。

      可以用如下命令完成格式转换:$dos2unix,$unix2dos。但这两个命令在Ubuntu发行版本中不存在,可通过:

      $sudo apt-get install tofrodos

      命令安装。之后,再次使用如下文所示的格式即可。

      [root@linux ~]# dos2unix [-kn] file [newfile]

      [root@linux ~]# unix2dos [-kn] file [newfile]

      参数:

      -k : 保留该文件原来的mtime时间格式(不更新文件上次内容经过修改的时间)

      -n : 保留原来的旧文件,将转换后的内容输出到新文件,如:dos2unix -n old new

      范例:

      范例一:将提供的hosts文件格式更新为dos格式。

      [root@linux ~]# unix2dos -k hosts

      unix2dos: converting file hosts to DOS format ...

      # 此时hosts文件的时间不会改变,但内容主要将换行符修改成为DOS的CRLF了。

      范例二:将范例一已经变成DOS格式的hosts改名为hosts.dos,并且转换Linux

      格式到hosts.linux

      [root@linux ~]# mv hosts hosts.dos

      [root@linux ~]# dos2unix -k -n hosts.dos hosts.linux

      dos2unix: converting file hosts.dos to file hosts.linux in UNIX format ...

      [root@linux ~]# ll

      -rw-r--r-- 1 root root 288 Aug 1 13:30 hosts.dos

      -rw------- 1 root root 279 Aug 1 13:30 hosts.linux

      # 由于DOS格式中多了CR字符,所以,文件比较大。

     

    3. 现象三

     先生成一个换行(\n, 0x0A)和回车(\r, 0x0D)组合的文本

       $ echo -en '12\n34\r56\n\r78\r\n' > tmp

       以十六进制方式查看文本
       $ od -t x1 tmp
       0000000 31 32 0a 33 34 0d 35 36 0a 0d 37 38 0d 0a
       0000016
     
    五、编程相关

    文本文件的行结束符,传统上 PC机 用 CRLF,苹果机用CR,unix 用 LF。【CR -- 回车符,c语言'\r'】。【LF -- 换行符, c语言'\n'】。
    不同计算机上c语言统一规定为::文本文件的行结束符一律变成一个符号LF,也就是换行符,也就是new line符, 也就是'\n'. “回车和换行符转换成一个换行符”
    -- 对PC机而言,文本文件行结束符,CRLF读入后,丢掉CR,留 LF. 例如fgets() 读入一行,行尾只有LF,没有CR.

    在解析文本或其他格式的文件内容时,常常要碰到判定回车换行的地方,这个时候就要注意既要判定"\r\n"又要判定"\n"。写程序时可能得到一行,将其进行trim掉'\r',这样能得到你所需要的string了。

    '\n' 10 换行(newline)
    '\r' 13 回车(return)

     

    最后:

    ctrl+M: ^M  也称回车键

    展开全文
  • DOS/Windows和Linux/Unix文件格式转换

    千次阅读 2010-09-16 19:01:00
    windows 和 linux/unix 文本转换。 还是不要一起混用好。
  • 用途说明 dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter)。DOS下的文本文件是以\r\n...DOS格式的文本文件Linux底下,用较低版本的vi打开时行尾会显示^M,而且
  • 关于Linux/Unix的Profile文件

    万次阅读 2012-07-03 12:04:14
    用户可以在Profile文件中加入环境变量,...Unix/Linux有两个profile文件 1./etc/profile:是全局profile文件,设置后会影响到所有用户 2./home/username/.profile或.bash_profile是针对特定用户的,可以针对用户,来
  • windows、linux文件转换

    千次阅读 2011-09-03 11:44:28
    一、windows的文件linux下的转换方法: 1. 用sed命令替换 sed -e 's/^M//g' original.txt > target.txt (注意^M 在Linux/Unix下是这样输入的:先按CTRL+v,接着按CTRL+SHIFT+m,呵呵~~ 其实
  • [Linux] DOS格式文本文件转UNIX格式

    千次阅读 2018-06-05 09:01:26
    转载:http://codingstandards.iteye.com/blog/810900
  • dos2unix命令将dos文件转换为unix格式

    万次阅读 多人点赞 2016-11-03 18:45:09
    使用git 的时候碰到git将unix换行符转换为windows换行符的问题,需要使用dos2unix命令将文件转换为unix格式。dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter)...
  • 用途说明 dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter)。DOS下的文本文件是以\r...DOS格式的文本文件Linux底下,用较低版本的vi打开时行尾会显示^M,而且
  • 一切皆是文件UNIXLinux 操作系統的設計哲學

    万次阅读 多人点赞 2020-08-19 10:37:27
    Linux的进程、线程、文件描述符是什么 说到进程,恐怕面试中最常见的问题就是线程和进程的关系了,那么先说一下答案:在 Linux 系统中,进程和线程几乎没有区别。 Linux 中的进程就是一个数据结构,看明白就可以理解...
  • #!/usr/bin/env bash # Author : 蛙鳜鸡鹳狸猿 # create_ts : 2019-06-06 # program : Convert DOS/Mac text file format into Unix function dos_to_unix() { # Convert DOS/Mac text file format into Unix ...
  • UNIX/Linux系统调用下的文件操作

    千次阅读 2019-07-29 09:59:57
    UNIXLinux系统下,几乎所有资源都是以文件形式提供了,所以在UNIXLinux系统下一切皆文件,操作系统把它的服务、功能、设备抽象成简单的文件,提供一套简单统一的接口,这样程序就可以像访问磁盘上...
  • Linux/Unix文件系统索引节点浅析

    千次阅读 2014-08-20 18:01:06
    索引节点是整个 Linux 文件系统的基础。存储于文件系统上的任何文件都可以用索引节点来表示。举一个例子来说,假设有一个老图书馆里面有一本登记簿,上面记录着馆内的书名及存放 位置,比如在哪一间的第几排存放着哪...
  • 1、Red Hat Linux9的三个ISO 在那下载,要用迅雷下载:  http://ftp.ccc.uba.ar/download/pub/linux/redhat/redhat-9-en/iso/i386/shrike-i386-disc1.iso   http://ftp.ccc.uba.ar/download/
  • linux下批量修改文件dos格式为unix格式 【问题描述】 windows系统下的文件格式和unix下不同,使用ftp等软件上传到unix服务器上的文件都需要转换为unix格式后,才可以使用; 使用 dos2unix $filename $filename 命令...
  • Linux/Unix文件和目录权限

    千次阅读 2010-12-28 11:25:00
     * Unixlinux系统是一个控制访问文件和目录相对简单的系统.被POSIX.1:2008标准所定义,也被称为单一Unix规范(SUS v4).由于一些设备(disks,ports等等)都有文件名,所以你可以用同样的方法去访问.  * 这个系统为...
  • #! /bin/sh dostype=dos IFS=$(echo -en "\n\b") function iterate_dir(){ for file in $1/*; do if [ -f $file ];...typename=`file $file | grep -q CRLF && echo dos || echo unix` if [[ $typename ==
  • Linux dos2unix命令

    千次阅读 2019-07-03 10:47:42
    一、dos2unix命令 dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter)。...DOS格式的文本文件Linux底下,用较低版本的vi打开时行尾会显示...
  • Linux Is Not UnixLinux操作系统基础总结

    千次阅读 热门讨论 2018-02-11 19:57:31
    Linux文件系统结构 bin和sbin bin目录通常用来存放用户最常用的基本程序如 2sbin目录通常存放基本的系统和系统维护程序如 etc lostfound boot root home mnt tmp和var dev usr proc 二 文...
  • DOS/ Windows 和Linux/Unix文件换行回车格式不同,基于 DOS/ Windows 的文本文件在每一行末尾有一个 CR (回车)和 LF (换行),而 UNIX 文本只有一个换行。  1 )、把Dos/Windows 下的
  • linux dos2unixunix2dos命令学习

    千次阅读 2013-09-03 14:29:50
    1. unix2dos与dos2unix这两个tool是用来干什么的?...所以如果将unix系统下的文本文件copy到dos系统下 或者将dos系统下的文本文件拷贝到unix下可能会存在问题。 所以就出现了unix2dos以及dos2unix这两个tool。
  • windows与unix文件格式转换

    千次阅读 2017-03-23 10:26:44
    最近使用Linux(CentOS)发现,Windows 下的...DOS/Windows和Linux/Unix文件换行回车格式不同,基于 DOS/Windows 的文本文件在每一行末尾有一个 CR(回车)和 LF(换行),而 UNIX 文本只有一个换行。1)、把Dos/Wi
  • window与Unix/linux 文件 ftp传输

    千次阅读 2015-03-11 17:56:36
    window与Unix 文件 ftp传输
  • 1、查看文件格式:dos格式还是unix格式 (1)打开文件:vi 文件名   eg. vi test.txt (2)查看文件格式: 命令:set ff? #查看文件格式dos或unix的字样. 回车,结果如下图 (3)转化文件格式:dos格式...
  • UNIX/linux密码文件介绍

    千次阅读 2015-07-14 14:43:45
    众所周知UNIX/Linux的密码文件原来采用/etc/passwd,共有7个字段。用户的密码加密后放在每一行的第二个字段里,这个 /etc/passwd文件在一般情况下是所有用户可读,只有root用户可写的,这样不良用户就可能读取加密后...
  • Unix格式文件转Dos

    千次阅读 2017-04-11 20:15:40
    1.Linux和windows下文件格式不统一 原因: Windows下换行使用CR...LF两个字符来表示 其中CR为回车(ASCII=0x0D) LF为换行(ASCII=0x0A) Linux下使用LF一个字符来表示。 结果 在Linux...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 436,182
精华内容 174,472
关键字:

linux文件转unix

linux 订阅