解析嵌入式Linux開發(fā)常用的實(shí)用命令
出處:tanik 發(fā)布于:2011-09-03 21:02:34
嵌入式 Linux是以Linux為基礎(chǔ)的嵌入式作業(yè)系統(tǒng),它被廣泛應(yīng)用在移動(dòng)電話、個(gè)人數(shù)字助理(PDA)、媒體播放器、消費(fèi)性電子產(chǎn)品以及航空航天等領(lǐng)域中。Linux做嵌入式的優(yōu)勢,首先,Linux是開放源代碼的,不存在黑箱技術(shù),遍布的眾多Linux愛好者又是Linux開發(fā)者的強(qiáng)大技術(shù)支持;其次,Linux的內(nèi)核小、效率高,內(nèi)核的更新速度很快,linux是可以定制的,其系統(tǒng)內(nèi)核只有約134KB.第三,Linux是的OS,在價(jià)格上極具競爭力。 Linux還有著嵌入式操作系統(tǒng)所需要的很多特色,突出的就是Linux適應(yīng)于多種CPU和多種硬件平臺,是一個(gè)跨平臺的系統(tǒng)。到目前為止,它可以支持二三十種CPU.而且性能穩(wěn)定,裁剪性很好,開發(fā)和使用都很容易。很多CPU包括家電業(yè)芯片,都開始做Linux的平臺移植工作。移植的速度遠(yuǎn)遠(yuǎn)超過Java的開發(fā)環(huán)境。也就是說,如果今天用Linux環(huán)境開發(fā)產(chǎn)品,那么將來換CPU就不會(huì)遇到困擾。同時(shí),Linux內(nèi)核的結(jié)構(gòu)在網(wǎng)絡(luò)方面是非常完整的,Linux對網(wǎng)絡(luò)中常用的TCP/IP協(xié)議有完備的支持。提供了包括十兆、百兆、千兆的以太網(wǎng)絡(luò),以及無線網(wǎng)絡(luò),Toker ring(令牌環(huán)網(wǎng))、光纖甚至衛(wèi)星的支持。所以Linux很適于做信息家電的開發(fā)。
用samba配置網(wǎng)絡(luò)共享Author:
1.在網(wǎng)絡(luò)服務(wù)配置中使能samba服務(wù)
方法一,配置網(wǎng)絡(luò)服務(wù):#setup ,到相應(yīng)的網(wǎng)絡(luò)服務(wù)中選中samba即可
方法二,#service smb start //啟動(dòng)samba服務(wù)#service smb restart //重啟samba 服務(wù)
可以通過命令 #service smb status 查看是否啟動(dòng)了samba服務(wù);
可以通過命令netstat查看samba默認(rèn)的端口是否打開,如: #netstat -an | grep 901
2. 建立samba用戶
l#smbadduser user1:user2
其中user1是Linux系統(tǒng)中使用的用戶名,user2是Window系統(tǒng)中使用的用戶名(即Samba的共享名),盡量使用相同的名字以免記錯(cuò)。
l#smbpasswd user //修改用戶的密碼 + #smbpasswd -a -e qxbing //添加用戶并使能用戶
注:剛開始時(shí)不能連接到qxbing的home目錄,通過查看/etc/samba目錄下的smbpasswd文件知道還需要開通用戶服務(wù)(#cat /etc/samba/smbpasswd 發(fā)現(xiàn)用戶qxbing用了[UD]字段,其中D意為account disabled),用#smbpasswd -e qxbing //使能用戶qxbing
3. 配置samba系統(tǒng)
可以從Web瀏覽器中對samba進(jìn)行配置,確認(rèn)已經(jīng)安裝了samba-swat組件并開啟了swat服務(wù)(默認(rèn)下都已經(jīng)安裝了)。在Web瀏覽器地址欄中輸入:https://192.168.21.63:901 就可以連接到samba的Web界面了,在http上面可以對samba進(jìn)行配置了。
4. 從Window系統(tǒng)上訪問共享目錄
先查看"本地連接-屬性"中的"Microsoft 網(wǎng)絡(luò)客服端"是否選中,如果沒有則點(diǎn)擊"安裝"安裝它。
這時(shí)在window的Dos命令界面("開始-運(yùn)行")中輸入:就可以打開設(shè)置的共享目錄了。其中192.168.21.63是Linux系統(tǒng)的IP地址(即Samba服務(wù)器端的IP地址),qxbing是剛才配置用戶名。
為了避免每次登錄時(shí)都輸入IP+用戶名,可以從"工具-映射網(wǎng)絡(luò)驅(qū)動(dòng)器"中輸入和密碼就可以每次從"我的電腦"中登錄了。
5.Swat服務(wù)的啟動(dòng)
Swat是samba的圖形化配置工具,通常使用xinetd服務(wù)啟動(dòng)swat,可以通過編輯/etc/xinetd.d/swat這個(gè)配置文件,然后再重啟xinetd服務(wù)就可以啟動(dòng)swat服務(wù)了。修改swat的配置文件 #vi /etc/xinetd.d/swat
其配置文件的內(nèi)容如下:
service swat
{
disable = yes
port = 901
socket_type= stream
wait = no
user = root
server = /usr/sbin/swat
log_on_failture= USERID
only_from = 127.0.0.1
}
修改這個(gè)配置文件,把[disable] 字段的yes改為no,它表示是否提供swat服務(wù)。把[only_from = 127.0.0.1] 這一行注釋掉或刪除掉,它表示只讓本網(wǎng)卡使用。
,重啟xinetd服務(wù) #service xinetd restart 或重新載入配置文件 #service xinetd reload
CVS的使用
CVS是一個(gè)C/S系統(tǒng),多個(gè)開發(fā)人員通過一個(gè)中心版本控制系統(tǒng)來記錄文件版本,從而達(dá)到保證文件同步的目的。CVS版本控制系統(tǒng)是一種GNU軟件包,主要用于在多人開發(fā)環(huán)境下的源碼的維護(hù)。CVS的基本工作思路是這樣的:在一臺服務(wù)器上建立一個(gè)源代碼庫,庫里可以存放許多不同項(xiàng)目的源程序。由源代碼庫管理員統(tǒng)一管理這些源程序。每個(gè)用戶在使用源代碼庫之前,首先要把源代碼庫里的項(xiàng)目文件到本地,然后用戶可以在本地任意修改,用CVS命令進(jìn)行提交,由CVS源代碼庫統(tǒng)一管理修改。這樣,就好像只有一個(gè)人在修改文件一樣,既避免了沖突,又可以做到跟蹤文件變化等。
1.創(chuàng)建cvs倉庫
#mkdir /cvsroot
#chmod 777 /cvsroot
$cvs –d /cvsroot init
$export CVSROOT=/cvsroot
首先使用root帳戶在根目錄下創(chuàng)建一個(gè)cvsroot目錄,并修改目錄訪問權(quán)限為所有人都可以訪問。再用普通用戶創(chuàng)建并初始化cvs倉庫。設(shè)置CVSROOT環(huán)境變量(或在bashrc文件中配置,或/etc/profile文件中配置),供以后使用。
2.向cvsroot中添加目錄
$cd /home/qibing/myproject
$cvs import –m "first time" myproject v1 r1
到需要加到cvs中的工程目錄下,允許import命令把目錄下的所有文件和目錄添加到cvs的管理中。注意,盡量刪除掉myproject目錄下對編譯和make沒有影響的文件和目錄,比如。o、。dep、可執(zhí)行文件等等,包括COPYING等根據(jù)系統(tǒng)automake或autoconf生成的文件和目錄。
3.使用cvs
$mkdir /home/qibing/cvsroot
$cd /home/qibing/cvsroot
$cvs checkout myproject
先在自己的目錄下創(chuàng)建一個(gè)用于cvs管理的目錄cvsroot,這時(shí)可以從cvs服務(wù)器上checkout工程目錄了。
下面是幾個(gè)經(jīng)常用到的cvs管理的命令,下面的命令都是在本地cvs工程目錄myproject中使用,
$cvs up –AC
更新至主線
$cvs tag –b mytag
在主線上打分支標(biāo)簽mytag
$cvs up –r mytag
進(jìn)入到分支mytag中,此后的修改都是在分支上進(jìn)行
$cvs up –j mytag
把分支mytag的修改合入到主線,并更新至主線
$cvs st –v | more
查看打過的標(biāo)簽,包括主線和分支;和當(dāng)前所在的分支標(biāo)簽或主線
$cvs ci –m "something words"
把修改合入到當(dāng)前所在的分支標(biāo)簽或主線上
$cvs tag mymaintag
在主線上打標(biāo)簽,以標(biāo)記軟件版本或開發(fā)的階段
$cvs up ./
檢查是否有沖突
$cvs diff
顯示當(dāng)前修改與當(dāng)前tag的不同
$cvs –z3 diff –uBb
顯示當(dāng)前修改與當(dāng)前tag的不同,顯示的更詳細(xì)一些
4.向cvsroot中添加新加的文件
$cd /home/qibing/cvsroot/myproject
$cvs add file.c
$cvs commit –m "first add" file.c
首先到本地cvs目錄中,用add命令添加文件,再把此文件commit上到cvs中。
Linux系統(tǒng)配置
1.配置ip地址
l#ifconfig eth0 xxx.xxx.xxx.xxx netmask 255.255.255.0 // 配置eth0的IP地址和子網(wǎng)掩碼
l運(yùn)行 #setup 從界面中配置,選擇網(wǎng)絡(luò)配置對網(wǎng)絡(luò)進(jìn)行配置
l修改文件 /etc/sysconfig/network-script/ifcfg-eth0 中的字段對eth0進(jìn)行配置,其內(nèi)容為:
DEVICE = eth0
ONBOOT = yes
BOOTPROTOL = static
IPADDR = 192.168.21.63
NETMASK = 255.255.255.0
GATEWAY = 192.168.21.1
如果僅配置基本的網(wǎng)絡(luò)配置,還可以配置修改文件 /etc/sysconfig/network
注:要為單網(wǎng)卡系統(tǒng)配置多個(gè)IP,則使用虛擬設(shè)備名,例如建立文件 /etc/sysconfig/network-script/ifconfig-eth0:1 ,并在文件中加上/etc/sysconfig/network-script/ifcfg-eth0中的內(nèi)容即可。
l配置完后,到/etc/rc.d/init.d 目錄下重啟相應(yīng)的網(wǎng)絡(luò)服務(wù),
#./network restart
#./xinetd restart
2.配置超級網(wǎng)絡(luò)服務(wù)xinetd
xinetd的配置文件為 /etc/xinetd.conf ,一般通過配置 /etc/xinetd.d 目錄下的各個(gè)網(wǎng)絡(luò)服務(wù)配置文件來啟動(dòng)各個(gè)相應(yīng)的網(wǎng)絡(luò)服務(wù),再重啟xinetd服務(wù)或重新載入xinetd的配置文件
i#service xinetd restart
或 #service xinetd reload
注:其相應(yīng)字段的解釋為
i wait = no // 設(shè)置該服務(wù)是否為多線程,no為多線程,yes為單線程
ii user = xx // 指定服務(wù)進(jìn)程的 UID
iii group=xx // 指定服務(wù)進(jìn)程的 GID
iV log_on_failture // 指定當(dāng)客服端連接失敗時(shí)的日志記錄選項(xiàng),ATTEMPT (記錄失敗的嘗試),HOST(記錄客服端的IP),USERID(記錄客服端的用戶UID),RECORD(記錄附加的客戶信息)
V port = xx // 指定該服務(wù)使用的端口
3.使用telnet服務(wù)
Telnet協(xié)議是TCP/IP協(xié)議族中的一員,是Internet遠(yuǎn)程登陸服務(wù)的標(biāo)準(zhǔn)協(xié)議和主要方式。它為用戶提供了在本地計(jì)算機(jī)上完成遠(yuǎn)程主機(jī)工作的能力。在終端使用者的電腦上使用telnet程序,用它連接到服務(wù)器。終端使用者可以在telnet程序中輸入命令,這些命令會(huì)在服務(wù)器上運(yùn)行,就像直接在服務(wù)器的控制臺上輸入一樣??梢栽诒镜鼐湍芸刂品?wù)器。要開始一個(gè)telnet會(huì)話,必須輸入用戶名和密碼來登錄服務(wù)器。Telnet是常用的遠(yuǎn)程控制Web服務(wù)器的方法。
i #rpm -q telnet-server
查看是否安裝了telnet-server包
ii 修改telnet的配置文件/etc/xinetd.d/telnet
如果只是簡單地啟動(dòng)telnet服務(wù),只需要將disable屬性值改為no
其他字段的解釋為:
only_from = 192.168.21.33
access_times = 8:00-18:00
表示只允許IP地址192.168.21.33訪問,而且訪問的時(shí)間必須在8:00-18:00之間。
iii 如何在Window系統(tǒng)中連接telnet服務(wù)器
從"開始-程序-附件-通訊"中選擇"超級終端",選擇超級終端的"連接時(shí)使用"選項(xiàng)中的 TCP/IP(winsock),再輸入要連接的telnet服務(wù)器的IP地址即可(telnet默認(rèn)使用端口為23)。在超級終端中跟在shell中一樣地運(yùn)行Linux的命令
注:可以在日志文件 /var/log/messages中查看網(wǎng)絡(luò)服務(wù)信息。
4.怎樣配置nfs服務(wù)器
NFS是Network File System的簡寫,即網(wǎng)絡(luò)文件系統(tǒng)。網(wǎng)絡(luò)文件系統(tǒng)是FreeBSD支持的文件系統(tǒng)中的一種,也被稱為NFS. NFS允許一個(gè)系統(tǒng)在網(wǎng)絡(luò)上與他人共享目錄和文件。通過使用NFS,用戶和程序可以像訪問本地文件一樣訪問遠(yuǎn)端系統(tǒng)上的文件。NFS至少有兩個(gè)主要部分:一臺服務(wù)器和一臺(或者更多)客戶機(jī)??蛻魴C(jī)遠(yuǎn)程訪問存放在服務(wù)器上的數(shù)據(jù)。為了正常工作,一些進(jìn)程需要被配置并運(yùn)行。
編輯NFS的配置文件,10.12.43.40服務(wù)器上支持NFS:
編輯 /etc/exports 加入
/opt/platform/bin 10.12.43.77(rw,sync,no_root_squash) //設(shè)定可以加載的目錄和板子的IP,其中10.12.43.77為板子的IP地址
然後執(zhí)行
# /etc/init.d/nfs restart 或 #service nfs restart
此時(shí)在板子上可以利用# mount -t nfs 10.12.43.40:/opt/platform/bin /mnt 確認(rèn)是否成功啟動(dòng)NFS Server (10.12.43.40為Linux主機(jī)的IP位址)
注:exports中內(nèi)容的解釋,
l /opt/platform/bin 是提供服務(wù)的主機(jī)要共享的目錄。
l10.12.43.75(rw,sync,no_root_squash)是確定哪些計(jì)算機(jī)可以訪問共享目錄。可以寫多個(gè)主機(jī)名,但他們之間要有空格,如:
/opt/platform/bin 10.12.43.75(rw,sync,no_root_squash) 10.12.43.77(rw,sync,no_root_squash)
個(gè)(rw,sync,no_root_squash)后面有一個(gè)空格。
/etc/exports的訪問選項(xiàng)
ro 可讀寫導(dǎo)出這個(gè)文件系統(tǒng)
rw 只讀導(dǎo)出這個(gè)文件系統(tǒng)
/etc/exports的例子:
/opt/platform/target_mv 10.12.43.77(rw,sync)
/opt/platform/root_minigui 10.12.43.77(rw,sync)
/opt/platform/root_minigui 10.12.13.250(rw,sync,no_root_squash)
/opt/platform/bin 10.12.43.77(rw,sync)
/opt/platform/target_mv 10.12.43.44(rw,sync,no_root_squash)
/opt/platform/bin 10.12.43.44(rw,sync,no_root_squash)
/opt/platform/bin 10.12.43.34(rw,no_root_squash)
/opt/platform/bin 10.12.43.88(rw,sync,no_root_squash)
用戶機(jī)的配置,使機(jī)器每次重啟自動(dòng)安裝nfs文件系統(tǒng)
要使機(jī)器每次啟動(dòng)時(shí)自動(dòng)安裝nfs文件系統(tǒng),需要把這個(gè)nfs文件系統(tǒng)加一個(gè)項(xiàng)目到/etc/fstab文件上。如:
qibing /mnt/nfs nfs noauto,ro 0 0
5.怎樣配置tftp服務(wù)器
TFTP(Trivial File Transfer Protocol,簡單文件傳輸協(xié)議)是TCP/IP協(xié)議族中的一個(gè)用來在客戶機(jī)與服務(wù)器之間進(jìn)行簡單文件傳輸?shù)膮f(xié)議,提供不復(fù)雜、開銷不大的文件傳輸服務(wù)。端口號為69.TFTP是一個(gè)傳輸文件的簡單協(xié)議,它基于UDP協(xié)議而實(shí)現(xiàn),但是我們也不能確定有些TFTP協(xié)議是基于其它傳輸協(xié)議完成的。此協(xié)議設(shè)計(jì)的時(shí)候是進(jìn)行小文件傳輸?shù)?。因此它不具備通常的FTP的許多功能,它只能從文件服務(wù)器上獲得或?qū)懭胛募?,不能列出目錄,不進(jìn)行,它傳輸8位數(shù)據(jù)。傳輸中有三種模式:netascii,這是8位的ASCII碼形式,另一種是octet,這是8位源數(shù)據(jù)類型;一種mail已經(jīng)不再支持,它將返回的數(shù)據(jù)直接返回給用戶而不是保存為文件。
配置tftp的配置文件
tftp的配置文件在/etc/xinetd.d/tftp配置文件。
tftp配置文件的內(nèi)容是:
# default: off
# description: The tftp server serves files using the trivial file transfer \
# protocol. The tftp protocol is often used to boot diskless \
# workstations, download configuration files to network-aware printers, \
# and to start the installation process for some operating systems.
service tftp
{
disable= no
socket_type= dgram
protocol= udp
wait = yes
user= root
server= /usr/sbin/in.tftpd
server_args= -s /tftpboot
per_source= 11
cps= 100 2
flags= IPv4
}
可以在這里配置共享的目錄/tftpboot等信息。
啟動(dòng)tftp服務(wù)
運(yùn)行命令#/etc/init.d/xinetd restart 就可以啟動(dòng)tftp服務(wù)了,因?yàn)閠ftp需要xinetd的支持。
6.Linux系統(tǒng)配置及命令
u如何修改中英文設(shè)置
i 修改文件/etc/sysconfig/i18n 中的相應(yīng)字段,其內(nèi)容為
LANG="zh_CN.UTF-8"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:zh_TW.UTF-8:zh_TW:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrhed-sun16"
修改其中的LANG后面的為en_US就可以改為英文語言了
u修改系統(tǒng)啟動(dòng)的默認(rèn)級別,修改文件/etc/inittab中的 id:5:initdefault,把其中的5改為3就是字符界面啟動(dòng)了
u命令#which xxx 可以查看命令xxx 在哪個(gè)目錄下的bin文件。如#which locale 則輸出/usr/bin/locale.
u解壓bzip文件,用file命令可以查看壓縮文件的類型。解壓tar文件,
#bunzip2 xxx.tar // 生成 xxx.tar.out文件
#tar -xvf xxx.tar.out // 解壓xxx.tar.out文件
7.Linux任務(wù)管理
u Cron建立任務(wù)計(jì)劃
#service crond start啟動(dòng)cron
#service crond stop 重啟cron
#service crond reload 重載cron守護(hù)進(jìn)程的配置文件
或直接在/etc/rc.d/rc.local腳本末添加service crond start 使得開機(jī)自動(dòng)運(yùn)行。文件 /etc/crontab是cron服務(wù)的配置文件。用命令#crontab -e 可以編輯自己的crontab文件。其格式為:
分鐘 小時(shí) 日 月 周 [用戶名] 命令
*/10 6-8 1,15 * * ls> /tmp/messagetxt
注:前五個(gè)位置分別代表分鐘(0-59)、小時(shí)(0-23)、日期(1-31)、月份(1-12)和星期(0-6),其中用戶名可以省略。上面格式表示:1號和15號,早上6點(diǎn)到8點(diǎn),每個(gè)10分鐘,執(zhí)行命令ls >/tmp/message.txt.該文件編輯完后不必再重啟crond.
uAt命令
可以用命令 #rpm -q at 查看at軟件是否安裝了,#service atd start 開啟at服務(wù),然后配置at.
首先鍵入 #at time 命令,time按照以下幾種格式:
HH:MM 小時(shí):分鐘,時(shí)間后面可以跟AM和PM
MMDDYY,MM/DD/YY, MM.DD.YY, 月日年
英文"月份 日期 年份"比如:Juanuary 15 2007 ,年份可有可無。
+時(shí)間,時(shí)間以minutes, hours, days或weeks為單位,如:at 1:00 PM + 1days,則表示在一天后的1:00 PM 執(zhí)行。
Midnight表示12:00AM,moon表示:12:00 PM,teatime表示4:00 PM
在輸入at time 命令后會(huì)出現(xiàn)at> 提示符,則在此輸入需要執(zhí)行的命令,回車,按ctrl+D,依次反復(fù),按ctrl+D退出。
Batch服務(wù)是系統(tǒng)負(fù)荷在0.8以下時(shí)執(zhí)行某項(xiàng)任務(wù)
輸入 #batch 出現(xiàn)at>提示符,然后輸入需要執(zhí)行的命令即可。
/etc/at.allow和/etc/deny文件
這兩個(gè)文件是來限制用對at和batch的訪問而使用的,每一行一個(gè)用戶名,不允許有空行。如果沒有在at.allow文件中出現(xiàn),則所有在at.deny文件中出現(xiàn)的用戶都將禁止對at和batch的訪問。
u 查詢?nèi)蝿?wù)
#atq :查詢將要執(zhí)行的任務(wù)及他們的任務(wù)號
#atrm 任務(wù)號 :刪除對應(yīng)任務(wù)號的任務(wù)
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- ARM技術(shù)架構(gòu)與應(yīng)用開發(fā)實(shí)踐指南2026/1/6 10:40:19
- 嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS)選型與移植技術(shù)指南2025/12/31 10:42:31
- 工業(yè)嵌入式系統(tǒng):通信接口技術(shù)選型與抗干擾設(shè)計(jì)實(shí)踐2025/12/15 14:36:53
- 深入解析嵌入式 OPENAMP 框架:開啟異核通信新時(shí)代2025/7/22 16:27:29
- 一文快速了解OPENWRT基礎(chǔ)知識2025/7/14 16:59:04









