马哥教育第20期-第二周课程练习

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

cp:复制命令

用法: cp [源文件] [目标地址] 

         cp  vimrc /tmp/

 

      cp [源文件1] [源文件2] … [目标地址]

    cp yum.conf  who.out  sudo-ldap.conf /tmp/

 

 cp  -r [文件夹] … [目标地址]

    r:实现文件夹的递归复制 

cp -r sysconfig/ /tmp/

 

 cp -a [文件夹] [目标文件]

    cp -a sysconfig/ /tmp/

 

 cp -p [源文件] [目标文件]

    -p 保留文件原有属性

源文件属性

cp -p /home/java/java/ /tmp/

 

 

mv:移动(剪切、复制到)文件 

   -i:交互式选项

   -f:强制执行

    mv -f java/ /tmp/

   

     

rm:删除命令

   -i:交互式选项

   -f:强制删除

   -r:递归选项

   

   rm -f java.*

   rm -rf javas

   

cd :进入指定文件夹 

  cd /path/to/somefile

  .. :返回上一层级目录

  ~ :返回家目录

  

  

ll :显示指定目录中的文件,默认显示当前目录中的文件

   ll /path.to/somefolder

   

pwd:显示当前所在位置的绝对路径

mkdir :创建文件夹

      mkdir [option]… diretory…

 -p:多层级创建

 -v:显示创建过程

 -m:指定权限

 

 [root@localhost tmp]# mkdir -pv a/b/c

       mkdir: 已创建目录 "a"

       mkdir: 已创建目录 "a/b"

       mkdir: 已创建目录 "a/b/c"

  

  [root@localhost tmp]# mkdir -pv -m 777 1/2/3

        mkdir: 已创建目录 "1"

mkdir: 已创建目录 "1/2"

mkdir: 已创建目录 "1/2/3"

  [root@localhost tmp]# ll 1/2/

总用量 4

drwxrwxrwx. 2 root root 4096 6月  27 00:39 3

rmdir:删除文件夹

     rmdir [option]… dirctory…

只能删除空目录

-v:显示详细信息

 

[root@localhost tmp]# rmdir -v 1

rmdir: 正在删除目录 "1"

 

 

 

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

bash中使用$?,来保存最近一次命令的执行状态结果。

[root@localhost tmp]# ls 

a  java  java.conf  java.exe  sudo-ldap.conf  sysconfig  test  vimrc  who.out  yum.conf

[root@localhost tmp]# echo $?

0

命令或脚本执行成功,状态返回值为0;否则,为执行出错:范围:1-255

错误返回值,可在脚本中自行定义错误原因

命令行展开:

{}:展开命令行

3、请使用命令行展开功能来完成以下练习:

   (1)、创建/tmp目录下的:a_c, a_d, b_c, b_d

    [root@localhost test]# mkdir {a,b}{c,d}

[root@localhost test]# ll

总用量 16

drwxr-xr-x. 2 root root 4096 6月  27 01:32 ac

drwxr-xr-x. 2 root root 4096 6月  27 01:32 ad

drwxr-xr-x. 2 root root 4096 6月  27 01:32 bc

