第二周作业

第二周

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

cat命令:查看文本文件内容,一次性输出所有信息
cat [option] file…

more命令:查看文本文件内容,提供翻页功能
more [option] file…

less命令:查看文本文件内容,比more命令更强大,不仅提供翻页功能,还可以在查看过程中进行匹配搜索等功能
less [option] file…

head命令:显示文本文件的开头N行内容,一次性输出
head [option] file… 不加选项默认显示头10行信息
head -n # [or -#] : 显示头#行信息
head -c # : 显示头#个字节的信息,例如head -c 10k 显示头10k Bytes的内容

tail命令:显示文本文件从结尾向上数N行内容,一次性输出
tail [option] file… 不加选项默认显示结尾10行信息
tail -n # [or -#] : 显示尾#行信息
tail -c # : 显示尾#个字节的信息,例如tail -c 10k 显示结尾向前数10k Bytes的内容

touch命令:更改文件的时间戳
touch [option] file… 如果文件存在,更改文件的时间戳。如果文件不存在,则新建此文件,因此touch命令也常用于新建空文件
-a : 更改文件的access time
-m : 更改文件的modify time
-t time : 将文件的时间戳修改为指定的时间

cp命令:复制文件
cp [option] source… dest
如果source是一个文件,dest也是一个文件,则将source的内容覆盖至dest
如果source是一个文件,dest不存在,则新建dest文件并将source的内容覆盖至dest
如果source是一个目录或多个文件,则dest必须是一个已存在的目录,将source复制到dest目录下面
如果source是一个目录,可以加 -r 选项使得复制成功,执行结果为新建dest目录,并将source目录之下的所有文件递归复制到dest下面
cp [option] -t directory source… : 此用法中 -t 之后为复制操作的目标目录
常用的命令选项
-r[or R] : 递归复制
-i : 交互模式
-d : 复制时遇到符号链接仅复制其本身,而不追踪复制符号链接指向的源文件
-p : 使复制后的复本保留原有文件的属性
-a : 归档复制,相当于 -dpr 3个选项叠加使用
-f : 强制复制,忽略且不输出交互信息(如不显示是否覆盖的交互信息而直接覆盖)
-v : verbose显示过程信息

mv命令:移动文件
mv [option] soure… dest
如果dest存在且是一个目录,则将source移动至dest目录下
如果source是多个文件,则dest必须为一个已存在的目录
如果source是一个文件(目录也是文件),dest(dest=/path/filename)不存在,则将source文件重命名为filename并移动至/path路径下
常用选项
-i : 交互模式
-f : 强制执行,不输出交互信息

rm命令:删除文件(目录)
rm [option] file…
-i : 交互模式
-r : 递归删除
-f : 强制执行删除,不输出交互信息

二、bash的工作特性之命令执行状态返回值和命令行展开
1.命令执行的状态结果:
bash通过状态返回值来输出此结果:
成功:0
失败:1-255
命令执行完成之后,其状态返回值保存于bash的特殊变量$?中

2.命令行展开
~:自动展开为用户的家目录
{}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径

三、请使用命令行展开功能来完成以下练习:
(1)、创建/tmp目录下的:a_c, a_d, b_c, b_d
mkdir /tmp/{a,b}_{c,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,64},proc,sbin,sys,tmp,user/{local/{,s}bin},var/{lo{vk,g},run}}
[root@localhost ~]# 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}}

四、文件的元数据信息
文件的元素信息包括元数据(文件属性)和数据(文件本身数据)
查看命令 stat FILE
修改时间戳使用touch -a:修改Access time为当前时间 -m:修改Modify time为当前时间

五、如何定义一个命令的别名,如何在命令中引用另一个命令的执行结果?
通过alias来定义别名
例:[y@localhost data] alias
alias cls=’clear’

六、显示/var目录下所有以l开头,以一个小写字母结尾,且中间至少出现一位数字(可以有其它字符)的文件或目录。
ls -d /var/l?[[:digit:]]?[[:lower:]]

七、显示/etc目录下,以任意一个数字开头,且以非数字结尾的文件或目录。
ls -d /etc/[[:digit:]][^[:digit:]]

八、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录。
ls -d /etc/[^[:alpha:]]*

九、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
touch /tmp/tfile-$(date +%F-%H-%M-%S)

十、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
mkdir /tmp/mytest1
cp /etc/p[^[:digit:]] /tmp/mytest1

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

十二、复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中
mkdir /tmp/mytest3
find /etc -name “[lmn]*.conf” -exec cp {} /tmp/mytest3 \;

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/89887

(0)
ruopu1989ruopu1989
上一篇 2017-12-11 18:02
下一篇 2017-12-11 19:12

相关推荐

  • Linux终端类型

    Linux终端类型 关键字:linux终端,串行终端ttySn;伪终端pty;控制终端tty;控制台终端console 要想与Linux打交道,就必须学会使用Linux终端。所谓Linux终端,其实也就是一种控制台,一种字符设备,通常用tty标识,它是用户和Linux内核交互的平台,用户能在平台上通过各种指令操作Linux。终端的特殊设备文件一般分为以下几种…

    Linux干货 2016-10-19
  • 第4周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。     ~]# cp -r /etc/skel/ /home/tuser1     ~]# chmod 700 /home/tuser1/ 2、…

    Linux干货 2016-12-25
  • 设计模式 ( 十六 ) 观察者模式Observer(对象行为型)

    1.概述 一些面向对象的编程方式,提供了一种构建对象间复杂网络互连的能力。当对象们连接在一起时,它们就可以相互提供服务和信息。 通常来说,当某个对象的状态发生改变时,你仍然需要对象之间能互相通信。但是出于各种原因,你也许并不愿意因为代码环境的改变而对代码做大的修改。也许,你只想根据你的具体应用环境而改进通信代码。或者,你只想简单的重新构造通信代码来避免类和类…

    Linux干货 2015-07-24
  • Linux系统自动化安装基础

    Linux系统自动化安装基础 安装程序CentOS系统安装系统启动流程:bootloader–>kernel(initramfs)–>rootfs–>/sbin/init注意:安装过程中与启动过程中的文件不同 anaconda系统安装程序tui: 基于图形库curses的文本窗口gui:图形窗口 安装程序…

    Linux干货 2016-10-08
  • 正则表达式和变量写脚本

    #!/bin/bash 检查系统所有用户的shell是否为bash? 注释:用grep查找是否有此类用户,如果有则为真,则$?必然为0;显示的passwd结果对我们没意义,所以重定向到空。  grep “\bbash\b$” /etc/passwd &> /dev/null  A=`echo $?` …

    Linux干货 2017-04-16
  • 制作python模块安装包[原创]

     python的第三方模块越来越丰富,涉及的领域也非常广,如科学计算、图片处理、web应用、GUI开发等。当然也可以将自己写的模块进行打包或发布。一简单的方法是将你的类包直接copy到python的lib目录,但此方式不便于管理与维护,存在多个python版本时会非常混乱。现介绍如何编写setup.py来对一个简单的python模块进行打包。 一、…

    Linux干货 2015-03-27

评论列表(1条)

  • 马哥教育
    马哥教育 2017-12-16 12:36

    做题还需要认真一点,建议多谢几个测试用例检测下答案~~12小题有点问题,你再看下~加油~