设为首页 收藏本站
查看: 485|回复: 0

[经验分享] linux设备

[复制链接]

尚未签到

发表于 2016-1-12 08:28:36 | 显示全部楼层 |阅读模式
  虽然Linux桌面应用发展很快,但是命令在Linux中依然有很强的生命力。Linux是一个命令行组成的操作系统,精髓在命令行,无论图形界面发展到什么水平这个原理是不会变的。


实际上很多读者对Linux的命令行的使用存在着诸多的“畏惧”心理,不知道如何正确有效使用,更多的依赖于图形界面。这大大的降低了Linux系统的最 大资源的利用。本文则把Linux系统中专门针对存储类别的命令单独拿出来,与大家共同探讨这些命令的使用技巧,希望能够对读者有所帮助。

一、Linux中的设备命名规则
在Linux中把硬件设备当作文件来管理。每个与Linux系统相连的实际设备(包括硬盘、光盘驱动器、扫描仪等),都可以在文件系统中表示出来。 Linux系统把每一个设备都看成一个文件,与普通文件一样处理,这样可以使文件与设备的操作尽可能统一。 从用户的角度来看,对设备的使用和一般文件的使用一样。
首先了解Linux中的设备命名规则:在安装和使用Linux的过程中,您必然会接触到不少像hda1、ttyS0、eth0这样的设备名称。在 Linux中,每个设备必须在它的驱动程序控制下运行,驱动程序则与/dev目录下的特殊文件联系在一起,尽管这些文件并不是真正的文件,但在选择设备或 者操作设备时都以这个文件的名称来代表这一设备。这些设备名称的命名都是有规则的: 在/dev目录下,每一个驱动器以一个单独的设备文件来表现。
通常最常见的是硬盘,对于IDE硬盘一般可以有二到四个。这就是/dev/hda、/dev/hdb、/dev/hdc和/dev/hdd,hd是硬盘的 意思,a则是代表第一个设备,hda1中的“1”代表hda的第一个硬盘分区,依此类推。而SCSI硬盘也就是/dev/sda、/dev/sdb等等, sd是SCSI设备的意思,第一个SCSI硬盘是/dev/sda, fd是软盘,设备名称是/dev/fd0。Linux 计算机中磁带机的设备名是: /dev/st*和/dev/nst*, 其中nst*是操作完成后不自动回卷磁带, st*则是自动 回卷, 一般常用nst*. 主机SCSI总线上找到的第一个磁带机是nst0和st0, 第二个则是nst1和st1, 依此类推. 磁带机的SCSI号越小, 其设备名也就越靠前。
|二、Linux存储设备发现挂载命令
1. lsmod
lsmod命令用来列出当前系统加载的模块,可以当作硬件模块浏览器。
使用权限:
格式:lsmod [-hV] 
主要选项:
-h :显示帮助信息。
-V:显示软件版本信息。
应用说明:使用lsmod命令必须安装Linux安装盘中的modutils 软件包。我们看一个lsmod命令实例,如图1。


DSC0000.jpg
图1 lsmod 列出当前系统中加载的模块

Lsmod 即list modules,对每行而言,第一列是模块名称;第二列是模块大小;第三列是用量计数。lsmod命令用来列出当前系统加载的模块,同时也可以当作察看硬 件浏览器。从以上列表我们可以看到那些设备的驱动程序已经加载。如果后面为unused,则表示该模块当前没在使用。如果后面有autoclean,则该 模块可以被rmmod -a命令自动清洗。rmmod -a命令会将目前有autoclean的模块卸载,如果这时候某个模块未被使用,则将该模块标记为autoclean。 
2. uname

