第二周博客作业

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

Linux文件管理类命令有cp、mv、rm

1、cp命令:copy files and directories

使用方法:

  • 单源复制
    cp [OPTION]… [-T] SOURCE DEST
    1)如果DEST不存在,则事先创建此文件,并复制源文件的数据流至DEST中
    2)如果DEST存在,DEST是非目录文件,则覆盖目标文件;如果DEST是目录文件,则现在DEST目录下创建一个与源文件同名的文件,并复制其数据流。

  • 多源复制
    cp [OPTION]… SOURCE… DIRECTORY
    cp [OPTION]… -t DIRECTORY SOURCE…
    如果DEST不存在,提示错误
    如果DEST是目录文件,分别复制每个文件至目录中去,并保持原名

常用选项及示例:

-i:交付式复制,即覆盖之前提醒用户确认。

[root@localhost ~]# cp -i /etc/issue /tmp/issue
cp:是否覆盖"/tmp/issue"? y
[root@localhost ~]# ls -l /tmp

-f:强制覆盖目标文件
-r, -R:递归复制目录
-d,复制符号链接文件本身,而非其指向的源文件

[root@localhost ~]# ls -l /etc/system-release
lrwxrwxrwx.  1 root root       14 11月  8 09:07 system-release -> centos-release
[root@localhost ~]# cp /etc/system-release /tmp
[root@localhost ~]# ls -l /tmp/system-release
-rw-r--r--  1 root    root      38 12月 11 02:04 system-release1-----实际复制了源文件
[root@localhost ~]# cp -d /etc/system-release /tmp/
cp:是否覆盖"/tmp/system-release"? y
[root@localhost ~]# ls -l /tmp
[root@localhost ~]# ls -l /etc/system-releasel
rwxrwxrwx  1 root    root      14 12月 11 02:05 system-release -> centos-release-----复制符号链接文件

-a,-dR,--preserve=all, archive,用于实现归档

2、mv命令:move (rename) files

使用方法:
mv [OPTION]… [-T] SOURCE DEST

mv [OPTION]… SOURCE… DIRECTORY

mv [OPTION]… -t DIRECTORY SOURCE…

常用选项:

-i:交互式mv

-f:do not prompt before overwriting

3、rm命令:remove files or directories

使用方法:

rm [OPTION]… FILE…

常用选项:
-i:交互式rm

-f:强制性删除并不提醒

-r,–recursive:删除目录

注意:所有不用的文件建议不要删除,而是移动至某个专用目录(模拟回收站)

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

  • 命令执行状态返回值

命令执行完成之后,其状态返回值保存于bash的特殊变量$?。通过输入enco $?,就知道命令执行后的状态。
成功显示为0,失败显示为1~255

示例:

[root@localhost ~]# cat /etc/issue\S
Kernel \r on an \m

[root@localhost ~]# echo $?
[root@localhost ~]# catt /etc/issue
-bash: catt: 未找到命令
[root@localhost ~]# echo $?
127
[root@localhost ~]# cat /etc/issue123
cat: /etc/issue123: 没有那个文件或目录
[root@localhost ~]# echo $?
1
  • 命令行展开:需要了解的是~和{}用法

1)~:自动展开为用户的家目录,或指定的用户的家目录

示例:

[root@localhost tmp]# cd /home
[root@localhost ~]# cd ~Yu
[root@localhost Yu]# pwd/home/Yu-----------------直接可达家目录

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

示例:

创建目录 /var/x,/var/y
[root@localhost ~]# mkdir /var/{x,y}
[root@localhost ~]# ls -d /var/x /var/y
/var/x  /var/y

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

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

[Yu@localhost ~]$ cd /tmp
[Yu@localhost tmp]$ mkdir -v {a,c}_{b,d}
mkdir: 已创建目录 "a_b"
mkdir: 已创建目录 "a_d"
mkdir: 已创建目录 "c_b"
mkdir: 已创建目录 "c_d"

(2)创建/tmp/mylinux目录下的:

[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}}
[root@localhost ~]# tree /tmp/mylinux
/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

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

1)任何文件系统中的数据分为数据和元数据。数据是指普通文件中的实际数据,而元数据指用来描述一个文件的特征的系统数据。

元数据包括文件大小类型、文件权限、属主属组、文件数据块的分布信息(inode…)以及相关时间戳等。查看文件元数据信息,可用stat命令:

stat – display file or file system status

示例:

[root@localhost ~]# stat /etc/issueFile: ‘/etc/issue’
Size: 23            Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 201327467   Links: 1Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-12-12 06:56:41.892009669 +0800
Modify: 2015-12-09 17:59:15.000000000 +0800
Change: 2016-11-08 09:07:16.867977395 +0800
Birth: -

2)修改文件的时间戳信息,可用touch命令

touch- change file timestamps

使用方法:

touch [OPTION]... FILE...
OPTION:
-c:指定的文件路径不存在时不予创建,只更改change time-a:仅修改access time,同时连change time也跟随修改
-m:仅修改modify time,同时连change time也跟随修改
-t:使用[[CC]YY]MMDDhhmm[.ss]指定时间,代替现在的时间

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

1)定义一个命令的别名

