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

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

常见文件管理命令有:touch/stat/file/rm/cp/mv/nano

示例如下:

[root@localhost week2_test]# touch newfile
[root@localhost week2_test]# ls -al
total 4
drwxr-xr-x.  2 root root   20 Aug 19 23:00 .
drwxrwxrwt. 20 root root 4096 Aug 19 23:00 ..
-rw-r--r--.  1 root root    0 Aug 19 23:00 newfile

[root@localhost week2_test]# stat newfile
  File: ‘newfile’
  Size: 0         Blocks: 0          IO Block: 4096   regular empty file
Device: 803h/2051dInode: 106057863   Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:user_tmp_t:s0
Access: 2016-08-19 23:00:30.008106826 -0700
Modify: 2016-08-19 23:00:30.008106826 -0700
Change: 2016-08-19 23:00:30.008106826 -0700
 Birth: -
[root@localhost week2_test]# file newfile
newfile: empty
[root@localhost week2_test]# rm newfile 
rm: remove regular empty file ‘newfile’? y
[root@localhost week2_test]# ls 
[root@localhost week2_test]# cp /etc/fstab /etc/redhat-release  .
[root@localhost week2_test]# ls -al
total 12
drwxr-xr-x.  2 root root   39 Aug 19 23:01 .
drwxrwxrwt. 20 root root 4096 Aug 19 23:01 ..
-rw-r--r--.  1 root root  501 Aug 19 23:01 fstab
-rw-r--r--.  1 root root   38 Aug 19 23:01 redhat-release
[root@localhost week2_test]# mv fstab fstab.bak
[root@localhost week2_test]# ls -al
total 12
drwxr-xr-x.  2 root root   43 Aug 19 23:02 .
drwxrwxrwt. 20 root root 4096 Aug 19 23:02 ..
-rw-r--r--.  1 root root  501 Aug 19 23:01 fstab.bak
-rw-r--r--.  1 root root   38 Aug 19 23:01 redhat-release
[root@localhost week2_test]# nano fstab.bak 
^G 获取帮助
^O 将该文件内容写入磁盘      
^R 将另一个文件内容写入此文件     
^Y 上一页
^V 下一页
^K 剪切光标所在的那一行
^U 撤销所有剪切  
^C 显示光标所在行在全文中的位置
^X 退出

2、bash的工作特性之命令执行状态返回值和命令行展开设计的内容和实例演示。

执行状态返回值:若执行状态成功则返回0;若不成功则返回1-255的任意值

[root@localhost week2_test]# ls 
fstab.bak  redhat-release
[root@localhost week2_test]# echo $?
0
[root@localhost week2_test]# lssss
bash: lssss: command not found...
[root@localhost week2_test]# echo $?
127

花括号展开:

[root@localhost week2_test]# mkdir -pv test/{x/m,y}
mkdir: created directory ‘test’
mkdir: created directory ‘test/x’
mkdir: created directory ‘test/x/m’
mkdir: created directory ‘test/y’

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

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

[root@localhost tmp]# mkdir -pv {a,b}{_c,_d}
mkdir: created directory ‘a_c’
mkdir: created directory ‘a_d’
mkdir: created directory ‘b_c’
mkdir: created directory ‘b_d’

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

[root@localhost mylinux]#mkdir -pv {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@localhost mylinux]# tree
.
├── 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
24 directories, 0 files

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

[root@localhost var]# stat /etc/fstab
  File: ‘/etc/fstab’
  Size: 501       Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051dInode: 33554562    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:etc_t:s0
Access: 2016-08-19 22:57:40.645802142 -0700
Modify: 2016-08-09 09:06:24.459001039 -0700
Change: 2016-08-09 08:24:19.940440587 -0700
 Birth: -

修改时间戳方法如下:

touch [OPTION]... FILE...
-a 仅改变访问时间戳
-m 改变修改时间戳
-t [[CC]YY]MMDDhhmm[.ss] 修改为指定时间戳

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

定义别名:alias ls='ls –color=auto'

取消别名:ualias

未写入配置文件/etc/bashrc或者~/.bashrc的别名只能在本次shell的生命周期中有效

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