uname 命令用来显示输出系统信息。
使用权限:超级用户。
格式:uname [选项]
主要选项: 
-a, --all :显示所有的信息。
-m, --machine :显示硬件类型 。
-n, --nodename :显示机器的网络节点主机名。
-r, --release :显示操作系统发行版本。
-s, --sysname :显示操作系统名。
-p, --processor :显示主机处理器(CPU)类型。
-v :显示操作系统版本。
--help :显示本帮助并退出。
--version: 显示版本信息并退出。 
应用实例:
#uname –a
Linux cao 2.4.20-8#1Thu Mar 13 17:54:28 EST 2003 i686 i686 i386 GNU/Linux

3 .lspci

lspci命令用来查看主板所有硬件槽信息。
使用权限:所有用户。
格式:lspci [<switches></switches>]
-v:显示详细信息。
-n:显示设备ID号。
-b:显示PCI、ISA扩展槽地址和中断。
-t:显示总线树结构。
-F <file></file>:从指定文件读信息。
-m:输出所有硬件信息。
应用实例:
当系统硬件出现故障时,可以使用lspci命令输出所有硬件信息。以帮助确定故障点。
#lspci m
00:00.0 "Host bridge" "Intel Corp." "440BX/ZX/DX - 82443BX/ZX/DX Host bridge" -r03 "Asustek Computer, Inc." "8024"
00:01.0 "PCI bridge" "Intel Corp." "440BX/ZX/DX - 82443BX/ZX/DX AGP bridge" -r03
00:04.0 "ISA bridge" "Intel Corp." "82371AB/EB/MB PIIX4 ISA" -r02 "" ""
00:04.1 "IDE interface" "Intel Corp." "82371AB/EB/MB PIIX4 IDE" -r01 -p80 "" ""
00:04.2 "USB Controller" "Intel Corp." "82371AB/EB/MB PIIX4 USB" -r01 "" ""
00:04.3 "Bridge" "Intel Corp." "82371AB/EB/MB PIIX4 ACPI" -r02 "" ""
00:09.0 "Communication controller" "Rockwell International" "HCF 56k PCI Speakerphone Modem" -r08 "Rockwell International" "HCF 56k PCI Speakerphone Modem"
00:0a.0 "USB Controller" "OPTi Inc." "82C861" -r10 -p10 "OPTi Inc." "82C861"
00:0b.0 "Ethernet controller" "Realtek Semiconductor Co., Ltd." "RTL-8139/8139C/8139C+" -r10 "Realtek Semiconductor Co., Ltd." "RT8139"
00:0d.0 "Ethernet controller" "Macronix, Inc. [MXIC]" "MX987x5" -r20 "" ""
01:00.0 "VGA compatible controller" "nVidia Corporation" "NV5M64 [RIVA TNT2 Model 64/Model 64 Pro]" -r15 "" ""
可以看到lspci可以检测ISA、PCI、AGP扩展槽,硬盘通道、USB总线等所有主板信息。

|4、 mount命令

mount命令mount命令的作用是加载文件系统。
使用权限:超级用户或/etc/fstab中允许的使用者。
格式:
mount -a [-fv] [-t vfstype] [-n] [-rw] [-F] device dir
主要选项:
-h:显示辅助讯息。
-v:显示讯息,通常和-f用来除错。
-a:将/etc/fstab中定义的所有文件系统挂上。
-F:这个命令通常和-a一起使用,它会为每一个mount的动作产生一个行程负责执行。在系统需要挂上大量NFS文件系统时可以加快加载的速度。
-f:通常用在除错的用途。它会使mount并不执行实际挂上的动作,而是模拟整个挂上的过程,通常会和-v一起使用。
-t vfstype:显示被加载文件系统的类型。
-n:一般而言,mount在挂上后会在/etc/mtab中写入一些资料。但在系统中没有可写入文件系统存在的情况下可以用这个选项取消这个动作。

使用实例:
mount命令最重要功能是挂载磁盘,目前使用的磁盘包括:IDE、SCSI硬盘、USB闪盘、USB硬盘。以usb磁盘为例挂载方法如下:
#fdisk -l #察看usb磁盘设备号一般是/dev/sda1#
#mkdir /mnt/usb #建立一个挂载目录#
mount –t vfat /dev/sda1 /mnt/usb

