马哥教育网络班19期-第二周课程练习

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

cat,tac :查看文件内容

cat [OPTION]… [FILE]…

  -E :显示行结束符$

  -n :对显示出行编号

more

  more [OPTIONS…] [file …]

-d :显示翻页及退出提示

less

less [OPTIONS…] [file …]

 

  head :查看文件头部

  head [OPTIONS…] [file …]

  -c # :指定获取文件前#字节

  -n # :指定获取文件前#行

  -#

 

  tail :查看文件尾部

  taile [OPTIONS…] [file …]

  -c # :指定获取文件后#字节

  -n # :指定获取文件后#行

  -#

  -f :跟踪显示文件新追加的内容,Ctrl+c退出

 

  touch :touch – change file timestamps

  touch [OPTION]… FILE…

  -a :only atime

  -m :only mtime

  -t STAMP

  use [[CC]YY]MMDDhhmm[.ss] instead of current time

  -c :如果文件不存在,则不予创建

  cp :copy

  cp [OPTION]… [-T] SOURCE DEST

  cp [OPTION]… SOURCE… DIRECTORY

  cp [OPTION]… -t DIRECTORY SOURCE…

  -i :交互式,提示目标文件存在时是否覆盖

  -r -R :递归复制

  -a :archive归档复制,目标文件名与原文件明必须一样

  相当于-dR –preserv=all

  -d :–no-dereference –preserv=links  不追踪符号链接

  –preserv[=ATTR_LIST]

  mode :权限

  ownership :属主属组

  timestamp :时间戳

  links :链接属性

  xattr :扩展属性(隐藏属性)

  all :

  -p :–preserv=mode,ownership,timestamp

  -v :–verbose

  -f :–force 强制

 

 

  cp SRC DEST

  SRC是文件

  如果目标不存在:新建DEST,并将SRC中内容填充至DEST中

  如果目标存在:

  如果DEST是文件:将SRC中的内容覆盖至DEST中,此时建议为cp命令使用-i选项

  如果DEST是目录:在DEST下新建与源文件同名的文件,并将SRC中内容填充至DEST中

  cp SRC… DEST

  SRC…:多个文件

  DEST必须存在,且为目录,其他情形均会出错

  cp SRC DEST

  SRC是目录,此时应使用选项:-r

  如果DEST不存在:则创建指定目录,复制SRC目录中所有文件至DEST中

  DEST必须是目录

  mv :move,移动文件

  mv [OPTION]… [-T] SOURCE DEST

  mv [OPTION]… SOURCE… DIRECTORY

  mv [OPTION]… -t DIRECTORY SOURCE…

  常用选项

  -i :交互式

-f :强制

rm :remove删除

  rm [OPTION]… FILE…

  -i :交互式

  -f :强制

  -r, -R, –recursive 递归,删除目录

chmod :修改文件或目录权限

chmod [OPTION]… OCTAL-MODE FILE…

  -R :递归修改权限

  chmod [OPTION]… MODE[,MODE]… FILE…

  MODE:

  修改一类用户的所有权限

  u= ,g= ,o= ,ug= ,a= ,u=,g=

  修改一类用户某位或某些位权限

  u+,u-,o+,o-

  chmod [OPTION]… –reference=RFILE FILE…  参考RFILE文件的权限,将FILE权限修改为同RFILE

 

  chown :修改文件的属主

  chown [OPTION]… [OWNER][:[GROUP]] FILE…

 

  用法

  OWNER

  OWNER:GROUP

  :GROUP

  Note:命令中的冒号可以用.替换

  -R :递归

 

  chown [OPTION]… –reference=RFILE FILE…

 

  chgrp :修改文件的属组

  chgrp [OPTION]… GROUP FILE…

  chgrp [OPTION]… –reference=RFILE FILE…

  -R :递归

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

命令的执行结果状态

  成功,失败

 

  bash使用特殊变量$?保存最近一条命令的执行状态结果

  0 :成功

  1-255 :失败

 

  程序执行有两类结果:

  程序的返回值

  程序的执行结果状态结果

 

  命令行展开

  ~ :展开为用户的主目录

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

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

  /tmp/{a,b} = /tmp/a , /tmp/b

  /tmp/{tom,jerry}hi = /tmp/tom/hi , /tmp/jreey/hi

  eg:创建/tmp/x/y1,/tmp/x/y2,/tmp/x/y1/a,/tmp/x/y1/b,/tmp/x/y2/a,/tmp/x/y2/b

  mkdir -pv /tmp/x/{y1/{a,b},y2/{a,b}}

  mkdir -pv /tmp/x/{y1,y2}/{a,b}

  eg:创建x_m,y_m,x_n,y_n

  mkdir -pv /tmp/{x_{m,n},y_{m,n}}

  mkdir -pv /tmp/{x,y}_{m,n}

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

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

mkdir -pv /tmp/{a,b}_{c,d}

mkdir: 已创建目录 "/tmp/a_c"

mkdir: 已创建目录 "/tmp/a_d"

mkdir: 已创建目录 "/tmp/b_c"

mkdir: 已创建目录 "/tmp/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

