马哥教育网络班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)
hxc_0215hxc_0215
上一篇 2016-07-03
下一篇 2016-07-04

相关推荐

  • 8月22日shell脚本编程之循环和函数

    shell脚本编程 本章内容 编程基础 脚本基本格式 变量 运算 条件测试 流程控制 函数 数组 高级字符串操作 高级变量 配置用户环境 编程基础 程序:指令+数据 编程程序风格:   过程式:以指令为中心,数据服务于指令   对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 程序的执行方…

    Linux干货 2016-08-24
  • d

    ““ function fun(){ echo “这是一句非常牛逼的代码”;}fun(); ““

    Linux笔记 2018-07-09
  • 搭建完整dns服务(超详细)

    基本框架结构图 域名不一定是magedu.com  可以自定义 准备8台虚拟机 虚拟机地址: 192.168.162.101 作为客户端 192.168.162.102 作为websrv1 端 192.168.162.103 作为websrv2端 192.168.162.104 作为主dns端 192.168.162.105 作为从dns端 192.168.…

    Linux笔记 2018-06-02
  • 马哥教育网络班22期+第14周课程练习

    系统的INPUT和OUTPUT默认策略为DROP;   iptables -P INPUT DROP   iptables -P OUTPUT DROP 1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了adm…

    Linux干货 2016-12-05
  • SELinux介绍

    SELinux介绍 SELinux: Secure Enhanced Linux, 是美国国家安全局(NSA=The National Security Agency)和SCC(Secure Computing Corporation)开发的 Linux的一个强制访问控制的安全模块。 2000年以GNU GPL发布, Linux内核2.6版本后集成在内核中D…

    Linux干货 2016-10-08
  • 浏览和管理log文件

    浏览和管理log文件 log文件是一种包含系统消息的文件,包括内核、服务和应用运行在其上。不同的日志文件对应不同的日志信息。例如,默认的系统log文件,一个log文件对应安全消息,一个log文件对应计划任务。当要对一个系统问题排错例如加载内核驱动或者当寻找对系统的非授权登录攻击,日志文件是很有帮助的。一些log文件被一个称之为rsyslogd的守护进程控制。…

    Linux干货 2017-05-15

评论列表(1条)

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

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