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 11:02
下一篇 2016-12-11 14:59

相关推荐

  • Linux进程管理-初级

    Linux进程管理-初级 背景: 在学习完Linux进程管理后,发现这一块的知识点比较多,很多都是自己以前没有接触过的,而且这部分知识对今后的工作有很大帮助,在这里做个学习的总结,供以后复习。 进程介绍: 什么是进程 进程(Process):运行中的程序的一个副本,是被载入内存的一个指令集合,进程有进程ID(Process ID,PID),用来标记每个进程,…

    2017-08-26
  • Linux first day note book

    linux os setup

    2018-03-26
  • linux基础知识

    冯*诺依曼体系 摩尔定律

    2018-03-26
  • 网络管理之配置静态ip和多网卡绑定

    不知怎的,这几天教室的网络异常诡异,各种不稳定啊。原先小编都是通过自动获取(dhcp)的方式来进行网络连接的,现在这种网络情况下需要(static)的方式来配置一个固定的ip。步骤如下: 一、在终端中输入:vim /etc/sysconfig/network-scripts/ifcfg-eth0 二、进行编辑并保存退出 三、重启网络服务:service ne…

    2017-09-10
  • SSH会话劫持实现端口转发

    在进行渗透测试时,我们有时候会碰到搭建的测试环境、产品服务器、DMZ或者其他类似的机器群的情况,这时我们完全可以把它们看作跳板。这些系统被设计成对外交互的接口,这时候我们考虑对其他域里的用户进行SSH会话劫持是个不错的选择。 那么如果你拥有了某一个跳板的控制权限,想要通过另一个域的用户对远程域进行访问会怎么办呢?当然,这时候你是没有密码、密钥的,你不能抛弃二…

    系统运维 2015-03-23
  • 定时任务应用示例

    定时任务应用示例 1.每4小时执行一次对/etc目录的备份,备份至/backup目录中,保存的目录名为形如etc-201504020202 mkdir /backup crontab -e * */4 * * * cp -ar /etc/ /backup/etc-$(date +%Y%m%d%H%M) 2.每周2,4,6备份/var/log/messages…

    Linux干货 2017-08-06

评论列表(1条)

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

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