新聞中心
在Linux系統(tǒng)中,我們可以通過很多命令和工具來對文件進行操作和管理。但是對于一些非規(guī)則的文件,比如二進制文件、交叉編譯后的可執(zhí)行文件、壓縮文件等,我們需要使用特殊的命令和工具來進行操作。本文將介紹 Linux 系統(tǒng)下的非規(guī)則文件操作。

成都創(chuàng)新互聯(lián)公司服務項目包括青白江網(wǎng)站建設(shè)、青白江網(wǎng)站制作、青白江網(wǎng)頁制作以及青白江網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,青白江網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到青白江省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
1. 二進制文件操作
二進制文件是指由二進制代碼組成的文件,無法通過文本編輯器進行修改。在 Linux 系統(tǒng)中,我們可以使用 hexdump 命令來查看二進制文件的內(nèi)容。
通過以下命令查看二進制文件 content.bin 的內(nèi)容:
“`
hexdump -C content.bin
“`
該命令將以十六進制編碼的形式顯示 content.bin 的內(nèi)容,如下所示:
“`
00000000 48 65 6c 6c 6f 20 57 6f 72 6c 64 21 0a |Hello World!.|
0000000d
“`
2. 可執(zhí)行文件操作
交叉編譯后的可執(zhí)行文件在 Linux 系統(tǒng)中運行時,需要對應的庫文件支持。如果我們直接在本機運行該文件,可能會出現(xiàn)無法執(zhí)行的情況。在這種情況下,我們可以使用 ldd 命令來查看該可執(zhí)行文件需要的庫文件。
通過以下命令查看可執(zhí)行文件 mn 的相關(guān)庫文件:
“`
ldd mn
“`
該命令將顯示 mn 可執(zhí)行文件需要的庫文件,如下所示:
“`
linux-gate.so.1 => (0xb7f4e000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7d5b000)
/lib/ld-linux.so.2 (0xb7f50000)
“`
3. 壓縮文件操作
在 Linux 系統(tǒng)中,我們可以使用很多不同的命令和工具來壓縮和解壓縮文件。其中最常用的工具是 tar 和 gzip。tar 工具可以將多個文件和目錄打包成一個文件,而 gzip 則可以對該文件進行壓縮。
通過以下命令將目錄 /var/log 打包并壓縮為文件 log.tar.gz:
“`
tar -czf log.tar.gz /var/log
“`
該命令將創(chuàng)建一個名為 log.tar.gz 的壓縮文件,包含了 /var/log 目錄下的所有文件和子目錄。
通過以下命令解壓縮文件 log.tar.gz 并還原成原始的文件目錄結(jié)構(gòu):
“`
tar -xzf log.tar.gz
“`
該命令將把 log.tar.gz 解壓縮成原始的文件目錄結(jié)構(gòu),包含了 /var/log 目錄下的所有文件和子目錄。
Linux 系統(tǒng)下的非規(guī)則文件操作需要使用特定的命令和工具,才能夠?qū)ζ溥M行操作和管理。本文介紹了對二進制文件、交叉編譯后的可執(zhí)行文件、壓縮文件的操作。秉承著簡潔高效的 Linux 哲學,我們需要多學習和掌握這些命令和工具,才能更加高效地處理我們的文件管理工作。
相關(guān)問題拓展閱讀:
- linux make 出現(xiàn)錯誤。我有建立文件夾,但是顯示沒有那個文件還有沒有規(guī)則,請有經(jīng)驗者指點。
- linux-shell正則表達式取非
linux make 出現(xiàn)錯誤。我有建立文件夾,但是顯示沒有那個文件還有沒有規(guī)則,請有經(jīng)驗者指點。
你代碼也沒有,調(diào)用冊銀堆棧也沒有,誰能知道為啥段錯誤啊,要不然你猜我今天穿什么顏色的衣服?
大神也不敢說自己害緝憤墾蒞舊縫馴俯差姿亂沫的代碼肯定就沒有錯誤,我猜你的意思是能正確編譯吧?
那只能說明你的語法沒錯,僅此而已,寫程序能正確編譯只是之一步,后面調(diào)試的工作還很漫長。
下面說說怎么調(diào)試吧:
看你的系統(tǒng)提示應該還沒有打開core輸出,在運行程序前打個命令:
ulimit -c unlimited
這樣設(shè)置之后再運行程序在段錯誤的時候能虛檔core dump,有core之后再gdb ./test core.xxx
core文件一般在你運行程序的目錄里,core文件后綴每次不同,后面的xxx你需要自己看看文件名,一般是運行時的PID號。當然如果你的系統(tǒng)core的生成規(guī)則被改過,不是默認的,那就問你的系統(tǒng)管理員去找到core文件。
進去后打個bt,看下當前的調(diào)用堆棧,然后再看下哪兒出的問題。
當然這樣做有個前提,那就是你在編譯你的程序時加了-g參數(shù),如果沒有,重新去編譯下再運行。
如果還是找不出來,再把你的調(diào)用堆棧和代碼發(fā)上來大家看看。
控制面板錯誤提示
$ gcc -l /usr/src/kernels/2.6.32-鼎川尺沸侔度躊砂穿棘431.11.2.el6.i686/include/linux module.c -o main.exe
module.c:2:24: 錯誤:linux/init.h:沒有那個文件或目錄
module.c:3:26: 錯誤:linux/module.h:沒有那個文件或目錄
module.c:4: 錯誤:expected declaration specifiers or ‘…’ before string constant
module.c:4: 警告:數(shù)據(jù)定義時沒有類型或存儲類
module.c:6: 錯誤:expected ‘=’, ‘,’, ‘;’, ‘a(chǎn)’ or ‘__attribute__’ before ‘hello_init’
module.c:12: 錯誤:expected ‘=’, ‘,’, ‘;’, ‘a(chǎn)’ or ‘__attribute__’ before ‘hello_exit’
module.c:17: 警告:數(shù)據(jù)定義時沒有類型或存儲類
module.c:17: 警告:函數(shù)聲明中出現(xiàn)形參名卻未指定類型
module.c:18: 警告:數(shù)據(jù)定義時沒有類型或存儲類
module.c:18: 警告:函數(shù)聲明中出現(xiàn)形參名卻未指定類型
$
程序代碼如下:
#include
#include
#include
MODULE_LICENSE(“Dual BSD/GPL”);
static int __init hello_init(void)
{
printk(“Hello world/n”);
return 0;
}
static void __exit hello_exit(void)
{
printk(“Bye Corne/n”);
}
module_init(hello_init);
module_exit(hello_exit);
linux-shell正則表達式取非
t=`date +%F`
for i in `find . -name “*.TXT”|grep -v $t`
do
rm -f $i
done
關(guān)于linux 非規(guī)則的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
創(chuàng)新互聯(lián)成都網(wǎng)站建設(shè)公司提供專業(yè)的建站服務,為您量身定制,歡迎來電(028-86922220)為您打造專屬于企業(yè)本身的網(wǎng)絡品牌形象。
成都創(chuàng)新互聯(lián)品牌官網(wǎng)提供專業(yè)的網(wǎng)站建設(shè)、設(shè)計、制作等服務,是一家以網(wǎng)站建設(shè)為主要業(yè)務的公司,在網(wǎng)站建設(shè)、設(shè)計和制作領(lǐng)域具有豐富的經(jīng)驗。
名稱欄目:Linux下的非規(guī)則文件操作(linux非規(guī)則)
瀏覽路徑:http://m.fisionsoft.com.cn/article/coddooh.html


咨詢
建站咨詢
