Áú»¢¶Ä²©

7 §±§â§Ú§Ý§Ñ§Ô§à?§Ö§ß§Ñ LLD §á§â§Ñ§Ó§Ú§Ý§Ñ

§±§â§Ö§Ô§Ý§Ö§Õ

§´§Ñ§Ü§à?§Ö ?§Ö §Þ§à§Ô§å?§Ö §Ü§â§Ö§Ú§â§Ñ§ä§Ú §á§à§ä§á§å§ß§à §á§â§Ú§Ý§Ñ§Ô§à?§Ö§ß§à LLD §á§â§Ñ§Ó§Ú§Ý§à, §à§ä§Ü§â§Ú§Ó§Ñ?§Ö §Ò§Ú§Ý§à §Ü§à?§Ú §ä§Ú§á §Ö§ß§ä§Ú§ä§Ö§ä§Ñ - §ß§Ñ §á§â§Ú§Þ§Ö§â, §Ò§Ñ§Ù§Ö §á§à§Õ§Ñ§ä§Ñ§Ü§Ñ §ß§Ñ §ã§Ö§â§Ó§Ö§â§å §Ò§Ñ§Ù§Ö §á§à§Õ§Ñ§ä§Ñ§Ü§Ñ.

§¥§Ñ §Ò§Ú§ã§ä§Ö §ä§à §å§â§Ñ§Õ§Ú§Ý§Ú, §ä§â§Ö§Ò§Ñ §Ü§â§Ö§Ú§â§Ñ§ä§Ú §á§â§Ú§Ý§Ñ§Ô§à?§Ö§ß§å §ã§ä§Ñ§Ó§Ü§å §Ü§à?§Ñ §Ó§â§Ñ?§Ñ JSON, §ß§Ñ§Ó§à§Õ§Ö?§Ú §á§â§à§ß§Ñ?§Ö§ß§Ú §à§Ò?§Ö§Ü§ä§Ú §Ú §à§á§è§Ú§à§ß§à - §ß§Ö§Ü§Ñ ?§Ú§ç§à§Ó§Ñ §ã§Ó§à?§ã§ä§Ó§Ñ. §ª§Ù§ß§à§ã §à§Õ §Þ§Ñ§Ü§â§à§Ú §á§à §Ö§ß§ä§Ú§ä§Ö§ä§å §ß§Ú§ã§å §à§Ô§â§Ñ§ß§Ú§é§Ö§ß§Ú - §Õ§à§Ü §å§Ô§â§Ñ?§Ö§ß§Ñ §á§â§Ñ§Ó§Ú§Ý§Ñ §à§ä§Ü§â§Ú§Ó§Ñ?§Ñ §Ó§â§Ñ§ä§Ú ?§Ö§Õ§Ñ§ß §Ú§Ý§Ú §Õ§Ó§Ñ §Þ§Ñ§Ü§â§à§Ñ (§ß§Ñ §á§â§Ú§Þ§Ö§â, §Õ§Ó§Ñ §Ù§Ñ §ã§Ú§ã§ä§Ö§Þ §Õ§Ñ§ä§à§ä§Ö§Ü§Ñ §à§ä§Ü§â§Ú?§Ö), §Þ§à§Ô§å?§Ö ?§Ö §Ó§â§Ñ§ä§Ú§ä§Ú §Ó§Ú§ê§Ö.

§±§â§Ú§Þ§Ö§â

