ÇØÄ¿Áî´º½º / ÇØÄ¿´ëÇÐ

Donation bitcoin(±âºÎ¿ë ºñÆ®ÄÚÀÎ ÁÖ¼Ò)

¡¡
1Pq3K39XM5xx4CifGKgppXeavtWNNHH7K4
¡¡
±âºÎÇϽŠºñÆ®ÄÚÀÎÀº "º¸¾È Ãë¾à °èÃþ"À» À§ÇØ »ç¿ëµÇ°í ÀÖ½À´Ï´Ù.
¡¡
¡¡

Donation bitcoin(±âºÎ¿ë ºñÆ®ÄÚÀÎ ÁÖ¼Ò)

¡¡
1Pq3K39XM5xx4CifGKgppXeavtWNNHH7K4
¡¡
±âºÎÇϽŠºñÆ®ÄÚÀÎÀº "º¸¾È Ãë¾à °èÃþ"À» À§ÇØ »ç¿ëµÇ°í ÀÖ½À´Ï´Ù.
¡¡

°øÁö

¡¡

1. MS ¿§Áö ºê¶ó¿ìÀú¿¡¼­ÀÇ °æ°íâÀº 'À©µµ¿ì µðÆæ´õ'¸¦ ²ô½Ã¸é µË´Ï´Ù.

             'À©µµ¿ì µðÆæ´õ ²ô±â'

2. Å©·Ò ºê¶ó¿ìÀú·Î Á¢¼Ó½Ã ³ª¿À´Â ¾Ç¼ºÄÚµå °æ°íâÀº ±¸±Û Å©·ÒÀÇ ¿¡·¯, Áï ¿ÀŽ(ŽÁö ¿À·ù)À̹ǷΠ¹«½ÃÇÏ½Ã¸é µË´Ï´Ù.

3. ÀÌ »çÀÌÆ®´Â ¾ÈÀüÇÏ¸ç ±ú²ýÇÏ´Ù´Â °ÍÀ» ¾Ë·Á µå¸³´Ï´Ù.

4. ¹«°íÇÑ »çÀÌÆ®µé¿¡ ´ëÇÑ °ø·æ ±â¾÷ ºê¶ó¿ìÀúµéÀÇ ¹«Â÷º°ÀûÀÎ 'ŽÁö ¿À·ù ȾÆ÷'°¡ »ç¿ëÀÚµéÀÇ Á¤º¸ °øÀ¯ÀÇ ÀÚÀ¯¸¦ ħÇØÇÏ°í ÀÖ½À´Ï´Ù. ÀÌ¿¡ ´ëÀÀÇÏ¿© ÀÌ ±â¾÷µéÀ» »ó´ë·Î ¼Ò¼ÛÀ» ÁغñÇÏ°í ÀÖ½À´Ï´Ù.

¡¡


ÇØÄ¿Áî´º½º Á¦°ø ¸®´ª½º + ½º¸¶Æ®ÆùÀÇ ¸ðµç°Í
 
 
No, 6205
±¸ºÐ: È°¿ëÆÁ
»çÀÌÆ®: ÇØÄ¿Áî´º½º
Á¾·ù: ¸®´ª½º
Á¶È¸: 508
Ububtu/Linux¿¡¼­ File °Ë»ö(Search)ÇÏ±â  

Ubuntu´Â file system¿¡ ¸ðµç file¿¡ ´ëÇÑ DB¸¦ À¯Áö/°ü¸®ÇÕ´Ï´Ù.(/etc/updatedb.confµî ¸î¸î ¿¹¿Ü´Â ÀÖ½À´Ï´Ù.) locate ¸í·ÉÀº DB¸¦ °Ë»öÇϴµ¥ ¾²ÀÔ´Ï´Ù. °á°ú´Â file system¿¡¼­°¡ ¾Æ´Ï¶ó DB¸¦ ÅëÇØ °Ë»öÇÏ¿© Áï°¢ÀûÀ¸·Î º¸°íµË´Ï´Ù. locate°¡ °¡´ÉÇϱâÀü¿¡´Â ´ëºÎºÐÀÇ linux user´Â find ¸í·ÉÀ» ÀÌ¿ëÇÏ¿© file systemÀÇ fileÀ» °Ë»öÇÏ¿´½À´Ï´Ù. ¿©±â¿¡¼­´Â locate¿Í find¸¦ ¸ðµÎ ´Ù·ç±â·Î ÇÕ´Ï´Ù.


