N23-卡卡琦-第二周

1、文件管理类命令

常规命令:copy、mv、rm

(1).copy 文件复制

用法:

注意:复制文件只是复制文件的数据而不是元数据,但是可以保留元数据的信息。

单源复制:目录是否存在都可以

多源复制:目录必须是存在的

-i:提醒用户操作确认(交互式)

-f:强行覆盖

-r:递归复制目录

-p:保留源数据

-a:用于实现归档,做备份

-d:不跟踪符号链接所指向的源文件–no-dereference –preserve=links

-v:显示过程

–preserv=

          mode:权限

          ownership:属主和属组

          timestamps:时间戳

          context:安全标签

          xattr:扩展属性

          links:符号链接

          all:上述所有属性

例子1:复制单个文件

[root@localhost ~]# cp /etc/issue /root/test1

[root@localhost ~]# cd test1

[root@localhost test1]# ll

total 4

-rw-r–r– 1 root root 74 Dec 11 09:37 issue

例子2:复制多个文件

[root@localhost ~]# cp a.sh b.sh c.sh /root/test1

[root@localhost ~]# cd test1

[root@localhost test1]# ll

total 16

-rwxr-xr-x 1 root root 199 Dec 11 09:39 a.sh

-rw-r–r– 1 root root  64 Dec 11 09:39 b.sh

-rwxr-xr-x 1 root root  91 Dec 11 09:39 c.sh

-rw-r–r– 1 root root  74 Dec 11 09:37 issue

例子3:复制目录

[root@localhost ~]# cp -r /etc/gconf /root/test1

[root@localhost ~]# cd test1

[root@localhost test1]# ll

total 20

-rwxr-xr-x 1 root root  199 Dec 11 09:39 a.sh

-rw-r–r– 1 root root   64 Dec 11 09:39 b.sh

-rwxr-xr-x 1 root root   91 Dec 11 09:39 c.sh

drwxr-xr-x 6 root root 4096 Dec 11 09:42 gconf

-rw-r–r– 1 root root   74 Dec 11 09:37 issue 

(2).mv 移动或者重命名

第一:如果SRC是单个文件

     1、如果DEST不存在:剪贴功能

     (内容覆盖,文件名替换为DEST)

     2、如果DEST存在:内容覆盖

第二:如果SRC是多个文件

     1、如果DEST不存在:剪贴功能

     2、如果DEST存在

第三:如果SRC是个目录

     1、如果DEST不存在

     2、如果DEST存在

常用选项:

-i交互式

-f强制

例子:

[root@localhost test1]# ll

-rw-r–r– 1 root root   74 Dec 11 09:37 issue

[root@localhost test1]# mv issue issue.20161211

[root@localhost test1]# ll

-rw-r–r– 1 root root   74 Dec 11 09:37 issue.20161211

 

(3).rm:删除

rm 【option】…FILE…

常用选项:

-i:交互式

-r:递归删除目标目录下的文件

-f:强制删

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

命令执行状态只有两种结果

  • 正确

  • 错误  

执行成功返回0,错误返回1-255数字(详细信息自己搜)

#查看命令[root@CentOS7: ~]$ blsbash: bls: 未找到命令...
[root@CentOS7: ~]$ echo $?127[root@CentOS7: ~]$ ls
adduser.sh  anaconda-ks.cfg  disk.sh  testshell.sh
[root@CentOS7: ~]$ echo $?0

命令行展开所涉及内容(笔记截图)

N23-卡卡琦-第二周

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

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

[root@CentOS7: /tmp]$ mkdir -pv {a,b}_{c,d}mkdir: 已创建目录 "a_c"mkdir: 已创建目录 "a_d"mkdir: 已创建目录 "b_c"mkdir: 已创建目录 "b_d"

(2) 

[root@CentOS7: /tmp]$ mkdir -pv 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: 已创建目录 "mylinux"mkdir: 已创建目录 "mylinux/bin"mkdir: 已创建目录 "mylinux/boot"mkdir: 已创建目录 "mylinux/boot/grubdev"mkdir: 已创建目录 "mylinux/etcrc"mkdir: 已创建目录 "mylinux/etcd"mkdir: 已创建目录 "mylinux/etcd/init.d"mkdir: 已创建目录 "mylinux/etcsysconfig"mkdir: 已创建目录 "mylinux/etcsysconfig/network-scripts"mkdir: 已创建目录 "mylinux/lib"mkdir: 已创建目录 "mylinux/lib/modules"mkdir: 已创建目录 "mylinux/lib64"mkdir: 已创建目录 "mylinux/proc"mkdir: 已创建目录 "mylinux/sbin"mkdir: 已创建目录 "mylinux/sys"mkdir: 已创建目录 "mylinux/tmp"mkdir: 已创建目录 "mylinux/usr"mkdir: 已创建目录 "mylinux/usr/local"mkdir: 已创建目录 "mylinux/usr/local/bin"mkdir: 已创建目录 "mylinux/usr/local/sbin"mkdir: 已创建目录 "mylinux/var"mkdir: 已创建目录 "mylinux/var/lock"mkdir: 已创建目录 "mylinux/var/log"mkdir: 已创建目录 "mylinux/var/run"[root@localhost: /tmp]# tree 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
    └── run24 directories, 0 files

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

