第二周作业

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

1) cp 
功能:用来将一个或多个源文件或者目录复制到指定的目的文件或目录
格式:cp [OPTION]... SOURCE... DIRECTORY
选项:
     -i:交互式
     -r, -R: 递归复制目录及内部的所有内容;
     -a: 归档,相当于-dR --preserv=all
       -d:--no-dereference --preserv=links
       --preserv[=ATTR_LIST]
         mode: 权限
         ownership: 属主属组
         timestamp: linux时间戳
         links:    文件为软链接时,只拷贝软链接文件
         xattr:    文件扩展属性
         context:  安全上下文
         all:      包括以上所有
     -p: --preserv=mode,ownership,timestamp
     -v: --verbose  显示复制过程 
     -f: --force  强行复制文件或目录,不论目标文件或目录是否已存在

示例:
    1、cp -i 
     [[email protected] ~]# cp -iv /etc/issue /tmp/
      cp:是否覆盖"/tmp/issue"? y
     "/etc/issue" -> "/tmp/issue"

    2、cp -r
      [[email protected]  ~]# cp -rv /etc/profile.d/* /tmp/cptest/
      "/etc/profile.d/cinder.sh" -> "/tmp/cptest/cinder.sh"
      "/etc/profile.d/colorls.csh" -> "/tmp/cptest/colorls.csh"

    3、cp -a
      [[email protected]  ~]# cp -av /etc/rc.d/ /tmp/
      "/etc/rc.d/" -> "/tmp/rc.d"
      "/etc/rc.d/rc.sysinit" -> "/tmp/rc.d/rc.sysinit"
      "/etc/rc.d/init.d" -> "/tmp/rc.d/init.d"

2) mv
功能:对文件或目录重新命名,或者将文件从一个目录移到另一个目录中
格式:mv [OPTION]... SOURCE... DIRECTORY
选项:
     -i: 交互式
     -f: 若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录
     -v:显示移动过程

示例:
     1、mv -i
       [[email protected]  ~]# mv -iv /etc/issue /tmp/
       mv:是否覆盖"/tmp/issue"? y
       "/etc/issue" -> "/tmp/issue"
     2、
       [[email protected]  ~]# mv -fv /etc/issue /tmp/
       "/etc/issue" -> "/tmp/issue"

3) rm
功能:可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉
格式:rm [OPTION]... FILE...
选项:
     -i: 交互式
     -f: 强制删除
     -r: 递归

示例:
  1、rm -i
    [[email protected]  ~]# rm -iv /tmp/issue 
    rm:是否删除普通文件 "/tmp/issue"?y
    已删除"/tmp/issue"
  2、rm -f
    [[email protected]  ~]# rm -fv /tmp/issue 
    已删除"/tmp/issue"
  3、rm -r
    [[email protected]  ~]# rm -rfv /tmp/nameserver/
    已删除"/tmp/nameserver/filequeue/oplogsync/00000025.dat"
    已删除"/tmp/nameserver/filequeue/oplogsync/00000011.dat"
    已删除"/tmp/nameserver/filequeue/oplogsync/00000016.dat"

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

1) 查看bash的命令执行状态返回值
功能:
    命令执行结束后 输入echo $?
    若返回值为数字 0 ,则说明命令执行成功
    若返回值为非 0 ,则说明命令执行失败
示例:
    [[email protected] ~]# ls /etc/passwd
    /etc/passwd
    [[email protected] ~]# echo $?
    0
2)命令行展开
功能:
     ~: 展开为用户的主目录
     ~USERNAME:展开为指定用户的主目录
     {}:可承载一个以逗号分隔的列表,并将其展开为多个路径
示例:
     1、~
      [[email protected] ~]# ls -d ~
      /root
     2、~USERNAME
      [[email protected] ~]# ls -d ~admin
      /home/admin
     3、{}
      [[email protected] ~]# mkdir -pv /tmp/{a,b,c}/test1
      mkdir: 已创建目录 "/tmp/a"
      mkdir: 已创建目录 "/tmp/a/test1"
      mkdir: 已创建目录 "/tmp/b"
      mkdir: 已创建目录 "/tmp/b/test1"
      mkdir: 已创建目录 "/tmp/c"
      mkdir: 已创建目录 "/tmp/c/test1"

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

(1)、创建/tmp目录下的:a_c, a_d, b_c, b_d
    [[email protected] ~]# mkdir -v /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
[[email protected] ~]#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、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。

