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

相关推荐

  • 第二周 文件管理

    1.Linux上的文件管理类型命令都有哪些,其常用的使用方法及其相关示例演示 mkdir—— 创建目录  make directory 命令格式——mkdir [OPTION]… DIRECTORY… -p:自动按需创建父目录; -v:verbose,显示详细过程; -m MODE:创建目录直接给定权限,否则是默认权限; 注意:路径基…

    2017-12-10
  • Linux运维实战之5:磁盘分区、格式化

    在网络系统中,磁盘和文件系统管理是两个非常基本、同时也是非常重要的管理任务,特别是文件系统管理,因为它与用户权限和整个网络系统的安全息息相关。本次博文的主题是关于Linux系统中磁盘分区、格式化及挂载,下次博文我们再详细讨论文件系统管理。 在操作系统中,磁盘管理属于设备管理的范畴。一块硬盘安装到主机之后称为裸设备,若要能够在Linux系统中使用必须对其进行如…

    Linux干货 2016-11-26
  • 11.网络解析和网络加密

    1、详细描述一次加密通讯的过程,结合图示最佳。 加密过程 1.使用单向加密算法,提取A的文件的特征码。 2.使用A的私钥对提取出来的特征码进行加密,把加密后的特征码附加在A的文件的后面。 3.使用对称加密对刚刚的A的文件和加密后的特征码进行加密,生成对称加密密钥 4.使用B的公钥对第3步骤的对称加密的密钥进行加密,加密后附加在文件的后面。 解密过程 1.使用…

    2017-09-20
  • 管理磁盘分区之fdisk详解

    Mozatr的不定期更新,处于学习阶段的Mozart,愿不断分享,不断进步。 此次分享一个重要的管理分区命令:fdisk ,我们一一阐述。 (一)分区 首先我们了解下什么是分区,分区是将一个硬盘驱动器分成若干个逻辑驱动器,分区是把硬盘连续的区块当做一个独立的磁盘使用。分区表是一个硬盘分区的索引,分区的信息都会写进分区表。 分区的优点:  &nbsp…

    Linux干货 2017-08-19
  • 源码包编译安装MariaDB-10.1.22

    源码包编译安装MariaDB-10.1.22 1、获取源码包        mariadb-10.1.22.tar.gz 2、编译环境及依赖关系     yum groupinstall -y Development Tools yum -y install …

    Linux干货 2017-03-16
  • 揭开链接文件的面纱——从根本上剖析硬链接与软链接异同

    在linux的学习过程中,链接文件的学习让不少人头疼,很多同学往往分不清什么是硬链接,什么是软链接,对于两者的概念和区别常常容易混淆、搞不清楚。今天我们就从原理、从根本上为大家辨析一些两者之间的区别,相信大家在看完这篇文章之后对链接文件会有一个清晰正确的认识。 1、在实现原理上不同 硬链接,涉及到文件的底层模式,因此被称为硬链接文件。硬链接文件只是一个指针指…

    Linux干货 2016-10-20

评论列表(1条)

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

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