N26第二周博客作业

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

常见的文件查看命令有:cattacheadtailmorelessstattouch

常见的文件管理命令有:cpmvrm

常见的目录管理命令:mkdirrmdir

以下进行详细介绍:

1.1  文件查看命令

cat

用途:查看文件的全部内容

示例:

blob.png

tac

用途:逆序显示文件的内容

示例:

blob.png

head

用途:显示文件的前n行(参数-n,不加参数默认10行)

示例:

blob.png

tail

用途:查看文件的倒数n行(参数-n,不加参数默认10行)

示例:

blob.png

more

用途:分页查看文件内容

操作技巧:查看时回车翻动下一行,空格翻动下一页,b键翻回上一页,h键可以查看更详细的操作菜单,阅读到文件末尾自动退出

示例:

blob.png

blob.png

注:为了有翻页效果用cat /etc/inittab >> /tmp/inittab追加了好几遍。

less

用途:功能和more相同,都是用来浏览超出一页的文件,不同的是less可以用上下键滚动,阅读到文件尾部也不会退出

示例:

blob.png

stat

用途:查看文件的相关信息,包括文件大小、块、所在设备和时间戳等等。

时间戳:

access time(访问时间):最近一次访问文件或目录的时间

modify time(修改时间):最近一次修改文件或目录内容的时间(修改数据)

change time(改变时间):最近一次修改文件或目录元数据(如属主属组、文件名、大小、时间戳等属性)的时间

示例:

blob.png

touch

用途:改变文件的时间戳,常用于创建文件

常见选项:

-c: 指定的文件路径不存在时不予创建;

-a: 仅修改access time

-m:仅修改modify time

1.2 文件管理命令

cp

用途:复制文件

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

如果DEST存在:

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

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

多源复制:cp [OPTION]… SOURCE… DIRECTORY

  如果DEST不存在:错误;

如果DEST存在:

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

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

常用选项:

         -i:交互式复制,即覆盖之前提醒用户确认;

        -f:强制覆盖目标文件;

         -r, -R:递归复制目录;

           -d:复制符号链接文件本身,而非其指向的源文件;

         -a-dR –preserve=all,–archive,用于实现归档,即复制后保留相关元数据;

         –preserv=

                      mode:权限

                  ownership:属主和属组

                  timestamps: 时间戳

                  context:安全标签

                  xattr:扩展属性

                  links:符号链接

                      all:上述所有属性

mv

用途:移动文件或目录

常用选项:

-i:人机交互式(避免直接覆盖同名文件)

-f:强制(避免交互式,如果有同名文件直接覆盖)

rm

-i:交互式(对于管理员用户,rm –i被定义为别名rm

-f:强制

-r:递归操作,删除指定目录里的所有文件

1.3  目录管理命令

mkdir

用途:创建目录

常见选项:

-p:若创建路径中有目录不存在,则按需创建

-v:显示详细过程

-m 参数:创建目录时直接给定权限

rmdir

用途:删除目录

常用选项:

-p:删除目录后,若目录为空则直接删除空目录

-v:显示详细过程

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

命令执行状态返回值

当系统成功执行一条命令时,会返回0值,当执行失败时,会返回1~255,可以通过echo $? 命令查询上一条指令是否执行成功。

示例:

blob.png

因为第一条命令执行失败,所以返回值127echo $?执行成功,返回0

命令行展开

~:自动展开为用户的家目录,或指定的用户的家目录;                         

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

例如:/tmp/{a,b} 相当于 /tmp/a /tmp/b


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

3.1  创建/tmp目录下的:a_c, a_d, b_c, b_d

   命令:touch /tmp/{a_c,a_d,b_c,b_d}

blob.png

3.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 /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/initd,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin.sbin},var/{lock,log,run}}

blob.png

blob.png

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

文件发元数据包括:

File:文件名

Size:大小

Blocks:文件块数

IO blocksIO块大小

Device:设备号

Links:链接次数

Access timeModify timeChange time(三个时间,上文有提及)

查看元数据:stat FILEstat命令上文第一点有提及)

修改文件时间戳信息:touch命令

-a选项:只修改access time

-m选项:只修改modify time

-a-m都是将相应时间戳改为系统此时的时间,可以指定修改为某一时间:

使用-t STAMP[[CC]YY]MMDDhhmm[.ss]

如果不加任何选项,则AMC时间都会修改为当前时间

 

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

使用alias命令可以设置别名,使用unalias可以取消别名。

alias 别名=命令

unalias 别名

示例:

blob.png

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

命令:ls -d l*[0-9]*[[:lower:]]

blob.png

*:匹配任意长度的任意字符

?:匹配任意单个字符

[]:匹配指定范围内的任意单个字符

   有几种特殊格式:

     [a-z], [A-Z], [0-9], [a-z0-9]

     [[:upper:]]:所有大写字母

     [[:lower:]]:所有小写字母

     [[:alpha:]]:所有字母

     [[:digit:]]:所有数字

     [[:alnum:]]:所有的字母和数字

     [[:space:]]:所有空白字符

     [[:punct:]]:所有标点符号

     [^]:匹配指定范围外的任意单个字符

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

