N21-北京-兔锅-马哥教育网络班21期+第二周课程练习

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

A.wc命令:

功能:统计指定文件中的字节数、字数、行数,并将统计结果显示输出

语法:wc [选项]文件…

参数:

-c:统计字节数。

-l:统计行数。

-m:统计字符数。这个标志不能与 -c 标志一起使用。

-w:统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。

-L:打印最长行的长度。

案例:

[root@wangtao tmp]# wc /etc/fstab 

15 78 805 /etc/fstab

[root@wangtao tmp]# wc -c /etc/fstab 

805 /etc/fstab

[root@wangtao tmp]# wc -m /etc/fstab 

805 /etc/fstab

[root@wangtao tmp]# wc -w /etc/fstab 

78 /etc/fstab

——————————————————————————————————————-

B.cut命令:

功能:以某种方式按照文件的行进行分割

语法:cut [option] files

参数:

-b:按字节选取 忽略多字节字符边界,除非也指定了 -n 标志

-c:按字符选取 

-d:自定义分隔符,默认为制表符;-f 与-d一起使用,指定显示哪个区域

案例:

cat /etc/passwd | cut -b1-3 #取每行的第1-3字字节

cat /etc/passwd | cut -b1-3,5-7,8 #取每行的第1-3,5-7,8的字节(后面的数字会先进行从小到大的排列) 需要事先知道具体字节,很容易出错。

cat /etc/passwd | cut -c1,3 #按字符选取,适用于中文

cat /etc/passwd | cut -d : -f 3 #以:分割,取第三段cat /etc/passwd | cut -d '' #以空格进行分割,且是一个空格。

————————————————————————

C.sort命令:

功能:将文本文件内容加以排序

语法:sort
[OPTION]… [FILE]…

参数:

-r:降序

-f:忽略字符大小写

-t:指明分隔符

-k:以指定字段为标准排序

-n:以数值大小排序

-u:相同的内容,只取一次

案例:

[root@wangtao tmp]# cat wangtao.txt

1

2

3

4

5

6

[root@wangtao tmp]# sort -r wangtao.txt

6

5

4

3

2

1

[root@wangtao tmp]# sort wangtao.txt

1

10

11

19

2

5

[root@wangtao tmp]# sort -n wangtao.txt

1

2

5

10

11

19

[root@wangtao tmp]# cat wangtao.txt

banana:30:5.5

apple:10:2.5

pear:90:2.3

orange:20:3.4

这个文件有三列,列与列之间用冒号隔开了,第一列表示水果类型,第二列表示水果数量,第三列表示水果价格。那么我想以水果数量来排序,也就是以第二列来排序,如何利用sort实现?

[root@wangtao tmp]# sort -n -k 2 -t : wangtao.txt

apple:10:2.5

orange:20:3.4

banana:30:5.5

pear:90:2.3

———————————————————

D.uniq命令

功能:报告或删除文件中重复的行

语法:uniq
[OPTION]… [INPUT [OUTPUT]]

参数:

-c:在输出行前面加上每行在输入文件中出现的次数。

-d:仅显示重复行。

-u:仅显示不重复的行

案例:

[root@wangtao tmp]# cat wangtaoc.txt

apples

apples

peaches

pears

bananas

cherries

cherries

[root@wangtao tmp]# uniq wangtaoc.txt

apples

peaches

pears

bananas

cherries

[root@wangtao tmp]# uniq -c wangtaoc.txt

      2 apples

      1 peaches

      1 pears

      1 bananas

      2 cherries

[root@wangtao tmp]# uniq -u wangtaoc.txt

peaches

pears

bananas

——————————————–

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

A.命令的执行结果状态

–成功

–失败
–0:成功

–1-255:失败

bash使用特殊变量$?保存最近一条命令的执行状态结果,查看命令执行是对还是错

[root@wangtao tmp]# mkdir /aaaaaa/aaa

