第二周作业

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

目录管理类命令:

cd:变更目录

  命令格式:cd [DIRECTORY]

pwd:显示当前目录的绝对路径

ls:显示文件或目录内容

    命令格式:ls [OPTION]… [FILE]…

    常用参数:

        -a:显示所有内容(包含以.开头的隐藏文件)。

        -l:以长格式显示文件夹内容。

        -d:只显示目录名称,不显示目录下的内容。

        -h:以人类易读的方式显示文件大小(如:4.0K)。

mkdir:创建目录

    命令格式:mkdir [OPTION]…DIRECTORY…

    常用参数:

        -p:表示目录存在时不返回错误,不存在时,自动创建目录。

        -v:显示创建过程的详细信息。

        -m MODE:创建目录时直接指定权限。

rmdir:删除目录

    命令格式:rmdir [OPTION]… DIRECTORY…

    常用参数:

        -v:显示执行过程。

tree:目录结构查看

    常用参数:

        -d:只显示目录。

        -L level:指定显示的层级数据。

        -P pattern:只显示指定pattern匹配到的路径。

文件管理类:

cp:复制命令

    命令格式:

        cp [OPTION]… [-T] SOURCE DEST

          cp [OPTION]… SOURCE… DIRECTORY

        cp [OPTION]… -t DIRECTORY SOURCE…

    常用参数:

        -i:交互式

        -r:递归复制目录及内部的所有内容。

        -a:归档,相当于-dR –preserve=all

            –preserve[=ATTR_LIST]

            mode:权限

            ownership:属主属组

            timestamp:时间戳

            links:符号链接

            xattr:扩展属性

            context:安全标签

            all:上述所有属性

        -d:表示不跟踪符号链接所指向的源文件–no-dereference –preserve=links

        -p:保持原有文件的属性信息。

        -f:强制覆盖

        -v:显示执行过程

    使用方法:

        单源复制:cp [OPTION]… [-T] SOURCE DEST

         如果DEST不存在:则事先创建此文件,并复制源文件的数据流至DEST中;

        如果DEST存在:

            如果DEST是非目录文件:则覆盖目标文件;

            如果DEST是目录文件:则先在DEST目录下创建一个与源文件同名的文件,并复制其数据流;

        多源复制:

            cp [OPTION]… SOURCE… DIRECTORY

            cp [OPTION]… -t DIRECTORY SOURCE…

            如果DEST不存在:错误;

             如果DEST存在:

                如果DEST是非目录文件:错误;

                如果DEST是目录文件:分别复制每个文件至目标目录中,并保持原名;

mv:移动命令

    命令格式:

        mv [OPTION]… [-T] SOURCE DEST

          mv [OPTION]… SOURCE… DIRECTORY

          mv [OPTION]… -t DIRECTORY SOURCE…

    常用参数:

        -i:交互式

        -f:强制

rm:删除命令

    命令格式:rm [OPTION]… FILE…

    常用参数:

        -i:交互式

        -f:强制

        -r:递归

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

命令执行结果状态用 $? 表示。

    0:成功

    1 – 255:失败

命令行展开:

    ~:展开为当前用户的主目录。

    ~USERNAME:展开为指定用户的主目录。

    {}:可承载一个以逗号分隔的列表,并将其展开为多个路径。

    示例:

        /tmp/{a,b} = /tmp/a,/tmp/b

        /tmp/{tom,jerry}/h1 = /tmp/tom/h1,/tmp/jerry/h1

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

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

[root@devops2 tmp]# touch /tmp/{a_c,a_d,b_c,b_d}
[root@devops2 tmp]# ls
a_c  a_d  b_c  b_d

(2)、创建/tmp/mylinux目录下的:

[root@devops2 tmp]# mkdir -p /tmp/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@devops2 tmp]# tree /tmp/mylinux/
/tmp/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

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

文件的元数据包括:文件大小,权限,块数,块大小,文件类型,所在磁盘编号,inode,关联文件数,时间戳信息。

可通过stat命令进行查看:

