N25第二周作业

第二周

一、文件管理命令

复制命令:cp

命令格式

  cp [OPTION]... [-T] SOURCE DEST
  cp [OPTION]... SOURCE... DIRECTORY
  cp [OPTION]... -t DIRECTORY SOURCE...

常用参数

  -r:递归复制目录及其子目录内的所有内容
  -a:相当于-dR --preserve=all
  -p:保持指定文件的原有属性
  -d:等于--no-dereference --preserve=links
  -f:强制覆盖

例如:

[root@zf ~]# cp  /etc/init.d/ /tmp/mageedu/  
# 复制/etc/init.d/的所有文件到/tmp/mageedu/

移动命令:mv

命令格式

   mv [OPTION]... [-T] SOURCE DEST
   mv [OPTION]... SOURCE... DIRECTORY
   mv [OPTION]... -t DIRECTORY SOURCE...

常用参数

-f:强制覆盖

例如:

[root@zf ~]# mv -f aa /tmp/mageedu/
#复制当前目录文件aa强制覆盖到/tmp/mageedu/

删除命令:rm

命令格式
rm [OPTION]... FILE...

常用参数

-f:强制删除
-r:递归删除目录

例如:

[root@zf ~]# rm -rf /tmp/mageedu/   
#强制删除/tmp/mageedu/和tmp/mageedu/下所有的文件及子目录

二、命令执行状态返回值

echo $?
显示最近一条命令的执行状态结果

0:成功
1-255:失败

例如:

[root@zf ~]# ls /tmp/
[root@zf ~]# echo $?
0 #命令执行成功显示状态为0

[root@zf ~]# lss /tmp/
[root@zf ~]# echo $?  
127  #命令执行失败显示状态为127

命令展开

~:展开为用户的主目录
~USERNAME:展开为制定用户的主目录
{}:可承载一个以逗号分隔的列表,并将其展开为多个路径

例如:

[root@zf ~]# mkdir /tmp/{a,b}
#在/tmp/下创建目录 a和b

三、命令如下

1.创建/tmp目录下的:ac,ad,bc,bd

[root@zf ~]# mkdir /tmp/{a,b}_{c,d}

2.创建/tmp/mylinux/目录下的:

[root@zf ~]# 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

命令如下:

[root@zf ~]# mkdir -p /tmp/mylinux/{bin,dev,lib64,proc,sbin,sys,tmp,boot/grub,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,usr/local/{bin,sbin},var/{lock,log,run}}

四、文件的元数据如下:

Access time:访问时间 即:通过查看命令读取文件内容
Modify time:修改时间 即:改变文件内容
Change time:改变时间 即:元数据发生改变

例如:查看/tmp/zabbix_agentd.log的元数据

[root@zf ~]# stat /tmp/zabbix_agentd.log 
 File: "/tmp/zabbix_agentd.log"
 Size: 38233           Blocks: 88         IO Block: 4096   普通文件
Device: 802h/2050d      Inode: 549354      Links: 1
Access: (0664/-rw-rw-r--)  Uid: (  502/  zabbix)   Gid: (  502/  zabbix)
Access: 2016-12-03 08:20:59.064537140 +0800
Modify: 2016-12-04 10:49:47.869660777 +0800
Change: 2016-12-04 10:49:47.869660777 +0800

修改元数据命令如下:

[root@zf ~]# touch -at 201611121536.01 /tmp/zabbix_agentd.log  
#修改/tmp/zabbix_agentd.log的access time时间为2016-11-12 15:36:01

[root@zf ~]# stat /tmp/zabbix_agentd.log                      
 File: "/tmp/zabbix_agentd.log"
 Size: 38233           Blocks: 88         IO Block: 4096   普通文件
Device: 802h/2050d      Inode: 549354      Links: 1
Access: (0664/-rw-rw-r--)  Uid: (  502/  zabbix)   Gid: (  502/  zabbix)
Access: 2016-11-12 15:36:01.000000000 +0800
Modify: 2016-12-04 10:49:47.869660777 +0800
Change: 2016-12-04 13:21:32.148654243 +0800

五、别名定义

通过alias实现: alias:显示当前shell进程所有可用的命令别名

alias NEWNAME='OLDNAME OPTIONS'

例如:

alias grep='GREP_COLOR="1;31" grep --color=auto'

注意:在命令行中定义的别名,仅对当前shell进程有效,如果想永久 有效,需修改配置文件

仅对当前用户:~/.bashrc

所有用户有效:/etc/bashrc

修改配置文件后不会立即生效,不关闭当前shell进程的情况下,需重新读取配置文件:source /PATH 或 . /PATH

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

“或$()

例如:

[root@zf ~]# echo The date is $(date)
The date is 2016年 12月 05日 星期一 08:15:07 CST

或[root@zf ~]# echo The date is `date`
The date is 2016年 12月 05日 星期一 08:16:50 CST

管道:COMMAND1 | COMMAND2 | …

例如:

[root@zf ~]# cat /etc/passwd | grep root
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

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