1)查看文件原数据信息
[[email protected] ~]# stat /etc/passwd
  File: "/etc/passwd"  文件名
  Size: 1803        Blocks: 8          IO Block: 4096   文件的大小
  Device: 805h/2053d  Inode: 1968006     Links: 1  设备信息
  Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)  文件的访问权限
  Access: 2016-08-11 10:53:07.954380291 +0800   文件内容最近被访问的时间
  Modify: 2016-07-28 17:30:17.942011706 +0800   文件内容最近被修改的时间
  Change: 2016-08-11 10:53:05.402380179 +0800   元数据状态最近改变的时间
2) touch
功能:有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。
格式:touch [OPTION]… FILE…
选项:
     -a:  仅修改atime
     -m:  仅修改mtime
     -t STAMP:  将atime,ctime同时修改为设置为STAMP
      STAMP时间格式如下:
                        [[CC]YY]MMDDhhmm[.ss]
     -c: 如果文件不存在,则不予创建
示例:
    [[email protected] ~]# touch -t 201609111201 /etc/passwd
    [[email protected] ~]# stat /etc/passwd
     File: "/etc/passwd"
     Size: 1803        Blocks: 8          IO Block: 4096   普通文件
     Device: 805h/2053d  Inode: 1968006     Links: 1
     Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
     Access: 2016-09-11 12:01:00.000000000 +0800
     Modify: 2016-09-11 12:01:00.000000000 +0800
     Change: 2016-08-11 11:51:15.299375946 +0800

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

alias
功能:用来设置指令的别名
格式:alias [-p] [NAME[=VALUE] … ]
选项:
    -p:打印已经设置的命令别名
示例:
    1).定义单个命令别名
      [[email protected] ~]# alias la=‘ls -l --color=auto‘
      [[email protected] ~]# la /etc/profile.d/
      总用量 64
      -rw-r--r--  1 root root  361 10月 31 2013 cinder.sh
      -rw-r--r--. 1 root root 1127 10月 17 2013 colorls.csh
 

    2).取消单个命令别令别名(-a 取消所有)
      [[email protected] ~]# unalias la
      [[email protected] ~]# la /etc/profile.d/
      -bash: la: command not found

注意:在命令行中定义的别名,仅对当前shell进程有效;如果想永久有效,要定义在配置文件中;
仅对当前用户:~/.bashrc
对所有用户有效:/etc/bashrc
如果别名同原命令名字相同,执行原命令使用 \COMMAND

引用命令的执行结果可使用反引号  `COMMAND` 或 $(command)
    [[email protected] ~]# echo $(head /etc/issue.net)
    CentOS release 6.5 (Final) Kernel \r on an \m
    [[email protected] ~]# echo  `head /etc/issue.net`
    CentOS release 6.5 (Final) Kernel \r on an \m

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

[[email protected]ost ~]# touch /var/laa0123123a.txt
[[email protected] ~]# ls -d /var/l*[0-9]*[[:lower:]]
/var/laa0123123a.txt

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

[[email protected] ~]# touch /etc/000123aasd.txt
[[email protected] ~]# ls -d   /etc/[[:digit:]]*[^[:digit:]]
/etc/000123aasd.txt

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

[[email protected] ~]# touch /etc/2a.txt
[[email protected] ~]# ls /etc/[^[:alpha:]][[:alpha:]]*
/etc/2a.txt

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

[[email protected] ~]# touch /tmp/tfile-$(date +%F-%H-%M-%S)
[[email protected] ~]# ls /tmp/tfile-2016-08-11-12-33-41 
/tmp/tfile-2016-08-11-12-33-41

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

[[email protected] ~]#mkdir /tmp/mytest1
[[email protected] ~]# cp -a /etc/p*[^0-9] /tmp/mytest1/

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

[[email protected] ~]# mkdir /tmp/mytest2
[[email protected] ~]# cp -a /etc/*.d /tmp/mytest2/

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

[[email protected] ~]# mkdir /tmp/mytest3
[[email protected] ~]# cp -a /etc/[1,m,n]*.conf /tmp/mytest3/
时间: 2024-10-02 23:33:21

第二周作业的相关文章

解题报告——2018级2016第二学期第二周作业

解题报告——2018级2016第二学期第二周作业 D:迷宫问题 题目描述: 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, }; 它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线. 输入 一个5 × 5的二维数组,表示一个迷宫.数据保证有唯一解. 输出 左上角到右

马哥linux 培训第二周作业

