『壹』 linux字元設備文件類型的標志
在Linux中使用ls -l 命令來列出文件時,b、c字母開頭的文件,分別表示區塊(block)設備和版字元(character)設備,權是特殊類型的文件。也就是說Linux字元設備文件以c字母做為開始標志 。
可以執行如下命令,查看到大量字元設備的文件:
ls -l /dev | more
執行結果如下圖所示:
『貳』 Linux中怎樣安裝和刪除一個已編譯生成的字元設備驅動模塊文件
比如你生成 XXX.ko
插入這個模塊是 sudo insmod XXX.ko
刪除是 sudo rmmod XXX.ko
同時,可以通過 lsmod 查看系統內核中已有模塊
『叄』 LINUX,下面設備文件中那些是字元設備文件
比如你生成
xxx.ko
插入這個模塊是
sudo
insmod
xxx.ko
刪除是
sudo
rmmod
xxx.ko
同時,可以通過
lsmod
查看系統內核中已有模塊
『肆』 如何在Linux下查找文件內容包含某個特定字元串的文件
如何在Linux下查找文件內容包含某個特定字元串的文件?
我的目錄下面有test1和test2兩個文件夾,裡面都含有很多文件,其中test2裡面還包含一個test文件夾
我想請問的是,如何通過查找關鍵字test從而找到test1跟test2還有test,並且不顯示其他文件
我嘗試過用find/path-nametest查找,結果出來的是/path/test2/test
lstest*查找,結果連同test1跟test2裡面的子文件都顯示出來,羅列了一大堆
我還嘗試了用findtest*查找,結果跟用上面的一樣,只是羅列的方式不一樣而已
『伍』 linux命令怎麼打開字元設備文件
在Linux中使用ls-l命令來列出文件時,b、c字母開頭的文件,分別表示區塊(block)設備和字元(character)設備,是特殊類型的文件。也就是說Linux字元設備文件以c字母做為開始標志 。
可以執行如下命令,查看到大量字元設備的文件:
ls-l/dev | more
執行結果如下圖所示:
『陸』 linux下怎樣在一個文件裡面查找一個字元串
在normal模式下按下/即可進入查找模式,輸入要查找的字元串並按下回車。
Vim會跳轉到第一個匹配。按下n查找下一個,按下N查找上一個。
Vim查找支持正則表達式,例如/vim$匹配行尾的"vim"。 需要查找特殊字元需要轉義,例如/vim$匹配"vim$"。
實戰一下:
1、用vim打開要查找的文件
注意,如果沒有安裝vim,系統會提示安裝語句,復制運行即可安裝vim
『柒』 LINUX下如何用命令查看常見的設備文件類型
【cat】
功能:
1、顯示整個文件。如:$ cat filename
2、把文件串聯接後傳到基本輸出,如將幾個文件合並為一個文件或輸出到屏幕。如:$ cat file1
file2 > file
參數詳解:
-n或-number:由1開始對所有輸出的行數編號,如:cat -n
filename
-b或-number-nonblank:和-n相似,只不過對於空白行不編號
-s或-squeeze-blank:當遇到有連續兩行以上的空白行,就代換為一行的空白行
-v或-show-nonprinting
範例:
cat -n file1 >
file2:把file1的檔案內容加上行號後輸入file2這個檔案里
cat -b file1 file2
>>
file3:把file1和file2的檔案內容加上行號(空白行不加)後將內容附加到file3里
cat /dev/null >
/etc/test.txt:清空/etc/test.txt檔案內容
cat > filename:創建新文件
【more】
功能:以百分比的形式查看日誌,類似cat,不過會以一頁一頁的顯示方便使用者逐頁閱讀,按空白鍵(space)就往下一頁顯示,按b鍵(back)就會往回一頁顯示,而且還有搜尋字元串的功能(與vi相似),使用中的說明文件,請按h。退出按q。
參數詳解:
-d:提示使用者,在畫面下方顯示[Press space to continue, 'q'
to quit.],如果如果使用者按錯鍵,則會顯示 [Press 'h' for instructions.] 而不是 '嗶' 聲 。
-s:當遇到有連續兩行以上的空白行,就代換成一行的空白行。
+num:從第num行開始顯示
範例:
more -s
file:逐頁顯示file之檔案內容,如有連續兩行以上空白行則以一行空白行顯示。
more +20 file:從第20行開始顯示file之檔案內容。
【less】
功能:less命令可以對文件或其他輸出進行分頁顯示,與more命令相似。退出按q。
參數詳解:
-a:在當前屏幕顯示最後
-c:從頂部(從上到下)刷新屏幕,並顯示文件內容。而不是通過底部滾動完成刷新;
-f:強制打開文件,二進制文件顯示時,不提示警告;
-i:搜索時忽略大小寫;除非搜索串中包含大寫字母;
-I:搜索時忽略大小寫,除非搜索串中包含小寫字母;
-m:顯示當前讀取文件的百分比
-M:顯示當前讀取文件的百分比、行號及總行數;
-N:在每行前輸出行號
-p pattern:搜索日誌文件中含有pattern的所有日誌內容;
-s:把連續多個空白行作為一個空白行顯示
-Q:在終端下不響鈴
擴展:
U:向上 J:向下 g:跳到第一行G:跳到最後一行
/pattern:搜索pattern
q:退出less!command:調用SHELL,可以運行命令;比如!ls
顯示當前列當前目錄下的所有文件。
【head】
功能:從文本文件的頭部開始查看,head命令用於查看一個文本文件的開頭部分。
參數詳解:
-n 制定您想要顯示文本多少行
-n number
這個參數選項必須是十進制的整數,它將決定在文件中的位置,以位元組單位。
-c number
這個參數選項必須是十進制的整數,它將決定在文件中的位置,以位元組為單位。
範例:
head file.txt 顯示file.txt的前十行內容;
head -n 20 file.txt 顯示file.txt的前二十行內容;
【tail】
功能:用於顯示文本文件的末尾幾行。
參數詳解:
-b Number :從Number變數表示的512自己塊位置開始讀取制定文件。
-c Number :從Number變數表示的位元組位置開始讀取指定文件。
-f :tail -f 命令可用於監視另一個進程正在寫入的文件的增長。
-k Number :從Number變數表示的1KB塊位置開始讀取制定文件。
-m Number :從Number變數表示的多位元組字元位置開始讀取指定文件。使用該標志提供在單位元組和雙位元組字元代碼集環境中的一致結果。
-n Number :從首行或末行位置來讀取指定文件,位置由 Number 變數的符號(+ 或 - 或無)表示,並通過行號 Number進行位移。
範例:
tail
file.txt :顯示文件file.txt的後十行內容。
tail -n 20 file.txt :顯示文件file.txt的後二十行內容。
tail -f file.txt :顯示文件file.txt的後十行內容並在文件內容增加後,自動顯示新增的文件內容。
tail -n 50 -f file.txt:顯示文件file.txt的後50行內容並在文件內容增加後,自動顯示新增內容。
『捌』 Linux中如何通過設備號找到設備
一個字元設備或者塊設備都有一個主設備號和次設備號。主設備號和次設備號統稱為設備號。主設備號用來表示一個特定的驅動程序。次設備號用來表示使用該驅動程序的各設備。
查看主設備號:
# cat /proc/devices
Character devices:
1 mem
4 /dev/vc/0
4 tty
4 ttyS
5 /dev/tty
5 /dev/console
5 /dev/ptmx
6 lp
7 vcs
10 misc
13 input
14 sound
21 sg
29 fb
116 alsa
128 ptm
136 pts
162 raw
180 usb
189 usb_device
202 cpu/msr
203 cpu/cpuid
216 rfcomm
249 blkwatch_272
250 hidraw
251 usbmon
252 bsg
253 pcmcia
254 rtc
Block devices:
1 ramdisk
2 fd
259 blkext
7 loop
8 sd
9 md
11 sr
65 sd
66 sd
67 sd
68 sd
69 sd
70 sd
71 sd
128 sd
129 sd
130 sd
131 sd
132 sd
133 sd
134 sd
135 sd
253 device-mapper
254 mdp
如上所示,該命令會顯示字元設備和塊設備的主設備號。如果你想查看某個主設備號,那麼可以
[root@mylnx01 ~]# cat /proc/devices | grep 253
253 pcmcia
253 device-mapper
其中Device Mapper,Device Mapper 是 Linux 2.6 內核中提供的一種從邏輯設備到物理設備的映射框架機制,在該機制下,用戶可以很方便的根據自己的需要制定實現存儲資源的管理策略,當前比較流行的 Linux 下的邏輯卷管理器如 LVM2(Linux Volume Manager 2 version)、EVMS(Enterprise Volume Management System)、dmraid(Device Mapper Raid Tool)等都是基於該機制實現的。
次設備號查看
[root@mylnx01 ~]# ls -l /dev 或 ll /dev[root@mylnx01 ~]# ll /dev | grep 253 | grep -v grep
brw-rw---- 1 root root 253, 0 Jul 17 23:08 dm-0
brw-rw---- 1 root root 253, 1 Jul 17 23:08 dm-1
brw-rw---- 1 root root 253, 2 Jul 17 23:08 dm-2
brw-rw---- 1 root root 253, 3 Jul 17 23:08 dm-3
brw-rw---- 1 root root 253, 4 Jul 17 23:09 dm-4
brw------- 1 root root 253, 1 Jul 17 23:09 root
但是在一台伺服器的日誌信息遇到下面錯誤信息,通過/dev 沒有找到次設備號為253:14的塊設備。 如下所示
Jul 19 05:02:01 mylnx01 kernel: BLKWATCH ERR: Attempt to get a sector index out of the bitmap bounds.
Jul 19 05:02:01 mylnx01 kernel: BLKWATCH ERR: Critical error 1 happened for device 253:14. Additional info: Failed to mark block as dirty.
[root@getlnx01 ~]# ll /dev | grep 253 | grep -v grep
關於次設備號的主要用途,這篇博客主設備號和次設備號介紹了部分內容。
1、區分設備驅動程序控制的實際設備;
2、區分不同用途的設備 (misc 系列設備)
3、區分塊設備的分區 (partition)
通常,為了使應用程序區分所控制設備的類型,內核使用主設備號。而存在多台同類設備時,為了選擇其中的一種,設備驅動程序就使用次設備號。
# ll /dev/ | grep sd #或者命令 ll /dev/ | grep disk
brw-r----- 1 root disk 8, 0 Jul 17 23:08 sda
brw-r----- 1 root disk 8, 1 Jul 17 23:10 sda1
brw-r----- 1 root disk 8, 2 Jul 17 23:08 sda2
brw-r----- 1 root disk 8, 3 Jul 17 23:08 sda3
brw-r----- 1 root disk 8, 16 Jul 17 23:08 sdb
brw-r----- 1 root disk 8, 17 Jul 17 23:08 sdb1
brw-r----- 1 root disk 8, 18 Jul 17 23:08 sdb2
brw-r----- 1 root disk 8, 21 Jul 17 23:08 sdb5
brw-r----- 1 root disk 8, 32 Jul 17 23:08 sdc
brw-r----- 1 root disk 8, 33 Jul 17 23:08 sdc1
brw-r----- 1 root disk 8, 34 Jul 17 23:08 sdc2
brw-r----- 1 root disk 8, 37 Jul 17 23:08 sdc5
brw-r----- 1 root disk 8, 48 Jul 17 23:08 sdd
brw-r----- 1 root disk 8, 49 Jul 17 23:08 sdd1
brw-r----- 1 root disk 8, 50 Jul 17 23:08 sdd2
brw-r----- 1 root disk 8, 51 Jul 17 23:08 sdd3
brw-r----- 1 root disk 8, 53 Jul 17 23:08 sdd5
brw-r----- 1 root disk 8, 64 Jul 17 23:08 sde
brw-r----- 1 root disk 8, 65 Jul 17 23:08 sde1
brw-r----- 1 root disk 8, 66 Jul 17 23:08 sde2
brw-r----- 1 root disk 8, 67 Jul 17 23:08 sde3
brw-r----- 1 root disk 8, 69 Jul 17 23:08 sde5
brw-r----- 1 root disk 8, 80 Jul 17 23:08 sdf
brw-r----- 1 root disk 8, 81 Jul 17 23:08 sdf1
brw-r----- 1 root disk 8, 85 Jul 17 23:08 sdf5
brw-r----- 1 root disk 8, 96 Jul 17 23:08 sdg
brw-r----- 1 root disk 8, 97 Jul 17 23:08 sdg1
brw-r----- 1 root disk 8, 98 Jul 17 23:08 sdg2
brw-r----- 1 root disk 8, 101 Jul 17 23:08 sdg5
brw-r----- 1 root disk 8, 112 Jul 17 23:08 sdh
brw-r----- 1 root disk 8, 113 Jul 17 23:08 sdh1
brw-r----- 1 root disk 8, 117 Jul 17 23:08 sdh5