马哥教育网络班N22期+第2周课程练习

马哥教育网络班N22期+第2周课程练习

1 linux上的常用文件管理类命令

1.1 常用文件查看命令

MORE命令

  • 作用:分屏显示查看文件内容

  • 用法:more file

  • 查看翻页方式:

    • B键向上 一页

    • 空格向下一页

    • enter键一行一行翻阅

    • 翻到最后一行自动退出

LESS命令

  • 作用:分屏显示查看文件内容

  • 用法:less file

  • 查看方式:less命令与查看man文档的方式相同

CAT命令

  • 用法:cat [OPTION]... [FILE]...

  • cat命令可接多个文件一起查看

  • 常用选项:

    • -n:显示输出文本信息的行号

    • -E:显示行结束符$

TAC命令

  • 作用:显示文本信息

  • 使用方法:与cat命令使用方法对应

  • 与cat的区别:tac命令将文本的每一行倒序显示

HEAD命令

  • 作用:查看文本文件件前n行

  • 用法:head [OPTION]... [FILE]...

    • -n # | -# :指定查看文件的前#行

    • 常用选项:

  • 示例:

    • head -n 2 /etc/fstab #显示fstab文件前2行

    • heas -2 /etc/fstab

TAIL命令

  • 作用:查看文件后n行,默认尾部10行

  • 用法 tail [OPTION]... [FILE]...

  • 常用选项:

    • -n # | -# :指定查看文件后#行

    • -f:查看文件尾部内容结束后不退出并监视,跟随显示新增的行;

  • 示例:

    • tail -n 3 /etc/fstab

    • tail -3 /etc/fstab

FILE命令

  • 作用:确定文件内容类型(determine file type)

  • 用法:file [FILE]...

  • 示例:

  • [root@Red Hat etc]# file /etc/inittab 
    /etc/inittab: ASCII English text		

1.2 文件的常用管理类命令

TOUCH命令

  • 作用:用来更改时间戳,也可以创建空文件

  • 用法:touch [OPTION]... FILE...

  • 常用选项:

    • touch -m -t 0212010303.03 /tmp/a 

    • 修改a文件的mtime时间为2012-12-01 03:03:03

    • STAMP格式:[[CC]YY]MMDDhhmm[.ss]

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

    • -a: 仅修改access time; 

    • -m:仅修改modify time; 

    • -t STAMP

    • 示例:

CP命令

  • 功能:文件或目录复制命令

  • 语法格式:

    • cp [OPTION]... SOURCE... DIRECTORY

    • cp [OPTION]... -t DIRECTORY SOURCE...

    • 如目标目录不存在,显示错误信息;

    • 如果目标目录存在:

    • 如果DEST是非目录文件,显示错误信息; 

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

    • cp [OPTION]... [-T] SOURCE DEST

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

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

    • 则事先创建此文件,并复制源文件的数据流至DEST中;

    • 如果目的(DEST)不存在:

    • 如果目标存在:

    • 单源复制:

    • 多源复制:

    • 注意:默认情况只复制文件,不复制目录。

    • 默认情况下复制链接文件,只会复制链接文件本身

  • 常用选项:

    • mode:权限

    • ownership:属主和属组

    • timestamps: 时间戳

    • context:安全标签

    • xattr:扩展属性

    • links:符号链接

    • all:上述所有属性

    • -r | -R ,递归复制,可以复制目录及其目录中的文件

    • -i,交互式提醒,默认为cp的命令别名

    • -p,保留原文件的属主,时间戳

    • -a,递归保留源文件的所有属性,用于归档备份

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

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

    • —preserv= :保留源文件特定的属性信息 

MV命令

  • 作用:移动并可对文件重命名,默认情况可以移动目录

  • 用法:

    mv [OPTION]... [-T] SOURCE DEST

    mv [OPTION]... SOURCE... DIRECTORY

    mv [OPTION]... -t DIRECTORY SOURCE..

  • 常用选项: 

    • -i:显示警告信息,默认

    • -f:强制操作force)

