zoukankan      html  css  js  c++  java
  • linux下文件夹的创建、复制、剪切、重命名、清空和删除命令

    在home目录下有wwwroot目录,wwwroot下有sinozzz目录,即/home/wwwroot/sinozzz

    一、目录创建

    在/home/wwwroot目录下新建一个sinozzz123的文件夹

    mkdir /home/wwwroot/sinozzz123

    二、目录复制

    1.把/home/wwwroot/sinozzz里面的文件和文件夹等复制到home/wwwroot/sinozzz123目录下

    cp -rf /home/wwwroot/sinozzz/* /home/wwwroot/sinozzz123

    2.把/home/wwwroot/sinozzz123/abc/下的文件夹和文件复制到home/wwwroot/sinozzz123目录下

    cp -rf /home/wwwroot/sinozzz123/abc/* /home/wwwroot/sinozzz123

    3.把/home/wwwroot/sinozzz目录复制到/home/wwwroot/sinozzz123目录下,即把sinozzz复制变成sinozzz123的子目录,变成/home/wwwroot/sinozzz123/sinozzz的路径

    cp -rf /home/wwwroot/sinozzz /home/wwwroot/sinozzz123

    三、目录剪切

    1.使用mv命令剪切文件。

    如需要将/home/wwwroot/sinozzz123/music/目录下的1.mp3文件剪切到/home/wwwroot/sinozzz123/abc目录下,执行下面的命令即可:

    # mv /home/wwwroot/sinozzz123/music/1.mp3 /home/wwwroot/sinozzz123/abc

    2.使用mv命令剪切文件夹。

    把/home/wwwroot/sinozzz123/soft文件夹剪切到/home/wwwroot/sinozzz123/abc目录下

    # mv /home/wwwroot/sinozzz123/soft /home/wwwroot/sinozzz123/abc

    3.使用mv命令剪切文件夹和文件

    把/home/wwwroot/sinozzz123/photo/下的文件夹和文件剪切到/home/wwwroot/sinozzz123/abc目录下

    # mv /home/wwwroot/sinozzz123/photo/* /home/wwwroot/sinozzz123/abc

    四、目录重命名

    在linux下,移动文件跟重命名都是同一个命令,mv(就是move的意思)

    命令: mv 源文件名 目标文件名

    1.把/home/wwwroot/sinozzz123/index.htm重命名为/home/wwwroot/sinozzz123/index.html

    # mv /home/wwwroot/sinozzz123/index.htm /home/wwwroot/sinozzz123/index.html

    2.把/home/wwwroot/sinozzz123目录重命名为/home/wwwroot/sinozzz456

    # mv /home/wwwroot/sinozzz123 /home/wwwroot/sinozzz456

    五、目录删除

    linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm -rf命令即可。

    直接rm就可以了,不过要加两个参数-rf

    即:rm -rf   目录名字

    -r 就是向下递归,不管有多少级目录,一并删除

    -f 就是直接强行删除,不作任何提示的意思

    1.删除文件使用实例:

    rm -f /home/wwwroot/sinozzz456/index.html

    将会强制删除/home/wwwroot/sinozzz456/index.html这个文件

    2.清空文件夹实例:

    rm -rf /home/wwwroot/sinozzz456/abc/*

    将会强制删除/home/wwwroot/sinozzz456/abc目录下所有文件、文件夹,保留/home/wwwroot/sinozzz456/abc目录

    3.删除文件夹实例:

    rm -rf /home/wwwroot/sinozzz456

    将会强制删除/home/wwwroot/sinozzz456目录以及其下所有文件、文件夹

    需要提醒的是:使用这个rm -rf的时候一定要格外小心,linux没有回收站的

    当然,rm还有更多的其他参数和用法,man rm就可以查看了

    如果是在/home/wwwroot/目录下进行操作,则可以省去每个命令的/home/wwwroot/部分

    mkdir的-p选项允许你一次性创建多层次的目录,而不是一次只创建单独的目录。例如,我们要在当前目录创建目录Projects/a/src,使用命令

    1
    
    mkdir -p Project/a/src

    而不是

    1
    2
    3
    4
    5
    
    mkdir Project
    cd Project
    mkdir a
    cd a
    mkdir src

      当然,如果你有mkcd,就可以直接

    1
    
    mkcd Project/a/src

      此外,如果我们想创建多层次、多维度的目录树,mkcd也显得比较苍白了。例如我们想要建立目录Project,其中含有4个文件夹a, b, c, d,且这4个文件都含有一个src文件夹。或许,我们可以逐个创建,但我更倾向于使用单个命令来搞定,而mkdir 的-p选项和shell的参数扩展允许我这么做,例如下面的一个命令就可以完成任务。

    1
    
    mkdir -p Project/{a,b,c,d}/src

      嗯,mkdir -p到此over~

    创建文件夹【mkdir】

      一、mkdir命令使用权限

        所有用户都可以在终端使用 mkdir 命令在拥有权限的文件夹创建文件夹或目录。

        二、mkdir命令使用格式

        格式:mkdir [选项] DirName

        三、mkdir命令功能

        通过 mkdir 命令可以实现在指定位置创建以 DirName(指定的文件名)命名的文件夹或目录。要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限(了解Linux文件-文件夹权限请点击这里)。并且,所创建的文件夹(目录)不能与其父目录(即父文件夹)中的文件名重名,即同一个目录下不能有同名的(区分大小写)。

        四、mkdir命令选项说明

        命令中的[选项]一般有以下两种:

        -m    用于对新建目录设置存取权限,也可以用 chmod 命令进行设置。

        -p     需要时创建上层文件夹(或目录),如果文件夹(或目录)已经存在,则不视为错误。

        五、mkdir命令使用举例

        例一:在桌面下面创建以“demo”命名的文件夹。

        使用以下命令即可。

        mkdir 桌面/demoLinux(创建、删除文件和文件夹命令)

      例二:在桌面下面创建以“demo”命名的文件夹,并且给文件夹赋权限,权限为123。

        mkdir  123  桌面/demoLinux(创建、删除文件和文件夹命令)


    删除文件夹【rm】

      一、rm命令使用权限

        所有用户都可以在终端使用 rm命令删除目录。

        二、rm命令使用格式

        格式:rm [选项] DirName

        三、rm命令功能

        删除档案及目录。

        四、rm命令选项说明

        命令中的[选项]一般有以下几种:

        -i 删除前逐一询问确认。

      -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。

      -r 将目录及以下之档案亦逐一删除。

        五、rm命令使用举例

        例一:删除所有C语言程序文档;删除前逐一询问确认。

        rm -i *.c

      例二:将 Finished 子目录及子目录中所有档案删除。

        rm -r Finished

      注:在linux没有回收站,在试用rm命令的时候,一定要小心些,删除之后就无法再恢复了。

    创建文件【vi】(vi 命令的详细使用方法)

    指今说明:

    进入 vi 的命令
    vi filename: 打开或新建文件,并将光标置于第一行首
    vi +n filename: 打开文件,并将光标置于第n行首
    vi + filename: 打开文件,并将光标置于最后一行首
    vi +/pattern filename: 打开文件,并将光标置于第一个与pattern匹配的串处
    vi -r filename: 在上次正用vi编辑时发生系统崩溃,恢复filename
    vi filename....filename: 打开多个文件,依次进行编辑

    新增 (append)
    a :从光标所在位置後面开始新增资料,光标後的资料随新增资料向後移动。
    A:从光标所在列最後面的地方开始新增资料。

    插入 (insert)
    i:从光标所在位置前面开始插入资料,光标後的资料随新增资料向後移动。
    I:从光标所在列的第一个非空白字元前面开始插入资料。

    开始 (open)
    o :在光标所在列下新增一列并进入输入模式。
    O: 在光标所在列上方新增一列并进入输入模式。

    r :修改光标所在字元,r 後接著要修正的字符。
    R:进入取替换状态,新增文字会覆盖原先文字,直到按 [ESC] 回到指令模式下为止。

    s:删除光标所在字元,并进入输入模式。
    S:删除光标所在的列,并进入输入模式。

    删除命令
    ndw或ndW: 删除光标处开始及其后的n-1个字
    do: 删至行首
    d$: 删至行尾
    dd :删除光标所在的列。
    ndd: 删除当前行及其后n-1行
    x或X: 删除一个字符,x删除光标后的,而X删除光标前的
    Ctrl+u: 删除输入方式下所输入的文本

    ncw或nCW: 修改指定数目的字
    nCC: 修改指定数目的行

    移动光标类命令
    h: 光标左移一个字符
    l: 光标右移一个字符
    space: 光标右移一个字符
    Backspace: 光标左移一个字符
    k或Ctrl+p: 光标上移一行
    j或Ctrl+n: 光标下移一行
    Enter: 光标下移一行
    w或W : 光标右移一个字至字首
    b或B : 光标左移一个字至字首
    e或E : 光标右移一个字至字尾
    ): 光标移至句尾
    (: 光标移至句首
    }: 光标移至段落开头
    {: 光标移至段落结尾
    nG: 光标移至第n行首
    n+: 光标下移n行
    n-: 光标上移n行
    n$: 光标移至第n行尾
    H: 光标移至屏幕顶行
    M: 光标移至屏幕中间行
    L: 光标移至屏幕最后行
    0: 光标移至当前行首
    $: 光标移至当前行尾

    屏幕翻滚类命令
    Ctrl+u: 向文件首翻半屏
    Ctrl+d: 向文件尾翻半屏
    Ctrl+f: 向文件尾翻一屏
    Ctrl+b: 向文件首翻一屏
    nz: 将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

    退出vi
          在指令模式下键入:q,:q!,:wq或:x(注意:号),就会退出vi。
          :wq和:x是存盘退出,而:q是直接退出,如果文件已有新的变化,vi会提示你保存文件而:q命令也会失效,这时你可以用:w命令保存文件后再用:q 退出,或用:wq或:x命令退出,如果你不想保存改变后的文件,你就需要用:q!命令,这个命令将不保存文件而直接退出vi。


    搜索及替换命令
    /pattern: 从光标开始处向文件尾搜索pattern
    ?pattern: 从光标开始处向文件首搜索pattern
    n: 在同一方向重复上一次搜索命令
    N: 在反方向上重复上一次搜索命令
    :s/p1/p2/g: 将当前行中所有p1均用p2替代
    :n1,n2s/p1/p2/g: 将第n1至n2行中所有p1均用p2替代
    :g/p1/s//p2/g: 将文件中所有p1均用p2替换


    选项设置
    all:列出所有选项设置情况
    term:设置终端类型
    ignorance:在搜索中忽略大小写
    list:显示制表位(ctrl+i)和行尾标志($)
    number:显示行号
    report:显示由面向行的命令修改过的数目
    terse:显示简短的警告信息
    warn:在转到别的文件时若没保存当前文件则显示no write信息
    nomagic:允许在搜索模式中,使用前面不带“”的特殊字符
    nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始
    mesg:允许vi显示其他用户用write写到自己终端上的信息

    最后行方式命令
    :n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下
    :n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下
    :n1,n2 d :将n1行到n2行之间的内容删除
    :w :保存当前文件
    :e filename:打开文件filename进行编辑
    :x:保存当前文件并退出
    :q:退出vi
    :q!:不保存文件并退出vi
    :!command:执行shell命令command
    :n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入
    :r!command:将命令command的输出结果放到当前行
    寄存器操作
    "?nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字
    "?nyw:将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字
    "?nyl:将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字
    "?p:取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字
    ndd:将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中。

     七、vi命令使用举例

      例一:创建文件a.txt。

      vi a.txt

      Hello everyone!

      :wq //在退出时,直接输入:wq会发现退不出去,退出方法是:编辑完成后按ESC,然后输入:q就是退出;还有:wq是保存后退出,加感叹号是表示强制

      Linux(创建、删除文件和文件夹命令)

      Linux(创建、删除文件和文件夹命令)

      Linux(创建、删除文件和文件夹命令)

    修改档案时间【touch】

       一、touch命令使用权限

        所有用户都可以在终端使用 touch命令。

        二、touch命令使用格式

        格式:touch [-acfm][-d <日期时间>][-r <参考文件或目录>][-t <日期时间>][--help] [--version][文件或目录...] 或 touch [-acfm][--help][--version][日期时间][文件或目录...]

        (touch [-acfm][-r reference-file] [--file=reference-file][-t MMDDhhmm[[CC]YY][.ss]][-d time] [--date=time][--time={atime,access,use,mtime,modify}][--no-create][--help] [--version]file1 [file2 ...])

        三、touch命令功能

      touch fileA,如果fileA存在,使用touch命令可更改这个文件或目录的日期时间,包括存取时间和更改时间;如果fileA不存在,touch命令会在当前目录下新建一个空白文件fileA。

      注:使用touch指令可更改文件或目录的日期和时间,包括存取时间和更改时间。文件的时间属性包括文件的最后访问时间,最后修改时间以及最后在磁盘上修改的时间,命令stat显示结果显示了三个时间属性。

        四、touch命令选项说明

        a 改变档案的读取时间记录。

      m 改变档案的修改时间记录。

      c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。

      f 不使用,是为了与其他 unix 系统的相容性而保留。

      r 使用参考档的时间记录,与 --file 的效果一样。

      d 设定时间与日期,可以使用各种不同的格式。

      t 设定档案的时间记录,格式与 date 指令相同。[[CC]YY]MMDDhhmm[.SS],CC为年数中的前两位,即”世纪数”;YY为年数的后两位,即某世纪中的年数.如果不给出CC的值,则linux中touch命令参数将把年数CCYY限定在1969--2068之内.MM为月数,DD为天将把年数CCYY限定在1969--2068之内.MM为月数,DD为天数,hh 为小时数(几点),mm为分钟数,SS为秒数.此处秒的设定范围是0--61,这样可以处理闰秒.这些数字组成的时间是环境变量TZ指定的时区中的一个时间.由于系统的限制,早于1970年1月1日的时间是错误的.

      --no-create 不会建立新档案。

      --help 列出指令格式。

      --version 列出版本讯息。

        五、touch命令使用举例

        例一:更新file1.txt的存取和修改时间。

      touch file1.txt

      例二:如果file1.txt不存在,不创建文件

      touch -c file1.txt

      例三:更新file1.txt的时间戳和ref+file相同

      touch -r ref+file file1.txt

      例四:设置文件的时间戳为2011年5月18日9点45分10秒

      ls -l file1.txt

      touch -t 1105190945.10 file1.txt


    在新建文件时用touch命令可以建立一个空文件,而vi命令则可以直接编辑文件的内容并保存。touch命令在linux中很少用到,我个人还是比较喜欢vi命令,可以直接对文档进行编辑。今天的学习就这些了,每天进步一点点,昨天没写完,今天续写的。O(∩_∩)O~

    ar 
    解包:tar xvf FileName.tar 
    打包:tar cvf FileName.tar DirName 
    (注:tar是打包,不是压缩!)

    .gz 
    解压1:gunzip FileName.gz 
    解压2:gzip -d FileName.gz 
    压缩:gzip FileName 
    .tar.gz 和 .tgz 
    解压:tar zxvf FileName.tar.gz 
    压缩:tar zcvf FileName.tar.gz DirName

    .bz2 
    解压1:bzip2 -d FileName.bz2 
    解压2:bunzip2 FileName.bz2 
    压缩: bzip2 -z FileName 
    .tar.bz2 
    解压:tar jxvf FileName.tar.bz2 
    压缩:tar jcvf FileName.tar.bz2 DirName

    .bz 
    解压1:bzip2 -d FileName.bz 
    解压2:bunzip2 FileName.bz 
    压缩: 未知 
    .tar.bz 
    解压:tar jxvf FileName.tar.bz 
    压缩: 未知

    .Z 
    解压:uncompress FileName.Z 
    压缩:compress FileName 
    .tar.Z 
    解压:tar Zxvf FileName.tar.Z 
    压缩:tar Zcvf FileName.tar.Z DirName

    .zip 
    解压:unzip FileName.zip 
    压缩:zip FileName.zip DirName

    .rar 
    解压:rar x FileName.rar 
    压缩:rar a FileName.rar DirName

     
     
  • 相关阅读:
    Leetcode Unique Binary Search Trees
    Leetcode Decode Ways
    Leetcode Range Sum Query 2D
    Leetcode Range Sum Query
    Leetcode Swap Nodes in Pairs
    Leetcode Rotate Image
    Leetcode Game of Life
    Leetcode Set Matrix Zeroes
    Leetcode Linked List Cycle II
    CF1321A
  • 原文地址:https://www.cnblogs.com/wangchuanfu/p/7883711.html
Copyright © 2011-2022 走看看