转自:http://www.linuxdiyf.com/bbs/thread-416176-1-1.html

一、文件操作命令
1.1 查看文件

Linux下查看文件的命令有很多,下面列出的几个是几乎所有Linux发行版中都带有的命令,他们各有特点,适用于不同的场合。

cat [filename] , 查看整个文件,适合小文件(如果看大文件,只能看到屏幕飞速的刷……一瞬间就到尾部了)
    head [filename],查看文件的首部【默认前10行,可以用-num 选项指定显示的行数】
    tail [filename] , 查看文件的尾部【默认尾10行,可以用-num 选项指定显示的行数】
    more [filename],分段查看文件,适合大文件【输入命令后先显示文件的前面一部分,屏幕下方显示当前阅读的百分比,形如:--More--(18%);然后按空格键翻到下一屏,或按回车键滚到下一行】
    view [filename],vi的只读版本,使用vi的命令进行翻页等操作

上述命令的参数都可以有多个,以达到同时(或依次)查看多个文件的目的。当操作系统为CentOS 5.2时,若输入参数有多个,则

cat命令 依次显示多个文件,中间没有任何间隔符
    head命令 依次显示多个文件的首部,每个文件以 ==> filename <== 开头【UNIX系统据说是 = = > filename < + = =】
    tail命令 依次显示多个文件的尾部,每个文件以 ==> filename <== 开头【UNIX系统据说只能使用单参数】
    more命令 依次分段显示多个文件,每个文件以::::::::::::::(\r)filename(\r)::::::::::::::开头【且每个文件结束后,下方的百分比提示变成:--More--(Next file: filename2 );继续翻屏或滚行后,开始显示新文件】
    view命令 同时显示多个文件,多个文件间的切换命令同vi,可参考:《一些常用代码编辑器(Vi、gedit、EditPlus、SourceInsight)的使用技巧小结》第一小节

1.2 创建(空白)文件

广义上说,大部分命令其实都可以创建文件,当他们通过 >> 或 >(输出重定向操作符)将自己的输出信息重定向到一个不存在的文件时,系统就会自动帮助创建该文件。不过这样得到的文件基本都是有内容的,不是所以,下面要介绍的几个命令,都可以创建我们通常意义上所说的空白新文件。
(1)不带-c选项的touch命令

格式:touch [filename]
    参数,filename 是待创建新文件的路径加文件名,当你的目的是创建新文件时,它不应与同路径下其他文件重名【若位于当前目录下,则无需指定路径】
    例如,在当前目录下创建一个名为test1的新文件可以使用,
    touch tes1
    补充:touch命令原本的用途是用来修改文件的访问时间、修改时间,当目标文件不存在时,它的作用变成创建新文件。使用-c选项可以禁止它创建新文件。关于touch命令的更多用法说明,请参看:《Linux新建文件命令》

(2)vi(m)命令,并在vi(m)里面使用:wq保存

格式:vim [filename] 或 vi [filename]
    参数,filename 是待创建新文件的路径加文件名,当你的目的是创建新文件时,它不应与同路径下其他文件重名【若位于当前目录下,则无需指定路径】
    例如,在当前目录下创建一个名为test1的新文件可以使用,
    vim tes1 或 vi tes1
    补充:vi(m)命令常被用于创建并编辑一个新文件。使用vi(m)命令后,新文件只处于VI编辑器的缓存内,所以一定要记得用VI编辑器内的 :w 或 :wq 命令保存一下。

(3)cat命令,与重定向操作符 > 或 >> 结合