示例:

[root@localhost ~]# alias cls='clear'
[root@localhost ~]# alias
alias cls='clear'
alias cp='cp -i'
...
Remark:仅对当前shell进程有效

2)命令中引用另一个命令的执行结果的方法

$(COMMAND)或`COMMAND`(注意此是反引号)

示例:

[root@localhost ~]# ls -l $(cat /etc/shells)-rwxr-xr-x. 1 root root 960376 Nov 20  2015 /bin/bash
lrwxrwxrwx. 1 root root      4 Nov  8 09:15 /bin/csh -> tcsh
lrwxrwxrwx. 1 root root      4 Nov  8 09:07 /bin/sh -> bash
-rwxr-xr-x. 1 root root 404480 Nov 20  2015 /bin/tcsh
-rwxr-xr-x. 1 root root   7168 Nov 20  2015 /sbin/nologin
-rwxr-xr-x. 1 root root 960376 Nov 20  2015 /usr/bin/bash
lrwxrwxrwx. 1 root root      4 Nov  8 09:07 /usr/bin/sh -> bash
-rwxr-xr-x. 1 root root   7168 Nov 20  2015 /usr/sbin/nologin

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

[root@localhost ~]# touch /var/1ui9b
[root@localhost ~]# ls -l /var/1*[0-9]*[a-z]
-rw-r--r-- 1 root root 0 Dec 12 23:20 /var/1ui9b

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

[root@localhost ~]# touch /etc/3ious
[root@localhost ~]# ls -l /etc/[0-9]*[^0-9]
-rw-r--r-- 1 root root 0 Dec 12 23:42 /etc/3ious

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

[root@localhost ~]# ls -l /etc/[^a-z][a-z]*
-rw-r--r-- 1 root root 0 Dec 12 23:42 /etc/3ious

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

[root@localhost ~]# touch /tmp/tfile-$(date +%F-%H-%M-%S)
[root@localhost ~]# ls -l /tmp/
-rw-r--r-- 1 root    root     0 Dec 13 00:56 tfile-2016-12-13-00-56-49

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

[root@localhost ~]# cp -r /etc/p*[^0-9] /tmp/mytest1

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

[root@localhost ~]# cp -r /etc/*.d /tmp/mytest2

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

[root@localhost ~]# cp -r /etc/[lmn]*.conf /tmp/mytest3

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

(0)
N25_PierceN25_Pierce
上一篇 2016-12-13
下一篇 2016-12-13

相关推荐

  • rsync+inotify实现数据的实时同步更新

      rsync可以实现触发式的文件同步,但是通过crontab守护进程方式进行触发,同步的数据和实际数据会有差异,而inotify可以监控文件系统的各种变化,当文件有任何变动时,就触发rsync同步,这样就可以解决同步数据的实时性问题。 一、rsync的优点与不足 rsync具有安全性高、备份迅速、支持增量备份等优点,通过rsync可以解决对实时性要求不高的…

    2018-01-06
  • Linux系统上获取命令的帮助信息方法

    当我们在操作linux时忘记相关命令的用法时,可以使用man 命令或者命令 -h来查询该命令的用法; man文档共有9个章节 1:所有用户可以操作的指令或可执行文件 2:系统核心调用的函数与工具 3:子调用,常用的函数与函数库 4:设备,硬件文件说明,通常是/dev/的文件 5:文件格式,配置文件或者是某些档案的格式 6:游戏相关 7:杂项,例如linux文…

    Linux干货 2018-03-04
  • 第三周n28

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 who | cut -d ” ” -f 1 | sort -u 2、取出最后登录到当前系统的用户的相关信息。 who | tail -1 3、取出当前系统上被用户当作其默认shell的最多的那个shell。 cat /etc/passwd | …

    Linux干货 2017-12-17
  • 也许你根本不会用百度搜索

    搜索引擎可以帮助使用者在Internet上找到特定的信息,但它们同时也会返回大量无关的信息。但是如果多使用一些技巧,你将发现搜索引擎会花尽可能少的时间找到你需要的确切信息。 1.简单查询 这个就是最简单便捷的使用方式,其实也是我们大多数人平时使用百度或者其他搜索引擎的方式。比如你想查培训学校,那么你的第一反应肯定就是在百度里输入【挖掘机】【挖掘机学校】【蓝翔…

    2015-03-02
  • Shell脚本编程初步

        shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。shell脚本(shell script),是一种为shell编写的脚本程序。业界所说的shell通常都是指shell脚本,但shell和shell script是两个不同的概念。shell编程跟java、php编程…

    Linux干货 2016-08-24
  • CentOS6.6上编译安装httpd2.4

    简介    现在apache软件基金会正在维护的httpd项目有三个版本,分别为Version 2.4,Version 2.2与Version 2.0。    三个版本的区别暂不一一介绍,有兴趣的可以去httpd.apache.org了解,下面着重介绍httpd 2.4版本。新特性 &nb…

    Linux干货 2015-06-26

评论列表(1条)

  • 马哥教育
    马哥教育 2016-12-16 23:30

    赞,总结的还是不错的,能注意下第二部分内容中的小1和第五部分中的小2会更好~继续加油~