第二周作业

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

相关推荐

  • 强大的文本处理工具:vim编辑器

    一:引言 系统管理员的重要工作就是修改与设置某些软件的重要配置文件,而vim作为vi编辑器的升级版本,不仅能够以不同颜色来显示文字内容,还能够进行诸如shell脚本、C等程序的编写,所以,它还是一个程序编辑器,接下来,就让我们一起来看看vim的有哪些好玩的用法和特征。 二:vim三种模式及其常见用法 虽然vim有非常庞大甚至说它复杂也不为过的功能体系,但用结…

    2017-08-05
  • Linux进程及作业控制

    inux进程 进程的概念 当一个系统启动时,刚开机是第一个运行的是内核代码!先把内核放到cpu上运行,等内核控制和掌管了一切,有内核启动进程!然后创建第一个进程 init进程  内核空间 用户空间也都已被创建成功!后期的一切管理工作都由init来负责 init不能代表系统完成一些内核特权的执行!但由他负责向内核提交 他…

    Linux干货 2016-09-10
  • linux基础学习第十一天(shell循环、软件包管理)

    2016-08-16 授课内容: shell脚本基础:循环,for,while,until(未讲完) 软件包管理(未讲完): 软件运行环境 软件包基础 Rpm包管理 循环执行 将某代码段重复运行多次 重复运行多少次: 循环次数事先已知 循环次数事先未知 有进入条件和退出条件 循环控制语句: break:【提结束循环,循环将不再执行】指前面的循环退出,退…

    Linux干货 2016-08-18
  • N27_第二周作业

    一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关演示。  A、copy命令        a、 单元复制:cp [OPTION]… [-T] SOURCE DEST 1、  如果dest不存在:则事先创建此文件,并复制源文件的数据流至dest中; [root@localhost /]# ls -l /tmp total 0 [r…

    2017-09-07
  • Find命令的使用

    Find命令的基本用法 在Linux系统中find命令是一个强大文件查找类工具,它支持根据文件名,权限,文件大小,访问以及修改时间查找,使用方法如下: find [option] [查找起始路径] [查找条件] [处理动作] 起始路径:指定查找文件或目录的路径,默认为当前目录 查找条件:可根据文件名,权限,文件大小以及从属关系查找文件 处理动作:动查找到的文…

    Linux干货 2017-08-28
  • inode 与 block

    iNode:索引节点(index node) iNode是用来存储数据属性信息的,iNode包含的属性包括:文件大小属组归属的用户组读写权限文件类型修改时间指向文件实体的指针功能(iNode节点和block的对应关系)但是,iNode不包括文件名 iNode小结: 磁盘分区格式化为ext4文件系统后会生成一定数量的iNode和block iNode是索引节点…

    Linux干货 2017-07-18

评论列表(1条)

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

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