日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux应用程序开发数据,《嵌入式linux应用程序开发详解》核心笔记

發(fā)布時間:2025/4/5 linux 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux应用程序开发数据,《嵌入式linux应用程序开发详解》核心笔记 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

【linux快速入門】

自由軟件(free software)中的 free 并不是指免費,而是指自由。它賦予使用者四種自由。

· 自由之一:有使用軟件的自由。

· 自由之二:有研究該軟件如何運作的自由,并且得以改寫該軟件來符合使用者自身的需求。取得該軟件的源碼是達(dá)成此目的前提。

· 自由之三:有重新散布該軟件的自由,所以每個人都可以藉由散布自由軟件來敦親睦另。

· 自由之四:有改善再利用該軟件的自由,并且可以發(fā)表改寫版供公眾使用,如此一來,整個社群都可以受惠。如前項,取得該軟件的源碼是達(dá)成此目的前提。

GPL:GPL 協(xié)議是 GNU 組織、維護(hù)的一種版權(quán)協(xié)議,遵守這個協(xié)議的軟件可以自由地獲取、查看、使用其源代碼。GPL 協(xié)議是整個開源世界的精神基礎(chǔ)。

Linux 的內(nèi)核版本號:

Linux 內(nèi)核版本號格式是 x.y.zz-www,數(shù)字 x 代表版本類型,數(shù)字 y 為偶數(shù)時是穩(wěn)定版本,為奇數(shù)時是開發(fā)版本,如 2.0.40 為穩(wěn)定版本,2.3.42 為開發(fā)版本,測試版本為 3 個數(shù)字加上測試號,如 2.4.12-rc1。最新的 Linux 內(nèi)核版本可從 http://www.kernel.org 上獲得。

國內(nèi)的一些 Linux 論壇:

http://www.linuxfans.org

http://www.linuxforum.net

http://www.linuxeden.com

http://www.newsmth.net

在 Windows 下,目錄結(jié)構(gòu)屬于分區(qū);Linux 下,分區(qū)屬于目錄結(jié)構(gòu)。

在 Windows 下,路徑用 ?反斜杠分割;Linux 下,路徑用 / 斜杠分割。(實際是linux最早,你懂的)

通常在 Windows 下的盤符和 Linux 設(shè)備文件的對應(yīng)關(guān)系如下:

C 盤—/dev/hda1(主分區(qū))

D 盤—/dev/hda5(邏輯分區(qū))

E 盤—/dev/hda6(邏輯分區(qū))

如果想修復(fù)已經(jīng)安裝好的系統(tǒng),請在提示符 boot:后輸入“Linux rescue”命令。

ext3 是現(xiàn)在 Linux(包括 Red Hat,Mandrake 下)常見的默認(rèn)的文件系統(tǒng),它是 ext2 的升級版本。/bin????????????bin?就是二進(jìn)制(binary)英文縮寫。在這里存放前面?Linux?常用操作命令的執(zhí)行文件,如?mv、ls、mkdir?等。有時,這個目錄的內(nèi)容和/usr/bin?里面的內(nèi)容一樣,它們都是放置一般用戶使用的執(zhí)行文件

/boot???這個目錄下存放操作系統(tǒng)啟動時所要用到的程序。如啟動?grub?就會用到其下的/boot/grub子目錄

/dev????????????該目錄中包含了所有?Linux?系統(tǒng)中使用的外部設(shè)備。要注意的是,這里并不是存放的外部設(shè)備的驅(qū)動程序,它實際上是一個訪問這些外部設(shè)備的端口。由于在?Linux?中,所有的設(shè)備都當(dāng)作文件一樣進(jìn)行操作,比如:/dev/cdrom?代表光驅(qū),用戶可以非常方便地像訪問文件、目錄一樣對其進(jìn)行訪問

