從零開始debian----軟件安裝與快速調用

軟件安裝比較簡單。

Tips:

  • 儘量相信官網,對照官網的方法操作,而不是在baidu上胡亂搜索。
  • sources.list中不是別https開頭的源,只能處理http開頭的。
  • apt-get autoremove和autoclean不一樣,後者是刪除緩存中內容。
  • 安裝產生依賴關係而無法完成時,apt-get -f install可以解決。

軟件調用——即運行可執行文件,最直接的方法是cd到可執行文件所在目錄,然後./excuteprogramname或者直接輸入該文件的名字即可。
對於debian而言,提供了三種快速啓動的方法。從Applications Menu啓動(這裏界面是xfce4,gnome和kde的類似);從terminal啓動;快捷鍵啓動。

將程序添加到Applications Menu 只需要向/usr/share/applications/中添加對應的name.desktop即可。比如添加一個iep的快捷方式到Applications Menu可以如下操作。
sudo mousepad /usr/share/applications/iep.desktop
然後往iep.desktop中添加如下內容

[Desktop Entry]
Name=iep
Comment=your comment about iep
Exec=iep_install_path/iep
Icon=iep_icon_path/iep.png
Terminal=false
Type=Application
Categories=Application;Development

其中,Terminal=false是說該程序不同時在terminal中啓動;Type=Application是說該程序是可執行程序;Categories是將該程序分類到applications menu下面的Development組下面。

從Terminal啓動 要實現這個目標,需要將該可執行文件和某個命令名字關聯起來。對於單個命令文件目前有兩種關聯方法。
1. 軟鏈接 ln -s path/excute_file command_name 這種方式實際上相當於給excute_file創建了一個快捷方式。
2. alias command_name=’path/excute_file’ 這種方式是將‘’中的內容當作一條命令,然後給這條命令一個別名,即command_name。一個可執行文件本身可以作爲一條不帶參數的命令;然而不僅如此,對於帶參數的複雜命令,也可以用alias設定一個簡單的別名。
3. (1)在Terminal中執行alias …,是一次性的,關閉該terminal,註銷,關機,這種別名關係都將消失。(2)將alias…語句添加到~/.bashrc末尾,則該alias對當前用戶永久有效。(3)默認.bashrc中還有一個定位alias到~/.bash_aliases文件的語句,因此,將所有alias…語句添加到~/.bash_aliases文件中更適合統一管理,每次更改~/.bash_aliases後要 source ~/.bashrc 來重新載入.bashrc一次,讓該更改馬上生效。

創建啓動快捷鍵 xfce4中,ApplicationsMenu–>Settings–>Keyboard–>選擇Applications ShortCuts,然後先選擇該可執行文件,點擊ok,再輸入要對應綁定的快捷鍵即可。

注:上述大部分內容都涉及到查詢/知道可執行文件所在位置。所以一般需要用到以下命令。
whereis name 查詢name安裝的位置,包含可執行文件,鏈接庫,頭文件等全部列出,如果是綠色版或者非安裝存入系統的可執行文件,則該命令只能告知有否(顯示 name:),不能定位到位置(不顯示什麼)。
which name 查詢name這一可執行文件的執行文件位置。如果不是安裝進入系統的文件,則該命令不顯示任何東西,和沒找到一般。這條命令的好處是隻列出可執行文件所在路徑,更直觀,適合快速準確定位可執行文件。
find path -name “namesymbol” 找到路徑下名稱中帶namesymbol字段的所有文件,並列出其路徑位置,這條命令適合模糊查找。

其他linux命令
解壓文件

.tar.gz—–> tar -zxvf name.tar.gz (gzip文件)
.tar.bz—–> tar -jxvf name.tar.bz (bzip2文件)
.tar.xz—–> xz -d name.tar.xz —-> tar xvf name.tar (xz文件)
.zip———> zip -d name.zip path/file(-d表示刪除)刪除name.zip中path路徑下的file文件;
zip -r name.zip path/
(-r表示遞歸壓縮)將path/以及path/下所有的路徑和文件壓縮到name.zip中,注意,在name.zip中所有路徑都作爲了一個文件參與文件計數。
unzip -l name.zip 列出name.zip中所有的文件,路徑也作爲一個文件參與計數。
zip name.zip -b pathinzip file 將file文件添加到name.zip中的pathzip目錄下。

makefile小記 此部分爲轉載加簡化,詳見http://blog.csdn.net/zhangwenjianqin/article/details/4735376
格式如下。

main:main.o mytool1.o mytool2.o
gcc -o main main.o mytool1.o mytool2.o
main.o:main.c mytool1.h mytool2.h
gcc -c main.c
mytool1.o:mytool1.c mytool1.h
gcc -c mytool1.c
mytool2.o:mytool2.c mytool2.h
gcc -c mytool2.c

在Makefile中也#開始的行都是註釋行.Makefile中最重要的是描述文件的依賴關係的說明。一般的格式是:
target:components
TAB rule
第一行表示的是依賴關係。第二行是規則。
比如說我們上面的那個Makefile文件的第二行。
main:main.o mytool1.o mytool2.o
表示我們的目標(target)main的依賴對象(components)是main.o mytool1.omytool2.o 當倚賴的對象在目標修改後修改的話,就要去執行規則一行所指定的命令。就象我們的上面那個Makefile第三行所說的一樣要執行 gcc-o main main.o mytool1.o mytool2.o 注意規則一行中的TAB表示那裏是一個TAB鍵
Makefile有三個非常有用的變量。分別是@ ^,< @--目標文件, <–第一個依賴文件。
如果我們使用上面三個變量,那麼我們可以簡化我們的Makefile文件爲:
第一次簡化後的makefile
經過簡化後,我們的Makefile是簡單了一點,不過人們有時候還想簡單一點。這裏我們學習一個Makefile的缺省規則

.c.o:
gcc -c $<

這個規則表示所有的 .o文件都是依賴與相應的.c文件的。例如mytool.o依賴於mytool.c 於是再一次簡化後如下

main:main.o mytool1.o mytool2.o
gcc -o @ ^
.c.o:
gcc -c $<

如果想知道更多的關於Makefile的規則,可以查看相應的文檔。
另一種標準的makefile寫法:
另一種makefile的標準寫法
後記:

  • 關於.desktop文件的更多參數還需要進一步學習
  • 更多命令應該按照這種“完成一個功能目標的多種方式”或者“一個功能針對多種文件格式”等方法來學習。這樣就將命令的學習聚焦到一箇中心上,更便於分類與記憶
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章