[root@zf ~]# ls -d /var/l*[0-9]*[[:lower:]]
/var/laf4Eg

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

[root@zf ~]# ls -d /etc/[0-9]*[^0-9]
/etc/2sf3df

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

[root@zf ~]# ls -d /etc/[^a-z][a-z]*
/etc/2sf3df  /etc/3dfwe5

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

[root@zf ~]# touch /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)
[root@zf ~]# ls /tmp/
keyring-Iv5CMg  pulse-bkIQvnHKdPEx  tfile-2016-12-05-08-41-47

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

[root@zf ~]# cp -r /etc/p*[^0-9] /tmp/mytest1
[root@zf ~]# ls  /tmp/mytest1/  
pam.d    pbm2ppa.conf  pinforc   pnm2ppa.conf  ppp             printcap   pulse
pango    pcmcia        pki       popt.d        prelink.cache   profile    purple
passwd   php-fpm.conf  plymouth  portreserve   prelink.conf    profile.d
passwd-  php.ini       pm        postfix       prelink.conf.d  protocols

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

[root@zf ~]# cp -r /etc/*.d /tmp/mytest2/
[root@zf ~]# ls /tmp/mytest2/
bash_completion.d  event.d        makedev.d       profile.d  rc5.d          sane.d
chkconfig.d        init.d         modprobe.d      rc0.d      rc6.d          setuptool.d
cron.d             latrace.d      oddjobd.conf.d  rc1.d      rc.d           statetab.d
depmod.d           ld.so.conf.d   pam.d           rc2.d      request-key.d  sudoers.d
dnsmasq.d          logrotate.d    popt.d          rc3.d      rsyslog.d      xinetd.d
dracut.conf.d      lsb-release.d  prelink.conf.d  rc4.d      rwtab.d        yum.repos.d

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

[root@zf ~]# cp /etc/[lmn]*.conf /tmp/mytest3
[root@zf ~]# ls /tmp/mytest3
latrace.conf  libaudit.conf  logrotate.conf  mke2fs.conf  nfsmount.conf  ntp.conf
ld.so.conf    libuser.conf   ltrace.conf     mtools.conf  nsswitch.conf

原创文章,作者:N25-深圳-寻觅,如若转载,请注明出处:http://www.178linux.com/63062

(0)
N25-深圳-寻觅N25-深圳-寻觅
上一篇 2016-12-08 22:49
下一篇 2016-12-09 15:51

相关推荐

  • 加密通讯过程

    一次加密通讯的过程 1、client_hello   客户端发起请求,以明文传输请求信息,包含版本信息,加密套件候选列表,压缩算法候选列表,随机数,扩展字段等信息,相关信息如下: 支持的最高TSL协议版本version,从低到高依次 SSLv2 SSLv3 TLSv1 TLSv1.1 TLSv1.2,当前基本不再使用低于 TLSv1 的版本 客户端支持的加密…

    Linux干货 2017-02-07
  • Linux下常用安全策略设置的六个方法

    安全第一”对于linux管理界乃至计算机也都是一个首要考虑的问题。加密的安全性依赖于密码本身而非算法!而且,此处说到的安全是指数据的完整性,由此,数据的认证安全和完整性高于数据的私密安全,也就是说数据发送者的不确定性以及数据的完整性得不到保证的话,数据的私密性当无从谈起! 1. 禁止系统响应任何从外部/内部来的ping请求攻击者一般首先通过ping命令检测此…

    Linux干货 2017-07-31
  • 文本处理工具grep

    正则表达式:Regular Expression REGEXP         由一类特殊字符及文本字符所编写的模式,表示控制或通配的功能 两类:     基本正则表达式BRE:     扩展正则表达式ERE: *** grep    GLoble searc…

    Linux干货 2016-08-04
  • ELK+RabbitMQ架构处理nginx及tomcat日志

    前言       查看日志的传统方法是:登录操作系统,使用命令工具如cat、tail、sed、awk、grep等等进行过滤输出后分析,处理少量日志还好,日志量大处理效率就没那么高了。而且很多情况下开发人员需要查看并分析日志进行排错,但他们对Linux命令又不是太熟悉,而且有时候又不能赋予他们服务器权限,更多时…

    Linux干货 2016-08-02
  • Linux 基础(三)——用户管理&正则表达式

    1、  列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 who | cut -d " " -f1 | uniq 2、  取出最后登录到当前系统的用户的相关信息。 last -1 | cut -d " " -f1 | head -1 | id 3、  …

    Linux干货 2016-11-08
  • 计算机的组成

        计算机组成(computer composition)指的是系统结构的逻辑实现,包括机器机内的数据流和控制流的组成及逻辑设计等。 计算机组成的任务是在指令集系统结构确定分配给硬件系统的功能和概念结构之后,研究各组成部分的内部构造和相互联系,以实现机器指令集的各种功能和特性。这种联系包括各功能部件的内部和相   &nbsp…

    2017-03-26

评论列表(1条)

  • 马哥教育
    马哥教育 2016-12-16 23:23

    赞~~内容清晰易懂~排版也比较好~继续加油~