zoukankan      html  css  js  c++  java
  • bash shell命令(1)

    本文地址:http://www.cnblogs.com/archimedes/p/bash-shell1.html,转载请注明源地址。

    ls命令

    ls用来列出目录的内容,它是用户最常用的命令之一,ls命令的格式为:

    ls[选项][目录名或文件名]

    选项的主要参数:

    .options主要参数
    -a, --all:不隐藏任何以“.” 字符开始的项目。
    -A, --almost-all:列出除了“ . ”及 “.. ”以外的任何项目。
    --author:印出每个文件著作者。
    -b, --escape:以八进制溢出序列表示不可打印的字符。
    --block-size=大小:块以指定的字节为单位。
    -B, --ignore-backups:不列出任何以 ~ 字符结束的项目。
    -f:不进行排序,-aU参数生效,-lst参数失效。
    -F, --classify:加上文件类型的指示符号 (*/=@| 其中一个)。
    -g:like -l, but do not list owner。
    -G, --no-group:inhibit display of group information。
    -i, --inode:列出每个文件的inode号。
    -I, --ignore=样式:不印出任何符合Shell万用字符的项目。
    -k:即--block-size=1K。
    -l:使用较长格式列出信息。
    -L, --dereference:当显示符号链接的文件信息时,显示符号链接所指示的对象,而并非符号链接本身的信息。
    -m:所有项目以逗号分隔,并填满整行行宽。
    -n, --numeric-uid-gid:类似-l,但列出UID及GID号。
    -N, --literal:列出未经处理的项目名称,例如不特别处理控制字符。
    -p, --file-type:加上文件类型的指示符号 (/=@| 其中一个)。
    -Q, --quote-name:将项目名称括上双引号。
    -r, --reverse:依相反次序排列。
    -R, --recursive:同时列出所有子目录层。
    -s, --size:以块大小为序。

    使用ls命令时会有几种不同的颜色,其中蓝色表示是目录,绿色表示是可执行文件,红色表示是压缩文件,浅蓝色表示是链接文件,加粗的黑色表示符号链接,灰色表示是其它格式文件,如图所示:

    ls最常使用的是ls -l,如图所示:

    文件类型开头是由10个字符构成的字符串。其中第一个字符表示文件类型,它可以是下述类型之一:

    -(普通文件)、d(目录)、l(符号链接)、b(块设备文件)、c(字符设备文件)。后面的9个字符表示文件的访问权限,分为3组,每组3位。

    第一组表示文件属主的权限,第二组表示同组用户的权限,第三组表示其他用户的权限。

    每一组的三个字符分别表示对文件的读(r)、写(w)和执行权限(x)。对于目录,表示进入权限。s表示当文件被执行时,把该文件的UID或GID赋予执行进程的UID(用户ID)或GID(组ID)。t表示设置标志位(留在内存,不被换出)。如果该文件是目录,那么在该目录中的文件只能被超级用户、目录拥有者或文件属主删除。如果它是可执行文件,那么在该文件执行后,指向其正文段的指针仍留在内存。这样再次执行它时,系统就能更快地装入该文件。接着显示的是文件大小、生成时间、文件或命令名称。

    pwd、cd命令

    pwd用来显示当前的工作目录的绝对路径,格式为:pwd

    cd用来更改工作目录,格式为:cd

    mkdir命令

    用来创建一个新的目录,格式为:

    mkdir[选项]目录名

    作用:mkdir命令的作用是建立名称为dirname的子目录,与MS DOS下的md命令类似,它的使用权限是所有用户。

    [选项]主要参数
    -m, --mode=模式:设定权限,与chmod类似。
    -p, --parents:需要时创建上层目录;如果目录早已存在,则不当作错误。
    -v, --verbose:每次创建新目录都显示信息。
    --version:显示版本信息后离开。

    cp命令

    功能: 复制文件或目录
    说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息
    参数:
         -a 或 --archive     此参数的效果和同时指定"-dpR"参数相同
         -b 或 --backup      删除、覆盖目的文件先备份,备份的文件或目录亦建立为符号链接,并指向源文件或目录链接的源文件或目录。假如没有加上这个参数,在复制过程中若遇到符号链接,则会直接复制源文件或目录
         -f 或 --force       强行复制文件或目录, 不论目的文件或目录是否已经存在
         -i 或 --interactive 覆盖文件之前先询问用户
         -l 或 --link        对源文件建立硬链接,而非复制文件
         -p 或 --preserve    保留源文件或目录的属性,包括所有者、所属组、权限与时间
         -P 或 --parents     保留源文件或目录的路径,此路径可以是绝对路径或相对路径,且目的目录必须已经丰在
         -r                  递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
         -R 或 --recursive   递归处理,将指定目录下的文件及子目录一并处理
         -s 或 --symbolic-link  对源文件建立符号链接,而非复制文件
         -S <备份字尾字符串> 或 --suffix=<备份字尾字符串> 用"-b"参数备份目的文件后,备份文件的字尾会被加上一个备份字符串。默认的备份字尾符串是符号"~"
         -u 或 --update      使用这项参数之后,只会在源文件的修改时间(Modification Time)较目的文件更新时,或是名称相互对应的目的文件并不存在,才复制文件
         -v 或 --verbose     显示执行过程
         -V <备份方式> 或 --version-control=<备份方式>  指定当备份文件时,备份文件名的命名方式,有以下3种:
                             1.numbered或t, 将使用备份编号,会在字尾加上~1~字符串,其数字编号依次递增
                             2.simple或never 将使用简单备份,默认的备份字尾字符串是~, 也可通过-S来指定
                             3.existing或nil将使用当前方式,程序会先检查是否存在着备份编号,若有则采用备份编号,若无则采用简单备份
         -x 或 --one-file-system  复制的文件或目录存放的文件系统,必须与cp指令执行时所处的文件系统相同,否则不复制,亦不处理位于其他分区的文件
         --help              显示在线帮助
         --sparse=<使用时机>  设置保存希疏文件的时机
         --version           显示版本

    示例:
        .复制文件,只有源文件较目的文件的修改时间新时,才复制文件
         cp -u -v file1 file2

        .将文件file1复制成文件file2
         cp file1 file2

        .采用交互方式将文件file1复制成文件file2
         cp -i file1 file2

        .将文件file1复制成file2,因为目的文件已经存在,所以指定使用强制复制的模式
         cp -f file1 file2

        .将目录dir1复制成目录dir2
         cp -R file1 file2

        .同时将文件file1、file2、file3与目录dir1复制到dir2
       cp -R file1 file2 file3 dir1 dir2

        .复制时保留文件属性
         cp -p a.txt tmp/

        .复制时保留文件的目录结构
         cp -P  /var/tmp/a.txt  ./temp/

        .复制时产生备份文件
         cp -b a.txt tmp/

        .复制时产生备份文件,尾标 ~1~格式
         cp -b -V t   a.txt /tmp    
      
        .指定备份文件尾标    
         cp -b -S _bak a.txt /tmp

    mv命令

    作用:
    mv命令用来为文件或目录改名或者将文件由一个目录移入另一个目录中,它的使用权限是所有用户。该命令如同DOS命令中的ren和move的组合。
    格式:
    mv[options] 源文件或目录,目标文件或目录
    [options]主要参数:
    -i:交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答“y”或“n”,这样可以避免误覆盖文件。
    -f:禁止交互操作。mv操作要覆盖某个已有的目标文件时不给任何指示,指定此参数后i参数将不再起作用。
    应用实例:
    (1)将文件test.c重命名为test1.c:
    $ mv test.c  test1.c

    (2)将test1.c文件移动到Ccode文件夹中:
    $ mv test1  ./Ccode

    rm命令

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

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

    1.命令格式:

    rm [选项] 文件… 

    2.命令功能:

    删除一个目录中的一个或多个文件或目录,如果没有使用- r选项,则rm不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。

    3.命令参数:

        -f, --force    忽略不存在的文件,从不给出提示。

        -i, --interactive 进行交互式删除

        -r, -R, --recursive   指示rm将参数中列出的全部目录和子目录均递归地删除。

        -v, --verbose    详细显示进行的步骤

           --help     显示此帮助信息并退出

           --version  输出版本信息并退出

    实例:

    删除文件test,系统会先询问是否删除。 

    将projects子目录及子目录中所有文件删除

    cat命令

    cat命令的用途是连接文件或标准输入并打印。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。 

    1.命令格式:

    cat [选项] [文件]...

    2.命令功能:

    cat主要有三大功能:

    (1)一次显示整个文件:cat filename

    (2)从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.

    (3)将几个文件合并为一个文件:cat file1 file2 > file

    3.命令参数:

    -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 之外

  • 相关阅读:
    redhat linux 5.6 下安装oracle 11g 时netca报错不能配置监听解决方法
    数据库迁移windows>linux ORACLE 10G
    RedHat Linux 5.3 下安装ORACLE 软件之后手动安装数据库脚本记录
    X Server/Client
    Oracle实例解析:编码与字符集(转)
    RedHat Linux 5.3 下安装ORACLE DATABASE 10G
    Toad 10.5 连接RedHat Linux 5.3 下Oracle 10g
    RedHat5.6 安装mysql
    oracle 数据库开发原则(转自求道的路上)
    第一篇使用windows live writer发布日志
  • 原文地址:https://www.cnblogs.com/wuyudong/p/bash-shell1.html
Copyright © 2011-2022 走看看