/etc????????????該目錄下存放了系統(tǒng)管理時要用到的各種配置文件和子目錄。如網(wǎng)絡(luò)配置文件、文件系統(tǒng)、x?系統(tǒng)配置文件、設(shè)備配置信息設(shè)置用戶信息等都在這個目錄下。系統(tǒng)在啟動過程中需要讀取其參數(shù)進(jìn)行相應(yīng)的配置

/etc/rc.d???????該目錄主要存放?Linux?啟動和關(guān)閉時要用到的腳本文件,在后面的啟動詳解中還會進(jìn)一步地講解

/etc/rc.d/init??該目錄存放所有?Linux?服務(wù)默認(rèn)的啟動腳本(在新版本的?Linux?中還用到的是/etc/xinetd.d目錄下的內(nèi)容)

/home???????????該目錄是?Linux?系統(tǒng)中默認(rèn)的用戶工作根目錄。執(zhí)行?adduser命令后系統(tǒng)會在/home?目錄下為對應(yīng)賬號建立一個名為同名的主目錄

/lib????????????該目錄是用來存放系統(tǒng)動態(tài)鏈接共享庫的。幾乎所有的應(yīng)用程序都會用到這個目錄下的共享庫。因此,千萬不要輕易對這個目錄進(jìn)行什么操作

/lost+found?????該目錄在大多數(shù)情況下都是空的。只有當(dāng)系統(tǒng)產(chǎn)生異常時,會將一些遺失的片段放在此目錄下

/media??????????該目錄下是光驅(qū)和軟驅(qū)的掛載點,Fedora?Core?4?已經(jīng)可以自動掛載光驅(qū)和軟驅(qū)

/misc???????????該目錄下存放從?DOS?下進(jìn)行安裝的實用工具,一般為空

/mnt????????????該目錄是軟驅(qū)、光驅(qū)、硬盤的掛載點,也可以臨時將別的文件系統(tǒng)掛載到此目錄下

/proc???????????該目錄是用于放置系統(tǒng)核心與執(zhí)行程序所需的一些信息。而這些信息是在內(nèi)存中由系統(tǒng)產(chǎn)生的,故不占用硬盤空間

/root???????????該目錄是超級用戶登錄時的主目錄

/sbin???????????該目錄是用來存放系統(tǒng)管理員的常用的系統(tǒng)管理程序

/tmp????????????該目錄用來存放不同程序執(zhí)行時產(chǎn)生的臨時文件。一般?Linux?安裝軟件的默認(rèn)安裝路徑就是這里

/usr????????????這是一個非常重要的目錄,用戶的很多應(yīng)用程序和文件都存放在這個目錄下,類似與Windows?下的?Program?Files?的目錄

/usr/bin????????系統(tǒng)用戶使用的應(yīng)用程序

/usr/sbin???????超級用戶使用的比較高級的管理程序和系統(tǒng)守護(hù)程序

/usr/src????????內(nèi)核源代碼默認(rèn)的放置目錄

/srv????????????該目錄存放一些服務(wù)啟動之后需要提取的數(shù)據(jù)

/sys????????????這是?Linux?2.6?內(nèi)核的一個很大的變化。該目錄下安裝了?2.6?內(nèi)核中新出現(xiàn)的一個文件系統(tǒng)?sysfs,sysfs?文件系統(tǒng)集成了下面?3?種文件系統(tǒng)的信息:針對進(jìn)程信息的?proc?文件系統(tǒng)、針對設(shè)備的?devfs?文件系統(tǒng)以及針對偽終端的?devpts?文件系統(tǒng)。該文件系統(tǒng)是內(nèi)核設(shè)備樹的一個直觀反映。當(dāng)一個內(nèi)核對象被創(chuàng)建的時候,對應(yīng)的文件和目錄也在內(nèi)核對象子系統(tǒng)中被創(chuàng)建

/var????????????這也是一個非常重要的目錄,很多服務(wù)的日志信息都存放在這里

【linux基礎(chǔ)命令】

root用戶切換:

