马哥教育网络班20期+第二周课程练习

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

文件管理有 cp, mv, rm

 复制命令:cp

[root@ddwhost ~]# cp /etc/magic /tmp/

 

      cp [OPTION]… [-T] SOURCE DEST

        cp [OPTION]… SOURCE… DIRECTORY

        cp [OPTION]… -t DIRECTORY SOURCE…

cp SRC DEST

      SRC是文件:

                如果目标不存在:新建DEST,并将SRC中内容填充至DEST中;

                如果目录存在:

                  如果DEST是文件:将SRC中的内容覆盖至DEST中;

                  此时建议为cp命令使用-i选项;

                   如果DEST是目录:在DEST下新建与原文件同名的文件,并将SRC中内容填充至新文件中;

SRC是目录:

[root@ddwhost etc]# cp -r /etc/yum.repos.d/   /tmp/

[root@ddwhost etc]# 

    此时使用选项:-r

      如果DEST不存在:则创建指定目录,复制SRC目录中所有文件至DEST中;

mv: move,移动文件

[root@ddwhost tmp]# mv magic test

[root@ddwhost tmp]# 

       mv [OPTION]… [-T] SOURCE DEST

       mv [OPTION]… SOURCE… DIRECTORY

       mv [OPTION]… -t DIRECTORY SOURCE…

常用选项:

               -i: 交互式

               -f: 强制

rm: remove,删除

[root@ddwhost etc]# rm -rf ddw

[root@ddwhost etc]# 

 

 rm [OPTION]… FILE…

        常用选项:

            -i: 交互式

            -f: 强制删除

            -r: 递归

            rm -rf 


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

bash最近一条命令的执行状态结果

成功:0 

失败:1-255 

echo $?:输出状态结果 

程序执行的结果有两类:返回值与执行状态结果。及权限控制

[root@ddwhost tmp]# rm -rf a_b

[root@ddwhost tmp]# echo $?

[root@ddwhost tmp]# 

 

[root@ddwhost tmp]# mv dd e4