locate·Î file ã±â

DB´Â file sytem¿¡¼­ ¸ðµç node¿Í ¸í·ÉÀÇ À̸§À» °¡Áö°í Àֱ⠶§¹®¿¡, ´ç½ÅÀº locate¸¦ ¸í·É, device, man page, data files, ȤÀº file system¿¡¼­ À̸§À¸·Î ±¸ºÐµÇ´Â ¸ðµç °ÍÀ» ã´Âµ¥ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ÀÇ ¿¹¸¦ º¸½Ê½Ã¿ä.
locate e1000
/lib/modules/2.6.32-21-generic/kernel/drivers/net/e1000
/lib/modules/2.6.32-21-generic/kernel/drivers/net/e1000e
/lib/modules/2.6.32-21-generic/kernel/drivers/net/e1000/e1000.ko
/lib/modules/2.6.32-21-generic/kernel/drivers/net/e1000e/e1000e.ko
/usr/src/linux-headers-2.6.32-21/drivers/net/e1000
/usr/src/linux-headers-2.6.32-21/drivers/net/e1000e
/usr/src/linux-headers-2.6.32-21/drivers/net/e1000/Makefile
/usr/src/linux-headers-2.6.32-21/drivers/net/e1000e/Makefile
/usr/src/linux-headers-2.6.32-21-generic/include/config/e1000.h
/usr/src/linux-headers-2.6.32-21-generic/include/config/e1000e.h
À§ ¿¹¿¡¼­, e1000.ko¿Í e100.kr kernel ¸ðµâ°ú °°ÀÌ, µÎ°¡Áö ¹öÀüÀ» ã¾ÆÁÝ´Ï´Ù. locate´Â -i ¿É¼ÇÀ» »ç¿ëÇÏÁö ¾ÊÀ¸¸é, case-sensitive·Î µ¿ÀÛÇÕ´Ï´Ù.
locate -i itco_wdt
/lib/modules/2.6.32-21-generic/kernel/drivers/watchdog/iTCO_wdt.ko
slocate package(ȤÀº linux ¹èÆ÷ÆÇ¿¡¼­ mlocate)´Â ÇÏ·ç¿¡ Çѹø fileÀÇ DB¸¦ update¸¦ ½ÇÇàÇÏ´Â jobÀ» cronÇÏ´Â °ÍÀ» Æ÷ÇÔÇÕ´Ï´Ù.

¹Ù·Î DB¸¦ updateÇÏ°í ½Í´Ù¸é, ´ÙÀ½°ú °°ÀÌ ¼öµ¿À» ¸í·ÉÀ» ¼öÇàÇÏ¸é µË´Ï´Ù.
sudo updatedb


find·Î fileÀÇ À§Ä¡ ±¸Çϱâ

locate ÀÌÀüÀÇ ½Ã´ë´Â find ¸í·ÉÀ¸·Î fileÀ» ã¾Ò½À´Ï´Ù. locate´Â º¸´Ù ºü¸£°Ô µ¿ÀÛÇÏÁö¸¸, find´Â À̸§ »Ó¸¸ ¾Æ´Ï¶ó attribute¿Í °°Àº °ÍÀ» ´ë»óÀ¸·Î ÇÏ¿© º¸´Ù °­·ÂÇÑ ´Ù¾çÇÑ ¿É¼ÇÀ» Á¦°øÇÕ´Ï´Ù.