$:' sudo passwd

// 輸入當(dāng)前登陸密碼,再根據(jù)提示輸入設(shè)置的UNIX密碼2遍,即為root用戶切換密碼

$:' su

// 輸入UNIX密碼,切換為root用戶,提示符變?yōu)?#

設(shè)置環(huán)境變量方法如下:

1. 通過 etho顯示字符串(指定環(huán)境變量)。

2. 通過 export設(shè)置新的環(huán)境變量。

3. 通過 env顯示所有環(huán)境變量。

4. 通過 set命令顯示所有本地定義的 Shell 變量。

5. 通過 unset命令來清除環(huán)境變量。

Linux常見用戶管理命令:useradd?????????添加用戶賬號????????????????????????useradd?[選項]?用戶名

usermod?????????設(shè)置用戶賬號屬性????????????????????usermod?[選項]?屬性值

userdel?????????刪除對應(yīng)用戶賬號????????????????????userdel?[選項]?用戶名

groupadd????????添加組賬號??????????????????????????groupadd?[選項]?組賬號

groupmod????????設(shè)置組賬號屬性??????????????????????groupmod?[選項]?屬性值

groupdel????????刪除對應(yīng)組賬號??????????????????????groupdel?[選項]?組賬號

passwd??????????設(shè)置賬號密碼????????????????????????passwd?[對應(yīng)賬號]

id??????????????顯示用戶ID、組ID和用戶所屬組列表????id?[用戶名]

groups??????????顯示用戶所屬的組????????????????????groups?[組賬號]

who?????????????顯示登錄到系統(tǒng)的所有用戶????????????who

whoami??????????顯示當(dāng)前用戶名??????????????????????whoami

Linux常見系統(tǒng)管理命令:ps??????????????顯示當(dāng)前系統(tǒng)中由該用戶運行的進(jìn)程列表????????ps?[選項]

top?????????????動態(tài)顯示系統(tǒng)中運行的程序(一般為每隔?5s)???top

kill????????????輸出特定的信號給指定?PID(進(jìn)程號)的進(jìn)程????kill?[選項]?進(jìn)程號(PID)

uname???????????顯示系統(tǒng)的信息(可加選項-a)????????????????uname?[選項]

setup???????????系統(tǒng)圖形化界面配置??????????????????????????setup

crontab?????????循環(huán)執(zhí)行例行性命令??????????????????????????crontab?[選項]

shutdown????????關(guān)閉或重啟?Linux?系統(tǒng)???????????????????????shutdown?[選項]?[時間]

uptime??????????顯示系統(tǒng)已經(jīng)運行了多長時間??????????????????uptime

clear???????????清除屏幕上的信息(ctrl?+?l)??????????????????clear

Linux常見磁盤管理命令:free????????????查看當(dāng)前系統(tǒng)內(nèi)存的使用情況??????????????????free?[選項]

df??????????????查看文件系統(tǒng)的磁盤空間占用情況??????????????df?[選項]

du??????????????統(tǒng)計目錄(或文件)所占磁盤空間的大小????????du?[選項]

fdisk???????????查看硬盤分區(qū)情況及對硬盤進(jìn)行分區(qū)管理????????fdisk?[-l]

mount???????????磁盤掛載命令????????????????????????????????mount?-t?[選項]?[文件系統(tǒng)類型]?設(shè)備文件名?掛載點目錄

mount掛載舉例:

$:' mount -tvfat/dev/hda1 /mnt/c

$:' umount /mnt/c

· 在 Linux 下如何使用 U 盤呢?

一般 U 盤為 SCSI 格式的硬盤,其格式為 vfat 格式,其設(shè)備號可通過“fdisk –l”進(jìn)行查看,假若設(shè)備名為“/dev/sda1”,則可用如下命令就可將其掛載:

$:' mount -t vfat /dev/sda1/mnt/u

· 若想設(shè)置在開機(jī)時自動掛載,可在文件“/etc/fstab”中加入該命令到一個新行即可。

