转自: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. Ubuntu13.10 eclipse菜单栏无法下拉

    Ubuntu13.10 eclipse菜单栏无法下拉 Ubuntu 13.10已经发布,从13.04升级成功后,发现Eclipse菜单栏点击后,不能展示下拉列表了,但是快捷键有效.这个应该算是Ubun ...

  2. iOS iPhone iPad 各种控件默认高度

    iPhone iPad 各种控件默认高度 注意:这些是ios7之前的,ios7之后(包括ios7)有改动,我会在后面标注出来 iPhone和iPad下各种常见控件的宽度和标准是一样的,所以这里就用iP ...

  3. http://blog.csdn.net/sd0902/article/details/8395677

    http://blog.csdn.net/sd0902/article/details/8395677

  4. Recover Binary Search Tree-恢复二叉查找树

    题目描述: 由于某种原因一个二叉排序树的两个节点的元素被交换,在不改变树的结构的情况下恢复这颗二叉排序树 题目来源: http://oj.leetcode.com/problems/recover-b ...

  5. ubuntu启动eclipse时出错cannot open display

    由于要学习hadoop,就在ubuntu下创建了一个hadoop用户,但是eclipse是在naomi用户下装的,在root和naomi用户下都能正常启动,但是一旦切换到hadoop用户,试着启动ec ...

  6. hdu1005 Number Sequence(数论)

    Number Sequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tot ...

  7. awk文本处理知识汇总

    参考资料:http://man.linuxde.net/awk http://www.cnblogs.com/chengmo/archive/2013/01/17/2865479.html http: ...

  8. getHitRect获取点击控件的位置

    public  void getHitRect(Rect outRect)                   Added in API level 1 Hit rectangle in parent ...

  9. 51nod1346 递归

    我终于知道我有多么蠢了...推规律根本不带我这么推的...跟51nod那场比赛的傻逼B题一样,想都不想想就打表找规律...智障啊找规律也要按照基本法! //f[1][2]=a[1][2] f[2][1 ...

  10. 集成框架jar包的一些选择

    我们往往在官网上下载了框架需要的jar却不知道该导入什么. required包里面的是必须导入的jar jar应该一切从简