Ö¸ÁîÃû³Æ : chmod
ʹÓÃȨÏÞ : ËùÓÐʹÓÃÕß
ʹÓ÷½Ê½ : chmod [-cfvR] [--help] [--version] mode file...
˵Ã÷ : Linux/Unix µÄµµ°¸µ÷ÓÃȨÏÞ·ÖΪÈý¼¶ : µµ°¸ÓµÓÐÕß¡¢Èº×é¡¢ÆäËû¡£ÀûÓà chmod ¿ÉÒÔ½åÒÔ¿ØÖƵµ°¸ÈçºÎ±»ËûÈËËùµ÷Óá£
²ÎÊý :
mode : ȨÏÞÉ趨×Ö´®£¬¸ñʽÈçÏ : [ugoa...][[+-=][rwxX]...][,...]£¬ÆäÖÐ
u ±íʾ¸Ãµµ°¸µÄÓµÓÐÕߣ¬g ±íʾÓë¸Ãµµ°¸µÄÓµÓÐÕßÊôÓÚͬһ¸öȺÌå(group)Õߣ¬o ±íʾÆäËûÒÔÍâµÄÈË£¬a ±íʾÕâÈýÕß½ÔÊÇ¡£
+ ±íʾÔö¼ÓȨÏÞ¡¢- ±íʾȡÏûȨÏÞ¡¢= ±íʾΨһÉ趨ȨÏÞ¡£
r ±íʾ¿É¶ÁÈ¡£¬w ±íʾ¿ÉдÈ룬x ±íʾ¿ÉÖ´ÐУ¬X ±íʾֻÓе±¸Ãµµ°¸ÊǸö×ÓĿ¼»òÕ߸õµ°¸ÒѾ±»É趨¹ýΪ¿ÉÖ´ÐС£
-c : Èô¸Ãµµ°¸È¨ÏÞȷʵÒѾ¸ü¸Ä£¬²ÅÏÔʾÆä¸ü¸Ä¶¯×÷
-f : Èô¸Ãµµ°¸È¨ÏÞÎÞ·¨±»¸ü¸ÄÒ²²»ÒªÏÔʾ´íÎóѶϢ
-v : ÏÔʾȨÏÞ±ä¸üµÄÏêϸ×ÊÁÏ
-R : ¶ÔĿǰĿ¼ÏµÄËùÓеµ°¸Óë×ÓĿ¼½øÐÐÏàͬµÄȨÏÞ±ä¸ü(¼´ÒԵݻصķ½Ê½Öð¸ö±ä¸ü)
--help : ÏÔʾ¸¨Öú˵Ã÷
--version : ÏÔʾ°æ±¾
·¶Àý :½«µµ°¸ file1.txt ÉèΪËùÓÐÈ˽ԿɶÁÈ¡ :
chmod ugo+r file1.txt
½«µµ°¸ file1.txt ÉèΪËùÓÐÈ˽ԿɶÁÈ¡ : ......
Ò»¡¢±àÒëºÍÁ¬½Ó
Ò»°ãÀ´Ëµ£¬Èç¹û¿âµÄÍ·Îļþ²»ÔÚ /usr/include Ŀ¼ÖУ¬ÄÇôÔÚ±àÒëµÄʱºòÐèÒªÓà -I
²ÎÊýÖ¸¶¨Æä·¾¶¡£ÓÉÓÚͬһ¸ö¿âÔÚ²»Í¬ÏµÍ³ÉÏ¿ÉÄÜλÓÚ²»Í¬µÄĿ¼Ï£¬Óû§°²×°¿âµÄʱºòÒ²¿ÉÒÔ½«¿â°²×°ÔÚ²»Í¬µÄĿ¼Ï£¬ËùÒÔ¼´Ê¹Ê¹ÓÃͬһ¸ö¿â£¬ÓÉÓÚ¿âµÄ·¾¶µÄ
²»Í¬£¬Ôì³ÉÁËÓà -I ²ÎÊýÖ¸¶¨µÄÍ·ÎļþµÄ·¾¶Ò²¿ÉÄܲ»Í¬£¬Æä½á¹û¾ÍÊÇÔì³ÉÁ˱àÒëÃüÁî½çÃæµÄ²»Í³Ò»¡£Èç¹ûʹÓà -L
²ÎÊý£¬Ò²»áÔì³ÉÁ¬½Ó½çÃæµÄ²»Í³Ò»¡£±àÒëºÍÁ¬½Ó½çÃæ²»Í³Ò»»áΪ¿âµÄʹÓôøÀ´Âé·³¡£
ΪÁ˽â¾ö±àÒëºÍÁ¬½Ó½çÃæ²»Í³Ò»µÄÎÊÌ⣬ÈËÃÇÕÒµ½ÁËһЩ½â¾ö°ì·¨¡£Æä»ù±¾Ë¼Ïë¾ÍÊÇ£ºÊÂÏȰѿâµÄλÖÃÐÅÏ¢µÈ±£´æÆðÀ´£¬ÐèÒªµÄʱºòÔÙͨ¹ýÌØ¶¨µÄ¹¤¾ß½«ÆäÖÐÓÐÓõÄ
ÐÅÏ¢ÌáÈ¡³öÀ´¹©±àÒëºÍÁ¬½ÓʹÓá£ÕâÑù£¬¾Í¿ÉÒÔ×öµ½±àÒëºÍÁ¬½Ó½çÃæµÄÒ»ÖÂÐÔ¡£ÆäÖУ¬Ä¿Ç°×îΪ³£ÓõĿâÐÅÏ¢ÌáÈ¡¹¤¾ß¾ÍÊÇÏÂÃæ½éÉÜµÄ pkg-config¡£
pkg-config ÊÇͨ¹ý¿âÌṩµÄÒ»¸ö .pc Îļþ»ñµÃ¿âµÄ¸÷ÖÖ±ØÒªÐÅÏ¢µÄ£¬°üÀ¨°æ±¾ÐÅÏ¢¡¢±àÒëºÍÁ¬½ÓÐèÒªµÄ²ÎÊýµÈ¡£ÕâЩÐÅÏ¢¿ÉÒÔͨ¹ý pkg-config ÌṩµÄ²ÎÊýµ¥¶ÀÌáÈ¡³öÀ´Ö±½Ó¹©±àÒëÆ÷ºÍÁ¬½ÓÆ÷ʹÓá£
The pkgconfig ......
ѧ¶«Î÷£¬ÍùÍùʵÀý²ÅÊÇ×îÈÃÈ˸ÐÐËȤµÄ£¬ÀÏÊÇѧ»ù´¡ÀíÂÛ£¬²»¶¯ÊÖ£¬¸Ð¾õûÓгɾ͸У¬ºÇºÇ¡£
ÏÂÃæÏÈÀ´Ò»¸öʵÀý¡£ÎÒÃÇͨ¹ý´´½¨Á½¸öÏß³ÌÀ´ÊµÏÖ¶ÔÒ»¸öÊýµÄµÝ¼Ó¡£
»òÐíÕâ¸öʵÀýûÓÐʵ¼ÊÔËÓõļÛÖµ£¬µ«ÊÇÉÔ΢¸Ä¶¯Ò»Ï£¬ÎÒÃǾͿÉÒÔÓõ½ÆäËûµØ·½È¥À¡£
ÏÂÃæÊÇÎÒÃǵĴúÂ룺
/*thread_example.c : c multiple thread programming in linux
*author : falcon
*E-mail : tunzhj03@st.lzu.edu.cn
*/
#include <pthread.h>
#include <stdio.h>
#include <sys/time.h>
#include <string.h>
#define MAX 10
pthread_t thread[2];
pthread_mutex_t mut;
int number=0, i;
void *thread1()
{
printf ("thread1 : I'm thread 1\n");
for (i = 0; i < MAX; i++)
{
printf("thread1 : number = %d\n",number);
pthread_mutex_lock(&mut);
number++;
pthread_mutex_unlock(&mut);
sleep(2);
}
printf("thread1 :Ö÷º¯ÊýÔÚµÈÎÒÍê³ÉÈÎÎñÂð£¿\n");
pthread_exit(NULL);
} ......
ѧ¶«Î÷£¬ÍùÍùʵÀý²ÅÊÇ×îÈÃÈ˸ÐÐËȤµÄ£¬ÀÏÊÇѧ»ù´¡ÀíÂÛ£¬²»¶¯ÊÖ£¬¸Ð¾õûÓгɾ͸У¬ºÇºÇ¡£
ÏÂÃæÏÈÀ´Ò»¸öʵÀý¡£ÎÒÃÇͨ¹ý´´½¨Á½¸öÏß³ÌÀ´ÊµÏÖ¶ÔÒ»¸öÊýµÄµÝ¼Ó¡£
»òÐíÕâ¸öʵÀýûÓÐʵ¼ÊÔËÓõļÛÖµ£¬µ«ÊÇÉÔ΢¸Ä¶¯Ò»Ï£¬ÎÒÃǾͿÉÒÔÓõ½ÆäËûµØ·½È¥À¡£
ÏÂÃæÊÇÎÒÃǵĴúÂ룺
/*thread_example.c : c multiple thread programming in linux
*author : falcon
*E-mail : tunzhj03@st.lzu.edu.cn
*/
#include <pthread.h>
#include <stdio.h>
#include <sys/time.h>
#include <string.h>
#define MAX 10
pthread_t thread[2];
pthread_mutex_t mut;
int number=0, i;
void *thread1()
{
printf ("thread1 : I'm thread 1\n");
for (i = 0; i < MAX; i++)
{
printf("thread1 : number = %d\n",number);
pthread_mutex_lock(&mut);
number++;
pthread_mutex_unlock(&mut);
sleep(2);
}
printf("thread1 :Ö÷º¯ÊýÔÚµÈÎÒÍê³ÉÈÎÎñÂð£¿\n");
pthread_exit(NULL);
} ......
Linux 2.6.19.x Äں˱àÒëÅäÖÃÑ¡Ïî¼ò½é
×÷Õߣº½ð²½¹ú
°æÈ¨ÉùÃ÷
±¾ÎÄ×÷ÕßÊÇһλ×ÔÓÉÈí¼þ°®ºÃÕߣ¬ËùÒÔ±¾ÎÄËäÈ»²»ÊÇÈí¼þ£¬µ«ÊDZ¾×Å GPL µÄ¾«Éñ·¢²¼¡£ÈκÎÈ˶¼¿ÉÒÔ×ÔÓÉʹÓá¢×ªÔØ¡¢¸´ÖƺÍÔÙ·Ö·¢£¬µ«±ØÐë±£Áô×÷ÕßÊðÃû£¬Ò಻µÃ¶ÔÉùÃ÷ÖеÄÈκÎÌõ¿î×÷ÈκÎÐÎʽµÄÐ޸ģ¬Ò²²»µÃ¸½¼ÓÈÎºÎÆäËüÌõ¼þ¡£Äú¿ÉÒÔ×ÔÓÉÁ´½Ó¡¢ÏÂÔØ¡¢´«²¥´ËÎĵµ£¬µ«Ç°ÌáÊDZØÐ뱣֤ȫÎÄÍêÕû×ªÔØ£¬°üÀ¨ÍêÕûµÄ°æÈ¨ÐÅÏ¢ºÍ×÷ÒëÕßÉùÃ÷¡£
ÆäËû×÷Æ·
±¾ÎÄ×÷ÕßÊ®·ÖÔ¸ÒâÓëËûÈ˹²ÏíÀͶ¯³É¹û£¬Èç¹ûÄã¶ÔÎ񵀮äËû·Òë×÷Æ·»òÕß¼¼ÊõÎÄÕÂÓÐÐËȤ£¬¿ÉÒÔÔÚÈçÏÂλÖò鿴ÏÖÓÐ×÷Æ·µÄÁÐ±í£º
* ½ð²½¹ú×÷Æ·Áбí
BUG±¨¸æ£¬ÇдèÓë̽ÌÖ
ÓÉÓÚ×÷ÕßˮƽÓÐÏÞ£¬Òò´Ë²»Äܱ£Ö¤×÷Æ·ÄÚÈÝ׼ȷÎÞÎó£¬ÇëÔÚÔĶÁÖÐ×ÔÐмø±ð¡£Èç¹ûÄã·¢ÏÖÁË×÷Æ·ÖеĴíÎó£¬ÇëÄúÀ´ÐÅÖ¸³ö£¬ÄÄÅÂÊÇ´í±ð×ÖÒ²ºÃ£¬ÈκÎÌá¸ß×÷Æ·ÖÊÁ¿µÄ½¨ÒéÎÒ¶¼½«ÐéÐĽÓÄÉ¡£Èç¹ûÄãÔ¸Òâ¾Í×÷Æ·ÖеÄÏà¹ØÄÚÈÝÓëÎÒ½øÐнøÒ»²½ÇдèÓë̽ÌÖ£¬Ò²»¶ÓÄãÓëÎÒÁªÏµ¡£ÁªÏµ·½Ê½£ºMSN: csfrank122@hotmail.com
Code maturity level options
´úÂë³ÉÊì¶ÈÑ¡Ïî
Prompt for development and/or incomplete code/drivers
ÏÔʾÉÐÔÚ¿ª·¢ÖлòÉÐδÍê³ÉµÄ´úÂëÓëÇý¶¯.³ý·ÇÄãÊDzâÊÔÈËÔ±»òÕß¿ª·¢Õß,·ñÔòÇëÎðÑ¡Ôñ
General setup
³£¹ ......
so_test.h£º
#include
#include
void test_a();
void test_b();
void test_c();
test_a.c£º
#include "so_test.h"
void test_a()
{
printf("this is in test_a...\n");
}
test_b.c£º
#include "so_test.h"
void test_b()
{
printf("this is in test_b...\n");
}
test_a.c£º
#include "so_test.h"
void test_c()
{
printf("this is in test_c...\n");
}
½«Õ⼸¸öÎļþ±àÒë³ÉÒ»¸ö¶¯Ì¬¿â£ºlibtest.so
$ gcc test_a.c test_b.c test_c.c -fPIC -shared -o libtest.so
test.c£º
#include "so_test.h"
int main()
{
test_a();
test_b();
test_c();
return 0;
}
l ½«test.cÓ붯̬¿âlibtest.soÁ´½ÓÉú³ÉÖ´ÐÐÎļþtest£º
$ gcc test.c -L. -ltest -o test
l ²âÊÔÊÇ·ñ¶¯Ì¬Á¬½Ó£¬Èç¹ûÁгölibtest.so£¬ÄÇôӦ¸ÃÊÇÁ¬½ÓÕý³£ÁË
$ ldd test
×îÖ÷ÒªµÄÊÇGCCÃüÁîÐеÄÒ»¸öÑ¡Ïî:
-shared
¸ÃÑ¡ÏîÖ¸¶¨Éú³É¶¯Ì¬Á¬½Ó¿â£¨ÈÃÁ¬½ÓÆ÷Éú³ÉTÀàÐ͵ĵ¼³ö·ûºÅ±í£¬ÓÐʱºòÒ²Éú³ÉÈõÁ¬½ÓWÀàÐ͵ĵ¼³ö·ûºÅ£©£¬²»ÓøñêÖ¾Íⲿ³ÌÐòÎÞ·¨Á¬½Ó¡£Ï൱ÓÚÒ»¸ö¿ÉÖ´ÐÐÎļþ
l
-fPIC£º±íʾ±àÒëΪλÖöÀÁ¢µÄ´ú ......
1¡¢²é¿´µ±Ç°Êý¾Ý¿âµÄ״̬
SELECT
DATABASEPROPERTY
('pubs'
,'IsFulltextEnabled'
)
2¡¢´ò¿ªFullText¹¦ÄÜ
sp_fulltext_databse
'enable'
¹Ø±Õ´Ë¹¦ÄÜ
sp_fulltext_databse
'disable'
3¡¢½¨Á¢Ò»¸öUniqueµÄIndex¡£
ÔÚModify
Table½çÃæÖУ¬Êó±êÓÒ¼ü£¬Ñ¡ÔñIndex/Keys...
ÔÚColumnsÖÐÑ¡Ôñ×ֶΣ¬TypeÑ¡ÔñUnique Key¡£
4¡¢½ÓÏÂÀ´¾Í¿ÉÒÔ¶¨ÒåÈ«ÎļìË÷ÁË£¬ÈçÏÂͼѡÔñDefine Full-Text
Index...
½ÓÏÂÀ´¾ÍÊÇÏòµ¼½çÃæÁË£¬°´ÕÕÏòµ¼Ò»²½Ò»²½×ö£¬¾Í²»»á´íÁË£¡
Ñ¡Ôñ¸Õ²Å¶¨ÒåµÄUnique Index¡£
&n ......