第二周课堂练习

1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。

        ls

    ls命令用来显示目标列表,在Linux中是使用率较高的命令。
     -a:显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出); 
    -A:显示除影藏文件“.”和“..”以外的所有文件列表; 
    -C:多列显示输出结果。这是默认选项; 
    -l:与“-C”选项功能相反,所有输出信息用单列格式输出,不输出为多列;
    -F:在每个输出项后追加文件的类型标识符,具体含义:“*”表示具有可执行权限的普通文件,“/”表示目录,“@”表示符号链接,“|”表示命令管道FIFO,“=”表示sockets套接字。当文件为普通文件时,不输出任何标识符; 
    -b:将文件中的不可输出的字符以反斜线“”加字符编码的方式输出; 
    -c:与“-lt”选项连用时,按照文件状态时间排序输出目录内容,排序的依据是文件的索引节点中的ctime字段。与“-l”选项连用时,则排序的一句是文件的状态改变时间; 
    -d:仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录列表; -f:此参数的效果和同时指定“aU”参数相同,并关闭“lst”参数的效果; 
    -i:显示文件索引节点号(inode)。一个索引节点代表一个文件; 
    --file-type:与“-F”选项的功能相同,但是不显示“*”; 
    -k:以KB(千字节)为单位显示文件大小; 
    -l:以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等; 
    -m:用“,”号区隔每个文件和目录的名称; 
    -n:以用户识别码和群组识别码替代其名称; 
    -r:以文件名反序排列并输出目录内容列表; 
    -s:显示文件和目录的大小,以区块为单位; 
    -t:用文件和目录的更改时间排序; 
    -L:如果遇到性质为符号链接的文件或目录,直接列出该链接所指向的原始文件或目录; 
    -R:递归处理,将指定目录下的所有文件及子目录一并处理; 
    --full-time:列出完整的日期与时间; 
    --color[=WHEN]:使用不同的颜色高亮显示不同类型的。
    
        ls -l
        total 1068
        -rw-r--r--  1 root root       0 Sep  9 04:49 10082016
        -rw-r--r--  1 root root       0 Sep  9 04:55 1511142234.00
        -rw-r--r--  1 root root       0 Sep  9 04:56 1611142234.00
        -rw-r--r--  1 root root       0 Sep  9 04:53 201211142234.50
        -rw-r--r--  1 root root       0 Sep  9 04:57 201411111111.00
        -rw-r--r--  1 root root       0 Sep  9 04:54 201511142234
        -rw-r--r--  1 root root       0 Sep  9 04:54 201511142234.50
        -rw-r--r--  1 root root       0 Sep  9 04:58 201511152234.50

        cp

        cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录
        -a:此参数的效果和同时指定"-dpR"参数相同; 
        -d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录; 
        -f:强行复制文件或目录,不论目标文件或目录是否已存在;
        -i:覆盖既有文件之前先询问用户; 
        -l:对源文件建立硬连接,而非复制文件; 
        -p:保留源文件或目录的属性; 
        -R/r:递归处理,将指定目录下的所有文件与子目录一并处理; 
        -s:对源文件建立符号连接,而非复制文件; 
        -u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件; 
        -S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀; 
        -b:覆盖已存在的文件目标前将目标文件备份; 
        -v:详细显示命令执行的操作。

        mv

        mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。
        --backup=<备份模式>:若需覆盖文件,则覆盖前先行备份; 
        -b:当文件存在时,覆盖前,为其创建一个备份; 
        -f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录; 
        -i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。 --strip-trailing-slashes:删除源文件中的斜杠“/”; 
        -S<后缀>:为备份文件指定后缀,而不使用默认的后缀; 
        --target-directory=<目录>:指定源文件要移动到目标目录; 
        -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。

        rm

        rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉
        -d:直接把欲删除的目录的硬连接数据删除成0,删除该目录; 
        -f:强制删除文件或目录; 
        -i:删除已有文件或目录之前先询问用户; 
        -r或-R:递归处理,将指定目录下的所有文件与子目录一并处理; 
        --preserve-root:不对根目录进行递归操作; 
        -v:显示指令的详细执行过程。

2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
   

        0 成功
        1-255 失败
        [root@myserver ~]#cat tesss
        cat: tesss: No such file or directory
        [root@myserver ~]# echo $?
        1
        [root@myserver ~]# ls
        anaconda-ks.cfg  emun.txt  test  text.txt
        [root@myserver ~]# echo $?
        0
        [root@myserver ~]# ca test
        -bash: ca: command not found
        [root@myserver ~]# echo $?
        127
        [root@myserver ~]# ls te
        ls: cannot access te: No such file or directory
        [root@myserver ~]# echo $?
        2

3、请使用命令行展开功能来完成以下练习:
   (1)、创建/tmp目录下的:a_c, a_d, b_c, b_d

        mkdir {a,b}_{c,d}
        ls
        a_c  a_d   b_c  b_d

   (2)、创建/tmp/mylinux目录下的:
