ͨ¹ýcÓïÑÔ»ù´¡¿â´Ó»ñÈ¡linuxÓû§µÄ»ù±¾ÐÅÏ¢¡£
1¡¢Ê¹ÓÃstruct passwd¹ÜÀíÓû§ÐÅÏ¢¡£
struct passwd
{
char *pw_name; /* Óû§µÇ¼Ãû */
char *pw_passwd; /* ÃÜÂë(¼ÓÃܺó)*/
__uid_t pw_uid; /* Óû§ID */
__gid_t pw_gid; /* ×éID */
char *pw_gecos; /* ÏêϸÓû§Ãû */
char *pw_dir; /* Óû§Ä¿Â¼ */
char *pw_she ......
Linux sort ÃüÁîÏê½â
2007-06-23 02:34
Óï·¨¸ñʽ
sort [ -A ] [ -b ] [ -c ] [ -d ] [ -f ] [ -i ] [ -m] [ -n ] [ -r ] [ -u ] [ -o OutFile ]
[ -t Character ] [ -T Directory ] [ -y [ Kilobytes ] ] [ -z RecordSize ] [ [ + [ FSkip ]
[ .CSkip ] [ b ] [ d ] [ f ] [ i ] [ n ] [ r ] ] [ - [ FSkip ] [ .CSkip ] [ b ] [ d ] [ f ]
[ i ] [ n ] [ r ] ] ] [ -k KeyDefinition ] [Îļþ ]
ʹÓÃ˵Ã÷
sort ÃüÁî¶Ô File ²ÎÊýÖ¸¶¨µÄÎļþÖеÄÐÐÅÅÐò£¬²¢½«½á¹ûдµ½±ê×¼Êä³ö¡£Èç¹û File ²ÎÊýÖ¸¶¨¶à¸öÎļþ£¬
ÄÇô sort ÃüÁÕâЩÎļþÁ¬½ÓÆðÀ´£¬²¢µ±×÷Ò»¸öÎļþ½øÐÐÅÅÐò¡£-£¨¼õºÅ£©´úÌæÎļþÃûÖ¸¶¨±ê×¼ÊäÈë¡£
Èç¹ûÄú²»Ö¸¶¨ÈκÎÎļþÃû£¬ÄÇô¸ÃÃüÁî¶Ô±ê×¼ÊäÈëÅÅÐò¡£¿ÉÒÔʹÓà -o ±êÖ¾Ö¸¶¨Êä³öÎļþ¡£
Èç¹û²»Ö¸¶¨ÈκαêÖ¾£¬sort ÃüÁî»ùÓÚµ±Ç°ÓïÑÔ»·¾³µÄÕûÀí˳Ðò¶ÔÊäÈëÎļþµÄËùÓÐÐÐÅÅÐò¡£
Ö÷Òª²ÎÊý
-A ʹÓà ASCII ÕûÀí˳Ðò´úÌæµ±Ç°ÓïÑÔ»·¾³µÄÕûÀí˳ÐòÔÚÖð×ֽڵĻù´¡ÉÏÅÅÐò¡£
-b ºöÂÔǰµ¼¿Õ¸ñºÍÖÆ±í·û£¬ÕÒ³ö×ֶεĵÚÒ»»ò×îºóÁС£
-c ¼ì²éÊäÈëÊÇ·ñÒѰ´ÕÕ±êÖ¾ÖÐÖ¸¶¨µÄÅÅÐò¹æÔò½øÐÐÅÅÐò¡£Èç¹ûÊäÈëÎļþÅÅÐò²»ÕýÈ·£¬¾Í·µ»ØÒ»¸ö·ÇÁãÖµ¡£
-d ʹÓÃ×Öµä˳ÐòÅÅÐò¡£±È½ÏÖн ......
Linux°æ±¾£ºfedora 11 ÄÚºË2.6
1.È·¶¨°²×°vsftpd¡£
££ su
££ yum install vsftpd
2.ÔÚ·À»ðǽÅäÖÃÖÐÒªÔÊÐíftpºÍssh·þÎñ¡£
"System"—>"Administration"—>“Firewall”£¬Ñ¡ÔñftpºÍssh·þÎñ
3.Æô¶¯vsftp£¨¹ÜÀíԱģʽÏ£©
·½Ê½Ò»£º×ÀÃæ"System"—>"Administration"—>"Services"£¬ÔÚ´ò¿ªµÄ´°¿Ú×ó²àÑ¡Ôñ“vsftpd”£¬È»ºóµã»÷¹¤¾ßÀ¸Éϵ½“Start”¼´¿É£¬Èç¹ûÏ뿪»ú¾ÍÆô¶¯vsftp£¬Ôòµã»÷“Enable”¼´¿É¡£
·½Ê½¶þ£ºÔÚÖÕ¶ËÏÂÊäÈ룺
&n ......
½ñÌìÔÚLinux³ÌÐòÉè¼ÆµÄʱºòÐèÒªÇå¿Õ±ê×¼ÊäÈ뻺³åÇø£¬ÓÚÊÇʹÓÃÁËÈçÏÂWindows³ÌÐòÉè¼ÆÖеķ½·¨£º
1.fflush(stdin)£»Õâ¸öfflush()º¯Êý¸ù±¾²»ÊDZê×¼CÖеĺ¯Êý£¬Ö»ÊDZê×¼CµÄÀ©Õ¹£¬ËùÒÔÔÚLinuxÖÐʹÓøù±¾²»ÐУ»
2.ÖÐÍøÉÏËÑË÷ÁËÏ£¬·¢ÏÖÓÐÍøÓѽ¨ÒéʹÓÃrewind(stdin)£»Õâ¸öº¯ÊýÆäʵÊǽ«Ö¸ÕëÖ¸ÏòÁ÷µÄ¿ªÊ¼´¦¡£µ«ÊÇËüÊÇÎļþ²Ù×÷ÖеÄÒ»¸öº¯Êý£¬²Ù×÷µÄÊÇFILEÐÍÁ÷£¬ÔÚWindows³ÌÐòÉè¼ÆÖÐÊÇ¿ÉÒÔÇå¿Õ±ê×¼ÊäÈ뻺³åÇøµÄ£¬µ«ÊÇÔÚLinuxÖв»ÐС£
3.ͨ¹ý¶ÁÍê±ê×¼»º³åÇøÖеÄÊ£Óà×Ö·û²¢¶ªÆúµôÀ´Çå¿Õ±ê×¼»º³åÇø£¬Ê¹Óõĺ¯ÊýÊÇgetchar()£¬´Ëº¯ÊýµÄ×÷ÓÃÊÇ´Ó±ê×¼ÊäÈ뻺³åÇøÖжÁ³öÒ»¸ö×Ö·û£¬´Ë·½·¨ÖÐLinuxÖпÉÐС£
Èç¹ûÐèÒªÇå³ýstdin¿ÉÒÔͨ¹ýÈçÏÂÑ»·ÊµÏÖ£º
char ch;
while((ch=getchar())!='\n'&&ch!=EOF);
ÒÔÉÏÓï¾ä½«Çå³ýstdinÖеÄ×Ö·û£¬ÖªµÀÓöµ½»»Ðзû»òÕßÊǶÁÍ껺³åÇø¡£
ÒÔÉϵķ½·¨¾ù¿ÉÒÔÔÚWindows³ÌÐòÉè¼ÆÖÐÓÃÀ´Çå³ý»º³åÇø£»
4.ÔÚLinux³ÌÐòÉè¼ÆÖÐÒ²»¹ÊÇÓÐÒ»ÖÖÓÃÀ´Çå¿ÕstdinÖеķ½·¨£¬Ö±½Óµ÷ÓÃÈçϵĺ¯Êý£º
setbuf(stdin, NULL);
´Ëº¯ÊýÎÒ»¹Ã»ÓÐÀ´µÃ¼°²âÊÔ£»
ͨ¹ýÒÔÉÏ·ÖÎö£¬ÔÚLinuxÏÂÇå¿ÕstdinÓÃÁ½ÖÖ·½·¨£º
1.ͨ¹ý¶ÁȡʣÓàµÄ×Ö·û²¢¶ªÆúµô£»
char ch;
while((ch=getchar())!='\n'& ......
½ñÌìÔÚLinux³ÌÐòÉè¼ÆµÄʱºòÐèÒªÇå¿Õ±ê×¼ÊäÈ뻺³åÇø£¬ÓÚÊÇʹÓÃÁËÈçÏÂWindows³ÌÐòÉè¼ÆÖеķ½·¨£º
1.fflush(stdin)£»Õâ¸öfflush()º¯Êý¸ù±¾²»ÊDZê×¼CÖеĺ¯Êý£¬Ö»ÊDZê×¼CµÄÀ©Õ¹£¬ËùÒÔÔÚLinuxÖÐʹÓøù±¾²»ÐУ»
2.ÖÐÍøÉÏËÑË÷ÁËÏ£¬·¢ÏÖÓÐÍøÓѽ¨ÒéʹÓÃrewind(stdin)£»Õâ¸öº¯ÊýÆäʵÊǽ«Ö¸ÕëÖ¸ÏòÁ÷µÄ¿ªÊ¼´¦¡£µ«ÊÇËüÊÇÎļþ²Ù×÷ÖеÄÒ»¸öº¯Êý£¬²Ù×÷µÄÊÇFILEÐÍÁ÷£¬ÔÚWindows³ÌÐòÉè¼ÆÖÐÊÇ¿ÉÒÔÇå¿Õ±ê×¼ÊäÈ뻺³åÇøµÄ£¬µ«ÊÇÔÚLinuxÖв»ÐС£
3.ͨ¹ý¶ÁÍê±ê×¼»º³åÇøÖеÄÊ£Óà×Ö·û²¢¶ªÆúµôÀ´Çå¿Õ±ê×¼»º³åÇø£¬Ê¹Óõĺ¯ÊýÊÇgetchar()£¬´Ëº¯ÊýµÄ×÷ÓÃÊÇ´Ó±ê×¼ÊäÈ뻺³åÇøÖжÁ³öÒ»¸ö×Ö·û£¬´Ë·½·¨ÖÐLinuxÖпÉÐС£
Èç¹ûÐèÒªÇå³ýstdin¿ÉÒÔͨ¹ýÈçÏÂÑ»·ÊµÏÖ£º
char ch;
while((ch=getchar())!='\n'&&ch!=EOF);
ÒÔÉÏÓï¾ä½«Çå³ýstdinÖеÄ×Ö·û£¬ÖªµÀÓöµ½»»Ðзû»òÕßÊǶÁÍ껺³åÇø¡£
ÒÔÉϵķ½·¨¾ù¿ÉÒÔÔÚWindows³ÌÐòÉè¼ÆÖÐÓÃÀ´Çå³ý»º³åÇø£»
4.ÔÚLinux³ÌÐòÉè¼ÆÖÐÒ²»¹ÊÇÓÐÒ»ÖÖÓÃÀ´Çå¿ÕstdinÖеķ½·¨£¬Ö±½Óµ÷ÓÃÈçϵĺ¯Êý£º
setbuf(stdin, NULL);
´Ëº¯ÊýÎÒ»¹Ã»ÓÐÀ´µÃ¼°²âÊÔ£»
ͨ¹ýÒÔÉÏ·ÖÎö£¬ÔÚLinuxÏÂÇå¿ÕstdinÓÃÁ½ÖÖ·½·¨£º
1.ͨ¹ý¶ÁȡʣÓàµÄ×Ö·û²¢¶ªÆúµô£»
char ch;
while((ch=getchar())!='\n'& ......
proc_test.c
/*
*proc ipsec test
*/
#include <linux/init.h>
#include <linux/module.h>
#include <linux/stat.h>
#include <linux/kernel.h>
#include <linux/proc_fs.h>
#include <linux/fs.h>
#include <asm/uaccess.h>
#define IPSEC_CONNTRACK "ipsec_conntrack"
MODULE_AUTHOR("Qxl");
MODULE_DESCRIPTION("Proc Test Module");
MODULE_LICENSE("GPL");
static char msg[255] = {0};
static struct proc_dir_entry * p_entry = NULL;
static ssize_t ipsec_conntrack_read(struct file * file,char *data,size_t len,loff_t *offset)
{
printk("offset %d\n",(int)*offset);
if(*offset > 0) return 0;
if(copy_to_user(data,msg,strlen(msg)) < 0)
return -1;
*offset += strlen(msg);
......
²Î¿¼³ö´¦£ºÒ»²½²½½ÌÄã½»²æ±àÒëǶÈëʽlinux GUI-directfb+gtk
Ò»¡¢×¢Òâµã£º
1¡¢ÔÚ./configureµÄ--hostµÄÑ¡Ïî¿ÉÒÔΪarm-linux»òarm-none-linux-gnueabi£¨±àÒ빤¾ßcross-4.3.2£¬Ò²ÊDZ¾´ÎÓõıàÒ빤¾ß£¬ÔÚ°²×°Ä¿Â¼ÏµÄ/binÎļþ¼ÐÀï¿ÉÒÔÓÃls -l¿´µ½±àÒ빤¾ß³ýÁËarm-linux-gccºÍarm-none-linux-gnueabi-gcc,arm-linux-g++ºÍarm-none-linux-gnueabi-g++²»Í¬Í⣬ÆäÓàµÄ¶¼Ïàͬ£¬¶¼ÊÇÁ¬½Ó£©£¬ËûÃÇÁ½¸öÊDz»Í¬µÄ£¬Ç°ÕßÃ²ËÆ²ÉÓÃeabi£¬ºóÕß²ÉÓÃoabi£¨ÐÂÊÖÒ»¸ö£¬²Â²âµÄ£©.Õâ¹ØÏµµ½Ê¹ÓÃÕâЩ¿âµÄ³ÌÐòÔÚ°åÉϵÄÎÞ·¨ÔËÐÐ(³öÏÖµÃ×î¶àµÄÊÇÔÚ°åÔËÐгÌÐòʱ»á³öÏÖ£ºillegal instruction)£¬Èç¹ûÄں˴ò¿ª¶ÔEABIµÄÖ§³Ö£¬ÄÇô×îºÃʹÓÃEABI½øÐбàÒ루ÎҵİåÉÏlinuxÄں˰汾ÊÇ2.6.29£¬ÒѾ´ò¿ªÁ˶ÔEABIµÄÖ§³Ö£¬ÇÒqtopia2.20µÄÎļþϵͳҲ֧³ÖEABI£©£¬ËùÒÔ²ÉÓÃarm-linux½øÐбàÒë¡£
¾ßÌå¿ÉÒԲο¼£º
arm Linux 2.6¸ß°æ±¾ÖеÄϵͳµ÷Ó÷½Ê½
GNU arm »ã±àÇóÖú
2¡¢Èç¹û²ÉÓÃÒ»ÖÖ±àÒëÆ÷½øÐбàÒ룬ÄÇô±»ÒÀÀµµÄÄǸö¿âÒ²Ò»ÑùÒªÓÃͬÖÖ±àÒëÆ÷½øÐбàÒë¡£
¶þ¡¢ÉèÖû·¾³±äÁ¿£¨±¾ÈËÓõÄÊÇubuntu9.04£©
export SOURCE_PATH=/home/evix/src
export PREFIX=/opt/arm
export LDFLAGS=-L$PREFIX/lib
export CFLA ......