§±§à§ä§â§Ö§Ò§Ñ§ß JSON §æ§à§â§Þ§Ñ§ä §ß§Ñ?§Ò§à?§Ö ?§Ö §Ú§Ý§å§ã§ä§â§à§Ó§Ñ§ä§Ú §á§â§Ú§Þ§Ö§â§à§Þ. §±§â§Ö§ä§á§à§ã§ä§Ñ§Ó§Ú§Þ§à §Õ§Ñ §Þ§Ú§Ü§à§â§Ú§ã§ä§Ö §ã§ä§Ñ§â§Ú Áú»¢¶Ä²© 1.8 §Ñ§Ô§Ö§ß§ä(§Ü§à?§Ú §ß§Ö §á§à§Õ§â§Ø§Ñ§Ó§Ñ "vfs.fs.discovery"), §Ñ§Ý§Ú ?§à§ê §å§Ó§Ö§Ü §Þ§à§â§Ñ§Þ§à §Õ§Ñ §à§ä§Ü§â§Ú?§Ö§Þ§à §ã§Ú§ã§ä§Ö§Þ §Õ§Ñ§ä§à§ä§Ö§Ü§Ñ. §¦§Ó§à ?§Ö ?§Ö§Õ§ß§à§ã§ä§Ñ§Ó§ß§Ñ Perl §ã§Ü§â§Ú§á§ä§Ñ §Ù§Ñ Linux §Ü§à?§Ñ §à§ä§Ü§â§Ú§Ó§Ñ §Þ§à§ß§ä§Ú§â§Ñ§ß§Ö §ã§Ú§ã§ä§Ö§Þ§Ö §Õ§Ñ§ä§à§ä§Ö§Ü§Ñ §Ú §Ú§Ù§Ý§Ñ§Ù§Ú JSON, §Ü§à?§Ú §å§Ü?§å§é§å?§Ö §Ú§Þ§Ö §Ú §ä§Ú§á §ã§Ú§ã§ä§Ö§Þ§Ñ §Õ§Ñ§ä§à§ä§Ö§Ü§Ñ. ?§Ö§Õ§Ñ§ß §ß§Ñ§é§Ú§ß §Õ§Ñ §Ü§à§â§Ú§ã§ä§Ú§ä§Ú §Ô§Ñ §Ü§Ñ§à UserParameter §ã§Ñ §Ü?§å§é§Ö§Þ "vfs.fs.discovery_perl":

#!/usr/bin/perl
       
       $first = 1;
       
       print "[\n";
       
       for (`cat /proc/mounts`)
       {
           ($fsname, $fstype) = m/\S+ (\S+) (\S+)/;
       
           print "\t,\n" if not $first;
           $first = 0;
       
           print "\t{\n";
           print "\t\t\"{#FSNAME}\":\"$fsname\",\n";
           print "\t\t\"{#FSTYPE}\":\"$fstype\"\n";
           print "\t}\n";
       }
       
       print "]\n";

§¥§à§Ù§Ó§à?§Ö§ß§Ú §ã§Ú§Þ§Ò§à§Ý§Ú §Ù§Ñ §Ú§Þ§Ö§ß§Ñ LLD §Þ§Ñ§Ü§â§à§Ñ §ã§å 0-9, A-Z, _, . §®§Ñ§Ý§Ñ §ã§Ý§à§Ó§Ñ §ß§Ú§ã§å §á§à§Õ§â§Ø§Ñ§ß§Ñ §å §Ú§Þ§Ö§ß§Ú§Þ§Ñ.

§±§â§Ú§Þ§Ö§â ?§Ö§Ô§à§Ó§à§Ô §Ú§Ù§Ý§Ñ§Ù§Ñ (§â§Ö§æ§à§â§Þ§Ñ§ä§Ú§â§Ñ§ß §â§Ñ§Õ§Ú ?§Ñ§ã§ß§à?§Ö) ?§Ö §á§â§Ú§Ü§Ñ§Ù§Ñ§ß §Ú§ã§á§à§Õ. JSON §Ù§Ñ §á§â§Ú§Ý§Ñ§Ô§à?§Ö§ß§Ö §á§â§à§Ó§Ö§â§Ö §à§ä§Ü§â§Ú§Ó§Ñ?§Ñ §Þ§à§â§Ñ?§å §Õ§Ñ §á§â§Ñ§ä§Ö §Ú§ã§ä§Ú §æ§à§â§Þ§Ñ§ä.

