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

相关推荐

  • 马哥教育网络班20期+第2周课程练习

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示 文件管理命令:ls、cd、pwd、mkdir、rmdir、cp、rm.、mv、touch、cat、more、less、head、tail 1)ls命令:显示目录文件   -a 显示所有文件,包括隐藏文件  ~]# ls -a /etc.  &n…

    Linux干货 2016-06-23
  • Linux系统基础命令

    Linux下一些基本常用命令:   1、Lscpu:显示CPU架构详细信息; [root@centos6 ~]#lscpu 2、Cat:查看合并文件到标准输出; [root@centos6 ~]#cat file    Tac:显示的文本与cat显示的文本相反; 3、Who:显示都有那些用户登录到了系统; [root@…

    Linux干货 2016-07-26
  • 高级文件管理系统

    1、 设定文件系统配额 在内核中执行: • 以文件系统即分区为单位启用 • 对不同组或者用户的策略不同 根据块或者节点进行限制: • 执行软限制(soft limit),限时限制 • 硬限制(hard limit) 初始化: • 分区挂载选项,针对用户或组:usrquota 、grpquota • 初始化数据库,也即是创建用户或组文件系统配额数据库:quot…

    Linux干货 2016-09-01
  • mysql主从复制以及扩展

    一、MySQL简单复制相关概念:    1. mysql复制的意义:Mysql复制是使得mysql完成高性能应用的前提    2. mysql复制的机制:             SLAVE端线程: …

    Linux干货 2015-12-16
  • Google 开源技术protobuf

    1.  Protobuf简介        protobuf是google提供的一个开源序列化框架,类似于XML,JSON这样的数据表示语言,其最大的特点是基于二进制,因此比传统的XML表示高效短小得多。虽然是二进制数据格式,但并没有因此变得复杂,开发人员通过按照一定的语法定义结构化的消息格式,然后送给命令行…

    系统运维 2015-04-04
  • Linux下装载软Raid

    步骤1.创建磁盘,并转换为fd #fdisk /dev/sdb //这里使用新的磁盘sdb 然后输入n ,创建分区 使用默认的起始点 输入大小为+100M 然后重复刚才的操作4次,创建4个分区,创建完4个分区后 我们还要改变分区的ID 在分区的主菜单输入T 然后输入要改变ID的分区号,也就是最后4个分区 然后输入分区的ID:fd 四个分区都改成FD 完成后,…

    Linux干货 2017-08-12

评论列表(1条)

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

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