EasyARM-iMX257 linxu兩年前的筆記

第三章續:簡單總結第三章中出現的命令!

1)  root@EasyARM-iMX257 ~# ddif=/dev/zero of=/dev/shm/disk bs=1024 count=10240

dd:是linux下非常有用,我覺得有必要積累下來。它是用來指定大小的拷貝一個文件,並在拷貝的同時進行指定的轉換。

其參數:

if=輸入的文件(或設備名稱);

of=輸出的文件(或設備的名稱);

ibs=bytes一次讀入bytes個字節,即指定一個塊大小爲bytes個字節。

obs=bytes一次輸出bytes個字節,即指定一個塊大小爲bytes個字節。

bs=bytes同時設置/寫緩存區的字節數;

count=blocks只拷貝輸入的blocks塊;

說了這些命令可能大家還是不理解/dev/zero,它是linux下一個特殊的設備,永遠輸出0的一個設備文件,它可作爲輸入全爲空的文件,因此可以用來創建新文件和已覆蓋的方式清除舊文件。

這樣,這就命令的意思就很清晰:用一個輸出爲0的輸入設備,創建一個每次輸出1024bytes,總共輸出10240bytes(10M)。

注意:單位問題:bs=1024=1k=2b=1024c=512w;

Eg:  dd if=/dev/zero of=/dev/shm/disk bs=1kcount=10240;

ddif=/dev/zero of=/dev/shm/disk bs=2b count=10240;一個意思。

當然我們也可以用dd命令備份eg:#dd if=/dev/hdb of=/dev/hdd,即把/dev/hdb備份到/dev/hdd。

2)  root@EasyARM-iMX283 ~# insmod /root/demos/g_file_storage.kostall=0 file=/dev/shm/disk removable=1

當我們執行完1)命令上,會生成一個10M文件,爲剛生成輸出的10M文件加載驅動。

Insmod:是加載動態模塊的命令;

命令格式:isnmod[-fkmpsvxX][-o <模塊命令>][模塊文件][符號名稱=符號值]

-fkmpsvxX這些都是insmod命令的一些參數,代表什麼意思在此就在贅述。/root/demos/g_file_storage.ko就是模塊驅動,file=/dev/shm/disk就是模塊文件,也就我們就是要給它加載模塊驅動,而stall=0、removable=1就是[符號名稱=符號值],說實話,這兩個參數具體的我也太懂。

呼喚大神來具體解釋。注:想要卸載該模塊,用rmmod代替insmod即可。

3)  root@EasyARM-iMX283 ~# mount/dev/shm/disk /mnt  

mount命令:這句命令的意思是把剛纔前面創建的這個loop類型文件掛載到/mnt目錄下,文檔已經講得很清楚了,Mount命令在NFS掛載會詳細的總結一下。

4)     root@EasyARM-iMX283 ~#echo 1>/sys/class/leds/led-err/brightness #控制LED點亮

echo命令本意是查看命令的意思,在這裏與重定向符號“>” 配合使用,從而將1重定向到控制LED燈的操作接口。

Eg:創建一個文件的方法

root@EasyARM-iMX283 ~# > emptyfile //創建一個名爲emptyfile的文件

root@EasyARM-iMX283 ~# echo“Only one line in file” > emptyfile //創建一個名爲emptyfile的文件,並寫入Only one line infile。

這樣就應該很清楚echo 1>/sys/class/leds/led-err/brightness #控制LED點亮這句話的意思,文檔中操作蜂鳴器、LCD背光的程序跟這個類似。

如何在C應用程序裏實現對LED的控制呢?

直接調用系統函數eg:system(“echo 1>/sys/class/leds/user-led/brightness”);

5)  root@EasyARM-iMX283 ~# cat/sys/class/backlight/mxs-bl/brightness

cat 命令顯示文件內容。

從此以外,可用cat file0 file0 file1 file2file3 > file  //將file0 1 2 3文件的內容輸入到file,有點合併的意思。

6)  root@EasyARM-iMX283 ~# date 2014.05.07-10:30:10   #設置系統時間

root@EasyARM-iMX283~# hwclock -w #將時間寫入RTC

這是一個寫入時間,並且將時間保存在RTC內的命令,沒什麼可說的,但是需要注意,有的網友在輸入hwclock –w時會出現hwclock:can’n open/dev/misc/rtc’: No such file or directory

這種情況出現一般是因爲內核RTC沒有配置,在linux內核文件下輸入make menuconfig 配置內核Device→Driver→RealTime Clock→Freescale MXS series RTC 選中,編譯內核,燒寫下載即可。

2、關於文檔的第四章

