zoukankan      html  css  js  c++  java
  • [转]Linux文件和目录操作命令

    转自: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命令 依次分段显示多个文件,每个文件以::::::::::::::( )filename( )::::::::::::::开头【且每个文件结束后,下方的百分比提示变成:--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)的默认设置不尽相同,需要自己留意。

  • 相关阅读:
    OLAP ODS项目的总结 平台选型,架构确定
    ORACLE ORA12520
    ORACLE管道函数
    ORACLE RAC JDBC 配置
    ORACLE RAC OCFS连接产生的错误
    ORACLE 启动和关闭详解
    OLAP ODS项目的总结 起步阶段
    ORACLE RAC 配置更改IP
    ORACLE RAC OCR cann't Access
    ORACLE RAC Debug 之路 CRS0184错误与CRS初始化
  • 原文地址:https://www.cnblogs.com/Andy-Lv/p/5291906.html
Copyright © 2011-2022 走看看