Linux ÏÂÁîÖС°!¡±²Ù×÷·ûµÄ°Ë¸öÉñÃØÓÃ;
ÔÚ²î±ðµÄshellÖУ¬Ê¹Óá¯!¡¯·ûºÅµÄ´ó´ó¶¼linuxÏÂÁîÓ÷¨¿ÉÄÜ»áÓÐËù²î±ð¡£ËäÈ»ÎÒÌṩµÄʾÀýͨ³£ÔÚbash shellÖÐʹÓ㬵«ÆäËûһЩlinux shell¿ÉÄܾßÓвî±ðµÄʵÏÖ£¬»òÕß¿ÉÄÜ»ù´¡²»Ö§³ÖijЩ¶Ô¡¯!¡¯·ûºÅµÄʹÓá£
ÈÃÎÒÃÇÉîÈëÏàʶLinuxÏÂÁîÖС¯!¡¯·ûºÅµÄÁîÈ˾ªÑȺÍÉñÃصÄÓ÷¨¡£
1¡¢Ê¹ÓÃÏÂÁî±àºÅ´ÓÀúÊ·¼Í¼ÖÐÔËÐÐÏÂÁî
Ò»¸öÓÐÓõÄÌáÐÑÊÇ£¬Äã¿ÉÒÔ´Ó֮ǰִÐйýµÄÏÂÁîÖÐÕÒµ½ÀúÊ·ÏÂÁî²¢ÔÙ´ÎÔËÐС£Ê×ÏÈ£¬Í¨¹ýÔËÐС¯history¡¯ÏÂÁîÕÒµ½ÏÂÁîµÄ±àºÅ¡£
linuxmi@linuxmi:~/www.linuxmi.com$ history
µÇ¼ºó¸´ÖÆ
ÔÚLinuxÖвéÕÒ×î½üÖ´ÐеÄÏÂÁî
Ҫͨ¹ýÏÂÁî±àºÅ´ÓÀúÊ·¼Í¼ÖÐÔËÐÐÏÂÁ¿ÉÒÔʹÓá¯!¡¯·ûºÅºó¸úÏÂÁî±àºÅ£¬ÈçÏÂËùʾ¡£
$ !58
µÇ¼ºó¸´ÖÆ
°´ÏÂÁî±àºÅÔËÐÐÏÂÁî
µ±ÄãÖ´ÐÐÉÏÊöÏÂÁîʱ£¬Ëü½«ÔËÐÐÀúÊ·¼Í¼ÖеÚ58ÐеÄÏÂÁî¡£
Çë×¢ÖØ£¬ÏÖʵµÄÏÂÁî±àºÅ¿ÉÄÜÒòÄãµÄÏÂÁîÀúÊ·¶øÓÐËù²î±ð¡£Äã¿ÉÒÔʹÓÃhistoryÏÂÁîÉó²éÏÂÁîÁÐ±í¼°ÆäÐкš£
2¡¢ÔÚLinuxÖÐÔËÐÐÏÈÇ°Ö´ÐеÄÏÂÁî
Äã¿ÉÒÔͨ¹ýÏÂÁîµÄÔËÐÐ˳ÐòÀ´ÔËÐÐÏÈÇ°ÔËÐйýµÄÏÂÁ×îºóÔËÐеÄÏÂÁÌåÏÖΪ-1£¬µ¹ÊýµÚ¶þ¸öΪ-2£¬µ¹ÊýµÚÆ߸öΪ-7£¬ÒÀ´ËÀàÍÆ¡£Äã¿ÉÒÔʹÓÃ!-n£¬ÆäÖÐnÊÇÄãÒªÒýÓõÄÏÂÁîµÄµ¹Êý±àºÅ¡£ÈçÏÂͼ
$ history$ !-3$ !-6$ !-10
µÇ¼ºó¸´ÖÆ
ÔÚLinuxÖÐÖØÐÂÔËÐÐÏÂÁî
3¡¢½«ÏÈÇ°ÏÂÁîµÄ²ÎÊýת´ï¸øÐÂÏÂÁî
ÎÒÐèÒªÁгöĿ¼¡¯/home/linuxmi/snap¡¯µÄÄÚÈÝ£¬ÒÔÊÇÎÒÖ´ÐÐÁËÒÔÏÂÏÂÁ
$ ls /home/linuxmi/snap
µÇ¼ºó¸´ÖÆ
½Ó×ÅÎÒÒâʶµ½£¬Ó¦¸ÃÔËÐДls -l”ÏÂÁîÒÔÉó²éÄÄЩÎļþ¿ÉÖ´ÐС£²»±ØÖØÐÂÊäÈëÕû¸öÏÂÁֻÐèת´ïÉϸöÏÂÁîµÄ²ÎÊý¸øÕâ¸öÐÂÏÂÁî¼´¿É£¬ÈçÏÂËùʾ£º
$ ls -l !$
µÇ¼ºó¸´ÖÆ
ÔÚÕâÀ¡¯!$¡¯½«ÉϸöÏÂÁîÖÐת´ïµÄ²ÎÊýת´ï¸øÕâ¸öÐÂÏÂÁî¡£
4¡¢ÈçÄÇÀïÖÃÏÂÁîÖеÄÁ½¸ö»ò¶à¸ö²ÎÊý
¼ÙÉèÎÒÔÚ×ÀÃæÉϽ¨ÉèÁËÒ»¸öÃûΪ1.txtµÄÎı¾Îļþ¡£
linuxmi@linuxmi ~/www.linuxmi.com% touch /home/linuxmi/linuxmi.go
µÇ¼ºó¸´ÖÆ
È»ºóʹÓÃÍêÕû·¾¶½«Æ临ÖƵ½¡¯/home/avi/Downloads¡¯Ä¿Â¼ÖУ¬Ê¹ÓÃcpÏÂÁî¡£
linuxmi@linuxmi ~/www.linuxmi.com% cp /home/linuxmi/linuxmi.go /home/linuxmi/go
µÇ¼ºó¸´ÖÆ
ÏÖÔÚÎÒÃÇÔÚcpÏÂÁîÖÐת´ïÁËÁ½¸ö²ÎÊý¡£µÚÒ»¸öÊÇ¡¯/home/avi/Desktop/1.txt¡¯£¬µÚ¶þ¸öÊÇ¡¯/home/avi/Downloads¡¯¡£ÎÒÃÇ¿ÉÒÔͨ¹ýÖ´ÐÐechoÏÂÁ²¢Ê¹Óòî±ðµÄ²ÎÊý£¬ÒÔ²î±ðµÄ·½·¨´òÓ¡Á½¸ö²ÎÊý¡£
linuxmi@linuxmi ~/www.linuxmi.com% echo "µÚÒ»¸ö²ÎÊýÊÇ£º!^"echo "µÚÒ»¸ö²ÎÊýÊÇ£º/home/linuxmi/linuxmi.go"µÚÒ»¸ö²ÎÊýÊÇ£º/home/linuxmi/linuxmi.golinuxmi@linuxmi ~/www.linuxmi.com% echo "µÚ¶þ¸ö²ÎÊýÊÇ£º!cp:2"echo "µÚ¶þ¸ö²ÎÊýÊÇ£º/home/linuxmi/go"µÚ¶þ¸ö²ÎÊýÊÇ£º/home/linuxmi/go
µÇ¼ºó¸´ÖÆ
Çë×¢ÖØ£¬µÚÒ»¸ö²ÎÊý¿ÉÏÔʾΪ¡°!^¡±£¬¶øÆäËü²ÎÊý¿Éͨ¹ýÖ´ÐС°![ÏÂÁîÃû³Æ]:[²ÎÊý±àºÅ]¡±¾ÙÐдòÓ¡¡£
ÔÚÉÏÃæµÄʾÀýÖУ¬µÚÒ»¸öÏÂÁîÊÇ¡¯cp¡¯£¬ÐèÒª´òÓ¡µÚ¶þ¸ö²ÎÊý¡£Òò´ËÊÇ¡±!cp:2¡å¡£¹ØÓÚ¾ßÓÐ5¸ö²ÎÊýµÄxyzÏÂÁÈôÊÇÐèÒª»ñÈ¡µÚ4¸ö²ÎÊý£¬¿ÉÒÔʹÓá°£¡xyz£º4¡±£¬²¢Æ¾Ö¤ÐèҪʹÓøòÎÊý¡£¿ÉÒÔͨ¹ý¡±!*¡±»á¼ûËùÓеIJÎÊý¡£
´¦ÀíÁ½¸ö»ò¶à¸ö²ÎÊý
5¡¢Æ¾Ö¤Ìض¨Òªº¦´ÊÔËÐÐ×î½üµÄÏÂÁî
ÎÒÃÇ¿ÉÒÔƾ֤Ҫº¦´ÊÖ´ÐÐ×î½üÖ´ÐеÄÏÂÁî¡£ÏêϸÈçÏÂËùʾ£º
$ ls /home > /dev/null [Command 1]$ ls -l /home/linuxmi/linuxmi > /dev/null [Command 2] $ ls -la /home/linuxmi/linuxmi.com > /dev/null [Command 3]$ ls -lA /usr/bin > /dev/null [Command 4]
µÇ¼ºó¸´ÖÆ
ÕâÀïÎÒÃÇʹÓÃÁËlsÏÂÁµ«Ê¹ÓÃÁ˲î±ðµÄÑ¡ÏîºÍ²î±ðµÄÎļþ¼Ð¡£ÁíÍ⣬ΪÁ˼á³Ö¿ØÖÆ̨µÄÇå½à£¬ÎÒÃǻὫÿ¸öÏÂÁîµÄÊä³ö·¢Ë͵½¡°/dev/null¡±¡£
ÏÖÔÚƾ֤Ҫº¦´ÊÖ´ÐÐ×îºóÖ´ÐеÄÏÂÁ
$ ! ls [Command 1]$ ! ls -l [Command 2] $ ! ls -la [Command 3]$ ! ls -lA [Command 4]
µÇ¼ºó¸´ÖÆ
¼ì²éÊä³ö£¬Äã»á¾ªÑȵط¢Ã÷ÄãÕýÔÚÔËÐÐÒѾִÐйýµÄÏÂÁֻÊÇʹÓÃÁËlsÒªº¦´Ê¡£
6¡¢ÔÚLinuxÖÐÖظ´ÉÏ´ÎÖ´ÐеÄÏÂÁî
Äã¿ÉÒÔʹÓÃ(!!)²Ù×÷·ûÀ´ÔËÐÐ/ÐÞ¸ÄÄãÉÏ´ÎÖ´ÐеÄÏÂÁÕâÊÇÒ»¸ö¼òд·ûºÅ£¬ÔÊÐíÄãÒýÓÃÔÚÏÂÁîÐÐÖÐÖ´ÐеÄÉÏÒ»¸öÏÂÁî¡£
ÀýÈ磬ÎÒÔËÐÐÁËÒ»¸öµ¥ÐнÅÔÀ´²éÕÒLinux»úеµÄIPµØµã£º
$ ip addr show | grep inet | grep -v 'inet6'| grep -v '127.0.0.1' | awk '{print $2}' | cut -f1 -d/
µÇ¼ºó¸´ÖÆ
È»ºóͻȻÎÒ·¢Ã÷ÎÒÐèÒª½«ÉÏÊö¾ç±¾µÄÊä³öÖض¨Ïòµ½Ò»¸öÃûΪip.txtµÄÎļþÖУ¬ÄÇôÎÒ¸ÃÔõô°ìÄØ£¿ÎÒÐèÒªÖØÐÂÊäÈëÕû¸öÏÂÁî²¢½«Êä³öÖض¨Ïòµ½ÎļþÂ𣿺ðɣ¬Ò»¸ö¼òÆӵĽâ¾ö¼Æ»®ÊÇʹÓÃÉϼýÍ·¼üÀ´µ÷³öÉÏÒ»ÌõÏÂÁ²¢ÔÚĩβÌí¼Ó¡¯> ip.txt¡¯À´½«Êä³öÖض¨Ïòµ½Îļþ¡£
$ ip addr show | grep inet | grep -v 'inet6'| grep -v '127.0.0.1' | awk '{print $2}' | cut -f1 -d/ > ip.txt
µÇ¼ºó¸´ÖÆ
ллÉϼýÍ·¼üµÄ¾ÈÃü×÷Óá£ÏÖÔÚ˼Á¿ÒÔÏÂÇéÐΣ¬Ï´ÎÎÒÔËÐÐÏÂÃæµÄµ¥Ðо籾¡£
ifconfig | grep "inet addr:" | awk '{print $2}' | grep -v '127.0.0.1' | cut -f2 -d:
µÇ¼ºó¸´ÖÆ
µ±ÎÒÔËÐо籾ʱ£¬bashÌáÐÑ·µ»ØÁËÒ»¸ö¹ýʧ£¬ÐÅϢΪ¡°bash: ifconfig: command not found¡±£¬ÎÒºÜÈÝÒײµ½ÎÒÒÔÒ»¸öͨË×Óû§µÄÉí·ÝÔËÐÐÁËÕâ¸öÏÂÁ¶øËüÓ¦¸ÃÒÔrootÉí·ÝÔËÐС£
ÄÇô½â¾ö²½·¥ÊÇʲôÄØ£¿µÇ¼ΪrootÈ»ºóÖØÐÂÊäÈëÕû¸öÏÂÁîÊǺÜÄÑÌâµÄ£¡ÔÚÉÏÒ»¸öʾÀýÖеÄ(ÉϼýÍ·¼ü)ÔÚÕâÀïÒ²ÎÞ·¨×ÊÖú¡£ÒÔÊÇ£¬ÒªÅ²ÓÃÓû§µÄ×îºóÒ»¸öÏÂÁÐèÒªÊäÈë¡°!!¡±£¨²»ÐèÒªÒýºÅ£©
su -c ¡°!!¡± root
µÇ¼ºó¸´ÖÆ
ÕâÀïµÄsuÊÇÇл»Óû§µÄÏÂÁrootÊÇÒªÇл»µ½µÄÓû§£¬-cÊÇÒÔÖ¸¶¨µÄÓû§Éí·ÝÔËÐÐÏÂÁîµÄÑ¡Ï×îÖ÷ÒªµÄ²¿·ÖÊÇ!!½«±»Ì滻ΪÉÏ´ÎÔËÐеÄÏÂÁî¡£Êǵģ¡ÄãÐèÒªÌṩrootÃÜÂë¡£
7¡¢Ê¹Óá¯!¡¯²Ù×÷·ûɾ³ý³ýÒ»¸öÎļþÖ®ÍâµÄËùÓÐÎļþ
ÔÚLinuxÖУ¬¡¯!¡¯²Ù×÷·û£¨Ò²³ÆΪ¡±bang¡±²Ù×÷·û£©ÓÃÓÚÀúÊ·À©Õ¹£¬ËüÔÊÐíÄãÒýÓÃÏÈÇ°µÄÏÂÁî²¢¶ÔÆäÖ´ÐÐÖݪֲÙ×÷¡£Òª´ÓĿ¼ÖÐɾ³ý³ýÁËÌض¨Îļþ£¨important_file.txt£©Ö®ÍâµÄËùÓÐÎļþ£¬¿ÉÒÔʹÓôøÓС¯!¡¯²Ù×÷·ûµÄrmÏÂÁÈçÏÂËùʾ¡£
$ rm !(important_file.txt)
µÇ¼ºó¸´ÖÆ
Òª´ÓÎļþ¼ÐÖÐɾ³ý³ýÁËÀ©Õ¹ÃûΪ¡¯.pdf¡¯Ö®ÍâµÄËùÓÐÎļþÀàÐÍ¡£
$ $ rm !(*.pdf)
µÇ¼ºó¸´ÖÆ
8¡¢¼ì²éLinuxÖеÄĿ¼ÊÇ·ñ±£´æ
ÔÚÕâÀÎÒÃǽ«Ê¹Óá¯! -d¡¯À´Ñé֤Ŀ¼ÊÇ·ñ±£´æ£¬ÈôÊÇĿ¼²»±£´æ£¬Ôò½ôËæØʺóµÄÊÇÂß¼Óë²Ù×÷·û£¨&&£©£¬´òÓ¡³öĿ¼²»±£´æ£¬ÈôÊÇĿ¼±£´æ£¬Ôò½ôËæØʺóµÄÊÇÂß¼»ò²Ù×÷·û£¨||£©£¬´òÓ¡³öĿ¼±£´æ¡£
Âß¼ÊÇ£¬µ±[ ! -d /home/linuxmi/linuxmi.com ]µÄÊä³öΪ0ʱ£¬Ëü½«Ö´ÐÐÂß¼ÓëÖ®ºóµÄÄÚÈÝ£¬²»È»Ëü½«×ªµ½Âß¼»ò£¨||£©²¢Ö´ÐÐÂß¼»òÖ®ºóµÄÄÚÈÝ¡£
$ [ ! -d /home/linuxmi/linuxmi.com ] && printf 'nno such /home/linuxmi/linuxmi.com directory existn' || printf 'n/home/linuxmi/linuxmi.com directory existn'
µÇ¼ºó¸´ÖÆ
ÀàËÆÓÚÉÏÃæµÄÌõ¼þ£¬¿ÉÊÇÈôÊÇËùÐèĿ¼²»±£´æ£¬Ëü½«Í˳öÏÂÁî¡£
$ [ ! -d /home/linuxmi/linuxmi.com] && exit
µÇ¼ºó¸´ÖÆ
Ôھ籾ÓïÑÔÖеÄÒ»Ñùƽ³£ÊµÏÖ£¬ÈôÊÇËùÐèĿ¼²»±£´æ£¬Ëü½«½¨ÉèÒ»¸öĿ¼¡£
[ ! -d /home/linuxmi/linuxmi.com] && mkdir /home/linuxmi/linuxmi.com
µÇ¼ºó¸´ÖÆ
ÒÔÉϾÍÊÇLinux ÏÂÁîÖС°!¡±²Ù×÷·ûµÄ°Ë¸öÉñÃØÓÃ;µÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