RM命令

  • rm命令默认的命令别名:

    • [root@Red Hat ]# type rm
      rm is aliased to `rm -i'				

      可使用/rm不使用别名

  • 用法:rm [OPTION]... FILE...

  • 常用选项:

    • -f,强行删除,不提示

    • -r,递归删除目录

    • -rf,递归删除目录

注意:所有不用的文件建议不要直接删除,而是移动至某个专用目录,以免重要文件被误删;(模拟回收站)

INSTALL命令

  • 功能:复制文件并设置属性

  • 用法:

    • install [OPTION]... -d DIRECTORY...

    • install [OPTION]... SOURCE... DIRECTORY

    • install [OPTION]… -t DIRECTORY SOURCE…

    • install [OPTION]... [-T] SOURCE DEST 

    • 单源复制:

    • 多源复制:

    • 创建目录:

注意:仅复制文件并制定属性和权限,不能复制目录。

  • 常用选项:

    • -m, –mode=MODE:设定目标文件权限,默认为755;

    • -o, –owner=OWNER:设定目标文件属主;

    • -g, –group=GROUP:设定目标文件属组;

  • 示例:

  • nstall -o jwl -g milieux /etc/fstab /tmp/fsta

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

2.1 bash工作特性之命令执行的状态返回值

  • bash的命令执行状态返回值可用来表示命令执行成功与否:

    • 命令执行成功:0

    • 命令执行失败:1-255

  • 命令执行完成之后,其状态返回值保存于bash的特殊变量$?中

  • 因此可以使用echo $?查看上一条命令的执行状态结果

    注意:命令正常执行时,有的还回有命令返回值。要注意命令返回值与命令执行状态返回值的区别。

  • 示例:

    • # ls &> /dev/null				
    • echo $?						
    • 0						
    • # lss &>/dev/null						
    • echo $?						
    • 1						
    • 命令返回值::

    • [root@Red Hat mytest3]# ls
      mdadm.conf   mtools.conf  				
    • 命令执行的状态返回值:


3 如何定义一个命令别名

alias命令

作用:设置命令别名

用法:alias CMDALIAS=‘COMMAND [OPTION] [argument]‘

注意:在shell中定义的别名仅在当前shell生命周期中有效,别名的有效范围仅为当前shell进程。

unalias命令

作用:取消命令别名

用法: unalias CMDALIAS

如需执行命名本身:\CMD


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

  • 用法1:$(command)

  • 用法2:反引号`COMMAND`,

  • 作用:把命令中某个子命令替换为其执行结果的过程。

  • 示例:
    echo “The current directory is $(pwd)”
    touch ./file-$(date +%F-%H-%M-%S).txt  #创建当前以时间为名称的文件		

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

STAT命令

  • 显示文件或者文件系统的属性信息查

  • 用法:stat FILE… 

  • 其中信息包含了文件属性的三种时间:时间戳

    • access time:表示我们最后一次访问(仅仅是访问,没有改动)文件的时间

    • modify time:表示我们最后一次修改文件的时间

    • change time:表示我们最后一次对文件属性改变的时间,包括权限,大小,属性等等。

  • 示例:

  • [root@Red Hat Enterprise Linux etc]# stat /etc/inittab
    		  File: `/etc/inittab'
    		  Size: 884       	Blocks: 8          IO Block: 4096   regular file
    		Device: fd00h/64768d	Inode: 1175722     Links: 1
    		Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
    		Access: 2016-08-24 09:32:47.041490112 +0800
    		Modify: 2016-07-24 18:25:13.351570780 +0800
    		Change: 2016-07-24 18:25:13.351570780 +0800		

6 练习

6.1 使用命令行展开功能来完成以下练习

  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. mkdir /tmp/{a,b}_{c,d}

2. mkdir -pv /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}}

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

示例代码:

ls -d 1*[0-9]*[[:lower:]]

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

示例代码:

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

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

ls -d [^a-z][a-z]*

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

touch tile-$(date +%Y-%m-%d-%H-%M-%S)

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

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

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

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

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

cp -r [1mn]*.conf /tmp/mytest3

原创文章,作者:N22-武汉-enfp,如若转载,请注明出处:http://www.178linux.com/40016

(0)
N22-武汉-enfpN22-武汉-enfp
上一篇 2016-08-29
下一篇 2016-08-29

相关推荐

  • 优云软件:双态运维下,老司机是怎么玩CMDB的?

    行业内有个科技公司,CMDB前后建设12年,重构了N次,一言不合就重构,我深深的被这种屡拆屡战,初心不改精神所折服。我真心想问下做CMDB的兄弟,各位是怎么熬过来的?请不要回避,其实我们都曾被这样虐过! 近几年我司承建国内很多传统行业的CMDB项目,坦白的说,随着互联网+热潮的冲击,因很多传统企业也慢慢的在转变业务,把很多传统型的业务互联网化,或者开辟新型业…

    2016-08-05
  • AWK

    GNU awk 全称:Aho,Weiberger,Kernighan,是三个作者的名字,所以简称为awk awk:报告生成器,主要用来格式化文本输出的,它能够实现在处理文本文件时对文档中的字段有条件的显示,而且将显示的结果用非常美观的文本形式给予输出。我们所用的awk其实就是gawk,他是一个符号链接指向gawk的。 gawk – pattern…

    Linux干货 2016-09-23
  • Python from entry to abandon 4

        python from entry to abandon系列的收官之作    本篇博客将会介绍《简明Python教程》的最后四章内容。并在最后附上对于本书的个人评价和下阶段自学Python系列博客更新的计划。    13.异常   &nbsp…

    Linux干货 2017-04-07
  • loganalyzer——日志分析工具

    Loganalyzer是一款syslog日志和其他网络事件数据的Web前端。它提供了对日志的简单浏览、搜索、基本分析和一些图表报告的功能。数据可以从数据库或一般的syslog文本文件中获取,所以LogAnalyzer不需要改变现有的记录架构。基于当前的日志数据,它可以处理syslog日志消息,Windows事件日志记录,支持故障排除,使用户能够快速查找日志数…

    Linux干货 2016-10-18
  • 老王的心路历程(二):下一站Web体验监控产品

    在上一篇文章中,和大家聊到了建立Web应用体验监控体系,经过了概念阶段,也完成了技术选型,就进入了把实质性的产品研发阶段。作为产品经理,时刻不敢忘记我们的产品目标:无限感知你的用户,建立完备的体验监控体系,驱动产品的设计、开发和运维! 一、一切皆操作 仔细分析终端用户和Web应用及网站的交互过程,无论是打开页面、点击链接或按钮,还是填写表单、提交查询,一切皆…

    2016-08-15
  • Linux基础知识

    一、描述计算机的组成及其功能 计算机由运算器、控制器、存储器、I/O设备五大部件组成。 运算器和控制器统称为中央处理器,俗称CPU。    1、运算器:实现算术运算和逻辑运算的部件;    2、控制器:计算机的指挥系统,控制计算机的其他部件,使得个部件有条不紊地协调工作;    3、存储器:存储数据…

    2017-07-08

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-30 09:14

    如果能在文件管理类命令说明后添加一些典型的使用样例就更好了