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
下一篇 2016-12-09

相关推荐

  • lvs三种基础模型

    1: LVS-DR 模式(调度器与实际服务器都有一块网卡连在同一物理网段上)简要的网络结构如下所示 lvs-DR模型是lvs的默认模型,也是企业中用到的最多的模型    解读:直接路由模型,每个Real Server上都有两个IP:VIP和RIP,但是VIP是隐藏的,就是不能提高解析等功能,只是用来做请求回复的源IP的,Director上…

    Linux干货 2016-08-15
  • 第二天作业

    1、echo 查闪烁,下划,颜色    echo -e "\033[31;5;1m*******\033[0m\n \033[32;5;1m*****\033[0m\n  \033[33;5;1m***\033[0m\n   \033[34;5;1m*\033[0m" 2、scr…

    Linux干货 2016-07-26
  • 日志分析工具Awstats实战之Nginx篇-分析结果动态化

    上一篇博文“分析工具Awstats实战之Nginx篇-分析结果静态化”介绍了如何将awstats的日志分析信息用静态页面来进行显示,不过显示效果肯定没有动态的好啦。本篇博文将带大家一起来部署动态的分析结果查阅。 环境: CentOS 6.4 ip:192.168.1.113 域名:www.sunsky.com(server和client都通过hos…

    Linux干货 2016-08-15
  • 小型网站MYSQL问题二:Percona Xtrabackup实现数据库备份和恢复

    故事背景:前面大胆的选择了innodb,接下来就要考虑数据库的备份和恢复。俗话说“常在河边走,哪能不湿鞋“,自从接触数据这块,使我一直对它保持敬畏之心。在这里使用了percona公司的xtrabckup工具来实现数据库备份和恢复。操作步骤记录如下: 1、安装软件仓库(不要问我为什么不用源码安装,好吧,其实我懒。) wget https://www.…

    数据库运维 2015-12-19
  • 第一次作业

    第一次作业 作业1 博客 作业2 echo -e "\033[49;31;4;5m*******\033[0m \n\033[49;32;4;5m ***** \033[0m \n\033[49;33;4;5m  ***  \033[0m \n\033[49;34;4;5m   *   \033[0m&quo…

    Linux干货 2016-08-03
  • Linux网络配置基础二(网络模块与nmcli命令)

    Linux网络配置基础二 相关命令 lsmod命令 lsmod命令用于显示已经加载到内核中的模块的状态信息。执行lsmod命令后会列出所有已载入系统的模块。Linux操作系统的核心具有模块化的特性,应此在编译核心时,务须把全部的功能都放入核心。您可以将这些功能编译成一个个单独的模块,待需要时再分别载入。第一列:表示模块的名称第二列:表示模块的大小第三列:表示…

    Linux干货 2016-09-09

评论列表(1条)

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

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