格式:cat > [filename]或 cat >> [filename]
    参数,filename是待创建新文件的路径加文件名,当你的目的是创建新文件时,它不应与同路径下其他文件重名【若位于当前目录下,则无需指定路径】
    例如,在当前目录下创建一个名为test1的新文件可以使用,
    cat > tes1 或cat >>tes1
    补充:cat命令常用于创建小文件或空白文件。此外,使用cat命令创建文件后直接进入文件编辑状态,此时的输入分行保存,亦即每当你输入一个回车键就保存一次。(可以打开文件所在文件夹,编辑过程中可以明显看到文件图标的变化);
    文件编辑结束后,使用ctrl+d快捷键结束编辑并退回命令提示符。还有人说,编辑完成后,使用ctrl+c快捷键就可以保存文件。但ctrl+c其实是结束当前任务的快捷键,使用后回到命令行提示符。在使用ctrl+c前请务必先使用回车键保存最后一行输入,不然你会发现你在文件输入的最后一行木有了~~~

1.3 复制文件

cat命令,与重定向操作符>结合的

格式:cat [srcpath_oldname]> [dstpath_newname]
    参数,srcpath_oldname是待复制源文件的路径加文件名【若位于当前目录下,则无需指定路径】
    参数,dstpath_newname是目标路径加新文件名【若位于当前目录下,则无需指定路径】【无论改不改文件名,必须指定新文件名】
    例如:将上层目录下的test.c文件复制到当前目录下,并重命名为test.c.bak,命令为
    cat ../test.c > test.c.bak

1.4 链接文件--ln

链接文件的意思,是在现有文件和一个新文件名之间建立新链接。(此处的文件名广义,是指的文件的路径加狭义文件名)Linux系统中的链接文件其实可以理解为Windows系统中为文件建立快捷方式。它可以用来为文件建立别名,也可以使得我们拥有在当前目录访问其他目录下文件的能力,只要我们在当前目录下为该文件建立了链接。链接文件的命令是 ln ,它的使用方法如下,

格式:ln [srcpath_oldname] [dstpath_newname]
    参数,srcpath_oldname是现有文件的路径加文件名【若位于当前目录下,则无需指定路径】
    参数,dstpath_newname是链接文件的路径加新文件名【若位于当前目录下,则无需指定路径(但需命新名)】【若不欲为链接文件重新命名,则仅需指定链接文件路径(不同于源文件路径)】
    例如,为当前目录下的test0.99.c文件在 /home/wind/bak/ 目录下建立链接文件,重命名为test.c,命令为
    ln test0.99.c /home/wind/bak/test.c
    补充:对于原文件与链接文件,cat等命令效果相同,而rm等命令则效果不同。

1.5 统计文件信息--wc

格式:wc [filename]
    选项:-l 选项统计行数,
    -w 选项统计单词数,
    -c 选项统计字符数
    参数,filename是待统计文件的路径加文件名【若位于当前目录下,则无需指定路径】
    例如:统计当前目录下test1文件的行数和字符数,可以使用
    wc -lc test1
    补充:wc命令默认统计行数、单词数与字符数全部三样信息,可以通过选项指定只统计其中一项或任意两项;
    可以同时指定多个文件作为参数,同时统计多个文件的信息。

二、目录操作命令
2.1 查看当前目录路径&&切换目录

pwd

无参,查看当前目录的路径

cd [dstpath]

参数dstpath 用以指定要切换的目录路径,可以使用相对路径或绝对路径,也可以为空。若为空,则切回到当前用户的主目录。

2.2 查看指定目录下内容--ls

格式:ls [dstpath]
    几个重要的选项:-a 显示隐藏文件
    -l 显示所列文件的详细信息
    -R 循环列出子目录的内容
    参数 dstpath 用以指定要切换的目录路径,可以使用相对路径或绝对路径,也可以为空。若为空,则默认查看当前目录;

2.3 创建目录--mkdir

格式:mkdir [dstpath_dirname]
    选项:-p 创建完整的多层目录结构
    参数 dstpath_dirname 是要待创建目录的路径加目录名【若在当前目录下建立子目录,则无需指定目录的路径】
    例如:使用一句命令,实现在当前目录下创建 mine 子目录,并在 mine 目录下创建 hello 子目录,再在 hello 目录下建立 world 子目,可以用
    mkdir -p mine/hello/world
    补充,(1)从参数可以看出,并没有限定必须在当前目录建立子目录,我们可以在任何指定的路径下建立目录;
    (2)当未使用-p选项时,要求指定的路径必须存在;反之,使用了-p选项后,只要指定的路径不存在,系统就帮助自动建立相应目录结构