mkdir -pv /tmp/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}}

mkdir: 已创建目录 "/tmp/mylinux"

mkdir: 已创建目录 "/tmp/mylinux/bin"

mkdir: 已创建目录 "/tmp/mylinux/boot"

mkdir: 已创建目录 "/tmp/mylinux/boot/grub"

mkdir: 已创建目录 "/tmp/mylinux/dev"

mkdir: 已创建目录 "/tmp/mylinux/etc"

mkdir: 已创建目录 "/tmp/mylinux/etc/rc.d"

mkdir: 已创建目录 "/tmp/mylinux/etc/rc.d/init.d"

mkdir: 已创建目录 "/tmp/mylinux/etc/sysconfig"

mkdir: 已创建目录 "/tmp/mylinux/etc/sysconfig/network-scripts"

mkdir: 已创建目录 "/tmp/mylinux/lib"

mkdir: 已创建目录 "/tmp/mylinux/lib/modules"

mkdir: 已创建目录 "/tmp/mylinux/lib64"

mkdir: 已创建目录 "/tmp/mylinux/proc"

mkdir: 已创建目录 "/tmp/mylinux/sbin"

mkdir: 已创建目录 "/tmp/mylinux/sys"

mkdir: 已创建目录 "/tmp/mylinux/tmp"

mkdir: 已创建目录 "/tmp/mylinux/usr"

mkdir: 已创建目录 "/tmp/mylinux/usr/local"

mkdir: 已创建目录 "/tmp/mylinux/usr/local/bin"

mkdir: 已创建目录 "/tmp/mylinux/usr/local/sbin"

mkdir: 已创建目录 "/tmp/mylinux/var"

mkdir: 已创建目录 "/tmp/mylinux/var/lock"

mkdir: 已创建目录 "/tmp/mylinux/var/log"

mkdir: 已创建目录 "/tmp/mylinux/var/run"

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

元数据指用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者以及文件数据块的分布信息(inode…)时间戳信息等

stat命令可查看文件的元数据信息

touch命令可修改文件的时间戳

touch :touch – change file timestamps

  touch [OPTION]… FILE…

  -a :only atime

  -m :only mtime

  -t STAMP

  use [[CC]YY]MMDDhhmm[.ss] instead of current time

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

alias NAME='VALUE' :定义别名NAME,其相当于执行命令VALUE

用反引号或管道或重定向可以在命令中引用另一个命令的执行结果

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

ls -d /var/l*[0-9]*[:lower:]

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

ls -d /etc/[0-9]*[^0-9]

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

ls -d /etc/[^a-z]*[a-z]*

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

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

mkdir: 已创建目录 "/tmp/tfile-2016-06-29-14-45-26"

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

mkdir /tmp/mytest1

cp -a /etc/p*[:alnum:] /tmp/mytest1/

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

mkdir /tmp/mytest2

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

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

mkdir /tmp/mytest3

cp -a /etc/[lmn]*.conf /tmp/mytest3

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

(0)
上一篇 2016-07-03 14:58
下一篇 2016-07-04 11:27

相关推荐

  • shell练习

    1、检查磁盘使用率,如果分区利用率大于80%(此处实验以15%)就执行警报   echo “The disk check script will be starting”sleep 0.5 disk_used=`df |grep “^/dev/sd”|tr -s ” ” %|c…

    2018-05-07
  • AWK基础用法

    AWK: print 例子:给没个/etc/passwd下的用户都打招呼hello 答案: awk ‘{print “hello:”$1}’ /etc/passwd 内建变量 FS : 输入分隔符 OFS: 输出分隔符 RS : 行输入分隔符 ORS: 行输出分割符 NF : 字段数 NR : 行号数 FNR: 每个文件的行号数 ARGC: 参数个数 ARG…

    Linux干货 2017-05-22
  • 基于CentOS7实现LAMP(上)

    基于CentOS7实现LAMP(上)   情景模式: (1)php以模块方式运行  提供两个虚拟主机;                    &nbs…

    Linux干货 2016-08-22
  • 网络管理基础-子网划分及网络配置练习

    1、某公司申请到一个C 类IP 地址,但要连接6 个的子公司,最大的一个子  公司有26 台计算机,每个子公司在一个网段中,则子网掩码应设为?  192.168.100.1 网络位192.168.100 192.168.100.00000000 C类掩码255.255.255.0 192.168.100. 000 00001  …

    Linux干货 2016-09-05
  • N25_第二周作业

    前言 我们这次使用HAProxy作为负载均衡调度器来实现后端httpd服务的负载均衡和动静分离,实现将来自用户的80端口的http请求转发只后端8080端口的server服务 HAProxy介绍 HAProxy的是一个免费的,非常快速和可靠的解决方案,提供高可用性,负载均衡和代理对TCP和HTTP的应用程序。它特别适用于非常高流量网站。多年来,它已成为标准的…

    Linux干货 2016-12-12
  • linux命令查找locate find要点

           在文件系统上查找符合的文件        locate, find locate:          依赖于事先构建好的索引库:             &…

    Linux干货 2016-11-07

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-04 13:56

    写的很好,排版可以多关注一下,加油