[
           { "{#FSNAME}":"/",                           "{#FSTYPE}":"rootfs"   },
           { "{#FSNAME}":"/sys",                        "{#FSTYPE}":"sysfs"    },
           { "{#FSNAME}":"/proc",                       "{#FSTYPE}":"proc"     },
           { "{#FSNAME}":"/dev",                        "{#FSTYPE}":"devtmpfs" },
           { "{#FSNAME}":"/dev/pts",                    "{#FSTYPE}":"devpts"   },
           { "{#FSNAME}":"/lib/init/rw",                "{#FSTYPE}":"tmpfs"    },
           { "{#FSNAME}":"/dev/shm",                    "{#FSTYPE}":"tmpfs"    },
           { "{#FSNAME}":"/home",                       "{#FSTYPE}":"ext3"     },
           { "{#FSNAME}":"/tmp",                        "{#FSTYPE}":"ext3"     },
           { "{#FSNAME}":"/usr",                        "{#FSTYPE}":"ext3"     },
           { "{#FSNAME}":"/var",                        "{#FSTYPE}":"ext3"     },
           { "{#FSNAME}":"/sys/fs/fuse/connections",    "{#FSTYPE}":"fusectl"  }
       ]

§µ §á§â§Ö§ä§ç§à§Õ§ß§à§Þ §á§â§Ú§Þ§Ö§â§å §á§à§ä§â§Ö§Ò§ß§à ?§Ö §Õ§Ñ §Ü?§å§é§Ö§Ó§Ú §à§Õ§Ô§à§Ó§Ñ§â§Ñ?§å LLD §Þ§Ñ§Ü§â§à§å §Ú§Þ§Ö§ß§Ñ §Ü§à?§Ñ §ã§Ö §Ü§à§â§Ú§ã§ä§Ö §å §á§â§à§ä§à§ä§Ú§á§à§Ó§Ú§Þ§Ñ, §Ñ§Ý§ä§Ö§â§ß§Ñ§ä§Ú§Ó§Ñ ?§Ö §Ú§Ù§Õ§Ó§Ñ?§Ñ?§Ö LLD §Þ§Ñ§Ü§â§à §Ó§â§Ö§Õ§ß§à§ã§ä§Ú §Ü§à§â§Ú§ã§ä§Ö?§Ú JSONPath {#FSNAME} ¡ú $.fsname y {#FSTYPE} ¡ú $.fstype, §ß§Ñ §ä§Ñ? §ß§Ñ§é§Ú§ß §à§Þ§à§Ô§å?§Ñ§Ó§Ñ?§å?§Ú §ä§Ñ§Ü§Ó§å §ã§Ü§â§Ú§á§ä§å:

#!/usr/bin/perl
        
       $first = 1;
        
       print "[\n";
        
       for (`cat /proc/mounts`)
       {
           ($fsname, $fstype) = m/\S+ (\S+) (\S+)/;
        
           print "\t,\n" if not $first;
           $first = 0;
        
           print "\t{\n";
           print "\t\t\"fsname\":\"$fsname\",\n";
           print "\t\t\"fstype\":\"$fstype\"\n";
           print "\t}\n";
       }
        
       print "]\n";

§±§â§Ú§Þ§Ö§â ?§Ö§Ô§à§Ó§à§Ô §Ú§Ù§Ý§Ñ§Ù§Ñ (§â§Ö§æ§à§â§Þ§Ñ§ä§Ú§â§Ñ§ß §â§Ñ§Õ§Ú ?§Ñ§ã§ß§à?§Ö) ?§Ö §á§â§Ú§Ü§Ñ§Ù§Ñ§ß §Ú§ã§á§à§Õ. JSON §Ù§Ñ §á§â§Ú§Ý§Ñ§Ô§à?§Ö§ß§Ö §á§â§à§Ó§Ö§â§Ö §à§ä§Ü§â§Ú§Ó§Ñ?§Ñ §Þ§à§â§Ñ?§å §Õ§Ñ §á§â§Ñ§ä§Ö §Ú§ã§ä§Ú §æ§à§â§Þ§Ñ§ä.

[
           { "fsname":"/",                           "fstype":"rootfs"   },
           { "fsname":"/sys",                        "fstype":"sysfs"    },
           { "fsname":"/proc",                       "fstype":"proc"     },
           { "fsname":"/dev",                        "fstype":"devtmpfs" },
           { "fsname":"/dev/pts",                    "fstype":"devpts"   },
           { "fsname":"/lib/init/rw",                "fstype":"tmpfs"    },
           { "fsname":"/dev/shm",                    "fstype":"tmpfs"    },
           { "fsname":"/home",                       "fstype":"ext3"     },
           { "fsname":"/tmp",                        "fstype":"ext3"     },
           { "fsname":"/usr",                        "fstype":"ext3"     },
           { "fsname":"/var",                        "fstype":"ext3"     },
           { "fsname":"/sys/fs/fuse/connections",    "fstype":"fusectl"  }
       ]

§©§Ñ§ä§Ú§Þ, §å §á§à?§å "§¶§Ú§Ý§ä§Ö§â" §á§â§Ñ§Ó§Ú§Ý§Ñ §à§ä§Ü§â§Ú§Ó§Ñ?§Ñ, §Þ§à§Ô§Ý§Ú §Ò§Ú§ã§Þ§à §Õ§Ñ §ß§Ñ§Ó§Ö§Õ§Ö§Þ§à "{#FSTYPE}" §Ü§Ñ§à §Þ§Ñ§Ü§â§à §Ú "rootfs|ext3" §Ü§Ñ§à §â§Ö§Ô§å§Ý§Ñ§â§ß§Ú §Ú§Ù§â§Ñ§Ù.

§¯§Ö §Þ§à§â§Ñ§ä§Ö §Õ§Ñ §Ü§à§â§Ú§ã§ä§Ú§ä§Ö §Ú§Þ§Ö§ß§Ñ §Þ§Ñ§Ü§â§à§Ñ FSNAME/FSTYPE §ã§Ñ §á§â§Ú§Ý§Ñ§Ô§à?§Ö§ß§Ú§Þ LLD §á§â§Ñ§Ó§Ú§Ý§Ú§Þ§Ñ, §ã§Ý§à§Ò§à§Õ§ß§Ú §ã§ä§Ö §Õ§Ñ §Ü§à§â§Ú§ã§ä§Ú§ä§Ö §Ú§Þ§Ö§ß§Ñ §Ü§à?§Ñ §Ô§à§Õ §Ø§Ö§Ý§Ú§ä§Ö. §µ §ã§Ý§å§é§Ñ?§å §Õ§Ñ JSONPath §ã§Ö §Ü§à§â§Ú§ã§ä§Ú §à§ß§Õ§Ñ ?§Ö LLD §â§Ö§Õ §Ò§Ú§ä§Ú §Ö§Ý§Ö§Þ§Ö§ß§ä §ß§Ú§Ù§Ñ §Ü§à?§Ú §Þ§à§Ø§Ö §Ò§Ú§ä§Ú §à§Ò?§Ö§Ü§Ñ§ä, §Ñ§Ý§Ú §Þ§à§Ø§Ö §Ò§Ú§ä§Ú §Ú §Õ§â§å§Ô§Ú §ß§Ú§Ù §Ú§Ý§Ú §Ó§â§Ö§Õ§ß§à§ã§ä.

§ª§Þ§Ñ?§ä§Ö §ß§Ñ §å§Þ§å §Õ§Ñ ?§Ö, §Ñ§Ü§à §Ü§à§â§Ú§ã§ä§Ú§ä§Ö §Ü§à§â§Ú§ã§ß§Ú§é§Ü§Ú §á§Ñ§â§Ñ§Þ§Ö§ä§Ñ§â, §á§à§Ó§â§Ñ§ä§ß§Ñ §Ó§â§Ö§Õ§ß§à§ã§ä §à§Ô§â§Ñ§ß§Ú§é§Ö§ß§Ñ §ß§Ñ 16 MB. §©§Ñ §Ó§Ú§ê§Ö §Õ§Ö§ä§Ñ?§Ñ §á§à§Ô§Ý§Ö§Õ§Ñ?§ä§Ö §à§Ô§â§Ñ§ß§Ú§é§Ö?§Ñ §á§à§Õ§Ñ§ä§Ñ§Ü§Ñ §Ù§Ñ LLD §á§à§Ó§â§Ñ§ä§ß§Ö §Ó§â§Ö§Õ§ß§à§ã§ä§Ú.