[root@localhost week2_test]# touch "$(date)"
[root@localhost week2_test]# ls
Fri Aug 19 23:31:03 PDT 2016

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

正则表达式实现:

[root@localhost var]# ls -d /var | grep ^1.*[[:digit:]]\+.*[[:lower:]]$

通配符实现:

[root@localhost var]# ls -d /var/1*[[:digit:]]*[[:lower:]]

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

[root@localhost var]# ls -d /etc/[[:digit:]]*[^[:digit:]]

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

[root@localhost var]# ls -d /etc/[^[:alpha:]][[:alpha:]]*

9、在/tmp目录下创建以tfile开头,后面跟当前日期和时间的文件

[root@localhost tmp]# touch tfile-$(date +%Y-%m-%d-%H-%M-%S)

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

find实现:

[root@localhost /]# find /etc -name "p*[^[:digit:]]" -type f -exec cp {} /tmp/mytest1/ \;
[root@localhost /]# find /etc -name "p*[^[:digit:]]" -type d -exec cp -r {} /tmp/mytest1/ \;

cp实现:

[root@localhost /]# cp -r /etc/p*[^[:digit:]] /tmp/mytest1

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

[root@localhost /]# cp -r /etc/*.d /tmp/mytest2

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

[root@localhost /]# cp /etc/{l,m,n}*.conf /tmp/mytest3

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

(0)
zhangxiaolazhangxiaola
上一篇 2016-08-22 09:30
下一篇 2016-08-22 09:30

相关推荐

  • 10分钟学会理解和解决MySQL乱码问题

    本文将详细介绍MySQL乱码的成因和具体的解决方案。在阅读本文之前,强烈建议对字符集编码概念还比较模糊的同学 阅读下博主之前对相关概念的一篇科普:十分钟搞清字符集和字符编码 MySQL出现乱码的原因 要了解为什么会出现乱码,我们就先要理解:从客户端发起请求,到MySQL存储数据,再到下次从表取回客户端的过程中,哪些环节会有编码/解码的行为。为了更好的解释这个…

    2015-03-17
  • 推荐-zabbix原理篇(1)

    zabbix原理篇(1) 介绍zabbix 之前让我们先来熟悉一下什么snmp ☺ SNMP:Simple Network Management Protoclol  翻译一下:简单网络管理协议 SNMP的工作模式是啥 ☺ NMS向agent采集数据 agent向NMS报告数据 NMS请求agent修改配置 SNMP组件…

    Linux干货 2016-04-11
  • Linux三剑客之sed

     Sed简介       sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处 理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存…

    Linux干货 2016-08-12
  • 网络服务之Apache

      互联网这个历史已经不算很短了,它大大方便了人类获取信息,开阔了人类的眼界,使得让这个世界变得小了起来,人与人之间的距离感也不会存在了,娱乐也更加丰富,听音乐、看电影等等这一系列,都能从网上进行,这些功能,都是由www服务器来提供服务,在Linux中,提供网络的服务器有很多种,那么今天我们就讲一个比较老牌,且依然能存活的服务器“阿帕奇”…

    Linux干货 2017-01-13
  • Linux程序包管理(一)RPM使用

    Linux程序包管理 在早期我们使用源代码的方式安装软件时,都需要先把源程序代码编译成可执行的二进制应用程序,然后进行安装。意味着每次安装软件都需要经过 预处理 –> 编译 –> 汇编–> 链接, 这个复杂的过程。为简化安装步骤,程序提供商就在特定的系统上面编译好相关程序的安装文件并进行打包,提…

    Linux干货 2016-06-01
  • linux 磁盘管理

    磁盘管理 Linux思想一切皆文件: open(),read(),write(),close() I/O 设备地址 设备类型: 块设备:block,存取单位“块”,磁盘 (随机访问) 字符设备:char,存取单位“字符”,键盘 (逻辑访问) 设备文件:关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通讯。 设备编号: ll /dev/sda* root…

    Linux干货 2016-08-29

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-22 14:28

    写的很好,排版也很棒,加油,3大题2小题都看不到了