drwxr-xr-x. 2 root root 4096 6月  27 01:32 bd

   (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

[root@localhost mylinux]# mkdir -p bin boot/grub dev etc/{rc.d/init.d,sysconfig/network-scripts} lib/modules lib64 proc sbin sys tmp user/local{bin,sbin} var/{lock,log,run}

[root@localhost mylinux]# ll

总用量 48

drwxr-xr-x. 2 root root 4096 6月  27 01:45 bin

drwxr-xr-x. 3 root root 4096 6月  27 01:45 boot

drwxr-xr-x. 2 root root 4096 6月  27 01:45 dev

drwxr-xr-x. 4 root root 4096 6月  27 01:45 etc

drwxr-xr-x. 3 root root 4096 6月  27 01:45 lib

drwxr-xr-x. 2 root root 4096 6月  27 01:45 lib64

drwxr-xr-x. 2 root root 4096 6月  27 01:45 proc

drwxr-xr-x. 2 root root 4096 6月  27 01:45 sbin

drwxr-xr-x. 2 root root 4096 6月  27 01:45 sys

drwxr-xr-x. 2 root root 4096 6月  27 01:45 tmp

drwxr-xr-x. 4 root root 4096 6月  27 01:45 user

drwxr-xr-x. 5 root root 4096 6月  27 01:45 var

[root@localhost mylinux]# tree

.

├── bin

├── boot

│   └── grub

├── dev

├── etc

│   ├── rc.d

│   │   └── init.d

│   └── sysconfig

│       └── network-scripts

├── lib

│   └── modules

├── lib64

├── proc

├── sbin

├── sys

├── tmp

├── user

│   ├── localbin

│   └── localsbin

└── var

├── lock

├── log

└── run

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

文件大小

创建时间

文件的权限

文件的属主属组

atime

mtime

ctime

文件类型

文件被硬链接的次数

[root@localhost etc]# stat exports 

 File: "exports"

 Size: 0               Blocks: 0          IO Block: 4096   普通空文件

Device: fd00h/64768d    Inode: 915736      Links: 1

Access: (0644/-rw-r–r–)  Uid: (    0/    root)   Gid: (    0/    root)

Access: 2010-01-12 21:28:22.000000000 +0800

Modify: 2010-01-12 21:28:22.000000000 +0800

Change: 2016-05-29 18:47:02.827999962 +0800

使用touch命令修改时间戳

touch [OPTION]… FILE…

-a: only atime

-m: only mtime

-t STAMP:

[[CC]YY]MMDDhhmm[.ss]

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

命令别名使用alias

alias:显示当前shell进程所有可用的命令别名

alias NAME='VALUE'

[root@localhost tmp]# alias ip='ifconfig'

[root@localhost tmp]# ip

eth0      Link encap:Ethernet  HWaddr 00:0C:29:F9:21:60  

          inet addr:192.168.99.28  Bcast:192.168.99.255  Mask:255.255.255.0

          inet6 addr: fe80::20c:29ff:fef9:2160/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:19382 errors:0 dropped:0 overruns:0 frame:0

          TX packets:11931 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:7274136 (6.9 MiB)  TX bytes:2814802 (2.6 MiB)

lo        Link encap:Local Loopback  

          inet addr:127.0.0.1  Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

          UP LOOPBACK RUNNING  MTU:65536  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

命令中引用另一个命令的执行结果

管道命令

COMMAND1 | COMMAND2 | COMMAND3…

cat /etc/passwd | cut -d: -f1,3,5 | sort -t: -k2 -n

6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。  

ls  /var/l*[0-9]*[[:lower:]]

7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录

ll /etc/[0-9]*[^[:digit:]]

8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。

ls -ld /etc/[^a-z][a-z]*

9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。

touch tfile-$(date +'%F-%H-%M-%S')

10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。

 cp -r /etc/p*[^0-9] /tmp/mylinux/

 

11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。

 cp -r /etc/*.d /tmp/mytest2/

 

12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

cp -r /etc/[1,m,n]*.conf /tmp/mytest3

原创文章,作者:N20_丁木晨,如若转载,请注明出处:http://www.178linux.com/20522

(0)
N20_丁木晨N20_丁木晨
上一篇 2016-06-26
下一篇 2016-06-27

相关推荐

  • net25-第12周作业

    1、请描述一次完整的http请求处理过程; – (1)客户端发送http请求– (2)服务端建立或处理连接,接受请求或拒绝请求– (3)接受请求:接受客户端对服务器某一资源的请求– (4)处理请求:对请求报文进行解析,获取客户端请求的资源及请求方法等相关信息– (5)访问资源:获取请求报文中请求的资…

    Linux干货 2017-05-15
  • 帮助和文件管理信息

    history命令: -c 清空命令历史 -d offset 删除历史中指定的第offset个命令 n 显示最近的n条历史 -a 追加本次会话新执行的命令历史列表至历史文件 -n 读历史文件中未读过的行到历史列表 -r 读历史文件附加到历史列表 -w 保存历史列表到指定的历史文件 -p 展开历史参数成多行,但不存在历史列表中 -s 展开历史参数马一行。附加在…

    Linux干货 2017-04-11
  • 系统启动和内核管理

    Linux组成 Linux:kernel+rootfs kernel:进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能 rootfs:程序和glibc 库:函数集合,function,调用接口(头文件负责描述) 过程调用:procedure,无返回值; 函数调用:function;有返回值,可以赋值于变量中; 程序:二进制执行文件 包括根目录以及包…

    Linux干货 2017-05-14
  • 进程和计划任务

    一、知识整理 1、网络客户端工具:lftp,ftp,lftget,wget 子命令:get,mget,ls,help等 wget [opt] …[url] -q 静默模式 -c 断点续传 -O 保存位置 –limit-rates=  指定传输速率 登录ftp之后:lcd 在本机切换目录;get下载单个文件 !ls 查看本机文…

    Linux干货 2016-09-13
  • Shell脚本编程—数组、字符串处理

    数组 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间     数组名:整个数组只有一个名字;     数组索引:编号从0开始;          [数组名索引]  &nbs…

    Linux干货 2016-08-30
  • Linux的简介

    Linux的简介 冯诺依曼体系结构 主要特点:使用存储器,采用二进制(据说,采用二进制的灵感来源于中国的八卦,2变4,4变8…) 体系介绍:其由几大部分组成,输入设备,运算器,控制器,内部存储器,外部存储器,输出设备。 目前,输入设备就是指键盘鼠标, 运算器和控制器现在统称CPU。其实已经内置了两个功能。 内部存储器就是内存,某种意义上,缓存也算…

    Linux干货 2016-10-28

评论列表(1条)

  • 马哥教育
    马哥教育 2016-06-29 15:11

    写的很好,可以多注意一下排版问题,加油