Ⅰ linux下如何運行可執行文件
以ubuntu系統為例:
1,首先去運行perl-v命令查看您的linux系統上面是否安裝了perl工具,如果已安裝的話,會輸出版本號,如果沒有安裝,則安裝perl。sudo apt-get install perl
Perl,一種功能豐富的計算機程序語言,運行在超過100種計算機平台上,適用廣泛,從大型機到便攜設備,從快速原型創建到大規模可擴展開發。
Perl借取了C、sed、awk、shell腳本語言以及很多其他程序語言的特性,其中最重要的特性是它內部集成了正則表達式的功能,以及巨大的第三方代碼庫CPAN。
簡而言之,Perl像C一樣強大,像awk、sed等腳本描述語言一樣方便,被Perl語言愛好者稱之為「一種擁有各種語言功能的夢幻腳本語言」、「Unix中的王牌工具」。
Ⅱ linux下用什麼命令來運行可執行文件
不需要什麼命令,在Linux上面只要是有可執行許可權的文件都可以運行(當然前提是這個文件有代碼邏輯,能運行的起來)。給一個文件添加可執行許可權的命令是這樣執行的:chmod a+x 文件名。當給文件賦予了可執行許可權後,可以這樣運行它:在終端中先用cd命令切換到這個文件所在的目錄,再用./文件名的方式運行它(在文件前面加的是一個英文點號和一個英文斜杠),表示在當前目錄下運行文件,一定加上這個./。這樣文件就運行起來了,不管它是二進制文件,還是.pl、.py、.sh等腳本文件,運行它們都是這樣操作的。
Ⅲ linux 命令行如何運行程序
把程序的絕對路徑或者相對路徑寫出來,軟體就會執行。
還可以設置環境變數。
如果是文件,可以設置執行許可權,然後./文件名來執行。
Ⅳ 如何用linux命令進入一個目錄 並且執行該目錄下的一個文件
用linux命芹此令進入一個目錄 並且執行該目錄下的一個文件方法如下:
1、打開文件vi(如/etc裡面有一個文件hosts,要打開這個文件執行vi hosts);
2、進入編輯模式i,a(打開hosts後不能進行編輯,輸入i之後出現---insert就進入編輯模式可以進行編輯了)埋掘;
3、退出編輯模式,按嫌液迅下Esc;
4、進入命令模式,按下;
5、退出但不保存q;
6、退出保存wq或x;
7、保存w。
Ⅳ Linux必須學會的60個命令:文件處理1
Linux系統信息存放在文件里,文件與普通的公務文件類似。每個文件都有自己的褲悔名字、內容、存放地址及其它一些管理信息,如文件的用戶、文戚純姿件的大小等。文件可以是一封信、一個通訊錄,或者是程序的源語句、程序的數據,甚至可以包括可執行的程序和其它非正文內容。Linux文件系統具有良好的結構,系統提供了很多文件處理程序。這里主要介紹常用的文件處理命令。
file 1.作用file通過探測文件內容判斷文件類型,使用許可權是所有用戶。
2.格式file [options]文件名3.[options]主要參數-v:在標准輸出後顯示版本信息,並且退出。
-z:探測壓縮過的文件類型。
-L:允許符合連接。
-f name:從文件namefile中讀取要分析的文件名列表。
4.簡單說明使用file命令可以知道某個文件究竟是二進制(ELF格式)的可執行文件,還是Shell Script文件,或者是其它的什麼格式。file能識別的文件類型有目錄、Shell腳本、英文文本、二進制可執行文件、C語言源文件、文本文件、DOS的可執行文件。
5.應用實例如果我們看到一個沒有後綴的文件grap,可以使用下面命令:
$ file grap grap:English text 此時系統顯示這是一個英文文本文件。需要說明的是,file命令不能探測包括圖形、音頻、視頻等多媒體文件類型。
mkdir 1.作用mkdir命令的作用是建立名稱為dirname的子目錄,與MS DOS下的md命令類似,它的使用許可權是所有用戶。
2.格式mkdir [options]目錄名3.[options]主要參數-m,--mode=模式:設定許可權<模式>,與chmod類似。
-p,--parents:需要時創建上層目錄;如果目錄早已存在,則不當作錯誤。
-v,--verbose:每次創建新目錄都顯示信息。
--version:顯示版本信息後離開。
4.應用實例在進行目錄創建時可以設置目錄的許可權,此時使用的參數是「-m」。假設要創建的目錄名是「tsk」,讓所有用戶都有rwx(即讀、寫、執行的許可權),那麼可以使用以下命令:
$ mkdir-m 777 tsk grep 1.作用grep命令可以指定文件中搜索特定的內容,並將含有這些內容的行標准輸出。grep全稱是Global Regular Expression Print,表示全局正則表達式版本,它的使用許可權是所有用戶。
2.格式grep [options] 3.主要參數[options]主要參數:
-c:只輸出匹配行的計數。
-I:不區分大小寫(只適用於單字元)。
-h:查詢多文件時不顯示文件名。
-l:查詢多文件時只輸出包含匹配字元的文件名。
-n:顯示匹配行及行號。
-s:不顯示不存在或無高絕匹配文本的錯誤信息。
-v:顯示不包含匹配文本的所有行。
pattern正則表達式主要參數:
:忽略正則表達式中特殊字元的原有含義。
^:匹配正則表達式的開始行。
$:匹配正則表達式的結束行。
<:從匹配正則表達式的行開始。
>:到匹配正則表達式的行結束。
[ ]:單個字元,如[A]即A符合要求。
[ - ]:范圍,如[A-Z],即A、B、C一直到Z都符合要求。
。:所有的單個字元。
*:有字元,長度可以為0。
正則表達式是Linux/Unix系統中非常重要的概念。正則表達式(也稱為「regex」或「regexp」)是一個可以描述一類字元串的模式(Pattern)。如果一個字元串可以用某個正則表達式來描述,我們就說這個字元和該正則表達式匹配(Match)。這和DOS中用戶可以使用通配符「*」代表任意字元類似。在Linux系統上,正則表達式通常被用來查找文本的模式,以及對文本執行「搜索-替換」操作和其它功能。4.應用實例查詢DNS服務是日常工作之一,這意味著要維護覆蓋不同網路的大量IP地址。有時IP地址會超過2000個。如果要查看nnn.nnn網路地址,但是卻忘了第二部分中的其餘部分,只知到有兩個句點,例如nnn nn..。要抽取其中所有nnn.nnn IP地址,使用[0-9 ]{3 }.[0-0{3}。含義是任意數字出現3次,後跟句點,接著是任意數字出現3次,後跟句點。
$grep '[0-9 ]{3 }.[0-0{3}' ipfile 補充說明,grep家族還包括fgrep和egrep。fgrep是fix grep,允許查找字元串而不是一個模式;egrep是擴展grep,支持基本及擴展的正則表達式,但不支持q模式范圍的應用及與之相對應的一些更加規范的模式。
dd 1.作用dd命令用來復制文件,並根據參數將數據轉換和格式化。
2.格式dd [options] 3.[opitions]主要參數bs=位元組:強迫ibs=<位元組>及obs=<位元組>。
cbs=位元組:每次轉換指定的<位元組>。
conv=關鍵字:根據以逗號分隔的關鍵字表示的方式來轉換文件。
count=塊數目:只復制指定<塊數目>的輸入數據。
ibs=位元組:每次讀取指定的<位元組>。
if=文件:讀取<文件>內容,而非標准輸入的數據。
obs=位元組:每次寫入指定的<位元組>。
of=文件:將數據寫入<文件>,而不在標准輸出顯示。
seek=塊數目:先略過以obs為單位的指定<塊數目>的輸出數據。
skip=塊數目:先略過以ibs為單位的指定<塊數目>的輸入數據。
4.應用實例
dd命令常常用來製作Linux啟動盤。先找一個可引導內核,令它的根設備指向正確的根分區,然後使用dd命令將其寫入軟盤:
$ rdev vmlinuz /dev/hda $dd if=vmlinuz of=/dev/fd0
上面代碼說明,使用rdev命令將可引導內核vmlinuz中的根設備指向/dev/hda,請把「hda」換成自己的根分區,接下來用dd命令將該內核寫入軟盤。
find 1.作用find命令的作用是在目錄中搜索文件,它的使用許可權是所有用戶。
2.格式find [path][options][expression] path指定目錄路徑,系統從這里開始沿著目錄樹向下查找文件。它是一個路徑列表,相互用空格分離,如果不寫path,那麼默認為當前目錄。
3.主要參數[options]參數:
-depth:使用深度級別的查找過程方式,在某層指定目錄中優先查找文件內容。
-maxdepth levels:表示至多查找到開始目錄的第level層子目錄。level是一個非負數,如果level是0的話表示僅在當前目錄中查找。
-mindepth levels:表示至少查找到開始目錄的第level層子目錄。
-mount:不在其它文件系統(如Msdos、Vfat等)的目錄和文件中查找。
-version:列印版本。
[expression]是匹配表達式,是find命令接受的表達式,find命令的所有操作都是針對表達式的。它的參數非常多,這里只介紹一些常用的參數。
—name:支持統配符*和?。
-atime n:搜索在過去n天讀取過的文件。
-ctime n:搜索在過去n天修改過的文件。
-group grpoupname:搜索所有組為grpoupname的文件。
-user用戶名:搜索所有文件屬主為用戶名(ID或名稱)的文件。
-size n:搜索文件大小是n個block的文件。
-print:輸出搜索結果,並且列印。
4.應用技巧find命令查找文件的幾種方法:
(1)根據文件名查找例如,我們想要查找一個文件名是lilo.conf的文件,可以使用如下命令:
find /-name lilo.conf find命令後的「/」表示搜索整個硬碟。
(2)快速查找文件根據文件名查找文件會遇到一個實際問題,就是要花費相當長的一段時間,特別是大型Linux文件系統和大容量硬碟文件放在很深的子目錄中時。如果我們知道了這個文件存放在某個目錄中,那麼只要在這個目錄中往下尋找就能節省很多時間。比如smb.conf文件,從它的文件後綴「.conf」可以判斷這是一個配置文件,那麼它應該在/etc目錄內,此時可以使用下面命令:
find /etc-name smb.conf 這樣,使用「快速查找文件」方式可以縮短時間。
(3)根據部分文件名查找方法有時我們知道只某個文件包含有abvd這4個字,那麼要查找系統中所有包含有這4個字元的文件可以輸入下面命令:
find /-name '*abvd*'
輸入這個命令以後,Linux系統會將在/目錄中查找所有的包含有abvd這4個字元的文件(其中*是通配符),比如abvdrmyz等符合條件的文件都能顯示出來。
(4)使用混合查找方式查找文件
find命令可以使用混合查找的方法,例如,我們想在/etc目錄中查找大於500000位元組,並且在24小時內修改的某個文件,則可以使用-and (與)把兩個查找參數鏈接起來組合成一個混合的查找方式。
find /etc -size +500000c -and -mtime +1
mv 1.作用mv命令用來為文件或目錄改名,或者將文件由一個目錄移入另一個目錄中,它的使用許可權是所有用戶。該命令如同DOS命令中的ren和move的組合。
2.格式mv[options]源文件或目錄目標文件或目錄3.[options]主要參數-i:交互方式操作。如果mv操作將導致對已存在的目標文件的覆蓋,此時系統詢問是否重寫,要求用戶回答「y」或「n」,這樣可以避免誤覆蓋文件。
-f:禁止交互操作。mv操作要覆蓋某個已有的目標文件時不給任何指示,指定此參數後i參數將不再起作用。
4.應用實例(1)將/usr/cbu中的所有文件移到當前目錄(用「.」表示)中:
$ mv /usr/cbu/ * . (2)將文件cjh.txt重命名為wjz.txt:
$ mv cjh.txt wjz.txtls 1.作用ls命令用於顯示目錄內容,類似DOS下的dir命令,它的使用許可權是所有用戶。
2.格式ls [options][filename] 3.options主要參數-a,--all:不隱藏任何以「.」字元開始的項目。
-A,--almost-all:列出除了「.」及「..」以外的任何項目。
-b,--escape:以八進制溢出序列表示不可列印的字元。
--block-size=大小:塊以指定<大小>的位元組為單位。-B,--ignore-backups:不列出任何以~字元結束的項目。
-f:不進行排序,-aU參數生效,-lst參數失效。
-F,--classify:加上文件類型的指示符號(*/=@|其中一個)。
-g:like-l, but do not list owner。
-G,--no-group:inhibit display of group information。
-i,--inode:列出每個文件的inode號。
-I,--ignore=樣式:不印出任何符合Shell萬用字元<樣式>的項目。
-k:即--block-size=1K。
-l:使用較長格式列出信息。
-L,--dereference:當顯示符號鏈接的文件信息時,顯示符號鏈接所指示的對象,而並非符號鏈接本身的信息。
-m:所有項目以逗號分隔,並填滿整行行寬。
-n,--numeric-uid-gid:類似-l,但列出UID及GID號。
-N,--literal:列出未經處理的項目名稱,例如不特別處理控制字元。
-p,--file-type:加上文件類型的指示符號(/=@|其中一個)。
-Q,--quote-name:將項目名稱括上雙引號。
-r,--reverse:依相反次序排列。
-R,--recursive:同時列出所有子目錄層。
-s,--size:以塊大小為序。
diff 1.作用diff命令用於兩個文件之間的比較,並指出兩者的不同,它的使用許可權是所有用戶。
Ⅵ linux下用什麼命令來運行可執行文件
你好,
參考 /etc/init.d/ 下面的腳本
舉個例子 (sshd的簡化版本)
#!/bin/sh
## start and stop the OpenBSD secure shell daemon
set -e
export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"
case "$1" in
start)
echo -n "Starting sshd"
start-stop-daemon --start --quiet --pidfile /var/run/sshd.pid --exec /usr/sbin/sshd --$SSHD_OPTS
echo -n "done."
;;
stop)
echo -n "Stopping sshd"
start-stop-daemon --stop --quiet --pidfile /var/run/sshd.pid
echo -n "done."
;;
restart)
echo -n "Restarting sshd"
start-stop-daemon --stop --signal 1 --quiet --pidfile /var/run/sshd.pid --exec /usr/sbin/sshd
echo -n "done."
;;
esac
exit 0
將以上保存為文件 加上運行許可權 就可以友好大用
script start|stop|restart 控制 啟動 停止 重啟動了
其他的可執行文件替換掉裡面的sshd和路徑即可
更詳細的腳本 還是分析下 /好豎etc/init.d/ 下襪培面的腳本 會學到很多的
Ⅶ linux命令行如何運行程序
要充分理解本文,必須具備Windows 環境下桌面應用程序的工作經驗,我認為讀者對如何使用 Linux 桌面有一個基本的了解。使用一個運行的 Linux 計算來機探討本文的概念和示例是很有幫助的。
有時候第一次在 Linux 上運行一個應用程序需要一點額外工作。有些應用程序,比如伺服器服務,可能無法安裝為服務,因此您需要從命令行啟動這些應用程序。對於啟動這些應用程序的用戶帳戶而言,需要在應用程序文件中設置執行許可標志 (x)。
Linux 在內核空間或用戶空間運行進程。用戶空間 是操作系統的區域,應用程序通常在此運行。簡單地說,每個用戶帳戶有其自己的用戶空間,應用程序在這個領域內運行。
默認情況下,只有 root 用戶有權訪問內核空間。root 用戶 是 Linux 中的超級用戶,相當於 Windows 中的管理員帳戶。在 root 用戶帳戶下運行應用程序可能會引起安全風險,是不可取的。
很多伺服器服務需要 root 許可權啟動服務。然而,服務啟動後,root 帳戶通常會將其移至服務帳戶。嚴格地說,Linux 中的服務帳戶 才是標準的用戶帳戶。主要區別是服務帳戶僅用於運行一個服務,而不是為任何實際登錄的用戶准備的。
您可以使用 chmod 命令在一個文件中設置執行許可權。在 Linux 中,umask 設置通常用來防止下載的文件被執行,也有充分的理由相信,因為它有助於維護 Linux 計算機的安全性。
大多數 Linux 發行版具有一個值為 022 的 umask 設置,這意味著,默認情況下一個新文件許可權設置為 644。許可權的數字表示形式採用讀 (4)、寫 (2)、執行 (1) 的格式。因此,默認許可權為 644 的應用程序下載意味著文件所有者有讀寫許可權,而組用戶和其他用戶只有讀許可權。
例如,為每個人賦予一個文件的執行許可權,使用 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,標准用戶不需要對其進行特別修改就可以啟動該服務。
Ⅷ linux怎麼運行c文件
linux怎麼運行c文件呢,下面就讓我們來看看吧。Ⅸ linux終端用什麼命令運行文件
運行什麼文件?python?shell scripts?編譯好的可執行文件?
python script.py
sh script.sh 或bash script.sh
絕對路徑執行二進制文件/home/user/binary
相對路徑user/binary 或 ./user/binary
加入$PATH的目錄,直接在終端輸入binary