正則表達(dá)式的主要參數(shù)有:

· :忽略正則表達(dá)式中特殊字符的原有含義;

· ^:匹配正則表達(dá)式的開始行;

· $:匹配正則表達(dá)式的結(jié)束行;

·

· >:到匹配正則表達(dá)式的行結(jié)束;

· [ ]:單個字符,如[A]即 A 符合要求;

· [-]:范圍,如[A-Z],即 A、B、C 一直到 Z 都符合要求;

· 。:所有的單個字符;

· *:所有字符,長度可以為 0。

ln 的鏈接又軟鏈接和硬鏈接兩種:

軟鏈接就是上面所說的 ln -s ** **,它只會在用戶選定的位置上生成一個文件的鏡像,不會重復(fù)占用磁盤空間,平時使用較多的都是軟鏈接;

硬鏈接是不帶參數(shù)的 ln** **,它會在用戶選定的位置上生成一個和源文件大小相同的文件,無論是軟鏈接還是硬鏈接,文件都保持同步變化。

Linux常見壓縮打包相關(guān)命令:bzip2???????????.bz2?文件的壓縮(或解壓)程序???????????bzip2[選項]?壓縮(解壓縮)的文件名

bunzip2?????????.bz2?文件的解壓縮程序???????????????????bunzip2[選項]?.bz2?壓縮文件

bzip2recover????用來修復(fù)損壞的.bz2?文件?????????????????bzip2recover?.bz2?壓縮文件

gzip????????????.gz?文件的壓縮程序??????????????????????gzip?[選項]?壓縮(解壓縮)的文件名

gunzip??????????解壓被?gzip?壓縮過的文件????????????????gunzip?[選項]?.gz?文件名

unzip???????????解壓?winzip?壓縮的.zip?文件?????????????unzip?[選項]?.zip?壓縮文件

compress????????早期的壓縮或解壓程序(壓縮后文件名為.Z)??compress?[選項]?文件

tar?????????????對文件目錄進(jìn)行打包或解包????????????????tar?[選項]?[打包后文件名]文件目錄列表

Linux比較和合并文件命令:diff????????????比較兩個不同的文件或不同目錄下的兩個同名文件功能,并生成補(bǔ)丁文件????????diff[選項]?文件1?文件2

$:'?diff?hello1.c?hello2.c?>?hello.patch

patch???????????把生成的補(bǔ)丁文件應(yīng)用到現(xiàn)有代碼上????????????patch?[選項]?[待?patch?的文件[patch?文件]]

$:'?patch?./hello1.c?

Linux常見網(wǎng)絡(luò)相關(guān)命令:netstat?????????顯示網(wǎng)絡(luò)連接、路由表和網(wǎng)絡(luò)接口信息??????netstat?[-an]

nslookup????????查詢一臺機(jī)器的?IP?地址和其對應(yīng)的域名????nslookup?[IP?地址/域名]

finger??????????查詢用戶的信息??????????????????????????finger?[選項]?[使用者]?[用戶@主機(jī)]

ping????????????用于查看網(wǎng)絡(luò)上的主機(jī)是否在工作??????????ping?[選項]?主機(jī)名/IP?地址

ifconfig????????查看和配置網(wǎng)絡(luò)接口的參數(shù)????????????????ifconfig?[選項]?[網(wǎng)絡(luò)接口]

ftp?????????????利用?ftp?協(xié)議上傳和下載文件?????????????ftp?[選項]?[主機(jī)名/IP]

telnet??????????利用?telnet?協(xié)議瀏覽信息????????????????telent?[選項]?[IP?地址/域名]

ssh?????????????利用?ssh?登錄對方主機(jī)???????????????????ssh?[選項]?[IP?地址]

總結(jié)

以上是生活随笔為你收集整理的linux应用程序开发数据,《嵌入式linux应用程序开发详解》核心笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。