linux ifÃüÁî
linux ifÃüÁî
ÎÞÂÛʲô±à³ÌÓïÑÔ¶¼Àë²»¿ªÌõ¼þÅжϡ£SHELLÒ²²»ÀýÍâ¡£
if list then
do something here
elif list then
do another thing here
else
do something else here
fi
EX1:
#!/bin/sh
SYSTEM=`uname -s` #»ñÈ¡²Ù×÷ϵͳÀàÐÍ£¬ÎÒ±¾µØÊÇlinux
if [ $SYSTEM = "Linux" ] ; then #Èç¹ûÊÇlinuxµÄ»°´òÓ¡linux×Ö·û´®
echo "Linux"
elif [ $SYSTEM = "FreeBSD" ] ; then
echo "FreeBSD"
elif [ $SYSTEM = "Solaris" ] ; then
echo "Solaris"
else
echo "What?"
fi #ifend
»ù±¾ÉÏºÍÆäËû½Å±¾ÓïÑÔÒ»Ñù¡£Ã»ÓÐÌ«´óÇø±ð¡£²»¹ýÖµµÃ×¢ÒâµÄÊÇ¡£[]ÀïÃæµÄÌõ¼þÅжϡ£
1 ×Ö·û´®ÅжÏ
str1 = str2¡¡¡¡¡¡¡¡¡¡¡¡µ±Á½¸ö´®ÓÐÏàͬÄÚÈÝ¡¢³¤¶ÈÊ±ÎªÕæ
str1 != str2¡¡¡¡¡¡¡¡¡¡ µ±´®str1ºÍstr2²»µÈÊ±ÎªÕæ
-n str1¡¡¡¡¡¡¡¡¡¡¡¡¡¡ µ±´®µÄ³¤¶È´óÓÚ0Ê±ÎªÕæ(´®·Ç¿Õ)
-z str1¡¡¡¡¡¡¡¡¡¡¡¡¡¡ µ±´®µÄ³¤¶ÈΪ0Ê±ÎªÕæ(¿Õ´®)
str1¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ µ±´®str1Ϊ·Ç¿ÕÊ±ÎªÕæ
2 Êý×ÖµÄÅжÏ
int1 -eq int2¡¡¡¡¡¡¡¡Á½ÊýÏàµÈÎªÕæ
int1 -ne int2¡¡¡¡¡¡¡¡Á½Êý²»µÈÎªÕæ
int1 -gt int2¡¡¡¡¡¡¡¡int1´óÓÚint2ÎªÕæ
int1 -ge int2¡¡¡¡¡¡¡¡int1´óÓÚµÈÓÚint2ÎªÕæ
int1 -lt int2¡¡¡¡¡¡¡¡int1СÓÚint2ÎªÕæ
int1 -le int2¡¡¡¡¡¡¡¡int1СÓÚµÈÓÚint2ÎªÕæ
3 ÎļþµÄÅжÏ
-r file¡¡¡¡¡¡¡¡¡¡Óû§¿É¶ÁÎªÕæ
-w file¡¡¡¡¡¡¡¡¡¡Óû§¿ÉÐ´ÎªÕæ
-x file¡¡¡¡¡¡¡¡¡¡Óû§¿ÉÖ´ÐÐÎªÕæ
-f file¡¡¡¡¡¡¡¡¡¡ÎļþΪÕý¹æÎļþÎªÕæ
-d file¡¡¡¡¡¡¡¡¡¡ÎļþÎªÄ¿Â¼ÎªÕæ
-c file¡¡¡¡¡¡¡¡¡¡ÎļþΪ×Ö·ûÌØÊâÎļþÎªÕæ
-b file¡¡¡¡¡¡¡¡¡¡ÎļþΪ¿éÌØÊâÎļþÎªÕæ
-s file¡¡¡¡¡¡¡¡¡¡Îļþ´óС·Ç0Ê±ÎªÕæ
-t file¡¡¡¡¡¡¡¡¡¡µ±ÎļþÃèÊö·û(ĬÈÏΪ1)Ö¸¶¨µÄÉ豸ΪÖÕ¶ËÊ±ÎªÕæ
3 ¸´ÔÓÂß¼ÅжÏ
-a ¡¡ ¡¡¡¡¡¡¡¡¡¡ Óë
-o¡¡¡¡¡¡¡¡¡¡¡¡¡¡ »ò
!¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡·Ç
½áβ
Óï·¨ËäÈ»¼òµ¥£¬µ«ÊÇÔÚSHELLÀïʹÓõÄʱºò£¬ËûµÄ¹¦ÄܱäµÃÇ
Ïà¹ØÎĵµ£º
ÏÂÃæµÄ´úÂë·ÖÎöÊǸù¾Ýlinux-2.6.17.14_stm22°æ±¾
#define STSYS_WriteRegDev32LE(Address_p, value) writel((u32)value, (void*)Address_p)
ÔÚinclude/asm-sh/io.h
#define writel(v,a) ({__raw_writel((v),(a));mb();})
#define __raw_write(v,a) __writ ......
ϵͳ
# uname -a # ²é¿´ÄÚºË/²Ù×÷ϵͳ/CPUÐÅÏ¢
# head -n 1 /etc/issue # ²é¿´²Ù×÷ϵͳ
°æ±¾
# cat /proc/cpuinfo # ²é¿´CPUÐÅÏ¢
# hostname &n ......
Ôʼ¶¨Òå:include/linux/init.h
__initºÍ__exit±ê¼Çº¯Êý£¬__initdataºÍ__exitdata±ê¼ÇÊý¾Ý¡£
´Ëºê¶¨Òå¿ÉÖª±ê¼ÇºóµÄº¯ÊýÓëÊý¾ÝÆäʵÊǷŵ½ÁËÌØ¶¨µÄ£¨´úÂë»òÊý¾Ý£©¶ÎÖС£±ê¼ÇΪ³õʼ»¯µÄº¯Êý,±íÃ÷¸Ãº¯Êý¹©ÔÚ³õʼ»¯ÆÚ¼äʹÓá£ÔÚÄ£¿é×°ÔØÖ®ºó£¬Ä£¿é×°ÔØ¾Í»á½«³õʼ»¯º¯ÊýÈÓµô¡£ÕâÑù¿ÉÒÔ½«¸Ãº¯ÊýÕ¼ÓõÄÄÚ´æÊͷųöÀ´¡£
__ ......
http://linux.vbird.org/linux_server/0140networkcommand.php
ʹÓ÷ÓÉ·½Ê½£¬Ê¹ÓÃrouteÃüÁî¡£
-- RouteÃüÁîµÄÕýÈ·Ó÷¨
ʹÓà Route ÃüÁîÐй¤¾ß²é¿´²¢±à¼¼ÆËã»úµÄ IP ·ÓÉ±í¡£Route ÃüÁîºÍÓï·¨ÈçÏÂËùʾ£º
route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]]
-f Ç ......
·þÎñÆ÷£º
#include <stdio.h>
#include <sys/socket.h>
#include <unistd.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <stdlib.h>
#include <time.h>
#define SERVER_PORT 20000 // define the defualt connect port id
#define LENGTH_OF_LISTEN_QU ......