2.4 删除目录--rmdir

格式:rmdir [dstpath_dirname]
    参数 dstpath_dirname 是待删除目录的路径加目录名【若在当前目录下删除子目录,则无需指定目录的路径】
    补充:(1)只能删除空的子目录【即,除了当前目录(.)和父目录(..)外,不包含任何其他子目录或者文件】
    (2)多数UNIX系统下只能删除当前目录的子目录,但CentOS下,则无此限制。

三、通用操作命令
3.1 通用复制--cp

格式:cp [srcpath_oldname] [dstpath_newname]
    选项:-r 当复制目录时,需使用此选项
    参数,srcpath_oldname是待复制源文件的路径加文件名(或目录名)【若位于当前目录下,则无需指定路径】
    参数,dstpath_newname是目标路径加新文件名【若位于当前目录下,则无需指定路径】【若不欲修改源文件名,则仅需指定目标文件路径(不同于源文件路径)】
    例如,将当前目录下的test.c文件复制到/home/wind/bak/目录下,文件名不变,命令为
    cp test.c /home/wind/bak/

3.2 通用移动--mv

格式:mv [srcpath_oldname] [dstpath_newname]
    参数,srcpath_oldname是待移动源文件的路径加文件名(或目录名)【若位于当前目录下,则无需指定路径】
    参数,dstpath_newname是目标路径加新文件名(或目录名)【若位于当前目录下,则无需指定路径】【若不欲修改源文件名,则仅需指定目标文件路径(不同于源文件路径)】
    例如:将当前目录下的test1文件移动到当前目录的new子目录下,可以使用
    mv test1 new/
    补充:当目标路径与源文件路径一致,且新文件名不同于源文件名时,mv起到重命名的作用。
    例如:将new目录下的test1重命名为test2,可以用命令
    mv new/test1 new/test2

3.3 通用删除--rm

格式:rm [dstpath_dirname]
    选项:-r 当复制目录时,需使用此选项
    参数 dstpath_dirname 是待删除目录的路径加文件名(或目录名)【若位于当前目录下,则无需指定路径】
    补充:多数UNIX系统下,默认删除前不需要确认,需加 -i 选项使得删除文件前有确认提示;【对于防止误删有意义】
    CentOS系统默认删除前需要确认,需加 -f 选项使得强制删除而不显示确认提示。【这对于删除非空目录非常有效】

四、小结

(1)cat命令真是我们文件界的全能小王子,上面提到了其可以查看、创建、复制文件。除此以外,cat命令常用的功能还包括合并文件,例如:

cat f1 f2 > file //将文件f1和f2合并为文件file

其实,cat命令远不止于此

(2)对于通用命令 cp 和 rm ,他们需要在操作目录时使用 -r 选项,而mv命令则是完全的通用,操作目录时和普通文件没有选项上的区别

(3)当操作系统不同时,部分命令(如:rm,rmdir)的默认设置不尽相同,需要自己留意。