mkdir: cannot create directory `/aaaaaa/aaa': No such file or directory

[root@wangtao tmp]# echo $?

1

[root@wangtao tmp]# mkdir -p /aaaaa/aaa

[root@wangtao tmp]# echo $?

0

程序执行有两类结果:
程序的返回值;
程序的执行状态结果;

———————————————

B.命令行展开总结:

~:展开为用户的主目录

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

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

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

———————————————

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)mkdir -p /tmp/{a,b}_{c_d}

(2)mkdir -p /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/networkscripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}

————————————

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

[root@wangtao ~]# ls -l

total 0

-rw-r–r–. 1 root root 0 Jul  5 13:33 install.log

访问权限      inode 文件拥有者   创建时间       数据文件

修改时间戳信息:

touch -t 201607052234.50 install.log

————————————-

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

[root@wangtao ~]# 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@wangtao ~]# alias list='ls'

[root@wangtao ~]# list

install.log

使用别的命令表示ls -l的命令

[root@wangtao ~]# alias cp='ls -l'

[root@wangtao ~]# cp

total 0

-rw-r–r–. 1 root root 0 Jul  5 13:33 install.log

—————————————-

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

   ls /var/l*[[:digit:]]*[[:lower:]]

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

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

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

   ls /etc/[^[:alpha:]][[:alpha:]]*

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

    touch /tmp/tfile-`date +%Y-%m-%d-%H-%M-%S`

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

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

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

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

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

    cp -a /etc/[l,m-n]*.conf /tmp/mytest3

原创文章,作者:北京-兔锅,如若转载,请注明出处:http://www.178linux.com/21942

(0)
北京-兔锅北京-兔锅
上一篇 2016-07-07 10:48
下一篇 2016-07-07 10:48

相关推荐

  • 文本处理三剑客-grep及正则表达式初

    什么是正则表达式 基本正则表达式的元字符 扩展正则表达式 grep的基本理解 grep的基本选项 grep的应用实例 什么是正则表达式   正则表达式,又称正规表示法、常规表示法。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式的文本。(…

    Linux干货 2016-08-07
  • Linux基础 & bash相关

    Q1:Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 文件管理类命令: cd, ls, touch, cp, mv, rm, cat, tac, more, less, tail, head; 详细介绍以上命令: cd: 在Linux文件系统上,可以使用切换目录命令cd将shell会话切换到另一个目录。 命令格式: ~]#&nbsp…

    Linux干货 2016-11-06
  • 创建,扩展,缩减LVM2及快照

    相关概念     lvm英文 Logical Volume Manager,逻辑卷管理类似于raid,但又有别于raid, 它是能够将一个或多个底层块设     备组织成一个逻辑设备的模块不具备容错功能,任一设备损坏或分区损坏,对数据是致命的;它主要有三个部分…

    Linux干货 2016-02-14
  • N21_第8周_网络

    N21_第8周_网络 作业题目: 1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。     网桥:(Bridge)也称桥接器,是连接两个局域网的存储转发设备,用它可以完成具有相同或相似体系结构网络系统的连接。       &nbs…

    Linux干货 2016-10-09
  • python 多版本管理(pyenv)

    01 – Python 简介和安装 01 – Python 简介和安装 1. Python 简介 2. 安装 pyenv 3. pyenv 使用 4. pyenv-virtualenv 5. 安装 IPython 和 Jupyter 01 – Python 简介和安装 1. Python 简介 编程风格 面向过程:以指令为…

    Linux干货 2016-07-10
  • 2016-08-12博客作业

    德摩根定理       在命题逻辑和逻辑代数中,德摩根定律(或称德摩根定理)是关于命题逻辑规律的一对法则。奥古斯塔斯·德摩根首先发现了在命题逻辑中存在着下面这些关系: 非(P 且 Q)=(非 P)或(非 Q) 非(P 或 Q)=(非 P)且(非 Q)     …

    Linux干货 2016-08-15