进阶应用:

a.一般情况下只有超级用户可以使用mount命令,下面介绍一下如何让普通用户可以使用光盘,修改/etc/fstab文件,加入一行:
#/dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu,ro,cao1 0 0
这样用户cao1也可以使用光盘驱动器。

b.我们使用的许多Linux发行版本是基于2.6系列的内核,下面介绍一下如何加载NTFS格式分区,首先使用命令察看:
#uname –a
Linux cao 2.6.6-1.435#1Thu Mar 13 17:54:28 EST 2003 i686 i686 i386 GNU/Linux
然后在http://linux-ntfs.sourceforge.net/ 下载对应的软件补丁,并且安装:
#wget http://belnet.dl.sourceforge.net/sourceforge/linux-ntfs/kernel-ntfs-2.6.6-1.435.rpm
#rpm -ivh kernel-ntfs-2.6.6-1.435.i686.rpm
使用fdisk命令察看分区位置:
# fdisk -l
Disk /dev/hda: 13.6 GB, 13666701312 bytes
255 heads, 63 sectors/track, 1661 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 255 2048256 b Win95 FAT32
/dev/hda2 256 1661 11293695 7 HPFS/NTFS
/dev/hda5 783 799 136521 6 FAT16
/dev/hda6 800 1309 4096543+ b Win95 FAT32
/dev/hda7 1310 1661 2827408+ b Win95 FAT32
/dev/hda8 256 268 104359+ 83 Linux
/dev/hda9 269 750 3871633+ 83 Linux
/dev/hda10 751 782 257008+ 82 Linux swap

Partition table entries are not in disk order
最后使用mount命令挂载:
# mount /dev/hda2 /mnt/win2000 -t ntfs -r -o iocharset=utf8

c.网络挂载:
Linux支持NFS网络文件系统,利用mount命令可以挂载NFS 服务器的/home/cao目录:
# mount -t nfs 192.168.1.4:/home/cao /home/nfs/cao
下面使用df命令查看挂载的目录已经包括:NFS 服务器的IP地址的共享目录,见图2。

 
图2 挂载NFS服务器的共享目录

Windows网络共享的核心是SMB/CIFS,在linux下要挂接(mount)windows的磁盘共享,就必须安装和使用samba软件包。现 在流行的linux发行版绝大多数已经包含了samba软件包,如果安装linux系统时未安装samba请首先安装samba。当然也可以到www.samba.org网站下载samba软件包,现在最新的版本是3.0.10版。 当windows系统共享设置好以后,就可以在linux客户端挂接(mount)了,具体操作如下:

# mkdir –p /mnt/samba “建立一个目录用来作挂接点(mount point)”
  
# mount -t smbfs -o username=administrator,password=pldy123 //10.140.131.23/d$ /mnt/samba
   说明:administrator 和 pldy123 是ip地址为10.140.131.23 windows计算机的一个用户名和密码,d$是这台计算机的一个磁盘共享。

5.umount

umount命令用来卸除文件系统。
使用权限:超级用户或/etc/fstab中允许的使用者。
格式:umount -a [-f] [-r] [-n] [-v] [-t vfstypes]
主要选项:
-a:卸除/etc/mtab中记录的所有文件系统。
-f:通常用在除错的用途。它会使umount并不执行实际的动作,而是模拟整个过程,通常会和-v一起使用。
-r:若无法成功卸除,则尝试以只读的方式重新挂入文件系统。
-v: 执行时显示详细的信息。
-t vfstypes:仅卸除选项中所指定的文件系统。Vfstypes即文件系统类型。

 
参考:http://jimmy-shine.iyunv.com/blog/77414

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-163247-1-1.html 上篇帖子: Linux简史 下篇帖子: 初识Linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表