第二周
一、文件管理命令
复制命令: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
评论列表(1条)
赞~~内容清晰易懂~排版也比较好~继续加油~