LinuxÏ¿ÉÒÔÌæ»»ÔËÐÐÖеijÌÐòô?
½ñÌì±»ÅóÓÑÎʼ°“LinuxÏ¿ÉÒÔÌæ»»ÔËÐÐÖеijÌÐòô£¿”£¬ÒÔǰÒÀÏ¡¼ÇµÃLinuxÏÂÊÇ¿ÉÒԵ썶øWindows¾Í²»Èã©£¬ÓÚÊÇËæ¿Ú´ðµÀ“OK”¡£½á¹ûÅóÓÑ·¢À´Ò»¸öÖ´Ðнá¹û£º£¨testÕýÔÚÔËÐÐÖУ©
# cp test2 test
cp: cannot create regular file `test': Text file busy
¿´ÆðÀ´ÊdzÌÐò±»Õ¼Óã¬ÎÞ·¨¸²¸Ç¡£ÓÚÊÇ×Ô¼ºÓÖÔÙ×öÁ˼¸¸öʵÑ飺
£¨1£©ÏÈrmɾ³ýÕýÔÚÔËÐеÄtest£¬È»ºócp test2 test¾ÍûÓдíÎóÁË¡£
£¨2£©ÏÈmv¸ÄÃûÕýÔÚÔËÐеÄtest£¬È»ºócp test2 testҲûÓÐÎÊÌâ¡£
²éÁ˲é×ÊÁϲ¢¶¯ÊÖ·ÖÎöÁËһϣ¬ÕÒµ½Á˱ȽÏÂúÒâµÄ½âÊÍ¡£cp²¢²»¸Ä±äÄ¿±êÎļþµÄinode£¬ÊÂʵÉÏËüµÄʵÏÖÊÇÕâÑùµÄ£º
# strace cp test2 test 2>&1 | grep open.*test
open("test2", O_RDONLY|O_LARGEFILE) = 3
open("test", O_WRONLY|O_TRUNC|O_LARGEFILE) = 4
ÎÒÔÒÔΪcpµÄʵÏÖÊÇ“rm + open(O_CREAT)”£¬²»¹ýÏÖÔÚÏëÏëÉÏÃæµÄʵÏÖ·½Ê½²ÅÊÇ×î¿É¿¿µÄ£¨±£Ö¤ÁËʱÐò°²È«ºÍÄ¿±êÎļþµÄÊôÐÔ£©¡£ÕâÒ²¿ÉÒÔ½âÊÍΪʲôcpµÄÄ¿±êÎļþ»á¼Ì³Ð±»¸²¸ÇÎļþµÄÊôÐÔ¶ø·ÇÔ´Îļþ¡£
LinuxÓÉÓÚDemand Paging»úÖÆµÄ¹ØÏµ£¬±ØÐëÈ·±£ÕýÔÚÔËÐÐÖеijÌÐò¾µÏñ£¨×¢Ò⣬²¢·ÇÎļþ±¾Éí£©²»±»ÒâÍâÐ޸ģ¬Òò´ËÄÚºËÔÚÆô¶¯³ÌÐòºó»áËø¶¨Õâ¸ö³ÌÐò¾µÏñµÄinode¡£Õâ¾Í ÊÇΪʲôcpÔÚÓÓO_WRONLY|O_TRUNC”ģʽopenÄ¿±êÎļþʱ»áʧ°Ü¡£¶øÏÈrmÔÙcpµÄ»°£¬ÐÂÎļþµÄinodeÆäʵÒѾ¸Ä±äÁË£¬Ô inode²¢Ã»Óб»ÕæÕýɾ³ý£¬Ö±µ½ÄÚºËÊͷŶÔËüµÄÒýÓá£Í¬Àí£¬mvÖ»ÊǸıäÁËÎļþÃû£¬Æäinode²»±ä£¬ÐÂÎļþʹÓÃÁËеÄinode¡£
ÎÊÌâµ½ÕâÀïÒѾˮÂäʯ³ö£¬²»¹ýÅÙ¸ù¾¿µ×µÄ¸öÐÔÇýʹÎÒÔÙ×öÁËÒÔÏÂÒ»×éʵÑ飬ûÏëµ½½á¹ûÍêÈ«³öºõÎÒÒâÁÏÖ®Í⣡
дÁËÒ»¸ö¼òµ¥µÄ²âÊÔ³ÌÐò£º
#include <stdio.h>
int main(int argc, char * argv[])
{
foo(); // An export function by libtest.so.
sleep(1000);
return 0;
}
foo()ÊÇÁíÒ»¸ö²âÊÔ¶¯Ì¬¿âlibtest.soµÄµ¼³ö½Ó¿Ú£¬Ö»´òÓ¡Ò»ÐÐÌáʾ¾Í·µ»Ø¡£½ÓÏÂÀ´ÎÒ°ÑÉÏÃæ¶ÔÖ´ÐÐÎļþµÄ²âÊÔÓÃÀý¶Ô¶¯Ì¬¿âÓÖ×öÁËÒ»±é£º
£¨1£©cp libtest2.so libtest.so¿ÉÒÔÖ±½Ó¸²¸ÇÒѼÓÔØµÄ¶¯Ì¬¿â¡£
£¨2£©ÏÈrmɾ³ýÒѼÓÔØµÄlibtest.so£¬È»ºócp libtest2.so libtest.so³É¹¦¡£
£¨3£©ÏÈmv¸ÄÃûÒѼÓÔØµÄlibtest.so£¬È»ºócp libtest2.so libtest.so³É¹¦¡£
³ýÁ˵ÚÒ»¸öÓÃÀýÍ⣬½á¹ûÏàͬ¡£ÕâÑù¿´À´£¬¶¯Ì¬¿â±»¼ÓÔØÊ±ÄѵÀld²¢Ã»ÓÐËø¶¨inode£¿²»¹ýÏëÏëÒ²¿ÉÒÔ¿íË¡£¬±Ï¾¹ldÒ²ÊÇÓû§Ì¬³
Ïà¹ØÎĵµ£º
×ÜÀÀ
ÓÃiptables -ADC À´Ö¸¶¨Á´µÄ¹æ
Ôò
£¬-AÌí¼Ó -Dɾ³ý -C ÐÞ¸Ä
iptables - [RI] chain rule num rule-specification[option]
ÓÃiptables - RI ͨ¹ý¹æÔòµÄ˳ÐòÖ¸¶¨
iptables -D chain rule num[option]
ɾ³ýÖ¸¶¨¹æÔò
iptables -[LFZ] [chain][option]
ÓÃiptables -LFZ Á´Ãû [Ñ¡Ïî]
iptables -[NX] chain
ÓÃ -NX ......
LinuxϽøÐÐMYSQLµÄC++±à³ÌÆð²½ÊÖ¼Ç
Ê×ÏȰ²×°±ØÐèµÄ¿ª·¢°ü
sudo apt-get install gcc g++ libgcc1 libg++ make gdb
°²×°MYSQLµÄCÓïÑÔ¿ª·¢°ü
sudo apt-get install libmysql++-dev libmysql++2c2a libmysqlclient15-dev libmysqlclient15off
......
¿ÉÒÔ¶ÁÈ¡/proc/devicesÎļþÒÔ»ñµÃLinuxÄں˷ÖÅ䏸¸ÃÉ豸µÄÖ÷É豸ºÅ¡£
Ö÷É豸ºÅÓÃÀ´Çø·Ö²»Í¬ÖÖÀàµÄÉ豸£¬¶ø´ÎÉ豸ºÅÓÃÀ´Çø·ÖͬһÀàÐ͵Ķà¸öÉ豸
ÔÚLinuxÄں˿´À´£¬Ö÷É豸ºÅ±êʶÉ豸¶ÔÓ¦µÄÇý¶¯³ÌÐò£¬
¸æËßLinuxÄÚºËʹÓÃÄÄÒ»¸öÇý¶¯³ÌÐòΪ¸ÃÉ豸(Ò²¾ÍÊÇ/devϵÄÉ豸Îļþ)·þÎñ£»¶ø´ÎÉ豸ºÅÔòÓÃÀ´±êʶ¾ßÌåÇÒΨһµÄij¸öÉ豸¡£
......
linuxϲ鿴Ŀ¼´óС- -
du -sb /dir
²éÕÒµ±Ç°Óû§Ö÷Ŀ¼ÏµÄËùÓÐÎļþ
find . -print
²éÕÒ/var/logsĿ¼Öиü¸Äʱ¼äÔÚ7ÈÕÒÔǰµÄÆÕͨÎļþ£¬²¢ÔÚɾ³ý֮ǰѯÎÊËüÃÇ
find /var/logs -type f -mtime +7 -ok rm { } \;
δÍê´ýÐø£¡ ......
µÚÒ»²¿·Ö£ºÉèÖÃʱ¼ä
ÎÒÃÇÒ»°ãʹÓÓdate -s”ÃüÁîÀ´ÐÞ¸Äϵͳʱ¼ä (ÕâÀï˵µÄÊÇϵͳʱ¼ä£¬ÊÇlinuxÓɲÙ×÷ϵͳά»¤µÄ¡£)¡£±ÈÈ罫ϵͳʱ¼äÉ趨³É1996Äê6ÔÂ10ÈÕµÄÃüÁîÈçÏ¡£
#date -s 06/10/96
½«ÏµÍ³Ê±¼äÉ趨³ÉÏÂÎç1µã12·Ö0ÃëµÄÃüÁîÈçÏ¡£
#date -s 13:12:00
½«ÈÕÆÚʱ¼äÉèÖóÉ1996Äê6ÔÂ10ÈÕÏÂÎç1µã12·Ö0Ãë¿ÉÒ ......