[root@devops2 tmp]# stat /tmp/mylinux/
  File: `/tmp/mylinux/'
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: fd00h/64768d    Inode: 1835023     Links: 14
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2017-01-08 16:40:14.764841462 +0800
Modify: 2017-01-08 16:40:10.123180220 +0800
Change: 2017-01-08 16:40:10.123180220 +0800

access time:访问时间,atime,即:通过cat,more等读取其内容。

modify time:修改时间,mtime,即:改变文件内容。

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

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

语法:alias new_name = 'old_name option'

[root@devops2 tmp]# alias grep='grep --color=auto'
[root@devops2 tmp]# alias|grep grep
alias grep='grep --color=auto'

注意:通过命令行定义的命令别名只对当前shell有效,如果想永久有效,需要定义在配置文件中,如:

仅对当前用户有效:~/.bashrc

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

然后重新读取配置文件使别名生效:

source ~/.bashrc 或 source /etc/bashrc

引用其他命令执行结果

$(COMMAND) 或 `COMMAND`

[root@devops2 tmp]# currdir=`pwd`
[root@devops2 tmp]# echo $currdir
/tmp
[root@devops2 tmp]# filelist=$(ls)
[root@devops2 tmp]# echo $filelist
a_c a_d b_c b_d mylinux

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

[root@devops2 var]# ll -d /var/l*[[:digit:]]*[[:lower:]]
drwxr-xr-x 2 root root 4096 Jan  8 17:36 /var/l012abc
-rw-r--r-- 1 root root    0 Jan  8 17:39 /var/l9def

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

[root@devops2 etc]# ll -d /etc/[[:digit:]]*[^[:digit:]]
-rw-r--r-- 1 root root    0 Jan  8 17:45 /etc/1abc
drwxr-xr-x 2 root root 4096 Jan  8 17:45 /etc/2def

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

[root@devops2 etc]# ll -d /etc/[^[:alpha:]][[:alpha:]]*
-rw-r--r-- 1 root root    0 Jan  8 17:45 /etc/1abc
drwxr-xr-x 2 root root 4096 Jan  8 17:45 /etc/2def

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

[root@devops2 tmp]# touch /tmp/file-$(date +%F-%H-%M-%S)
[root@devops2 tmp]# ls /tmp/file-2017-01-08-18-03-48 
/tmp/file-2017-01-08-18-03-48

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

[root@devops2 tmp]# mkdir /tmp/mytest{1,2,3}
[root@devops2 tmp]# cp -r /etc/p*[^[:digit:]] /tmp/mytest1/
[root@devops2 tmp]# ls /tmp/mytest1/
pam.d    pcmcia     php.ini      plymouth                      portreserve    prelink.conf    profile.d
pango    pear       php.ini.bak  pm                            postfix        prelink.conf.d  protocols
passwd   pear.conf  pinforc      pm-utils-hd-apm-restore.conf  ppp            printcap        pulse
passwd-  php.d      pki          popt.d                        prelink.cache  profile

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

[root@devops2 tmp]# cp -r /etc/*.d /tmp/mytest2/
[root@devops2 tmp]# ls /tmp/mytest2/
bash_completion.d  event.d        makedev.d       prelink.conf.d  rc4.d          rwtab.d
cgconfig.d         init.d         modprobe.d      profile.d       rc5.d          setuptool.d
chkconfig.d        latrace.d      oddjobd.conf.d  rc0.d           rc6.d          statetab.d
cron.d             ld.so.conf.d   pam.d           rc1.d           rc.d           sudoers.d
depmod.d           logrotate.d    php.d           rc2.d           request-key.d  xinetd.d
dracut.conf.d      lsb-release.d  popt.d          rc3.d           rsyslog.d      yum.repos.d

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

[root@devops2 tmp]# cp /etc/{l,m,n}*.conf /tmp/mytest3
[root@devops2 tmp]# ls /tmp/mytest3/
latrace.conf  libaudit.conf  logrotate.conf  mke2fs.conf    nsswitch.conf  numad.conf
ld.so.conf    libuser.conf   ltrace.conf     nfsmount.conf  ntp.conf

原创文章,作者:N26-西安-方老喵,如若转载,请注明出处:http://www.178linux.com/66098

(0)
N26-西安-方老喵N26-西安-方老喵
上一篇 2017-01-08 17:47
下一篇 2017-01-08 22:05

相关推荐

  • 文件管理类命令详解

    文件管理类命令详解 文件查看 cat 功能描述:连接文件并打印到标准输出上 命令格式:cat [OPTION]… [FILE]… OPTION: -b 对所有非空白行编号 -n 给所有输出行编号 -s 将连续多行空白行显示为一行空白行 -E 在每一行行尾显示$ FILE:可显示多个文件,文件之间以空格分隔 举例 将file1、file…

    Linux干货 2017-07-09
  • Linux基础命令之文本命令

    关于文本的命令:     1.文件查看命令:        a.cat:查看文件,实现参数给的内容一个个显示出来            -n:显示行号(显示的空行的行号)          …

    Linux干货 2016-08-07
  • 基于mysql的数据库分析系统(rsyslog)

    rsyslog:日志收集和存储系统 1.事件在电脑中的日志记录格式为:     日期时间 主机 进程[pid]:事件内容 2.rsyslog的特性:     多线程;     UDP,TCP,SSL/TLS,RELP; &nbsp…

    Linux干货 2016-10-23
  • Linux系统中快捷键和man手册讲解

    1、Linux中的man手册   man这个单词的翻译是男人的意思,但在Linux中是我们对于命令的帮助查找,我们知道在Linux中命令有很多,简直浩瀚如海,我们不可能都能理解每个命令的意思。所以,Linux的帮助文件大大解决了我们对于命令的理解性。通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。 2、语法格式…

    Linux干货 2016-10-17
  • 集中管理利器-puppet快速入门-中

    集中管理利器-puppet快速入门-中 6.    尝试启动master puppet 启动master puppet,并确认8140端口已被监听:  #puppet返回成功,但不一定能成功启动,puppet这个功能希望能改进… 7.    目录结构 /etc/puppet/  …

    Linux干货 2015-05-04
  • Nginx lnmp环境及https的实现

    一、http事务简明  request: <method> <URL> <VERSION> MHADERS <body> response: <version><status><reason phrase> <HEADERS> … <body&…

    2014-09-25

评论列表(1条)

  • 马哥教育
    马哥教育 2017-02-27 17:03

    延续了之前的品质,再接再厉。