l  關於ssh,我已經在對應用程序的開發模式,已經說得很清楚了,只要網絡設置好,以ssh登陸開發板是非常方便的。

l  關於NFS自己的總結

NFS服務器設置步驟(在linux主機終端輸入命令):

a)   建立共享文件夾:mkdir /home/vmuser/EasyARM-iMX283

b)   設置共享目錄:sudo vi /etc/exports加入:/home/vmuser/EasyARM-iMX283  *(rw,sync,no_root_squash)

c)    使設置生效 重新開啓 sudo/etc/init.d/nfs-kernel-server restart

NFS開發板設置步驟(在開發板串口終端輸入命令):

a)  新建掛載點eg:開發板中已經有mnt/nfs目錄,直接掛在即可。

b)  掛載共享目錄mount –t nfs 192.168.2.10:/home/vmuser/EasyARM-iMX283 /mnt/nfs -o nolock

c)  訪問共享目錄cd /mtn/nfs,用ls –l查看

d)   卸載掛載點:umount –t nfs 192.168.2.10:/home/vmuser/EasyARM-iMX283 /mnt/nfs -a nolock  

umount /mnt/nfs 命令也可。

在linux主機中掛載跟這個比較類似,不再另行總結。

在此介紹幾個命令:

a)    設置共享目錄時:sudo vi /etc/exports加入:/home/vmuser/EasyARM-iMX283  *(rw,sync,no_root_squash)

          i.   客戶端主機地址 ,表示所有主機

         ii.   rw 可讀寫 (ro只讀 ),sync 設置NFS服務器 同步寫磁盤(不會輕易丟失數據),

       iii.   no_root_squash :允許超級用戶的權限

b)   mount –t nfs 192.168.2.10:/home/vmuser/EasyARM-iMX283/mnt/nfs -o nolock

          i.   -t nfs指定文件系統的類型,通常不用指定,但NFS需指定;

         ii.  由於nfs mount 默認選項包括文件鎖,有時掛載時會出現:Mount:mounting 192.168.2.10:/home/vmuser/EasyARM-iMX283 /mnt/nfs failed :Connection refused     需要加上-o nolock即可解決這一問題;

       iii.  192.168.2.10:/home/vmuser/EasyARM-iMX283就是掛載目標;

       iv.  /mnt/nfs則是掛載目錄。

注意:nfs掛載命令是在網絡配置好,且linux開啓nfs服務之後才能做的事,開發板和linux相互ping通纔可以進行nfs掛載。

l  關於tftp的總結

iMX283開發板是不支持tfpt的,我目前沒有實現tftp下載東西到開發板。但是這裏面有幾個命令還是需要總結一下的:

vmuser@Linux-host~$ sudo chmod -R 777 /tftpboot

vmuser@Linux-host~$ sudo chown -R nobody   /tftpboot

a)    這裏chmod 命令可以改變文件或目錄的訪問權,該命令有兩種用法。一種是包含字母和操

作符表達式的文字設定法;另一種是包含數字的數字設定法。

在總結這個之前,必須要說一下:

u 表示“用戶(user)”,即文件或目錄的所有者。
g 表示“同組(group)用戶”,即與文件屬主有相同組ID的所有用戶。
o 表示“其他(others)用戶”。
a 表示“所有(all)用戶”。它是系統默認值。

在linux終端輸入:ls –l可查看文件屬性:

Eg:-rw-rw-r-- 1vmuser vmuser   39  7月 31 10:37 test.sh              ①

第1個rw就表示是u的權限,第2個rw就表示是g的權限,第3個r就表示是o的權限。r表示可讀,w表示可寫,x表示可執行。+可添加某個權限。-可取消某個權限。

                      i.    文字設定法:以①爲Eg:將g加上對test.sh寫和執行權限,u和g權限不變:chmod o+wx test.sh

ls –l查看權限::-rw-rw-rwx 1vmuser vmuser   39  8月  8 13:16 test.sh

                     ii.   數字設定法:

0表示沒有權限,1表示可執行權限,2表示可寫權限,4表示可讀權限,然後將其相加。所以數字屬性的格式應爲3個從0到7的八進制數,其順序是(u)(g)(o)。

以①Eg:將o加上對test.sh寫和執行權限,u和g權限不變:chmod 667 test.sh

第一個6代表u是讀寫權限,第二個6代表g是讀寫權限,7表示o是可讀可寫可執行的權限。

這樣就很容易解釋文檔中:vmuser@Linux-host ~$ sudochmod -R 777 /tftpboot這句命令的意思了,注意:其中-R表示遞歸。

注意:chown 用來改變文件的所有者,在此不再詳細解釋。

發佈了40 篇原創文章 · 獲贊 0 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章