马哥教育网络20期+第二周练习博客

1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
2、bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
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
4、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
5、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
6、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
7、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
8、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
9、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
10、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
11、复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
12、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。

1、linux常用、基础文件管理命令

ls 查看目录文件

    常用选项有:

-a:显示所有档案及目录; 
-A:显示除影藏文件“.”和“..”以外的所有文件列表;
-C:多列显示输出结果。这是默认选项; 
-l:与“-C”选项功能相反,所有输出信息用单列格式输出; 
-F:在每个输出项后追加文件的类型标识符, 
-i:显示文件索引节点号(inode)。
-k:以KB(千字节)为单位显示文件大小;
-l:以长格式显示目录下的内容列表。
-s:显示文件和目录的大小,以区块为单位;
-R:递归处理

复制命令 cp

cp [option]..[-T] sou_file  des_file 复制文件到文件
cp [option]..sou_file dir_file 复制文件到目录 
cp [option].. -t dir_file sou_file 复制文件到目录
常用option              
-i 提示是否覆盖 
-R -r 递归复制目录及目录中的文件、子目录
-v 显示复制过程
-f 强制复制
-a 归档 备份,相当于-dR --presverv=all,保留文件所有属性

mv 移动文件

mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...
常用option	
-i 提示是否覆盖
-f 强制覆盖

rm 删除工具,默认只能删除文件、

rm [option].. file_name
常用options有:
-i 提示是否要删除
-f 强制删除
-r 递归删除目录及目录下的文件、子目录

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

bash的工作特性之命令执行状态返回值存储在$?中,使用echo $?显示,其中0表示成功执行成功,1-255的数字则表示执行失败

    如:

[root@localhost ~]# cd /mnt
[root@localhost mnt]# echo $?
0   --->0表示cd /mnt 执行成功
[root@localhost mnt]# ls -a
.  ..  hgfs
[root@localhost mnt]# echo $?
0  --->0表示ls -a  执行成功
[root@localhost mnt]# la 12312421321
-bash: la: command not found
[root@localhost mnt]# echo $?
127  --->127表示执行失败
[root@localhost mnt]#

命令行展开

~: 展开为用户的主目录
~USERNAME:展开为指定用户的主目录
{}:可承载一个以逗号分隔的列表,并将其展开为多个路径
/tmp/{a,b} = /tmp/a, /tmp/b
/tmp/{tom,jerry}/hi = /tmp/tom/hi, /tmp/jerry/hi

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

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

[root@localhost mnt]# mkdir {a,b}_{c,d}
[root@localhost mnt]# ls
a_c  a_d  b_c  b_d  hgfs
[root@localhost mnt]#

  创建/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

root@localhost mnt]# mkdir -p mylinux/{bin,boot/{grup},dev,etc/{rc.d/{init.d},sysconfig/{network-scripts}},lib/{module
s},lib64,proc,sbin,sys,tmp,usr/{lcoal/{bin,sbin}},var/{lock,lgo,run}}[root@localhost mnt]# cd mylinux/
[root@localhost mylinux]# ls -R
.:
bin  boot  dev  etc  lib  lib64  proc  sbin  sys  tmp  usr  var
 
./bin:
 
./boot:
{grup}
 
./boot/{grup}:
 
./dev:
 
./etc:
rc.d  sysconfig
 
./etc/rc.d:
{init.d}
 
./etc/rc.d/{init.d}:
 
./etc/sysconfig:
{network-scripts}
 
./etc/sysconfig/{network-scripts}:
 
./lib:
{modules}
 
./lib/{modules}:
 
./lib64:
 
./proc:
 
./sbin:
 
./sys:
 
./tmp:
 
./usr:
{lcoal
 
./usr/{lcoal:
bin}  sbin}
 
./usr/{lcoal/bin}:
 
./usr/{lcoal/sbin}:
 
./var:
lgo  lock  run
 
./var/lgo:
 
./var/lock:
 
./var/run:

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

stat 查看时间戳

[root@localhost mnt]# stat mylinux/
  File: `mylinux/'
  Size: 4096      	Blocks: 8          IO Block: 4096   directory
Device: 802h/2050d	Inode: 274810      Links: 14
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-06-20 20:35:14.315886505 +0800
Modify: 2016-06-20 20:35:01.926885104 +0800
Change: 2016-06-20 20:35:01.926885104 +0800
[root@localhost mnt]#

touch 修改文件的时间戳

[root@localhost mnt]# stat /etc/fstab 
  File: `/etc/fstab'
  Size: 875       	Blocks: 8          IO Block: 4096   regular file
