马哥教育网络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

相关推荐

  • 【职位推荐】华图网校/北京/运维工程师/8-12k(14薪)

    北京华图宏阳网络科技有限公司 华图教育集团:       华图教育(www.huatu.com)是华图宏阳股份旗下品牌,拥有遍布全国的100余家分支机构。主要产品包括中央和地方公务员招录考试辅导,事业单位、三支一扶、村官、选调生、招警等考试辅导。      北京华图宏阳教育文化发展股份有限…

    Linux干货 2016-04-20
  • vim学习

    vim学习 认识与介绍   vim是一款linux下查看编辑文本文件的一款文本编辑器。一般用来查看修改配置文件、日志文件等文本类文件。 打开文件   vim [OPTIONS] [FILE …]     +#: 打开文件后,直接让文件处于第#行     +/…

    Linux干货 2016-10-09
  • shell编程基础一(多种方法求值1+2+..+100)

    #SHELL编程基础一(多种方法求值1+2+..+100)##为什么要学好shell shell脚本语言是实现linux系统管理及自动化运维所必备的重要工具,linux系统的底层及基础应用软件的核心大都涉及shell脚本的内容。 每一个合格的linux系统管理员或运维工程师,都需要能够熟练地编写shell脚本语言,并能够阅读系统及各类软件…

    Linux干货 2017-08-26
  • 磁盘管理之MBR与GPT分区

    磁盘管理之MBR与GPT分区 2016-08-26 zanghonglei%1 $ S 磁盘管理之MBR与GPT分区 linux下的文件分为常规文件和设备文件,常规文件一定在某一个设备上被存储,不论这个设备是真实的还是虚拟的,这里的设备是linux中vfs层中的设备,也就是设备文件中的设备,vfs层的设备分为字符设备和块设备,字符设备可以类比为一个…

    Linux干货 2016-08-29
  • 初识Linux

    本文对计算机组成及其功能、Linux的发行版、以及Linux的哲学思想进行了简单的介绍;同时对Linux系统中常用的基础命令以及如何获取帮助信息进行了详细的说明。

    2018-01-14
  • N25 第五周作业

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; 3、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行; 4、添加用户bash, testbash, basher, nol…

    Linux干货 2017-01-08

评论列表(1条)

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

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