『壹』 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