① linux 執行程序時出現cannot execute binary file怎麼解決
需要檢查一下這個文件是否 shell 腳本, 如果是shell腳本, 才可以使用 「sh ***.run」的形式執行。
如果本身是一個可執行的命令程序, 不需要使用 sh, 直接加上執行許可權, 執行這個應用程序就可以 (類似 windows下的 。exe文件 )
如果不是shell腳本。
1、file 文件名
可以查看文件類型:
2、或者: more 文件名
查看文件內容是否可讀文本。
3、修改許可權
chmod 777 文件名。
或者: chmod a+x 文件。
如果沒有許可權, 需要文件屬主或管理員用戶(root)執行。
4、執行時注意程序路徑
如果程序在當前目錄下, 可以使用 ./文件名 的形式。
linux系統下遇到cannot execute binary file的問題一般有以下情況造成:
1、非root用戶或者無執行許可權。
2、 編譯環境不同(程序由其他操作環境復制過來)對於第一種情況,採用增加執行許可權即可chmod +x program對於第二種情況,建議將該程序二進制包拷貝過來,重新編譯程序。
3、硬體平台與軟體不一致 , 例如: 32位系統,下載了個64位的軟體,結果就無法執行 如果使用 file 命令檢查的結果是 data, 而不是可執行文件, 那麼在這個系統平台上不能直接運行這個文件
② linux怎麼修改ftp binary
ftp的binary的設置需要自己執行binary命令進行設置。具體
ftp
打開ftp交互窗口後。
binary
執行即可。
③ linux 怎麼看 文件二進制
一、在Linux下查看二進制文件的軟體:
xxd (2進制)
hexmp (16進制)
二、編輯:
1、biew
2、hexedit
3、vim
Vim 來編輯二進制文件。Vim 本非為此而設計的,因而有若干局限。但你能讀
取一個文件,改動一個字元,然後把它存檔。結果是你的文件就只有那一個字元給改了,
其它的就跟原來那個一模一樣。
要保證 Vim 別把它那些聰明的竅門用錯地方,啟動 Vim 時加上 "-b" 參數:
vim -b datafile
這個參數設定了 'binary' 選項。其作用是排除所有的意外副作用。例如,'textwidth'
設為零,免得文本行給擅自排版了。並且,文件一律以 Unix 文件格式讀取。
二進制模式可以用來修改某程序的消息報文。小心別插入或刪除任何字元,那會讓程序運
行出問題。用 "R" 命令進入替換模式。
文件里的很多字元都是不可顯示的。用 Hex 格式來顯示它們的值:
:set display=uhex
另外,也可以用命令 "ga" 來顯示游標下的字元值。當游標位於一個 字元上時,
該命令的輸出看起來就像這樣:
27, Hex 1b, Octal 033
文件中也許沒那麼多換行符。你可以關閉 'wrap' 選項來獲得總覽的效果:
:set nowrap
字 節 位 置
要發現你在文件中的當前位元組位置,請用這個命令:
g CTRL-G
其輸出十分冗長:
Col 9-16 of 9-16; Line 277 of 330; Word 1806 of 2058; Byte 10580 of 12206
最後兩個數字就是文件中的當前位元組位置和文件位元組總數。這已經考慮了 'fileformat'
選項導致換行符位元組不同的影響。
要移到文件中某個指定的位元組,請用 "Go" 命令。例如,要移到位元組 2345:
2345go
使 用 XXD
一個真正的二進制編輯器用兩種方式來顯示文本: 二進制和十六進制格式。你可以在 Vim
里通過轉換程序 "xxd" 來達到這效果。該程序是隨 Vim 一起發布的。
首先以二進制方式編輯這個文件:
vim -b datafile
現在用 xxd 把這個文件轉換成十六進制:
:%!xxd
文本看起來像這樣:
0000000: 1f8b 0808 39d7 173b 0203 7474 002b 4e49 ....9..;..tt.+NI
0000010: 4b2c 8660 eb9c ecac c462 eb94 345e 2e30 K,.`.....b..4^.0
0000020: 373b 2731 0b22 0ca6 c1a2 d669 1035 39d9 7;'1.".....i.59.
現在你可以隨心所欲地閱讀和編輯這些文本了。 Vim 把這些信息當作普通文本來對待。
修改了十六進制部分並不導致可顯示字元部分的改變,反之亦然。
最後,用下面的命令把它轉換回來:
:%!xxd -r
只有十六進制部分的修改才會被採用。右邊可顯示文本部分的修改忽略不計。
④ linux 怎麼看完二進制文件
查看二進制文件,用od或hexmp命令。
$od-tx1-tc-AxbinFile
abcde12345abcde1
2345abcde12345ab
00002063646531323334350a
cde12345
000029
-tx1選項表示將文件中的位元組以十六進制的形式列出來,每組一個位元組(類似hexmp的-c選項)
-tc選項表示將文件中的ASCII碼以字元形式列出來(和hexmp類似,輸出結果最左邊的一列是文件中的地址,默認以八進制顯示)
-Ax選項要求以十六進制顯示文件中的地址
⑤ Linux有什麼文件類型
Linux有以下文件類型:
1、普通文件(regular file):就是一般存取的文件,由ls -al顯示出來的屬性中,第一個屬性為 [-],例如 [-rwxrwxrwx]。另外,依照文件的內容,又大致可以分為:
2、純文本文件(ASCII):這是Unix系統中最多的一種文件類型,之所以稱為純文本文件,是因為內容可以直接讀到的數據,例如數字、字母等等。設 置文件幾乎都屬於這種文件類型。舉例來說,使用命令「cat ~/.bashrc」就可以看到該文件的內容(cat是將文件內容讀出來)。
3、二進制文件(binary):系統其實僅認識且可以執行二進制文件(binary file)。Linux中的可執行文件(腳本,文本方式的批處理文件不算)就是這種格式的。舉例來說,命令cat就是一個二進制文件。
4、數據格式的文件(data):有些程序在運行過程中,會讀取某些特定格式的文件,那些特定格式的文件可以稱為數據文件(data file)。舉例來說,Linux在用戶登入時,都會將登錄數據記錄在 /var/log/wtmp文件內,該文件是一個數據文件,它能通過last命令讀出來。但使用cat時,會讀出亂碼。因為它是屬於一種特殊格式的文件。
目錄文件(directory):就是目錄,第一個屬性為 [d],例如 [drwxrwxrwx]。
連接文件(link):類似Windows下面的快捷方式。第一個屬性為 [l],例如 [lrwxrwxrwx]。
設備與設備文件(device):與系統外設及存儲等相關的一些文件,通常都集中在 /dev目錄。通常又分為兩種:
塊設備文件:就是存儲數據以供系統存取的介面設備,簡單而言就是硬碟。例如一號硬碟的代碼是 /dev/hda1等文件。第一個屬性為 [b]。
字元設備文件:即串列埠的介面設備,例如鍵盤、滑鼠等等。第一個屬性為 [c]。
套接字(sockets):這類文件通常用在網路數據連接。可以啟動一個程序來監聽客戶端的要求,客戶端就可以通過套接字來進行數據通信。第一個屬性為 [s],最常在 /var/run目錄中看到這種文件類型。
管道(FIFO,pipe):FIFO也是一種特殊的文件類型,它主要的目的是,解決多個程序同時存取一個文件所造成的錯誤。FIFO是first-in-first-out(先進先出)的縮寫。第一個屬性為 [p]。