linuxwith
⑴ linux命令
我給你舉一個簡單的文件顯示的命令:dos裡面有dir命令,而在linux中可以用ls命令加相應的參數顯示文件的具體屬性,當然也可以用dir命令,但沒有ls強大,例如:
#ls
這樣顯示當前目錄下的所有文件,顯示的格式只有文件名字
#ls
-l
這樣以列的形式顯示出來文件,並且帶著文件讀寫的許可權,所屬的用戶和組,
#ls
-lat,加入這些參數,可以顯示文件建立的時間,還有文件建立的先後。
這個命令很簡單,可以顯示出shell命令對文件操作的強大,如果想具體的知道ls和其他的命令的功能也用途,你可以使用#man
命令來操作,
⑵ 如何才能讓自己的應用程序在arm Linux 平台下運行(實現控制IO之類的)
簡單來說就是交叉編譯你的應用程序,然後下載到你的板子裡面運行它。
更具體一點來說可以分為以下幾步:
1、首先確定你的arm Linux有沒有這些IO的驅動,如果還沒有的話,那麼你要寫這些IO的驅動;如果已經有了,那麼它們的控制就叫給你自己的應用程序了。
2、編寫應用程序(open,ioctl等等),並交叉編譯它們(何謂「交叉編譯」?搜索一下)。
3、把交叉編譯出來的可執行程序下載到你的板子(如果你採用了NFS的開發方式的話,這步可以省略了),執行之!
希望可以幫助到你,祝你好運!
⑶ 如何使用linux交叉編譯
採用交叉編譯的主要原因在於,多數嵌入式目標系統不能提供足夠的資源供編譯過程使用,因而只好將編譯工程轉移到高性能的山早主機中進行。
linux下的交叉編譯環境重要包括以下幾個部分:
1.對目標系統的編譯器gcc
2.對目標系統的二進制工具binutils
3.目標系統的標准c庫glibc
4.目標系統的linux內核頭文件
交叉編譯環境的建立步驟
一、下載源代碼 下載包括binutils、gcc、glibc及linux內核的源代碼(需要注意的是,glibc和內核源代碼的版本必須與目標機上實際使用的版本保持一致),並設定shell變數PREFIX指定可執行程序的安裝路徑。
二、編譯binutils 首先運行configure文件,並使用--prefix=$PREFIX參數指定安裝路徑,使用--target=arm-linux參數指定目標機類型,然後執行make install。
三、配置linux內核頭文件
首先執行make mrproper進行清理工作,然後執行make config ARCH=arm(或make menuconfig/xconfig ARCH=arm)進行配置(注意,一定要在命令行中使用ARCH=arm指定cpu架構,因為預設架構為主機的cpu架構),這一步需要根據目標機的實際情況進行詳細的配置,筆者進行的實驗中目標機為HP的ipaq-hp3630 PDA,因而設置system type為SA11X0,SA11X0 Implementations中選擇Compaq iPAQ H3600/H3700。
配置完成之後,需要將內核頭文件拷貝到安裝目錄: cp -dR include/asm-arm $PREFIX/arm-linux/include/asm cp -dR include/linux $PREFIX/arm-linux/include/linux
四、第一次編譯gcc
首先運行configure文件,使用--prefix=$PREFIX參陪搭數指定安裝路徑,使用--target=arm-linux參數指定目標機類型,並使用--disable-threads、--disable-shared、--enable-languages=c參數,然後執行make install。這一步將生成一個最簡的gcc。由於編譯整個gcc是需要目標機的glibc庫的,它現在還不存在,因此需要首先生成一個最簡的gcc,它只需要具備編譯目標機glibc庫的能力即可。
五、交叉編譯glibc
這一步驟生成的代碼是針對目標機cpu的,因此它屬於一個交叉編譯過程。該過程要用到linux內核頭文件,默認路徑為$PREFIX/arm-linux/sys-linux,因而需要在$PREFIX/arm-linux中建立一個名為sys-linux的軟連接,使其內核頭文件所在的include目錄;或者,也可以在接下來要執行的configure命令中使用--with-headers參數指定linux內核頭文件的實際路徑。
configure的運蘆唯拿行參數設置如下(因為是交叉編譯,所以要將編譯器變數CC設為arm-linux-gcc): CC=arm-linux-gcc ./configure --prefix=$PREFIX/arm-linux --host=arm-linux --enable-add-ons 最後,按以上配置執行configure和make install,glibc的交叉編譯過程就算完成了,這里需要指出的是,glibc的安裝路徑設置為$PREFIXARCH=arm/arm-linux,如果此處設置不當,第二次編譯gcc時可能找不到glibc的頭文件和庫。
六、第二次編譯gcc
運行configure,參數設置為--prefix=$PREFIX --target=arm-linux --enable-languages=c,c++。
運行make install。
到此為止整個交叉編譯環境就完全生成了。
幾點注意事項
第一點、在第一次編譯gcc的時候可能會出現找不到stdio.h的錯誤,解決辦法是修改gcc/config/arm/t-linux文件,在TARGET_LIBGCC2_CFLAGS變數的設定中增加-Dinhibit_libc和-D__gthr_posix_h。
⑷ linux如何設置默認指令
修改文件/etc/inittab。
[root@localhost ~]#vi /etc/inittab
# inittab is only used by upstart for the default runlevel.
#
# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# System initialization is started by /etc/init/rcS.conf
#
# Indivial runlevels are started by /etc/init/rc.conf
#
# Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf
#
# Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,
# with configuration in /etc/sysconfig/init.
#
# For information on how to write upstart event handlers, or how
# upstart works, see init(5), init(8), and initctl(8).
#
# Default runlevel. The runlevels used are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:5:initdefault:
默認有如下7促啟動級別,文件中也有相應的說明。如:
0表示關閉姿判桐,6表示重啟,文件也說明了不要將initdefault設置為這兩跡坦個值。問題也可想而知。
1表示單用戶模式。沖運
2表示沒有網路的多用戶模式。
3表示多用戶模式。(楓竹夢推薦使用這個模式)
4不使用。
5圖形界面。(安裝有圖形界面的系統的默認啟動級別)
0和6存在的意思是系統在關機和重啟是要切換到這個模式的。知道如上的內容就很容易的可以做出相應的修改。
這里將id:5:initdefault:修改為id:3:initdefault:保存文件並重啟即可。
當然,也可以使用init 3直接進行切換。
其實看這里的內容,可以很容易的理解使用chkconfig命令進行設置的服務在各個啟動級別當中的on與off是什麼意思了。
Ubuntu的設置
直接修改文件/etc/X11/default-display-manager的內容並保存,重啟即可。
⑸ linux常用安裝軟體的命令
安裝軟體---這個操作在WINDOWS的世界裡很簡單,下載軟體雙擊exe文件即可,還有自動運行方式的,復雜點的執行bat之類的可執行程序即可。但Linux不然,因Linux版本過多,導致軟體的安裝方法五花八門。本文只是將Linux的軟體安裝方式進行匯總和整理,沒有過多的技術難度,僅供參考。
Linux下主要有兩種方式,主要分在線安裝和線下安裝。(以下介紹的方式基本涵蓋所有Linux系統的軟體安裝方式)
一、在線安裝
1、軟體管理中心安裝。(ubuntu)1)更新源sudo apt-get update2)打開軟體中心,搜索你要安裝的軟體,雙擊安裝即可。例如安裝apache,如下圖
2、命令行安裝方式
1)更新,命令:apt-get update
2)查找你要安裝的軟體,apt-cache search 「軟體名」
3)apt-get install 軟體名
以上在線的兩種方式都提到了apt-get 方式,那麼它的工作原理簡單說明一下,apt-get相關的有兩個重要文件:1、是/etc/sources.list,2、是/var/lib/apt/lists/目錄.
當我們執行apt-get update程序分析sources.list看這個文件里是否有對應的Packages/Sources/Release列表文件,如果有更新則下載之,存入/var/lib/apt/lists/目錄(其實就是保持與當前系統版本軟體源表最新);apt-get install 安裝相應的包 ,下載並安裝。
這種方式的好處在於:如果你想要載入的應用需要依賴另一個應用程序才能正常工作,apt-get會幫你找到並載入所需的程序庫或應用代碼,這種方式是比較常用的的。比如我們執行apt-get install mysql-server,可以看到相關的依賴包(如圖)
二、線下安裝
之所以叫線下的安裝方式,也就是說你要把軟體下載到本地去安裝。一般我們下載的文件後綴名都是zip、tar.gz等壓縮包,解壓後會看到rpm、bin、deb、run之類擴展名文件。很多軟體都會提供不同LINUX版本的安裝格式,你可以根據自己的系統下載不同擴展名的軟體。
1、rpm安裝包:這時一款老牌的安裝格式,是紅帽創建的安裝格式,現在已成為一種標准,常用在opensuse/turbo/redhat版本),安裝方法rpm -ivh 軟體名.rpm (如果只是安裝一個i參數就夠了,如果還要看安裝進度和軟體信息就加個vh)
2、deb安裝包:DEB是Debian軟體包格式的文件擴展名,常用在centos/ubuntu,在蘋果系統里也常見此安裝方式。安裝方法:dpkg -i 軟體名.deb
3、run安裝包:以QT(一種編程工具)的安裝文件為例,
1)授權: chmod x qt-unified-linux-x64-2.0.2-2-online.run
2)執行:./qt-unified-linux-x64-2.0.2-2-online.run即可安裝。
4、bin安裝包:bin包是一個自解壓格式的安裝包,要想執行它,需要先賦予它可執行的許可權。
(以安裝jdk為例)# chmod x jdk-6u21-linux-i586.bin# ./jdk-6u21-linux-i586.bin
5、編譯後安裝方式:
舉例安裝nagios插件(nagios是一種開源的監控軟體,需要多種插件支持監控模塊)
1)cd /tmp/nagios-plugins-* //先進入目錄
2)./configure --with-nagios-user=nagios --with-nagios-group=nagios // 配置,即安裝的用戶安裝的路徑都可在此設置,這一步一般用來生成 Makefile,為下一步的編譯做准備
3)make //編譯過程如果 在 make 過程中出現 error ,你就要記下錯誤代碼,缺少什麼包就按照什麼包。
4) make install //如果make無問題就可以直接安裝了。
這種安裝方法的好處是你可以自定義安裝路徑、安裝賬號等參數,常見開源平台下載的源碼安裝方式。
6、其它,還有一些軟體解壓後生成的文件夾內包含很多文件,一般文件夾內有install.sh、setup.py等安裝文件方式,此種方式類似windows的exe安裝方式,你需要先授權該文件的可執行許可權,在執行安裝。以上基本上囊括了所有的Linux環境下的軟體安裝方式,供各位參考。