linux軟體運行
❶ linux鎬庝箞榪愯
寰堝氭湅鍙嬮兘鍦ㄦ兂linux鎬庝箞榪愯?涓嬮潰灝變竴璧鋒潵鐪嬬湅鍚э紒
linux鎬庝箞榪愯
1銆侀栧厛鎵撳紑鉶氭嫙鏈虹殑Linux緋葷粺錛屽湪shell涓瀹夎匴ine杞浠躲
2銆佹寜鐓ф彁紺鴻繘琛屽畨瑁咃紝濡備笅鍥炬墍紺恆
3銆佺劧鍚庢寜Tab閿鐐逛寒Ok錛屽啀鎸塃nter錛屽備笅鍥炬墍紺恆
4銆佹渶鍚庡湪欏甸潰涓鐐瑰嚮鈥淵es鈥濓紝鎸夌収鎻愮ず錛屽畬鎴愬畨瑁呫
5銆佸畨瑁呭畬鎴愬悗錛屽彲浠ヤ嬌鐢╓ine鍛戒護鎵撳紑杞浠訛紝濡備笅鍥炬墍紺恆
6銆佽繖鏃跺彲浠ョ湅鍒癢indow搴旂敤杞浠跺湪Linux緋葷粺涓嬭繍琛岋紝濡備笅鍥炬墍紺恆
❷ 如何運行 Linux 下的軟體
運行linux程序有三種方法,分別是:
1、使文件具有可執行許可權,直接運行文件。
chmod命令用來修改文件的許可權。+x是使文件擁有可執行知拆的許可權。就如上面我們運行程序一樣。但是我們看到的結果與我們想像當中有一定的出入。
2、直接調用命令解釋器執沖笑行程序。
如下圖所示:
沒錯,這里我們發現當前的工作路徑發生了變化,(黑人問號???)但是究竟為什麼呢?讓我們帶著三個黑人問號詳細了解一下linux程序究竟怎麼執行。
❸ 如何執行在Linux上運行的應用程序
例如,為每個人賦予一個文件的執行許可權,使用 chmod a+x 命令。a 表示所有人,加號 (+) 表示添加,而 x 表示執行。同樣地,如果應用程序是一個伺服器服務,您應該確保只有授權帳戶才有權執行此服務。
如果一個應用程序能夠在標准用戶帳戶許可權下運行,但只有特定組中的用戶才需要使用它,您可以將該組所有者許可權設置為可執行,然後將這些用戶添加到該組中。
更具體地說,您可以在一個可執行文件中設置訪問控制列表 (ACL) 許可權,賦予特定用戶或組許可權來運行該應用程序。使用 setfacl 實用工具設置 ACL 許可權。
對於這些需要以 root 用戶啟動進程的應用程序,比如伺服器服務,您有幾個選擇。總結了允許用戶執行需要 root 許可權的伺服器服務的各種選項。
選項 描述
作為 root 用戶 不推薦用於伺服器服務。當用戶已經知道 root 密碼而且應用程序泄露不是首要關注問題時,可用於應用程序。
SetUID 由於安全問題,不推薦使用。SetUID 允許標准用戶以另一個用戶方式,比如 root 用戶,執行一個文件。
sudo 很常用,並且被認為是一個很好的實踐。sudo 授予一個用戶或組成員許可權以執行可能額外需要 root 許可權的文件。該用戶不需要知道 root 密碼。
帶有文件許可權的標准用戶帳戶 在一個文件上為用戶所有者、組所有者或其他人(所有人)設置執行許可權。這是授予那些不需要 root 許可權來執行應用程序的用戶的常用方法。
帶有 ACL 許可權的標准用戶帳戶 使用較少,但是如果您不想授予一個用戶 sudo 訪問或者更改文件的許可權,這也是一個可行的解決方案。在一個文件上使用 setfacl 命令,您可以授予一個特定用戶或用戶組執行該文件的權力。
從命令行運行
在管理 Linux 伺服器時,從命令行運行應用程序是一項基本的任務。很多應用程序使用 shell 腳本(類似於 Windows 批處理文件 .bat)來啟動應用程序並執行其他任務,比如設置變數以及為其他用戶分配進程。例如,應用程序可能需要一個 java? Virtual Machine (JVM) 來執行。那樣的話,shell 腳本可以設置適當的環境變數,然後執行 Java 命令來運行 Java Archive (JAR) 或類文件。這同樣適用於使用 Perl、python、甚至 C# 的應用程序。(當然,C# 編譯的應用程序可以在 Linux 上運行)
從命令行或者 shell 提示符執行應用程序的一個常用方法是使用 ./ 命令。如果您在 Linux 中使用句號 (。) 和正斜杠 (/),就意味著告訴環境您想要以可執行文件運行該文件。例如,運行一個名為 myapp 的可執行文件,您可以使用 ./myapp 命令。同樣地,您可以在文件名之前加上語言環境,比如:
sh
php
python
perl
java
但更多情況下,套裝應用程序使用 shell 腳本,以 #! 符號設置環境變數提供該語言的運行時可執行路徑,比如 #!/usr/bin/python.您也應該熟悉這種方法。
清單 1 使用 catalina.sh 默認腳本通過 ./ 方法啟動 Apache Tomcat 應用程序伺服器。然後,使用 sh 方法啟動伺服器。因為默認埠是 8080,標准用戶不需要對其進行特別修改就可以啟動該服務。
清單 1. 從命令行執行應用程序
考慮啟動一個典型 Hypertext Transfer Protocol (HTTP) Web 伺服器。在 Linux 中,任何低於 1024 的埠被認為是一個許可權埠,只有 root 可以打開許可權埠。因為,默認情況下,Web 伺服器運行於埠 80,root 需要啟動該進程。然而,如上所述,以 root 用戶運行一個服務被認為是不安全的。正確的步驟是以 root 啟動 該服務,然後將其轉移到一個標准用戶或者服務帳戶。
幸運的是,許多伺服器服務由腳本來執行這一操作。如果您從頭開始構建 Apache Web 伺服器,您將會發現它以 root 用戶啟動,然後將 httpd 線程轉交給 apache 用戶。
清單 2 啟動一個默認的 Apache 2 Web 伺服器編譯。安裝流程也做了一些事情,包括使 apachectl 命令可執行。因為該流程需要使用埠 80,使用 root 用戶許可權啟動。然而,ps 命令顯示 httpd 流程在 apache 用戶帳戶下運行。
清單 2. 啟動 Apache Web 伺服器
在後台運行應用程序
一些安裝的軟體可能不像 Apache Web 伺服器那樣用戶友好。您很可能需要在流程啟動後以後台方式運行它,除非您正在進行故障排除,或者想要看看應用程序到底怎麼了。如果您沒有這么做,shell 關閉後應用程序將終止。運行伺服器服務時,可不希望每次關閉終端 shell 或者退出時服務都會停止!
如果在後台運行一個應用程序,即使關閉了 shell 窗口,應用程序也會繼續運行。您可以通過在執行命令結尾附加一個 (&) 符號來啟動應用程序。例如,您可以使用 vi 編輯器打開文件,然後使用 vi /etc/sysconfig/network & 命令在後台運行該文件,因為 & 可以打開 /etc/sysconfig/network 文件並將其保留在後台。即使在退出後,您也可以使用 nohup 實用工具支持進程繼續運行。例如,nohup vi /etc/sysconfig/network &.