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

相关推荐

  • 推荐-zabbix原理篇(1)

    zabbix原理篇(1) 介绍zabbix 之前让我们先来熟悉一下什么snmp ☺ SNMP:Simple Network Management Protoclol  翻译一下:简单网络管理协议 SNMP的工作模式是啥 ☺ NMS向agent采集数据 agent向NMS报告数据 NMS请求agent修改配置 SNMP组件…

    Linux干货 2016-04-11
  • 学习宣言

    失败是留给不坚持的人·······

    Linux干货 2016-12-27
  • 文本处理工具之sed

    一.介绍 sed是一个流编辑工具,可以用来实现对文本的过滤与替换,而Linux的哲学思想之一就是一切皆文件,因此对文本的操作至关重要。sed的基本工作原理是通过每次读取一行文本来来对默写符合条件的文本进行处理。要注意的是sed默认并不直接修改源文件,而是将读取到的内容复制到缓冲区在中,这个缓冲区也叫做模式空间,然后在模式空间中对文本进行处理,处理完成后将结果…

    Linux干货 2017-01-05
  • Linux下计划任务神器-Crontab

    作为系统运维人员都清楚,在Linux下定义重复性的任务,我们一般会采用crontab来进行:crontab这个指令所设置的工作将会循环的一直进行下去!可循环的时间为分钟、小时、每日、每月、每周。 crontab计划任务: 1)常见用法:crontab命令的作用和用法如下:描述:为每个用户维护周期性的计划任务文件用法:crontab [-u 用户][-l|-r…

    Linux干货 2016-07-22
  • grep命令

    alias命令 直接输入 alias 命令会列出当前系统中所有已经定义的命令别名。 例一:列出当前系统中所有已经定义的命令别名。 [root@localhost ~]# alias alias cp=’cp -i’ alias egrep=’egrep –color=auto’ alias fgrep=’fgrep –color=auto’ alias …

    Linux干货 2016-01-09
  • MySQL 简述

    1 概述
    2 安装
    3 数据库的操作
    4 注意事项

    Linux干货 2017-09-25

评论列表(1条)

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

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