1、lsmod 列加以掛載的內(nèi)核模塊;
創(chuàng)新互聯(lián)專注于企業(yè)營銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、路北網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5場景定制、商城開發(fā)、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為路北等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
lsmod 是列出目前系統(tǒng)中已加載的模塊的名稱及大小等;另外我們還可以查看 /proc/modules ,我們一樣可以知道系統(tǒng)已經(jīng)加載的模塊;
代碼:
[root@localhost beinan]# lsmod
2、modinfo 查看模塊信息;
modinfo 可以查看模塊的信息,通過查看模塊信息來判定這個模塊的用途;
代碼:
[root@localhost beinan]# moinfo 模塊名
舉例:
代碼:
[root@localhost beinan]# modinfo ne2k-pcifilename: /lib/modules/2.6.11-1.1369_FC4/kernel/drivers/net/ne2k-pci.koauthor: Donald Becker / Paul Gortmakerdescription: PCI NE2000 clone driverlicense: GPLparmtype: debug:intparmtype: options:array of intparmtype: full_duplex:array of intparm: debug:debug level (1-2)parm: options:Bit 5: full duplexparm: full_duplex:full duplex setting(s) (1)vermagic: 2.6.11-1.1369_FC4 686 REGPARM 4KSTACKS gcc-4.0depends: 8390alias: pci:v000010ECd00008029sv*sd*bc*sc*i*alias: pci:v00001050d00000940sv*sd*bc*sc*i*alias: pci:v000011F6d00001401sv*sd*bc*sc*i*alias: pci:v00008E2Ed00003000sv*sd*bc*sc*i*alias: pci:v00004A14d00005000sv*sd*bc*sc*i*alias: pci:v00001106d00000926sv*sd*bc*sc*i*alias: pci:v000010BDd00000E34sv*sd*bc*sc*i*alias: pci:v00001050d00005A5Asv*sd*bc*sc*i*alias: pci:v000012C3d00000058sv*sd*bc*sc*i*alias: pci:v000012C3d00005598sv*sd*bc*sc*i*alias: pci:v00008C4Ad00001980sv*sd*bc*sc*i*srcversion: 6ACE95F441CD26DF9DC31C2
上 面的例子是我們查看 ne2k-pci 這個模塊的信息,通過查看,我們知道ne2k-pci 模塊是8029網(wǎng)卡(PCI NE2000 clone driver)的驅(qū)動;模塊是位于 /lib/modules/2.6.11-1.1369_FC4/kernel/drivers/net/ 中ne2k-pci.ko
我們現(xiàn)在常用的網(wǎng)卡也有8139的,8139網(wǎng)卡所用的驅(qū)動是 8139too ;查查看?
代碼:
[root@localhost beinan]# modinfo 8139too
我們再查查vfat 和ntfs 的模塊信息;
代碼:
[root@localhost beinan]# modinfo vfat[root@localhost beinan]# modinfo ntfs
自己嘗試一下;
注意: 模塊名是不能帶有后綴的,我們通過modprobe -l 所看到的模塊,都是帶有.ko 或.o后綴;
3、modprobe 掛載新模塊以及新模塊相依賴的模塊
modprobe 我們常用的功能就是掛載模塊,在掛載某個內(nèi)核模塊的同時,這個模塊所依賴的模塊也被同時掛載;當(dāng)然modprobe 也有列出內(nèi)核所有模塊,還有移除模塊的功能;下在我們舉個例子說一說咱們常用的功能和參數(shù);
代碼:
modprobe [-v] [-V] [-C config-file] [-n] [-i] [-q] [-o ] [parameters...]
modprobe -r [-n] [-i] [-v] ...
modprobe -l -t [ -a ...]
上面是modprobe 的用法,具體更為詳細(xì)的幫助,我們可以查看 man modprobe ;
代碼:
[root@localhost beinan]# modprobe -c
modprobe -c 可以查看modules 的配置文件,比如模塊的別名是什么等;
代碼:
[root@localhost beinan]# modprobe -l
modprobe -l 是列出內(nèi)核中所有的模塊,包括已掛載和未掛載的;通過modprobe -l ,我們能查看到我們所需要的模塊,然后根據(jù)我們的需要來掛載;其實modprobe -l 讀取的模塊列表就位于 /lib/modules/'uname -r' 目錄中;其中uname -r 是內(nèi)核的版本;
代碼:
[root@localhost beinan]# uname -r2.6.11-1.1369_FC4[root@localhost beinan]# ls /lib/modules/2.6.11-1.1369_FC4/
通過上面的命令,自己試試看?
代碼:
[root@localhost beinan]# modprobe 模塊名 注:掛載一個模塊;
舉例:
代碼:
[root@localhost beinan]# modprobe ne2k-pci 注:掛載 ne2k-pci 模塊;[root@localhost beinan]# modprobe vfat 注:掛載vfat 模塊[root@localhost beinan]# modprobe ntfs 注:掛載ntfs 模塊[root@localhost beinan]# lsmod 注:列出已掛載模塊, 我們會看到ne2k-pci ,vfat ,ntfs的模塊 ;
注意: 模塊名是不能帶有后綴的,我們通過modprobe -l 所看到的模塊,都是帶有.ko 或.o后綴;
代碼:
[root@localhost beinan]# modprobe -r 模塊名 注:移除已加載的模塊,和rmmod 功能相同;
注意:模塊名是不能帶有后綴的,我們通過modprobe -l 所看到的模塊,都是帶有.ko 或.o后綴;
代碼:
[root@localhost beinan]# modprobe -r 模塊名
舉例:
代碼:
[root@localhost beinan]# modprobe -r ne2k-pci
就說這么多吧,更為詳細(xì)的還是用 man modprobe 來查看和嘗試;
4、rmmod 移除已掛載模塊;
命令格式:
代碼:
rmmod 模塊名
注意: 模塊名是不能帶有后綴的,我們通過modprobe -l 所看到的模塊,都是帶有.ko 或.o后綴;
舉例:
代碼:
[root@localhost beinan]# rmmod vfat 注:移除已掛載的模塊vfat
5、depmod 創(chuàng)建模塊依賴關(guān)系的列表
這 個模塊管理工具是創(chuàng)建模塊依賴關(guān)系的列表,有幾個參數(shù)我們注意一下就行了,目前的的Linux 發(fā)行版所用的內(nèi)核是2.6x版本,是自動解決依賴關(guān)系,所以這個命令知道就行了;模塊之前也有依賴關(guān)系,比如我們想驅(qū)動USB 移動硬盤,目前有兩種驅(qū)動,一種是udev ,在內(nèi)核中有,但目前不太穩(wěn)定;另一種辦法是用usb-storage驅(qū)動,而usb-storage 依賴的模塊是scsi 模塊,所以我們要用usb-storage 的模塊,也得把scsi 編譯安裝;
再 舉個例子:sata的硬盤,在Linux中的設(shè)備表示的是/dev/sd* ,比如 /dev/sda,/dev/sdb 等... 系統(tǒng)要驅(qū)動 sata硬盤,則需要把sata在內(nèi)核中選中,或編譯成模塊,或內(nèi)置于內(nèi)核之中,在此同時,還需要在內(nèi)核中選中ide ,scsi 的支持等;
depmod 工具的洋文原意:depmod — program to generate modules.dep and map files.(我譯的:為modules.dep 文件或映射文件創(chuàng)建依賴關(guān)系)
代碼:
[root@localhost beinan]# depmod -a 注:為所有列在/etc/modprobe.conf 或/etc/modules.conf 中的所有模塊創(chuàng)建依賴關(guān)系,并且寫入到modules.dep文件;[root@localhost beinan]# depmod -e 注:列出已掛載但不可用的模塊;[root@localhost beinan]# depmod -n 注:列出所有模塊的依賴關(guān)系,但僅僅是輸出出來 (Write the dependency file on stdout only)
注:modules.dep 位于 /lib/modules/內(nèi)核版本 目錄
比如 Fedora Core 4.0 中,系統(tǒng)默認(rèn)的內(nèi)核:
代碼:
[root@localhost beinan]# ls /lib/modules/2.6.11-1.1369_FC4/modules.dep/lib/modules/2.6.11-1.1369_FC4/modules.dep
6、insmod 掛載模塊;
insmod 這個工具,和modprobe 有點類似,但功能上沒有modprobe 強,modprobe 在掛載模塊是不用指定模塊文件的路徑,也不用帶文件的后綴.o 或.ko ;而insmod 需要的是模塊的所在目錄的絕對路徑,并且一定要帶有模塊文件名后綴的(modulefile.o 或modulesfile.ko );
對于這個工具,我們只是介紹一下, 并不推薦使用。因為模塊有依賴關(guān)系,對于新手來說,可能不知道這個模塊依賴和哪個模塊依賴;
舉例:
代碼:
[root@localhost beinan]# insmod /lib/modules/2.6.11-1.1369_FC4/kernel/drivers/net/tg3.ko
我們要到 /lib/modules/內(nèi)核版本 uname -r 的命令輸出/kernel/drivers 中找相對應(yīng)的模塊才行,要有絕對路徑,而且必須要用到文件名的全稱,不能把文件名的后綴省略;
四、與內(nèi)核模塊加載相關(guān)的配置文件;
1、模塊的配置文件 modules.conf 或 modprobe.conf
內(nèi) 核模塊的開機自動掛載模塊一般是位于一個配置文件,一般的Linux發(fā)行版本都有 /etc/modules.conf 或 /etc/modprobe.conf 。比如Fedora Core 4.0 內(nèi)核模塊開機自動加載文件是 /etc/modprobe.conf ;在這個文件中,一般是寫入模塊的加載命令或模塊的別名的定義等;比如我們在modules.conf 中可能會發(fā)行類似的一行 ;
代碼:
alias eth0 8139too
而8029的網(wǎng)卡應(yīng)該是
代碼:
alias eth0 ne2k-pci
這樣系統(tǒng)啟動的時候,首先會modprobe 8139too ,然后再為8139too 指定別名為 eth0,然后我們在登錄的時候,用 ifconfig 就會查看到網(wǎng)卡的IP 等情況,當(dāng)然您得為網(wǎng)卡設(shè)置IP 才行;
一 般的情況下,modproe.conf 或modules.conf的內(nèi)容 是我們用相應(yīng)的硬件配置工具而生成的;如果您的硬件驅(qū)動是沒有被內(nèi)核支持,您自己到硬件的廠商下載而來的驅(qū)動。一般的情況下都有安裝和幫助文件。他們的驅(qū) 動在配置時,他會寫入硬件的支持到modules.conf 或modprobe.conf 文件中。
再比如我們的聲卡在modules.conf 或modprobe.conf 中也有相應(yīng)的內(nèi)容,這是由alsaconf 配置工具生成的,明白了吧;同理網(wǎng)卡在modprobe.conf 或modules.conf中的內(nèi)容也是由網(wǎng)卡的配置工具而來的。
有些硬件是以內(nèi)核模塊的方式驅(qū)動的,模塊一旦加載上就能用,也沒有什么配置工具,比如vfat 和ntfs 的支持;如果是硬件驅(qū)動不以模塊的方式支持,而是直接編入內(nèi)核,也不會用在modprobe.conf 或 modules.conf 中加入什么內(nèi)容;
如果您有些模塊不能開機加載,您想讓一些模塊加機自動加載,就可以把modprobe 模塊 直接寫入配置文件;
2、內(nèi)核模塊其它配置文件
內(nèi)核模塊的其它配置文件還是需要了解的,比如 /lib/modules/內(nèi)核版本目錄下的幾個文件;了解一下就行;比如:
代碼:
[root@localhost beinan]# uname -r2.6.11-1.1369_FC4[root@localhost beinan]# ls /lib/modules/2.6.11-1.1369_FC4/build misc modules.ccwmap modules.ieee1394map modules.isapnpmap modules.symbols sourcekernel modules.alias modules.dep modules.inputmap modules.pcimap modules.usbmap
五、硬件驅(qū)動在系統(tǒng)中的目錄;
硬件驅(qū)動在內(nèi)核中以模塊支持的目錄;
硬 件驅(qū)動是必須由內(nèi)核支持的,無論是我們自己安裝驅(qū)動,還是內(nèi)核自帶的驅(qū)動都是如此。硬件驅(qū)動如果是以內(nèi)核模塊支持的,驅(qū)動目錄位于: /lib/modules/內(nèi)核版本/kernel/目錄 或 /lib/modules/內(nèi)核版本/kernel/drivers 目錄中;
代碼:
[root@localhost beinan]# uname -r2.6.11-1.1369_FC4[root@localhost beinan]# ls /lib/modules/2.6.11-1.1369_FC4/kernelarch crypto drivers fs lib net sound
注:只有驅(qū)動在內(nèi)核中以模塊的方法支持,驅(qū)動才位于 /lib/modules/相應(yīng)的目錄;如果是直接置入內(nèi)核的,不會出現(xiàn)在/lib/modules驅(qū)動相關(guān)的目錄;
六、自己編譯驅(qū)動的辦法;
通 過源碼編譯驅(qū)動一般是./configure ;make;make install ,有時程序不提供./configure ,我們可以make或make install ,或者執(zhí)行make;make install ;如果不能make install ,則需要我們自己復(fù)制.o或者.ko文件到 /lib/modules/內(nèi)核版本/kernel/目錄 或 /lib/modules/內(nèi)核版本/kernel/drivers 目錄中相應(yīng)的驅(qū)動目錄;
這個還是自己嘗試吧,說也說不清楚,遇到問題后就知道怎么弄了;具體的還是驅(qū)動的REAME和INSTALL為準(zhǔn);
現(xiàn)在大多驅(qū)動都是在編譯安裝時,都自動復(fù)制.o或.ko 文件到內(nèi)核模塊目錄,大多不用我們自己動手復(fù)制過去。如果您嘗試編譯安裝聲卡驅(qū)動 alsa-drivers 就會明白我所說的意思。
1、最強大的搜索命令:find 查找各種文件的命令
2、在文件資料中查找文件:locate
3、搜索命令所在的目錄及別名信息:which
4、搜索命令所在的目錄及幫助文檔路徑:whereis
5、在文件中搜尋字符串匹配的行并輸出:grep
6、分頁顯示一個文件或任何輸出結(jié)果:more
7、分頁顯示一個文件并且可以回頭:less
8、指定顯示前多少行文件內(nèi)容:head
9、指定顯示文件后多少行內(nèi)容:tail
10、查看一個文件:cat
11、查看文件內(nèi)容多少字符多少行多少字節(jié):wc
12、排序文件內(nèi)容:sort
一、根據(jù) 文件或目錄名稱 搜索
find 【搜索目錄】【-name或者-iname】【搜索字符】:-name和-iname的區(qū)別一個區(qū)分大小寫,一個不區(qū)分大小寫
eg:在/etc 目錄下搜索名字為init的文件或目錄
①、find /etc -name init (精準(zhǔn)搜索,名字必須為 init 才能搜索的到)
②、find /etc -iname init (精準(zhǔn)搜索,名字必須為 init或者有字母大寫也能搜索的到)
③、find /etc -name *init (模糊搜索,以 init 結(jié)尾的文件或目錄名)
④、find /etc -name init??? (模糊搜索,? 表示單個字符,即搜索到 init___)
二、根據(jù) 文件大小 搜索
eg:在根目錄下查找大于 100M 的文件
find / -size +204800
這里 +n 表示大于,-n 表示小于,n 表示等于
1 數(shù)據(jù)塊 == 512 字節(jié) 0.5KB,也就是1KB等于2數(shù)據(jù)塊
100MB == 102400KB204800數(shù)據(jù)塊
三、根據(jù) 所有者和所屬組 搜索
①、在home目錄下查詢所屬組為 root 的文件
find /home -group root
②、在home目錄下查詢所有者為 root 的文件
find /home -user root
四、根據(jù) 時間屬性 搜索
find 【路徑】【選項】【時間】
選項有下面三種:-amin 訪問時間
-cmin 文件屬性被更改
-mmin 文件內(nèi)容被修改
時間:+n,-n,n分別表示超過n分鐘,n分鐘以內(nèi)和n分鐘
eg:在 /etc 目錄下查找5 分鐘內(nèi)被修改過屬性的文件和目錄
find /etc -cmin -5
五、根據(jù) 文件類型或i節(jié)點 搜索
-type 根據(jù)文件類型查找:
f表示文件,d表示目錄,l表示軟鏈接
eg:查找 /home 目錄下文件類型是目錄的
find /home -type d
-inum 根據(jù)i節(jié)點查找
eg:查找 /tmp 目錄下i節(jié)點為400342的文件或目錄
find /tmp -inum 400342
六、組合條件 搜索
這里有兩個參數(shù):
①、-a 表示兩個條件同時滿足(and)
②、-o 表示兩個條件滿足任意一個即可(or)
范例:查找/etc目錄下大于80MB同時小于100MB的文件
find /etc -size +163840 -a -size -204800
語法:locate【文件名】 -i 不區(qū)分大小寫
注意:這里和 find 命令是有區(qū)別的,find是全盤檢索,而locate 是在文件資料庫中進行搜索。所以locate命令的執(zhí)行要比find命令執(zhí)行速度快很多。但是這里有個問題,文件資料庫是需要不斷更新的。我們新創(chuàng)建的文件如果不更新 文件資料庫,使用 locate 是查找不到的。
updatedb 手動更新資料庫,但是對于/tmp目錄下的新建文件,是更新不到文件資料庫的,因為/tmp目錄不屬于文件資料庫的收錄范圍。
eg:locate hcf
功能描述:搜索命令所在的目錄及別名信息
語法:which【命令】
eg:which ls
功能描述:搜索命令所在的目錄及幫助文檔路徑
語法:whereis【命令】
eg:whereis ls
功能描述:在文件中搜尋字符串匹配的行并輸出
語法:grep -iv 【指定字符串】【文件】
-i 不區(qū)分大小寫
-v 排除指定字符串
eg:查找 /root/install.log 文件中包含 mysql 字符串的行,并輸出
grep mysql /root/install.log
本搜索工具,根據(jù)用戶指定的模式,對目標(biāo)文件逐行進行匹配檢查,打印匹配到的行
grep是在文件中搜索匹配的字符串,是在文件中進行內(nèi)容搜索,這個命令后面用到的比較多
描述:
分頁顯示一個文件或任何輸出結(jié)果
用于查看純文本文件(較長的)格式
格式:
more[選項] 文件
less 與 more 類似,但使用 less 可以隨意瀏覽文件,而 more 僅能向前移動,卻不能向后移動,而且 less 在查看之前不會加載整個文件。
head[必要參數(shù)][選擇參數(shù)][文件]
用于顯示指定文件開始多少行內(nèi)容
命令參數(shù):
-n 10 顯示前10行
-n -10 正常輸出但不顯示最后的10行
eg:顯示new.txt的前兩行內(nèi)容
head -n 2 new.txt
head -2 new.txt
tail[必要參數(shù)][選擇參數(shù)][文件]
用于顯示指定文件末尾多少行內(nèi)容
命令參數(shù):
-n 10 顯示后面10行
-f 持續(xù)刷新顯示的內(nèi)容
eg:顯示new.txt的末尾兩行內(nèi)容
tail -n 2 new.txt
tail -2 new.txt
eg:指定從第二行開始顯示
tail -n +2 new.txt
描述:一次顯示整個文件內(nèi)容
cat 命令 用于查看純文本文件(較短)
cat [選項] [文件]…
描述:wc 命令默認(rèn)情況下會打印換行符數(shù)、單詞數(shù)和字符數(shù)。
用法:wc [選項] [文件]
用法:sort [選項] [文件]
轉(zhuǎn)自: Linux下文件搜索、查找、查看命令_黃小小的博客-CSDN博客_linux 搜索
apt 是包管理工具或命令,apt在Linux中的功能有Linux(Ubuntu)的升級、新軟件包的安裝、軟件包的刪除、現(xiàn)有軟件包的升級、軟件包列表索引的更新等等。
使用 apt 命令安裝軟件包:
使用 apt 命令刪除包,鍵入以下內(nèi)容:
使用 apt 命令安裝多個軟件包:
使用 apt 命令刪除多個包:
用于更新包索引的 Apt 命令:
apt命令升級系統(tǒng):
apt命令全面升級系統(tǒng):
使用 apt 命令升級軟件包:
查看系統(tǒng)上可以升級的軟件包列表
如果要刪除軟件包及其所有配置文件,請使用purgeapt 命令:
運行以下命令以刪除未使用的包:
運行以下 apt 命令以列出所有可用的軟件包:
apt 命令列出唯一安裝的軟件包:
運行以下 apt 命令來搜索包:
apt 命令查找有關(guān)軟件包的信息
apt 命令列出包依賴項
apt 命令刪除依賴項:
一、可執(zhí)行文件/二進制文件依賴共享庫
ldd命令用來查看可執(zhí)行文件依賴的共享庫文件。
$ ldd --help
Usage: ldd [OPTION]... FILE...
--help print this help and exit
--version print version information and exit
-d, --data-relocs process data relocations
-r, --function-relocs process data and function relocations
-u, --unused print unused direct dependencies
-v, --verbose print all information
示例:
$ ldd helloworld
二、共享庫依賴共享庫關(guān)系
上面的ldd命令無法查看共享庫的依賴關(guān)系,因為共享庫本身并不是可執(zhí)行文件,我們可以使用
objdump -x libhelloworld.so | grep NEEDED
其中,libhelloworld.so是你的庫名稱。
附:
readelf命令用于讀取ELF Header信息
文章題目:Linux依賴項查看命令 linux 依賴庫路徑 配置
當(dāng)前網(wǎng)址:http://jinyejixie.com/article10/dosgpdo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、軟件開發(fā)、網(wǎng)站收錄、自適應(yīng)網(wǎng)站、微信小程序、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)