Device: 802h/2050d	Inode: 403417      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-06-19 12:27:03.116999300 +0800
Modify: 2016-06-19 12:26:54.081999285 +0800
Change: 2016-06-19 12:26:54.083999234 +0800
[root@localhost mnt]# touch /etc/fstab 
[root@localhost mnt]# stat /etc/fstab 
  File: `/etc/fstab'
  Size: 875       	Blocks: 8          IO Block: 4096   regular file
Device: 802h/2050d	Inode: 403417      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-06-20 20:42:54.669885008 +0800
Modify: 2016-06-20 20:42:54.669885008 +0800
Change: 2016-06-20 20:42:54.669885008 +0800
[root@localhost mnt]#

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

    别名

[root@localhost mnt]# alias la='ls -a'
[root@localhost mnt]# la
.  ..  mylinux
[root@localhost mnt]# alias cdetc='cd /etc/sysconfig/'
[root@localhost mnt]# cdetc
[root@localhost sysconfig]#

       引用另一个命令的执行结果:通过管道 或 变量

[root@localhost www]# ls
htpasswrod  vhosts
[root@localhost www]# cat htpasswrod 
status:$apr1$R28ZTyJV$8GQ64MY8BxWwZSu6HGo040
123456
abc
[root@localhost www]# cat htpasswrod  | grep "status"
status:$apr1$R28ZTyJV$8GQ64MY8BxWwZSu6HGo040
[root@localhost www]#
[root@localhost www]# test=$( cat /www/htpasswrod)
[root@localhost www]# cat /www/htpasswrod 
status:$apr1$R28ZTyJV$8GQ64MY8BxWwZSu6HGo040
123456
abc
[root@localhost www]# echo $test
status:$apr1$R28ZTyJV$8GQ64MY8BxWwZSu6HGo040 123456 abc
[root@localhost www]#

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

[root@localhost www]# ls /var
account  crash  db     games  lib      local  log   named  opt       run    tmp  yp
cache    cvs    empty  gdm    llk100a  lock   mail  nis    preserve  spool  www
[root@localhost www]#  ls -d /var/l*[0-9]*[[:lower:]]
/var/llk100a
[root@localhost www]#  ls -d /var/l*[0-9]*[[:lower:]]

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

[root@localhost /]# ls /etc/[0-9]*[^0-9]
/etc/0kj  /etc/1kj
 
/etc/1abc:
 
/etc/234k:
[root@localhost /]#

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

[root@localhost /]# ls /etc/[^a-z][a-z]*
/etc/0kj  /etc/1kj
 
/etc/1abc:

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

[root@localhost /]# touch /tmp/tfile$(date +%Y-%m-%d-%H-%M-%S)
[root@localhost /]# ls /tmp/tfile*
/tmp/tfile2016-06-20-21-41-46
[root@localhost /]#

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

cp -vrf /etc/p* /tmp/mytest1/

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

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

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

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






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

(0)
Net20-deamonNet20-deamon
上一篇 2016-06-20
下一篇 2016-06-21

相关推荐

  • N23-第一周博客作业

    一、计算机组成 由五大基本部件【运算器 + 控制器 + 储存器 + 输入设备 + 输出设备】组成且遵循冯诺依曼体系,CPU包含运算器和控制器两大部件。 CPU: 核心部件:运算器、控制器 其他部件:寄存器、缓存、等等 存储器:内存,RAM(Random Access Memory)随机访问存储器。 Input(输入设备):下指令,提供数据等,如:硬盘、键盘、…

    Linux干货 2016-09-15
  • linux基础知识:计算机的组成及其功能

    摘要:
    1. 描述计算机的组成及其功能。
    2. 按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
    3. 描述Linux的哲学思想,按照自己的理解对其解释性描述。
    4. 说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、……等命令使用,配合相应实例阐述。
    5. 如何获取帮助信息,描述man文档章节划分。
    6. 罗列发行版基础目录名称命名法则及功用规定。

    2017-12-03
  • N21 第二周练习

    ####1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。复制:cp   移动:mv    删除:rm   cp:copy,复制文件或目录</br>  cp [OPTION]… SOURCE… DIRECTORY…

    Linux干货 2016-07-22
  • LVM2详解

    1、什么是lvm LVM是逻辑卷管理(Logical Volume Manager)的简称,它是建立在物理存储设备之上的一个抽象层,允许你生成逻辑存储卷,与直接使用物理存储在管理上相比,提供了更好灵活性。LVM将存储虚拟化,使用逻辑卷,你不会受限于物理磁盘的大小,另外,与硬件相关的存储设置被其隐藏,你可以不用停止应用或卸载文件系统来调整卷大小或数据迁移.这样…

    Linux干货 2017-01-03
  • 网络班23期学习宣言

    马哥Linux运维学院 学习宣言 亲爱的小伙伴:        欢迎大家报名马哥Linux运维网络学习班,跟随马哥学习Linux技术,成就Linux大牛之梦。在这里,我们不仅可以学习到最优秀的技术课程,还可以跟着追梦的小伙伴们一起学习、一起进步。 为了督促大家一直积极认真努力的学习,请各位同学在评论区写出你的学习宣言。…

    2016-09-05
  • N25期–第十六周作业

    1源码编译安装LNMP架构环境; 2、编写一个脚本完成以下功能: (1)、一键搭建LNMP源码编译环境; (2)、可通过在脚本后面跟上一些参数来自定义安装目录等其他选项。” 1、源码编译安装LNMP架构环境; 安装编译工具和库文件 1 yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libp…

    Linux干货 2017-05-08

评论列表(1条)

  • 马哥教育
    马哥教育 2016-06-21 22:31

    写的很好,案例也很详细,但是在元字符运用或者读题的时候没有把握好,在仔细读读题,加油