第二周
一、文件管理命令
復制命令: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.www58058.com/63062
贊~~內容清晰易懂~排版也比較好~繼續加油~