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

相关推荐

  • Linux学习笔记(第三篇)

    N21_Keen_第三周博客 1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 who | cut -d " " -f 1 | sort -u 2、取出最后登录到当前系统的用户的相关信息。 last…

    Linux干货 2016-08-15
  • 初探VIM_第六周练习(02)

    引言—什么是Vim? 接触Linux这么久,想必对于一切皆文件的哲学思想已经不陌生了。因此,学习并掌握用一款Linux文本编辑器,对于玩转LInux来说,是很有必要的。 vi编辑器是Unix系统最初的编辑器,它使用控制台图形模式来模拟文本编辑窗口,允许查看文件中的行、在文件中移动、插入、编辑和替换文本。 在GNU项目将vi编辑器移植到开源世界时,…

    Linux干货 2016-12-18
  • 网络班23期学习宣言

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

    2016-09-05
  • 文本处理工具笔记

    1.文件查看相关命令      (1)cat命令      cat [OPTION]… [FILE]…      -E:显示行结束符      -n:对显示除的每一行进行编号 …

    学员作品 2016-08-10
  • N21_第四周

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 # cp -a /etc/skel/ /home/user1/ && chmod -R 7000 /home/user…

    Linux干货 2016-08-02

评论列表(1条)

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

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