ls -d /etc/[[:digit:]]*[^[:digit:]]

ls -d /etc/[0-9]*[^0-9]

blob.png

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

ls -d [^[:alpha:]][[:alpha:]]?*

blob.png

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

mkdir tfile-`date +%Y-%m-%d-%H-%M-%S`             

blob.png

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

命令:cp –r /etc/p*[^[:digit:]] /tmp/mytest1

因为需要复制的内容包含目录,所以要加上-r选项

blob.png

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

命令:cp /etc/*.d /tmp/mytest2 –r

blob.png

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

命令:mkdir -p /tmp/mytest3 && cp /etc/{l,m,n}*.conf /tmp/mytest3

    -p选项:根据指定路径按需建立目录

 blob.png

 

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

(0)
EUSCEEUSCE
上一篇 2017-02-03 14:28
下一篇 2017-02-03 20:52

相关推荐

  • bash特性、bash编程

    bash基础特性: 命令行展开:~,{} 命令别名:alias,unalias 命令历史:history 命令和路径补全:$PATH glob通配符:*,?,[],[^], 快捷键:Ctrl+{a,e,l,c,u,k} 命令hash:   bash通配符及特殊符号: 通配符: ?:任意一个字符; *:匹配任意个任意字符; []:匹配括号内的任意一个…

    Linux干货 2018-03-21
  • Linux 命令小结

    cat /proc/meminfo 校验内存使用 cat /proc/swaps 显示哪些swap被使用 cat /proc/version 显示内核的版本 cat /proc/net/dev 显示网络适配器及统计 cat /proc/mounts 显示已加载的文件系统 lspci -tv 罗列 PCI 设备…

    Linux干货 2017-06-18
  • 第二周练习作业

    第二周作业 1、2、4、5 题博客中已经总结 3、请使用命令行展开功能来完成以下练习: (1)、创建/tmp目录下的:ac, ad, bc, bd (2)、创建/tmp/mylinux目录下的: mylinux/     ├── bin     ├── boo…

    Linux干货 2016-11-06
  • N28-第三周

    1. 列出當前系統上所有已經登入的用戶的用戶名,注意:同一個用戶登入多次,則只顯示一次即可。
    2. 取出最後登入到當前系統的用戶的相關信息。
    3. 取出當前系統上被用戶當做其默認shell的最多的那個shell。
    4. 將/etc/passwd中的第三個字段數值最大的後10個用戶的信息全部改為大寫後保存至/tmp/maxusers.txt文件中。
    5. 取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。
    6. 列出/etc目錄下所有以.conf結尾的文件的文件名,並將其名字轉換為大寫後保存至/tmp/etc.conf文件中。
    7. 顯示/var目錄下一級子目錄或文件的總各數。
    8. 取出/etc/group文件中第三個字段數值最小的10個組的名字。
    9. 將/etc/fstab和/etc/issue文件的內容合併為同一個內容後保存至/tmp/etc.test文件中。
    10. 請總結描述用戶和組管理類命令的使用方法並完成以下練習:
    (1) 創建組distro,其GID為2016。
    (2) 創建用戶mandriva,其ID號為1005,基本組為distro。
    (3) 創建用戶mageia,其ID號為1100,家目錄為/home/linux。
    (4) 給用戶mageia添加密碼,密碼為mageedu。
    (5) 刪除mandriva,但保留其家目錄。
    (6) 創建用戶slackware,其ID號為2002,基本組為distro,附加組peguin。
    (7) 修改slackware的默認shell為/bin/tcsh。
    (8) 為用戶slackware新增附加組admins。

    2017-12-19
  • 计算机组成及Linux初识

    拼一载春秋,搏一生无悔 1. 计算机简介 2. Linux发行版简介 3. Linux哲学思想简介 4. Linux系统上获取命令帮助 5. Linux「12」个基础命令简介 6. Linux发行版基础目录及功能简介 1.计算机简介 电子计算机(英语:computer),亦称电脑,是一种利用「电子学…

    Linux干货 2016-10-27
  • LInux 网络及相关进程作业管理

    马哥教育网络班23期+第四周课堂练习 Linux 网络及相关进程作业管理 一、概述 1.1 简介: 进入Linux学习第四周,这一周讲的知识点非常的多,也特别的碎,感觉这一周的内容掌握起来有很大的难度,主要是要记的命令很多,包括yum 的一些安装的命令,配置yum 源,相关的网络的命令和参数,还有就是进程管理和作业管理中的相关工具的使用,最后还讲了bash脚…

    Linux干货 2016-10-24

评论列表(1条)

  • 马哥教育
    马哥教育 2017-03-02 19:50

    非常认真,不过命令最好不要用截图来体现。