mv: cannot stat `dd': No such file or directory

[root@ddwhost tmp]# echo $?

1

[root@ddwhost tmp]# 

 

golb用于实现bash文件名的“通配”

*:表示任意数量个字符

?:表示一个字符 

[]:指定[]范围内的字符 

[^]:指定[^]范围外的字符 

[^0-9a-z]:表示除0-9,a-z,用来表示特殊字符

专用字符集

[:digit:]:0-9 

[:lower:]:任意小写字母 

[:upper:]:任意大写字母 

[:alpha:]:任意大小写字母 

[:alnum:]:任意数字或字母 

[:space:]:空格 

[:punct:]:标点符号

[root@ddwhost etc]# ls -d /etc/[0-9]*[^0-9]

/etc/133dd  /etc/355dd  /etc/453dr  /etc/46dd

[root@ddwhost etc]# 

 

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

   (1)、创建/tmp目录下的: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

(1)

[root@ddwhost tmp]# mkdir {a,b}_{c,d}

[root@ddwhost tmp]# ll

total 56

drwxr-xr-x.  2 root root 4096 Jun 19 02:57 a_c

drwxr-xr-x.  2 root root 4096 Jun 19 02:57 a_d

drwxr-xr-x.  2 root root 4096 Jun 19 02:57 b_c

drwxr-xr-x.  2 root root 4096 Jun 19 02:57 b_d

srwxrwxr-x.  1 ddw  ddw     0 May 23 16:39 gnome-system-monitor.ddw.1270181653

drwx——.  2 ddw  ddw  4096 May 23 16:32 keyring-5QNkrm

 

(2)

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

[root@ddwhost tmp]# tree mylinux

mylinux

├── bin

├── boot

│   └── grub

├── dev

├── etc

│   ├── rc.d

│   │   └── init.d

│   └── sysconfig

│       └── network-script

├── lib

│   └── modules

├── lib64

├── proc

├── sbin

├── sys

├── tmp

├── usr

│   └── local

│       ├── bin

│       └── sbin

└── var

    ├── lock

    ├── log

    └── run

 

24 directories, 0 files

 

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

文件的时间戳管理工具:

    touch

文件:metadata, data

        查看文件状态:stat

 

touch命令:

     touch [OPTION]… FILE…

            -a: only atime

            -m: only mtime

            -t STAMP:

                 [[CC]YY]MMDDhhmm[.ss]

            -c: 如果文件不存,则不予创

ll [file]

[root@ddwhost ~]# ll

total 68

-rw-r–r–. 1 root root   233 Jun 18 07:10 adduser.sh

-rw——-. 1 root root  2664 May  9 13:18 anaconda-ks.cfg

-rw-r–r–. 1 root root 40003 May  9 13:18 install.log

-rw-r–r–. 1 root root  9154 May  9 13:16 install.log.syslog

-rw-r–r–. 1 root root    70 Jun 18 20:15 numsort.sh

[root@ddwhost ~]# 

-  :文件类型

r– :属主权限,r为可读 

w–:属组权限, w为可写 

–x :其它,x为可执行 

1    :表示硬链接数量 

root:第一个root表示属主 

root:第二个root表示属组 

13   :为文件d大小 

Jun 19 15:52:为时间 

1    :最后一位表示文件名

时间戳:通常是一个字符序列,唯一标识某一刻的时间。

 

date是显示或修改系统时间

[root@ddwhost ~]# date

Sun Jun 19 04:12:55 PDT 2016

[root@ddwhost ~]# 

 

三个时间戳:

            access time:访问时间,简写为atime,读取文件内容

            modify time: 修改时间, mtime,改变文件内容(数据)

            change time: 改变时间, ctime,元数据发生改变

 

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

通过alias命令实现命令的别名:

 (1) alias

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

[root@ddwhost tmp]# alias     //服务器存在的别名

alias cp='cp -i'

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'

[root@ddwhost tmp]# 

 

 (2) alias NAME='VALUE'

       定义别名NAME,其相当于执行命令VALUE;

[root@ddwhost tmp]# alias  host='ddwhost'

[root@ddwhost tmp]# alias 

alias cp='cp -i'

alias host='ddwhost'        //刚定义的别名

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'

[root@ddwhost tmp]# 

注意事项:

    在命令行中定义的别名,仅对当前shell进程有效;如果想永久有效,要定义在配置文件中;

                仅对当前用户:~/.bashrc

                对所有用户有效:/etc/bashrc  

 

                编辑配置给出的新配置不会立即生效; 

                bash进程重新读取配置文件:

                    source /path/to/config_file

                    .  /path/to/config_file

 

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

[root@ddwhost ~]# alias host='ddwhost /tmp/mytest1 >>/dev/null 2>&1'

 

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

[root@ddwhost var]# ls

143df   1566dd   cache  db     games  lib    lock  mail  opt       run    tmp  yp

155sdc  account  crash  empty  gdm    local  log   nis   preserve  spool  www

[root@ddwhost var]# ls -d /var/1*[0-9]*[[:lower:]]

/var/143df  /var/155sdc  /var/1566dd

[root@ddwhost var]# 

 

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

[root@ddwhost etc]# touch 133dd 453dr 355dd 3552 46dd

[root@ddwhost etc]# ls -d /etc/[0-9]*[^0-9]

/etc/133dd  /etc/355dd  /etc/453dr  /etc/46dd

[root@ddwhost etc]# 

 

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

[root@ddwhost etc]# touch 2dddd  4dd33 4ddd

[root@ddwhost etc]# ls -d /etc/[^[:alpha:]][[:alpha:]]*

/etc/2dddd  /etc/4dd33  /etc/4ddd

[root@ddwhost etc]# 

 

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

[root@ddwhost tmp]# touch tfile-`date +"%Y-%m-%d-%H-%M-%S"` 

[root@ddwhost tmp]# ll

total 56

drwxr-xr-x.  2 root root 4096 Jun 19 02:57 a_c

drwxr-xr-x.  2 root root 4096 Jun 19 02:57 a_d

drwxr-xr-x.  2 root root 4096 Jun 19 02:57 b_c

drwxr-xr-x.  2 root root 4096 Jun 19 02:57 b_d

-rw-r–r–.  1 root root    0 Jun 19 03:46 date

srwxrwxr-x.  1 ddw  ddw     0 May 23 16:39 gnome-system-monitor.ddw.1270181653

drwx——.  2 ddw  ddw  4096 May 23 16:32 keyring-5QNkrm

drwx——.  2 ddw  ddw  4096 May  9 05:35 keyring-A42ICV

drwx——.  2 ddw  ddw  4096 May 26 03:27 keyring-vYoGuc

drwx——.  2 ddw  ddw  4096 Jun  4 21:22 keyring-wyE6NI

drwx——.  2 ddw  ddw  4096 May 13 23:17 keyring-YKhNhE

drwxr-xr-x. 14 root root 4096 Jun 19 03:01 mylinux

drwx——.  2 ddw  ddw  4096 Jun 13 02:29 orbit-ddw

drwx——.  2 gdm  gdm  4096 Jun  4 21:22 orbit-gdm

drwx——.  2 ddw  ddw  4096 Jun  4 21:22 pulse-UYzNE2Y3xwBW

-rw-r–r–.  1 root root    0 Jun 19 03:46 tfile-

-rw-r–r–.  1 root root    0 Jun 19 03:50 tfile-2016-06-19-03-50-14

 

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

[root@ddwhost tmp]# mkdir mytest1

[root@ddwhost tmp]# cp -r /etc/p*[^0-9] /tmp/mytest1

[root@ddwhost tmp]# ls /tmp/mytest1/

pam.d   passwd-       pcmcia   plymouth                      pnm2ppa.conf  postfix        prelink.conf    profile    pulse

pango   passwd.OLD    pinforc  pm                            popt.d        ppp            prelink.conf.d  profile.d

passwd  pbm2ppa.conf  pki      pm-utils-hd-apm-restore.conf  portreserve   prelink.cache  printcap        protocols

[root@ddwhost tmp]# 

 

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

[root@ddwhost tmp]# mkdir mytest2

[root@ddwhost tmp]# cp -r /etc/*.d /tmp/mytest2

[root@ddwhost tmp]# ll

total 64

drwxr-xr-x.  2 root root 4096 Jun 19 02:57 a_c

drwxr-xr-x.  2 root root 4096 Jun 19 02:57 a_d

drwxr-xr-x.  2 root root 4096 Jun 19 02:57 b_c

drwxr-xr-x.  2 root root 4096 Jun 19 02:57 b_d

-rw-r–r–.  1 root root    0 Jun 19 03:46 date

srwxrwxr-x.  1 ddw  ddw     0 May 23 16:39 gnome-system-monitor.ddw.1270181653

drwx——.  2 ddw  ddw  4096 May 23 16:32 keyring-5QNkrm

drwx——.  2 ddw  ddw  4096 May  9 05:35 keyring-A42ICV

drwx——.  2 ddw  ddw  4096 May 26 03:27 keyring-vYoGuc

drwx——.  2 ddw  ddw  4096 Jun  4 21:22 keyring-wyE6NI

drwx——.  2 ddw  ddw  4096 May 13 23:17 keyring-YKhNhE

drwxr-xr-x. 14 root root 4096 Jun 19 03:01 mylinux

drwxr-xr-x. 15 root root 4096 Jun 19 03:55 mytest1

drwxr-xr-x. 26 root root 4096 Jun 19 03:57 mytest2

drwx——.  2 ddw  ddw  4096 Jun 13 02:29 orbit-ddw

drwx——.  2 gdm  gdm  4096 Jun  4 21:22 orbit-gdm

drwx——.  2 ddw  ddw  4096 Jun  4 21:22 pulse-UYzNE2Y3xwBW

-rw-r–r–.  1 root root    0 Jun 19 03:46 tfile-

-rw-r–r–.  1 root root    0 Jun 19 03:50 tfile-2016-06-19-03-50-14

-rw-r–r–.  1 root root    0 Jun 19 03:50 tfile-2016-06-19-03-50-40

-rw-r–r–.  1 root root    0 Jun 19 03:54 tfile-2016-06-19-03-54-15

-rw-r–r–.  1 root root    0 Jun 19 03:47 tfile-date

-rw-r–r–.  1 root root    0 Jun 19 03:48 tfile-date+%Y-%m-%d-%H-%M-%S

-rw-r–r–.  1 root root    0 Jun 19 03:54 touch

drwx——.  2 root lp   4096 Jun 18 16:51 vmware-root-1847854491

-rw-r–r–.  1 root root    0 Jun 19 03:47 +%Y-%m-%d-%H-%M-%S

[root@ddwhost tmp]# 

 

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

[root@ddwhost tmp]# mkdir mytest3

[root@ddwhost tmp]# cp /etc/[l,m,n]*.conf /tmp/mytest3

[root@ddwhost tmp]# ll

total 68

drwxr-xr-x.  2 root root 4096 Jun 19 02:57 a_c

drwxr-xr-x.  2 root root 4096 Jun 19 02:57 a_d

drwxr-xr-x.  2 root root 4096 Jun 19 02:57 b_c

drwxr-xr-x.  2 root root 4096 Jun 19 02:57 b_d

-rw-r–r–.  1 root root    0 Jun 19 03:46 date

srwxrwxr-x.  1 ddw  ddw     0 May 23 16:39 gnome-system-monitor.ddw.1270181653

drwx——.  2 ddw  ddw  4096 May 23 16:32 keyring-5QNkrm

drwx——.  2 ddw  ddw  4096 May  9 05:35 keyring-A42ICV

drwx——.  2 ddw  ddw  4096 May 26 03:27 keyring-vYoGuc

drwx——.  2 ddw  ddw  4096 Jun  4 21:22 keyring-wyE6NI

drwx——.  2 ddw  ddw  4096 May 13 23:17 keyring-YKhNhE

drwxr-xr-x. 14 root root 4096 Jun 19 03:01 mylinux

drwxr-xr-x. 15 root root 4096 Jun 19 03:55 mytest1

drwxr-xr-x. 26 root root 4096 Jun 19 03:57 mytest2

drwxr-xr-x.  2 root root 4096 Jun 19 03:59 mytest3

drwx——.  2 ddw  ddw  4096 Jun 13 02:29 orbit-ddw

drwx——.  2 gdm  gdm  4096 Jun  4 21:22 orbit-gdm

drwx——.  2 ddw  ddw  4096 Jun  4 21:22 pulse-UYzNE2Y3xwBW

-rw-r–r–.  1 root root    0 Jun 19 03:46 tfile-

-rw-r–r–.  1 root root    0 Jun 19 03:50 tfile-2016-06-19-03-50-14

-rw-r–r–.  1 root root    0 Jun 19 03:50 tfile-2016-06-19-03-50-40

-rw-r–r–.  1 root root    0 Jun 19 03:54 tfile-2016-06-19-03-54-15

-rw-r–r–.  1 root root    0 Jun 19 03:47 tfile-date

-rw-r–r–.  1 root root    0 Jun 19 03:48 tfile-date+%Y-%m-%d-%H-%M-%S

-rw-r–r–.  1 root root    0 Jun 19 03:54 touch

drwx——.  2 root lp   4096 Jun 18 16:51 vmware-root-1847854491

-rw-r–r–.  1 root root    0 Jun 19 03:47 +%Y-%m-%d-%H-%M-%S

[root@ddwhost tmp]# 

 

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

(0)
dengdw0917dengdw0917
上一篇 2016-06-23
下一篇 2016-06-23

相关推荐

  • Linux上命令使用格式及如何获取帮助信息

    Linux系统上命令使用: 命令本身是一个可执行的程序文件,二进制格式的文件,有可能会调用共享库文件,发起一条命令,请求内核将某一个二进制程序运行为一个进程。   命令的语法格式:   ~]#COMMAND(命令)   OPENTIONS(选项)   ARGUMENTS(参数) command 命令…

    Linux干货 2016-10-30
  • 【社招】【小米-北京】linux内核工程师

    【社招】【小米-北京】内核工程师 【工作地点】北京市海淀区安宁庄东路72号科利源大厦 【薪酬福利】20k-40k 期权奖励、六险一金、水果花茶、班车、健身房、食堂 【投递方式】邮件主题“岗位+姓名”发送至lipengcheng3@xiaomi.com   岗位职责: 1.      负责内…

    Linux干货 2017-07-28
  • Week1: Linux 初步

    1. 描述计算机的组成及其功能 一个完整的计算机系统由硬件系统和软件系统两大部分组成 冯诺依曼体系下的计算机五大部件 CPU:运算器、控制器、寄存器、缓存(一二三级缓存)) 存储器:内存 RAM(Random-Access Memory) Input:输入指令、提供数据 Output: 输出数据加工后的结果 要点:计算机中的信息(程序和数据)以二进制方式表示…

    Linux干货 2016-12-04
  • 一个简单小例子来说一下Rescue营救模式

    昨天不小心将/lib64下的一个动态库文件libc.so.6(很多命令都依赖的)给移动到了/root下,然后除了一些内部命令可用外,其余命令都不能用了,然后就想着看看重启可不可以修复,结果重启后就再也开不了机了,心想着这可咋整,要不用最快的方式进行快照恢复吧,结果老师就说了,不能使用快照,让我们使用Rescue营救模式进行恢复,然后在恢复的过程中就发现一个问…

    Linux干货 2017-08-21
  • 文本处理工具初探

    作为一个系统管理员,文本处理功能是经常使用的,熟练地使用各种文本工具有助于提高工作效率,从繁忙的工作中早点解脱。下面就来介绍处理文本的常用命令。 处理文本的命令大致分为:        查看文件内容:cat、less、more       …

    Linux干货 2016-08-07
  • DNS配置案例 二

    DNS配置案例 二 DNS配置案例 二 1 §·DNS的配置与案例 1 §·测试工具 3 §·主配置文件格式:/etc/named.conf 7 §·缓存名称服务器的配置: 8 §·配置解析一个正向区域 : 以loveme.com域为例: 10 §·配置解析一个反向区域 : 以loveme.com域为例: 15 §·配置从DNS服务器 19 §·问…

    Linux干货 2016-09-26

评论列表(1条)

  • 马哥教育
    马哥教育 2016-06-23 14:05

    写的很棒,可以在多关注一些排版的技巧