ѧϰlinux¶àÏ̱߳à³Ì Ïà¹Ø¸ÅÄî
ѧϰLinux¶à½ø³Ì±à³Ì
Ò»¡¢½ø³ÌµÄ¶¨Ò壺³ÌÐòÖ´ÐкÍ×ÊÔ´¹ÜÀíµÄ×îСµ¥Î»¡£
¶þ¡¢½ø³Ì¿ØÖÆ£º
£¨1£©½ø³Ì±êʶ£º ½ø³Ì±êʶ ×Ó½ø³ÌºÅ ¸¸½ø³ÌºÅ
Í·Îļþ #include<unistd.h> #include<unistd.h>
º¯Êý¹¦ÄÜ È¡µÃµ±Ç°½ø³ÌµÄ½ø³ÌºÅ È¡µÃµ±Ç°½ø³ÌµÄ¸¸½ø³ÌºÅ
º¯ÊýÔÐÍ Pid_t getpid(void) Pid_t getppid(void)
º¯Êý·µ»ØÖµ ³É¹¦·µ»Ø½ø³ÌµÄ½ø³Ì±êʶ·û ³É¹¦·µ»Ø¸¸½ø³ÌµÄ½ø³Ì±êʶ·û
×¢£ºPid_tÆäʵÊÇÒ»¸ötypedefÀàÐÍ£¬Ï൱ÓÚunsigned int.
Àý£º
#include<stdio.h>
#include<unistd.h>
int main()
{
printf("ϵͳ·ÖÅäµÄ½ø³ÌºÅÊÇ£º%d\n",getpid());
printf("ϵͳ·ÖÅäµÄ¸¸½ø³ÌºÅÊÇ£º%d\n",getppid());
return 0;
}
£¨2£©½ø³ÌµÄ´´½¨£º
1)exec×庯Êý£º
Í·Îļþ #include<unistd.h>
ÔÐÍ
int execl(const chat *path,const char *args,...)
int execv(const char *path,char const *argv[])
int execle(const cahr *path,const char *arg,...,char *const envp[])
int execve(const char *path,char *const argv[],char *const envp[])
int execlp(const char *file,char *arg,...)
int execvp(const cahr *file,char *const argv[])
·µ»Ø ·µ»Ø-1±íʾ³ö´í
ÓÉÓڱȽ϶࣬ÔÚ´ËÖ»¾ÙÀýexecveº¯Êý£º
#include<stdio.h>
#include<unistd>
int main()
{
char *args[]={"/usr/bin/vim",NULL};
printf("ϵͳ·ÖÅäµÄ½ø³ÌºÅÊÇ£º%d\n",getpid());
if(execve("/usr/bin/vim",args,NULL)<0)
perror("´´½¨½ø³Ì³ö´í£¡");
return 0;
}
×¢:ÔÚÓÃexecveº¯Êý´´½¨Ð½ø³ÌµÄºó£¬»áÒÔеijÌÐòÈ¡´úÔÀ´µÄ½ø³Ì£¬È»ºóϵͳ»á´ÓеĽø³ÌÔËÐУ¬µ«ÊÇеĽø³ÌµÄPIDÖµ»áÓëÔÀ´½ø³ÌµÄPIDÖµÏàͬ.
2)system()º¯Êý
Í·Îļþ #include<stdlib.h>
¹¦ÄÜ ÔÚ½ø³ÌÖпªÊ¼ÁíÒ»¸ö½ø³Ì
ÔÐÍ int system(const char *string)
´«ÈëÖµ ϵͳ±äÁ¿
·µ»ØÖµ
³É¹¦Ôò·µ»ØÖ´ÐÐshellÃüÁîºóµÄ·µ»ØÖµ£¬µ÷ÓÃ/bin/shÊý°Ù·µ»Ø127£¬ÆäËû
ʧ°Ü·µ»Ø£1£¬ÈýÊåstringΪ¿Õ·µ»Ø·ÇÁãÖµ
&nb
Ïà¹ØÎĵµ£º
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
At first you have to open a terminal/bash and then enter:
file /path/file.bin
for example file /home/user/file.bin (file is the command)
Now you should see a sentence including the word “executable” and not “non-executable, not executable,… or something completely differ ......
ÍøÉÏÓкܶàµÄ·½·¨£¬¹ØÓÚÍü¼ÇlinuxµÇ¼ÃÜÂëÖ®ºóÓ¦¸ÃÔõô°ì¡£ÓÐÎåÖÖ·½·¨£¬¶¼ºÜºÃ¡£
±¾ÈËÒÔΪÓÃgrubÒýµ¼µÄÄÇÖÖ×îʵÓ㬺Ǻǣ¡ÊÔÁËһϣ¬¹ûÈ»¿ÉÒÔ£¡£¡
grubÒýµ¼
1. ÔÚ³öÏÖgrub»ÃæÊ±£¬Ñ¡ÔñlinuxÒýµ¼ÏȻºó°´e¼ü
2. Ñ¡ÔñÒÔkernel¿ªÍ·µÄÒ»ÐУ¬ÔÙ°´e ¼ü£¬ÔÚ´ËÐеÄĩ⣬°´¿Õ¸ñ¼üºóÊäÈësingle£¬ÒԻسµ¼üÀ´Í˳ö±à¼Ä£Ê½£» ......