[转]Linux文件和目录操作命令的更多相关文章

  1. Linux 文件和目录操作命令(一)

    1.cd (change directory)切换到指定目录 - 返回上次目录 .. 返回上层目录 回车 返回主目录 / 根目录 2.cp (copy)复制文件或目录 -r -R 递归复制该目录及其子 ...

  2. (2)Linux文件和目录操作命令

    简单就是高效 pwd cd -/~/.. tree–a/d/f/i/L mkdir–p/v/m touch ls –l/a//i/h/F cp –r/p/d/a mv rm –f/r/i rmdir ...

  3. Linux常用命令之文件和目录操作命令

    以下是linux操作系统常用的文件和目录操作命令: cd /home 进入 '/ home' 目录'  cd .. 返回上一级目录  cd ../.. 返回上两级目录  cd 进入个人的主目录  cd ...

  4. Linux 150命令之 文件和目录操作命令 ls

    文件和目录操作命令 ls 查看文件和目录查看显示详信息 ls 工具的参数 ls -l 查看文件详细信息 ls -h 查看文件的大小 ls -ld 只查看目录信息 ls –F 给不同文件加上不同标记 l ...

  5. Linux文件和目录权限详细讲解

    转载请标明出处: http://www.cnblogs.com/why168888/p/5965180.html 本文出自:[Edwin博客园] Linux文件和目录权限解读 如何设置Linxu文件和 ...

  6. Linux 文件与目录管理

    Linux 文件与目录管理 我们知道Linux的目录结构为树状结构,最顶级的目录为根目录 /. 其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们. 在开始本教程前我们需要先知道什么是绝对 ...

  7. CentOS(十)--与Linux文件和目录管理相关的一些重要命令②

    在结束了第二期的广交会实习之后,又迎来了几天休闲的日子,继续学习Linux.在上一篇随笔 Linux学习之CentOS(十七)--与Linux文件和目录管理相关的一些重要命令① 中,详细记录了与Lin ...

  8. CentOS(九)--与Linux文件和目录管理相关的一些重要命令①

       接上一篇文章,实际生产过程中的目录管理一定要注意用户是root 还是其他用户. 一.目录与路径 1.相对路径与绝对路径 因为我们在Linux系统中,常常要涉及到目录的切换,所以我们必须要了解 & ...

  9. Linux - 文件和目录常用命令

    文件和目录常用命令 目标 查看目录内容 ls 切换目录 cd 创建和删除操作 touch rm mkdir 拷贝和移动文件 cp mv 查看文件内容 cat more grep 其他 echo 重定向 ...

随机推荐

  1. 297. Serialize and Deserialize Binary Tree

    题目: Serialization is the process of converting a data structure or object into a sequence of bits so ...

  2. Bootstrap plugin编写

    滚动demo: <!doctype html> <html lang="en"> <head> <meta charset="U ...

  3. android AsyncTask异步下载并更新进度条

    AsyncTask异步下载并更新进度条    //如果不是很明白请看上篇文章的异步下载 AsyncTask<String, Integer, String> 第一个参数:String 传入 ...

  4. flex 组建重写

    flex历经几个版本的变化,其封装性也越来越规范. 今日flex的学习,总结是组件的重写. 项目中为使组件的针对性,易用性更强 ,免不了要重写组件. 要改变你的对手你的了解你的对手. 一个组件从被ne ...

  5. iPhone(iOS设备) 无法更新或恢复时, 如何进入恢复模式

    在更新或恢复 iPhone  时,如果遇到以下所列问题之一.可能就要将设备置于恢复模式,并尝试重新恢复设备. 设备不断地重新启动,但从未显示主屏幕. 无法完成更新或恢复,且 iTunes 不再能识别设 ...

  6. [HDOJ1160]FatMouse's Speed(DP)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1160 FatMouse believes that the fatter a mouse is, th ...

  7. leetcode:Search a 2D Matrix(数组,二分查找)

    Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ...

  8. vs中常用的快捷键

    VS中常用的快捷键: ctrl+s         保存 ctrl+Shift+S   保存所有VS中打开的所有文件 ctrl+O         打开新文件 ctrl+Shift+O   打开项目 ...

  9. 注意map<> 的[]

    其实在之前一篇关于map的基本操作中已经提到过注意[]操作,这里再强调一下. 先看下面的程序: #include<iostream> #include<map> using n ...

  10. objective-c 与 js之间传递中文乱码

    最近在做关于js改写oc framework的小project,遇到了不少问题 其中刚遇到的是关于如何在两者之间传递中文字符,带特殊字符的URL字符串 不会很详细的介绍太多,以后会回头做个总结 oc传 ...