zoukankan      html  css  js  c++  java
  • Linux操作命令(二)

    ##mkdir 命令 mkdir 命令用来创建指定名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。 mkdir 命令是 make directory 的缩写。

    ###命令格式:

    mkdir [选项] 目录

    ###常用参数:

    参数描述
    -m --mode=模式 设定权限<模式>
    -p --parents 可以是一个路径名称。若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录
    -v --verbose 每次创建新目录都显示信息

    ###常用范例: 例一:递归创建多个目录 ,可以使用如下命令:

    mkdir  -p  zhou/test
    

    例二:创建权限为 777 的目录,可以使用如下命令:

    mkdir  -m 777  zhou
    

    Alt text

    例三:创建目录显示信息,可以使用如下命令:

    mkdir  -vp  zhou/test
    

    Alt text

    ###思考题 尝试一下下面的命令,看看有什么神奇的事发生 tree 需要单独安装

    sudo apt-get update
    sudo apt-get install tree
    
    mkdir -vp shiyanlou/{lib/,bin/,doc/{info,product}}
    tree shiyanlou/
    

    ##rm 命令 rm 是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。

    rm 是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行 rm * -rf)。所以,我们在执行 rm 之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑。

    rm 命令是 remove 的缩写。

    ###命令格式:

    rm [选项] 文件或目录

    ###常用参数:

    参数描述
    -f --force 忽略不存在的文件,从不给出提示
    -i --interactive 进行交互式删除
    -r --recursive 指示 rm 将参数中列出的全部目录和子目录均递归地删除
    -v --verbose 详细显示进行的步骤

    ###常用范例: 例一:删除文件,系统会先询问是否删除,可以使用如下命令:

    rm  shiyanlou.log
    

    Alt text

    例二:强行删除文件,系统不再提示,可以使用如下命令:

    rm  -f  shiyanlou.log
    

    Alt text

    例三:删除后缀名为.log 的所有,删除前逐一询问,可以使用如下命令:

    rm   *.log   或   rm -i *.log
    

    Alt text

    ##思考题 1.思考一下下面命令有什么作用。

    myrm(){ D=/tmp/$(date +%Y%m%d%H%M%S); mkdir -p $D; mv "$@" $D && echo "moved to $D ok"; }
    

    ##mv 命令 mv 命令功能是用来移动文件或更改文件名,是 Linux 系统下常用的命令,经常用来备份文件或者目录。 mv 命令根据第二个参数类型(是目标文件还是目标目录),决定执行将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv 命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv 命令将各参数指定的源文件均移至目标目录中。 mv 命令是 move 的缩写。

    ###命令格式:

    mv [选项] 源文件或目录 目标文件或目录

    ###常用参数:

    参数描述
    -b --back 若需覆盖文件,则覆盖前先行备份
    -f --force 如果目标文件已经存在,不会询问而直接覆盖
    -i --interactive 若目标文件已经存在时,就会询问是否覆盖
    -u --update 若目标文件已经存在,且源文件比较新,才会更新
    -t --target 该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后

    ###常用范例: 例一:将文件 shiyanlou.log 重命名为 zhou.log,可以使用如下命令:

    mv   shiyanlou.log   zhou.log
    

    Alt text

    例二:将文件 zhou.log 移动到 test 目录下(test 目录必须已经存在,否则执行重命名),可以使用如下命令:

    mv  zhou.log  test
    

    Alt text

    Alt text

    例三:将文件 a.txt 移动到 test1 目录下,如果文件存在,覆盖前会询问是否覆盖,可以使用如下命令:

    mv  -i  a.txt  test1
    

    ##cp 命令 cp 命令用来复制文件或者目录,是 Linux 系统中最常用的命令之一。一般情况下,shell 会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i 参数。但是如果是在 shell 脚本中执行 cp 时,没有-i 参数时不会询问是否覆盖。这说明命令行和 shell 脚本的执行方式有些不同。 cp 命令是 copy 的缩写。命令格式:

    cp [选项] 源文件 目录 cp [选项] -t 目录 源文件 常用参数:

    参数描述
    -t --target-directory 指定目标目录
    -i --interactive 覆盖前询问(使前面的 -n 选项失效)
    -n --no-clobber 不要覆盖已存在的文件(使前面的 -i 选项失效)
    -s --symbolic-link 对源文件建立符号链接,而非复制文件
    -f --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
    -u --update 使用这项参数之后,只会在源文件的修改时间较目的文件更新时,或是对应的目的文件并不存在,才复制文件

    常用范例: 例一:对文件 shiyanlou.log 建立一个符号链接 zhou.log,可以使用如下命令:

    cp   -s   shiyanlou.log   zhou.log
    

    例二:将 test1 目录下的所有文件复制到 test2 目录下,覆盖前询问,可以使用如下命令:

    cp  -i  test1/*  test2
    

    Alt text

    例三:将 test1 目录下的最近更新的文件复制到 test2 目录下,覆盖前询问,可以使用如下命令:

    cp  -iu  test1/*  test2
    

    Alt text

    ##cat 命令 cat 命令的功能是将文件或标准输入组合输出到标准输出。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。 cat 命令是 concatenate 的缩写。

    ###命令格式:

    cat [选项] [文件]

    ###常用参数:

    参数描述
    -A --show-all 等价于 -vET
    -b --number-nonblank 对非空输出行编号
    -e 等价于 -vE
    -E --show-ends 在每行结束处显示 $
    -n --number 对输出的所有行编号,由 1 开始对所有输出的行数编号
    -s --squeeze-blank 有连续两行以上的空白行,就代换为一行的空白行
    -t 与 -vT 等价
    -T --show-tabs 将跳格字符显示为 ^I
    -u (被忽略)
    -v --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外

    ###常用范例: 例一:把 shiyanlou.log 的文件内容加上行号后输入 zhou.log 这个文件里,可以使用如下命令:

    cat -n shiyanlou.log > zhou.log
    

    Alt text

    例二:把 shiyanlou.log 的文件内容加上行号后输入 zhou.log 这个文件里,多行空行换成一行输出,可以使用如下命令:

    cat -ns shiyanlou.log > zhou.log
    

    Alt text

    例三:将 zhou.log 的文件内容反向显示,可以使用如下命令:

    tac  zhou.log
    

    Alt text

    说明:tac 是将 cat 反写过来,所以它的功能就跟 cat 相反,cat 是由第一行到最后一行连续显示在屏幕上,而 tac 则是由最后一行到第一行反向在屏幕上显示出来。

    ###思考题 1.执行下面命令会输出什么。 Alt text

    ##nl 命令 nl 命令在 linux 系统中用来计算文件中行号。nl 可以将输出的文件内容自动的加上行号。其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等等的功能。
    nl 命令是 number of lines 的缩写。

    ###命令格式:

    nl [选项] [文件]

    ###常用参数: 参数|描述 :---------------|:--------------- -b | 指定行号指定的方式,主要有两种: -b a |表示不论是否为空行,也同样列出行号(类似 cat -n) -b t |如果有空行,空的那一行不要列出行号(默认值) -n | 列出行号表示的方法,主要有三种: -n ln | 行号在屏幕的最左方显示 -n rn |行号在自己栏位的最右方显示,且不加 0 -n rz |行号在自己栏位的最右方显示,且加 0 -w |行号栏位的占用的位数

    ###常用范例: 例一:把 shiyanlou.log 的文件内容加上行号后显示,空行不加行号,可以使用如下命令:

    nl -b t shiyanlou.log
    

    Alt text

    例二:把 shiyanlou.log 的文件内容加上行号后显示,行号分别在屏幕最左方、最右方不加 0 和最右方加 0 显示,可以使用如下命令:

    nl -n ln shiyanlou.log
    nl -n rn shiyanlou.log
    nl -n rz shiyanlou.log
    

    Alt text

    例三:把 shiyanlou.log 的文件内容加上行号后显示,行号在屏幕最右方加 0 显示,行号栏目占位数为 3,可以使用如下命令:

    nl -n rz -w 3 shiyanlou.log
    

    Alt text

    ###思考题 Alt text

  • 相关阅读:
    钱多多软件制作04
    团队项目01应用场景
    HDU 4411 arrest
    HDU 4406 GPA
    HDU 3315 My Brute
    HDU 3667 Transportation
    HDU 2676 Matrix
    欧拉回路三水题 POJ 1041 POJ 2230 POJ 1386
    SPOJ 371 BOXES
    POJ 3422 Kaka's Matrix Travels
  • 原文地址:https://www.cnblogs.com/sowhat4999/p/5117852.html
Copyright © 2011-2022 走看看