¾Æ·¡ ¿¹Á¦´Â e100¿¡ ´ëÇØ root file system(/)À» recursiveÇÏ°Ô Ã£½À´Ï´Ù.
find / -name "e100*" -print | more
/lib/firmware/2.6.32-21-generic/e100
/lib/firmware/e100
/lib/modules/2.6.32-21-generic/kernel/drivers/net/e1000
/lib/modules/2.6.32-21-generic/kernel/drivers/net/e1000/e1000.ko
/lib/modules/2.6.32-21-generic/kernel/drivers/net/e1000e
/lib/modules/2.6.32-21-generic/kernel/drivers/net/e1000e/e1000e.ko
/lib/modules/2.6.32-21-generic/kernel/drivers/net/e100.ko
find: `/proc/tty/driver': Permission denied
find: `/proc/1/task/1/fd': Permission denied
find: `/proc/1/task/1/fdinfo': Permission denied
...
/usr/src/linux-headers-2.6.32-21-generic/include/config/e1000.h
/usr/src/linux-headers-2.6.32-21-generic/include/config/e100.h
find: `/lost+found': Permission denied
find: `/etc/chatscripts': Permission denied
find: `/etc/ssl/private': Permission denied
find: `/etc/cups/ssl': Permission denied
find: `/etc/ppp/peers': Permission denied
find: `/root': Permission denied

find¸¦ ÀÏ¹Ý user·Î ½ÇÇàÇÏ´Â °ÍÀº ±ÇÇÑ Á¢±Ù ¿À·ù¸¦ ¸¹ÀÌ À¯¹ß ½Ãų ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½°ú °°ÀÌ Á¢±ÙÇÒ ¼ö ¾ø´Â directory¿¡ filter¸¦ °É ¼ö ÀÖ½À´Ï´Ù.
 $ find / -name e100 -print 2>&1 | grep -v "Permission denied"
/lib/firmware/2.6.32-21-generic/e100
/lib/firmware/e100
find / -name e100 -print 2> /dev/null
/lib/firmware/2.6.32-21-generic/e100
/lib/firmware/e100

find´Â case-sensitiveÀ¡ ´Ù°¡, exact matchÀ̱⠶§¹®¿¡ e100.ko°°Àº °ÍÀ» ã¾ÆÁÖÁø ¸øÇÕ´Ï´Ù. ±×·¡¼­, ¾Æ·¡¿Í °°ÀÌ regular expressionÀ» »ç¿ëÇÕ´Ï´Ù.
find / -name "e100*" -print 2> /dev/null
/lib/firmware/2.6.32-21-generic/e100
/lib/firmware/e100
/lib/modules/2.6.32-21-generic/kernel/drivers/net/e1000
/lib/modules/2.6.32-21-generic/kernel/drivers/net/e1000/e1000.ko
/lib/modules/2.6.32-21-generic/kernel/drivers/net/e1000e
/lib/modules/2.6.32-21-generic/kernel/drivers/net/e1000e/e1000e.ko
/lib/modules/2.6.32-21-generic/kernel/drivers/net/e100.ko
/usr/src/linux-headers-2.6.32-21/drivers/net/e1000
/usr/src/linux-headers-2.6.32-21/drivers/net/e1000e
/usr/src/linux-headers-2.6.32-21-generic/include/config/e1000e.h
/usr/src/linux-headers-2.6.32-21-generic/include/config/e1000.h
/usr/src/linux-headers-2.6.32-21-generic/include/config/e100.h

¶ÇÇÑ, timestamp·Î °Ë»öÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½Àº ~ directory¿¡¼­ °ú°Å 2ºÐµ¿¾È accessµÈ °ÍÀ» º¸¿©ÁÝ´Ï´Ù.
touch errors.txt
find ~ -amin -2 -print
/home/greenfish/errors.txt

±×¸®°í, ~ directory¿¡¼­ 60Àϵ¿¾È accessÇÏÁö ¾ÊÀº ÆÄÀÏÀ» ãÀ» ¼ö ÀÖ½À´Ï´Ù.
find ~ -atime +60

-type d ¿É¼ÇÀ» »ç¿ëÇϸé directory¸¦ °Ë»çÇÕ´Ï´Ù. ´ÙÀ½Àº /etcÀÇ ¸ðµç ÇϺθ¦ Ã£°í, stderr¸¦ bit bucket(/dev/null)·Î º¸³À´Ï´Ù.
find /etc -type d -print 2> /dev/null
/etc
/etc/wpa_supplicant
/etc/ufw
...
/etc/fonts
/etc/fonts/conf.avail
/etc/fonts/conf.d

¾Æ·¡ ¸í·ÉÀº 750°ú matchµÇ´Â ±ÇÇÑÀ» °¡Áø /sbinÀ» ã½À´Ï´Ù.
find /sbin/ -perm 750 -print

exec ¿É¼ÇÀº °­·ÂÇÑ µµ±¸·Î, find ¸í·ÉÀ¸·Î ½ÇÇàÇÒ ¼ö ÀÖ°Ô ÇØÁÝ´Ï´Ù. ´ÙÀ½ÀÇ ¸í·ÉÀº greenfish user°¡ ¼ÒÀ¯ÇÏ°í ÀÖ´Â /var¸¦ °Ë»öÇÏ°í ls -l ¸í·ÉÀ» °¢°¢ ½ÇÇàÇÕ´Ï´Ù.
find /var -user greenfish -exec ls -l {} \; 2> /dev/null
total 4
-rw-r--r-- 1 greenfish greenfish 21 2010-10-03 20:28 dmrc
-rw-r--r-- 1 greenfish greenfish 21 2010-10-03 20:28 /var/cache/gdm/greenfish/dmrc

´Ù¸¥¹æ¹ýÀ¸·Î, ´ÙÀ½°ú °°ÀÌ xargs¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

find /var -user greenfish -print 2> /dev/null | xargs ls -l
-rw-r--r-- 1 greenfish greenfish   21 2010-10-03 20:28 /var/cache/gdm/greenfish/dmrc

/var/cache/gdm/greenfish:
total 4
-rw-r--r-- 1 greenfish greenfish 21 2010-10-03 20:28 dmrc


À§ µÎ°³ÀÇ Å« Â÷ÀÌÁ¡Àº ¼º´ÉÀ̶ó ÇÒ ¼ö ÀÖ½À´Ï´Ù. find -exec´Â ãÀ» ¶§ ¸¶´Ù °¢°¢ ls¸¦ ½ÇÇàÇÏ°í, xargs´Â º¸´Ù È¿°úÀûÀ¸·Î »øÇàµÇ´Âµ¥ ls ¸í·ÉÀ¸·Î Çѹø¿¡ °á°ú¸¦ Àü´ÞÇÏ°Ô µË´Ï´Ù.

°Ë»ö ±âÁØÀ» ºÎÁ¤ÇÏ·Á¸é !¸¦ »ç¿ëÇÕ´Ï´Ù.
´ÙÀ½ ¿¹´Â root group¿¡ ¼ÒÀ¯µÇÁö ¾ÊÀº ¸ðµç Á¤±Ô fileÀ» ³ª¿­ÇÏ°í ls -lÀ» ¼öÇàÇÕ´Ï´Ù.
find / ! -group root -type f -print 2> /dev/null | xargs ls -l
...
-rw-r----- 1 syslog    adm           10574 2010-10-18 16:43 /var/log/user.log.1
-rw-rw-r-- 1 root      utmp          87168 2010-10-19 04:49 /var/log/wtmp
-rw-r--r-- 1 avahi     avahi             4 2010-10-18 16:43 /var/run/avahi-daemon/pid
-rw-rw-r-- 1 root      utmp           2688 2010-10-19 04:49 /var/run/utmp

´ÙÀ½Àº ´Ù¸¥ À̵鿡 ÀÇÇØ writableÇÏÁö ¾ÊÀº fileÀ» ³ª¿­ÇÏ°í, ls -lÀ» ¼öÇàÇÕ´Ï´Ù.
find /sbin/ -type f ! -perm /o+w -print | xargs ls -l
-rwxr-xr-x 1 root root     5496 2009-12-25 00:26 /sbin/acpi_available
-rwxr-xr-x 1 root root     5553 2010-01-28 16:01 /sbin/alsa
-rwxr-xr-x 1 root root    84192 2010-03-28 16:02 /sbin/alsactl
-rwxr-xr-x 1 root root    10557 2010-03-28 16:02 /sbin/alsa-utils
...
-rwxr-xr-x 1 root root    13800 2010-03-22 10:51 /sbin/wipefs
-rwxr-xr-x 1 root root     1910 2010-03-06 22:24 /sbin/wpa_action
-rwxr-xr-x 1 root root    39344 2010-03-06 22:24 /sbin/wpa_cli
-rwxr-xr-x 1 root root   515044 2010-03-06 22:24 /sbin/wpa_supplicant

file size¿¡ ÀÇÇÑ Ã£±â´Â ¾î¶² °ÍÀÌ hard disk¸¦ Â÷ÁöÇÏ°í ÀÖ´ÂÁö¸¦ ½±°Ô È®ÀνÃÄÑ ÁÝ´Ï´Ù. ´ÙÀ½ÀÇ ¸í·ÉÀº 10MB ÀÌ»óÀÇ ÆÄÀÏÀ» ³ª¿­ÇÏ°í, °¡Àå ÀÛÀº ¿ë·®ºÎÅÍ ³ª¿­(ls -lS)ÇÏ°í /tmp/bigfiles.txt¿¡ º¸°íÇÕ´Ï´Ù.
find / -xdev -size +10M -print | xargs ls -lS > /tmp/bigfiles.txt
xdev´Â °Ë»öÇÒ directoryÀÇ file system¿¡¼­¸¸ ã°í, ´Ù¸¥ mountµÈ file systemÀº °Ë»öÀ» ¹èÁ¦Çϵµ·Ï ÇÕ´Ï´Ù. ÀÌ´Â /proc directory³ª ´Ù¸¥ ¿ø°Ý mountµÈ file systemµî¿¡¼­ ã´Âµ¥ µµ¿òÀ» ÁÖ¸ç, ¿ª½Ã local mountµÈ file system¿¡¼­¸¸ ã´Âµ¥µµ µµ¿òÀ» ÁÝ´Ï´Ù.


fileÀ» ã´Âµ¥ ÇÊ¿äÇÑ ´Ù¸¥ ¸í¸í

´Ù¸¥ ¸í·ÉÀ¸·Î´Â whereis¿Í which°¡ »ç¿ëµË´Ï´Ù.
whereis man
man: /usr/bin/man /usr/local/man /usr/share/man /usr/share/man/man7/man.7.gz /usr/share/man/man1/man.1.gz
which ls
/bin/ls

whreris ¸í·ÉÀº ¸í·É »Ó¸¸ ¾Æ´Ï¶ó man page, ¸í·É°ú ¿¬°èµÈ conf ÆÄÀϵéÀ» ÇÔ²² °Ë»öÇϴµ¥ µµ¿òÀ» ÁÝ´Ï´Ù. À§ ¿¹¿¡¼­ man ´Ü¾î¿¡ ´ëÇÑ find °á°ú¿¡¼­ ½ÇÇà ÆÄÀÏ, ¼³Á¤ ÆÄÀÏ ±×¸®°í man ¼³¸íÀ» À§ÇÑ man pageµµ ÇÔ²² ³ª¿­ÇØ ÁÝ´Ï´Ù. which ¸í·ÉÀº ls ¸í·ÉÀÇ ½ÇÇà °æ·Î¸¦ ¾Ë·ÁÁÝ´Ï´Ù. which ¸í·ÉÀº PATH »óÀÇ ½ÇÁ¦ ½ÇÇàµÉ °æ·Ñ¸£ ã´Âµ¥ µµ¿òÀ» ÁÝ´Ï´Ù.

dpkg-query -S `which ps`
procps: /bin/ps

                    ¼öÁ¤/»èÁ¦     ÀÌÀü±Û ´ÙÀ½±Û    
¹øÈ£Á¦ ¸ñÁ¾·ùÀÛ¼ºÀÏ
6207   150´Þ·¯Â¥¸® ¸®´ª½ºÆù ¹Ì±¹ Ãâ½Ã ½º¸¶Æ®Æù   01-22
6206   wipefs ¸í·É¾î ¸®´ª½º  01-21
6205   Ububtu/Linux¿¡¼­ File °Ë»ö(Search)Çϱ⠸®´ª½º  01-20
6204   ¿ìºÐÅõ¿¡¼­ rc.local ÆÄÀÏÀÌ ¾øÀ»¶§ ¿ìºÐÅõ  01-20
6203   Çѱ¹ÀÇ AWS Heroes¸¦ ¼Ò°³ÇÕ´Ï´Ù! sws heros  01-19
6202   MS, MVP ÇÁ·Î±×·¥ ¼ÕÁú MVP  01-18
6201   ±¸±Û Å©·Ò¾Û Áö¿ø Áß´Ü ºê¶ó¿ìÀú  01-17
6200   Áß±¹, ÀÚü OS Á¤½Ä ¹ßÇ¥ ¸®´ª½º  01-16
6199   DNS - resolve.conf ¼³Á¤Çϱ⠸®´ª½º  01-15
6198   'À©µµ õÇÏ' OS Á¾¼Ó¿¡ º¸¾È ÁÖ±Ç »¯°Ü¡¦'±¹»ê OS'... ¸®´ª½º  01-14
 
 

 
óÀ½ ÀÌÀü ´ÙÀ½       ¸ñ·Ï Ȩ