N23-卡卡琦-第二周

修改文件时间戳信息命令:touch

N23-卡卡琦-第二周

N23-卡卡琦-第二周

N23-卡卡琦-第二周

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

命令:aliax 

小僧在用户目录下.bashrc里面进行的设定,仅对当前的root用户有效

N23-卡卡琦-第二周

善意的提醒: 该文件内的设定之后需要通过 source 命令使设置生效。

另外: 在命令行直接使用命令设置的话只对当前进程有效       

补充:/etc/bashrc 内设置的话将是全局有效(所有用户)

引用另一个命令的执行结果,可以通过管道符"|" 。示例:

[root@localhost: ~]# cat .bashrc | grep alias# User specific aliases and functionsalias rm='rm -i'alias cp='cp -i'alias mv='mv -i'alias ssh5='ssh 10.90.50.217'alias mysqll='mysql -uroot -p'

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

[root@CentOS7: ~]$ ls -d /var/l*[0-9]*[[:lower:]]

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

[root@CentOS7: ~]$ ls -d /etc/[0-9]*[^0-9]

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

[root@CentOS7: ~]$ ls /etc/[^[:alpha:]][[:alpha:]]*

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

[root@CentOS7: ~]$ touch tfile-`date +%F-%H-%M-%S`

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

[root@CentOS7: ~]$ cp /etc/p*[^0-9] /tmp/mytest1

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

[root@CentOS7: ~]$ cp /etc/*.d /tmp/mytest2/

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

[root@CentOS7: ~]$ cp /etc/[lmn]*.conf /tmp/mytest3/

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

(0)
kakaqikakaqi
上一篇 2016-12-11
下一篇 2016-12-11

相关推荐

  • 马哥教育网络班20期+第二周课程练习

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。  答:文件管理类命令有: touch :创建一个新文件 示例:在/tmp/目录下创建一个1.log文件 touch /tmp/1.log mv:移动文件  示例:将/etc/fstab文件移至/tmp/目录中。  mv /etc/fstab /tmp/…

    Linux干货 2016-06-23
  • 源码编译安装dropbear

    tar -jxf dropbear-2013.58.tar.bz2 cd dropbear-2013.58 ./configure make PROGRAMS=”dropbear dbclient dropbearkey dropbearconvert scp” make PROGRAMS=”dropbear dbclie…

    Linux干货 2017-10-21
  • 如何新增加磁盘分区挂载

    新增磁盘和分区挂载我们先要了解fdisk的参数以及菜单的操作说明,下面是fdisk的参数说明:  fdisk参数说明: m :显示菜单和帮助信息 a :活动分区标记/引导分区 d :删除分区 l :显示分区类型 n :新建分区 p :显示分区信息 q :退出不保存 t :设置分区号 v :进行分区检查 w :保存修改 x :扩展应用,高级功能 1  查看磁盘…

    Linux干货 2018-03-26
  • linux系统的路由功能

    1、概要    大家应该都明白,不同网段的报文包传播,是需要路由的转发转发功能的,那么,一个linux操作系统能不能充当路由器呢?下面不妨来验证一下。 2、网络拓扑 3、实现过程    <1>俩个centos6分别充当Router1和Router2。并添加足够的网卡。    <2&…

    Linux干货 2016-09-06
  • Linux用户权限管理和信息查找

    这里给大家介绍一下基本的一些用户管理的命令。       基于这些命令演示一下例题如下:      复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@localhost&nbs…

    Linux干货 2016-11-20
  • Linux文件查找工具之find “大宝剑”

    一、文件查找工具常用软件 locate:     locate命令其实是find -name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/locatedb,这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令…

    Linux干货 2016-03-12

评论列表(1条)

  • 马哥教育
    马哥教育 2017-03-13 23:47

    总结的还是比较详细的,有点小瑕疵就是mv那块~建议补充上对应的操作~加油~