注意:第二周作业,请将以下题目整理在51cto博客当中,完成后请将对应的博文链接地址提交在答案栏中,提交格式如下:学号+姓名+博文链接地址eg:1+张三+http://mageedu.blog.51cto.com/4265610/1794420 本周作业内容:1.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示. 文件管理的命令有cp.mv.rm 复制命令:cp 用法: cp [-adfilprsu] 来源文件(source) 目标文件(destination) cp [o

第二周作业补交(请老师看一下)

#include<stdio.h> #include<math.h> int main(void) { int money,year; double rate,sum; printf("Enter money:"); scanf("%d",&money); printf("Enter year:"); scanf("%d",&year); printf("Enter rate:

魏昊卿——《Linux内核分析》第二周作业:了解操作系统是怎样工作的

魏昊卿——<Linux内核分析>第二周作业:了解操作系统是怎样工作的 一.实验部分 使用实验楼的虚拟机打开shell cd LinuxKernel/linux-3.9.4 qemu -kernel arch/x86/boot/bzImage 然后cd mykernel 您可以看到qemu窗口输出的内容的代码mymain.c和myinterrupt.c 使用自己的Linux系统环境搭建过程参见mykernel,其中也可以找到一个简单的时间片轮转多道程序内核代码 mymain.c myinterr

学习linux第二周作业

第二周作业: 本周作业内容: 1.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示. touch,rm,mv,cp,file,ls,chmod,chown,ln,rename, touch 修改文件atime,如果文件不存在,那么创建该文件. rm:删除文件. -r:循环删除,包含文件和目录 -f:强制删除,布询问. -i:询问是否删除. 默认情况下,系统自带别名,rm=rm -i mv:移动文件,可以在移动的过程中重命名文件或文件夹. 例如:移动重命名mytest1目录为

软件测试第二周作业 wordcount

软件测试第二周作业 wordcount Github地址 https://github.com/mxz96102/word_count PSP2.1表格 PSP2.1 PSP 阶段 预估耗时 (分钟) 实际耗时 (分钟) Planning 计划 25 30 · Estimate · 估计这个任务需要多少时间 150 252 Development 开发     · Analysis · 需求分析 (包括学习新技术) 20 20 · Design Spec · 生成设计文档 0 0 · Desig

软件工程 第二周作业

##软件工程第二周作业 提出问题 1. 一般来说,想要自己的程序跑得又快又好,就要减少函数的反复调用,但有所得则必有所失,效能提高就有可能伴随着程序的稳定性的降低,这两者应该如何权衡呢? 2. 关于5.3.5 老板驱动的流程,这种开发流程模式存在着一些问题,那要如何解决这些问题呢? 这种模式当然也有它的问题. 领导对许多技术细节是外行. 领导未必懂得软件项目的管理,领导的权威影响了自由的交流和创造. 领导最擅长的管理方式是行政命令,这未必能管好软件团队或任何需要创造力的团队. 领导的精力有限,领

软件质量与测试第二周作业 WordCount

第二周作业 WordCount 一.Github 地址 https://github.com/llag9810/Software-Quality-and-Testing-Wordcount 二.PSP2.1 表格 PSP2.1 PSP阶段 预估耗时 (分钟) 实际耗时 (分钟) Planning 计划 60 25 · Estimate · 估计这个任务需要多少时间 30 15 Development 开发 600 810 · Analysis · 需求分析 (包括学习新技术) 60 60 · D

第二周作业-词频统计

本周作业是词频统计,编程具体要求如下: https://edu.cnblogs.com/campus/nenu/SWE2017FALL/homework/922 对实现功能进行简要的介绍: 功能一:小文件输入,为表明程序能跑.需要在控制台下输入命令,得到文件中不重复的总单词数.并对单词出现的次数进行排序输出. 功能二:支持命令行输入英文作品的文件名,亲自录入,输出显示不重复单词总数,并对出现频率最高的前10的单词进行输出 功能三:支持命令行输入存储有英文作品文件的目录名,批量统计词频. 功能四:

软件项目管理第二周作业

软件项目管理作业: 1.代码规范 代码就像美食一样,不仅好不好吃,卖相也很重要. 代码风格:简明.易读. 4个空格缩进,行宽100字符,复杂的表达式多用括号清楚的表示逻辑关系,不要好几条语句放在一行等等. 注释主要是知道程序做什么,为什么这样做,还有注意的地方提醒. 2.燃尽图.鱼刺图.甘特图 燃尽图:顾名思义,一堆木头烧完了,一开始挺多的,大事化小,越来越少,直到化为灰烬. 鱼刺图:貌似是鱼刺有很多,一个结果有很多原因且又相互有联系,有果必有因,找出问题的原因,解决问题. 甘特图:工作进度图,