mylinux/
    ├── bin
    ├── boot
    │   └── grub
    ├── dev
    ├── etc
    │   ├── rc.d
    │   │   └── init.d
    │   └── sysconfig
    │       └── network-scripts
    ├── lib
    │   └── modules
    ├── lib64
    ├── proc
    ├── sbin
    ├── sys
    ├── tmp
    ├── usr
    │   └── local
    │       ├── bin
    │       └── sbin
    └── var
        ├── lock
        ├── log
        └── run

        mkdir -pv mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scipts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{var,log,run}}
        tree mylinux/
        mylinux/
        ├── bin
        ├── boot
        │   └── grub
        ├── dev
        ├── etc
        │   ├── rc.d
        │   │   └── init.d
        │   └── sysconfig
        │       └── network-scipts
        ├── lib
        │   └── modules
        ├── lib64
        ├── proc
        ├── sbin
        ├── sys
        ├── tmp
        ├── usr
        │   └── local
        │       ├── bin
        │       └── sbin
        └── var
            ├── log
            ├── run
            └── var

4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
 

        stat history.txt                 
                File: ‘history.txt’
                Size: 19445         Blocks: 40         IO Block: 4096   regular file
                Device: fd00h/64768d    Inode: 101942074   Links: 1
                Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
                Access: 2016-09-09 04:49:46.888113148 +0800
                Modify: 2016-09-09 04:44:57.963768809 +0800
                Change: 2016-09-09 04:49:46.888113148 +0800
                Birth: -
          
        touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间
        -a:或--time=atime或--time=access或--time=use 只更改存取时间; 
        -c:或--no-create 不建立任何文件; 
        -d:<时间日期> 使用指定的日期时间,而非现在的时间; 
        -f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题; 
        -m:或--time=mtime或--time=modify 只更该变动时间; 
        -r:<参考文件或目录> 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同; 
        -t:<日期时间> 使用指定的日期时间,而非现在的时间; 
        --help:在线帮助; --version:显示版本信息。
        
        touch -t 201211142234.50 history.txt 
        stat history.txt
                File: ‘history.txt’
                Size: 19445         Blocks: 40         IO Block: 4096   regular file
                Device: fd00h/64768d    Inode: 101942074   Links: 1
                Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
                Access: 2012-11-14 22:34:50.000000000 +0800
                Modify: 2012-11-14 22:34:50.000000000 +0800
                Change: 2016-09-09 04:53:06.991823108 +0800
                Birth: -

5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?

        alias命令用来设置指令的别名                
        alias 新的命令='原命令 -选项/参数
        
        alias
            alias cp='cp -i'
            alias egrep='egrep --color=auto'
            alias fgrep='fgrep --color=auto'
            alias grep='grep --color=auto'
            alias l.='ls -d .* --color=auto'
            alias ll='ls -l --color=auto'
            alias ls='ls --color=auto'
            alias mv='mv -i'
            alias rm='rm -i'
            alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
            
         命令引用:
        name=`COMMAND`, name=$(COMMAND)
        wc -l `ls test.txt`
        4 test.txt

原创文章,作者:kirin_13,如若转载,请注明出处:http://www.178linux.com/45587

赞 (0)
kirin_13kirin_13
上一篇 2016-09-15 22:21
下一篇 2016-09-15 22:21

相关推荐

  • Ansible

    Ansible简介 ansible是一种基于python语言开发的轻量级自动化运维工具,它可以自动化批量完成主机服务配置管理,软件部署,执行特定命令等工作 ansible的核心组件有ansible core(核心代码),host inventory(要管理的主机),core modules(核心模块),custom modules(用户可以自定义模块),pl…

    Linux干货 2016-11-14
  • Linux计划任务和进程

    一、进程管理 1.进程简介 一个程序对应多个进程;一个进程对应一个程序。 2.进程状态的查看与控制 查看进程状态 w 查看个别用户的进程 eg: w userName list-info JCPU: PCPU: WAHT: from: IDLE: 用户空闲时间 load average: ps -aux -a: 显示所有用户的进程 -u:显示用户名和启动时间…

    2017-09-09
  • bash脚本编程之算术运算和文件查找

    算数运算在每个编程语言里面是最基本的功能,在bash里面也是.相对于其他编程语言来说在bash里面不能直接以变量加上变量的形式来表现;比如我们先声明两个变量num1和num2然后再做运算。 num1=2 num2=3 echo "$num1+$num2" 2+3 这里我们显示的结果直接为2+3只是做了变量的替换,而不是做两个变量…

    Linux干货 2016-12-23
  • 推荐-CentOS 6的系统启动流程

    一、POST加电自检     按下电源后ROM芯片中的CMOS程序执行并检测CPU、内存等设备是否存在并正常运行,CMOS中的程序叫BIOS,可以设置硬盘接口,网卡声卡开关之类的简单设置。一般PC机主板上有一个纽扣电池,这个电池就是给ROM供电的,可以保证主板断电后BIOS的一些基本设置不会重置。  &nb…

    Linux干货 2016-04-10
  • Nagios

    一、Nagios简介   Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。 Nagios原名为NetSaint,由Ethan Galstad开发并维护至今…

    2017-12-20
  • 对防火墙的初步认识

      防火墙,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种。无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘。而我们的任务就是需要去定义到底防火墙如何工作,这就是防火墙的策略,规则,以达到让它对出入网络的IP、数据进行检测。    目前市面上比较常见的有3、4层的防火墙,叫网络层的防火墙,还有7…

    Linux干货 2017-06-15

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-19 18:44

    没写完吧?