虽然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。
图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即文件系统类型。
相关推荐
在IT领域,尤其是在系统管理与跨平台操作中,"win挂在linux磁盘"是指将Linux系统的磁盘分区或文件系统挂载到Windows操作系统中,以便于数据共享和跨平台操作。这一过程涉及到Windows与Linux之间的文件系统兼容性,...
3. 把磁盘挂接到tmp目录下,mount /dev/myramblock /tmp 4. 在tmp目录中,创建文件并写入任意文字,或者复制文件到该目录中。 5. 卸载挂接目录 umount /tmp 6. 把磁盘里面的东西创建成一个映像文件 cat /dev/...
在Linux系统中,设备管理是通过udev服务来完成的,特别是对于外部存储设备如U盘、SD卡和硬盘,自动挂接是系统管理员和普通用户都希望实现的功能。本篇文章将详细阐述如何在Linux环境下设置自动挂接这些设备,以及...
### Linux挂载(Mount)命令详解与应用实例 #### 命令概述 在Linux操作系统中,`...掌握这些基本命令和技巧对于Linux用户来说至关重要,能够极大地提高工作效率。希望本文能帮助读者更好地理解和使用`mount`命令。
Linux系统双硬盘的挂接主要涉及硬盘的分区、格式化、挂载以及开机启动设置。在进行硬盘挂接之前,需要了解Linux系统中硬盘和分区的命名规则,通常是“/dev/sdXn”的形式,其中“sd”代表SCSI驱动,X是字母顺序表示...
本文将重点介绍Linux系统中的一种关键资源共享方式——挂接(Mount)命令及其使用方法。 #### 挂接命令(mount) 挂接(Mount)是Linux系统中一个重要的命令,用于将不同类型的文件系统连接到当前运行的文件结构树中...
* /mnt 目录一般是空的,可以将别的文件系统挂在该目录下。 * /proc 目录可以在该目录下获取系统信息。 * /root 如果以超级用户的身份登录,这个就是超级用户的主目录。 * /tmp 目录用来存放不同程序执行时产生的...
在配置完毕后,需要在 Linux 系统中挂接磁盘。使用 mount 命令可以实现这点,命令格式为 `mount -t nfs -o rw 192.168.3.14:/FS3 /home/hms/data`。其中,`-t nfs` 指定了文件系统类型为 NFS,`-o rw` 指定了读写...
- **重新挂接文件系统**: 完成上述步骤后,使用`mount`命令重新挂接文件系统,例如:`mount /data`。 - **验证文件系统大小**: 最后,通过`df -h`命令再次检查文件系统的大小是否已经成功扩展。 - **启动数据库**: ...
其中,-t vfstype 指定文件系统的类型,-o options 指定设备或文件的挂接方式,device 是要挂接的设备,dir 是设备在系统上的挂接点。 二、挂载光盘镜像文件 在 Unix/Linux 系统中,可以使用挂载命令将光盘镜像...
通过实例代码的分析,得出了驱动程序模块的整体框架以及设备驱动的动态挂接、卸载和系统调用的过程。最后,总结了嵌入式 Linux 驱动程序开发的要点。 知识点1:嵌入式 Linux 驱动程序结构 嵌入式 Linux 驱动程序是...
在Linux操作系统中,挂载USB设备是一个常见的任务,尤其对于那些需要在系统间传输数据或者使用USB设备(如U盘、移动硬盘等)的用户。本文将详细介绍如何在Linux环境下挂载USB设备,并提供详细的操作步骤。 首先,当...
本文将详细介绍如何在Fedora下利用`systemd` 实现自动挂接以及如何制作本地YUM软件仓库。 首先,让我们看看如何配置`systemd` 自动挂接磁盘。通常,这涉及到编辑 `/etc/fstab` 文件。在这个文件中,你需要列出所有...
在C语言环境下编写虚拟磁盘驱动程序,可以深入理解硬件与软件之间的交互,以及操作系统内核的工作原理。下面我们将详细探讨这个主题。 首先,虚拟磁盘驱动程序的主要任务是模拟一个物理磁盘的行为,它并不实际存在...
首先,我们要明确的是,Hyperv x86-64 Linux版驱动集成包是专为64位Linux系统设计的,旨在优化在Hyper-V环境下的运行体验。这些驱动程序是针对x86-64架构进行优化的,因此能够充分利用64位系统的计算能力,提高Linux...
在该模式下,输入`p`可查看当前硬盘的分区情况,输入`n`则可以新建分区。 假设我们要创建一个2GB的主分区,我们可以选择`p`来创建主分区,并按照提示设置分区号(通常是1,2,3等)和分区大小。创建完成后,输入`w`...
### Linux下的进程状态详解 在Linux系统中,进程是操作系统进行资源分配和调度的基本单位,是程序执行的一个实例。为了更好地管理和控制进程,Linux定义了一系列的进程状态来表示进程当前所处的不同情况。理解这些...
在Linux操作系统中,挂接硬盘是一项常见的操作,用于扩展系统的存储空间。以下是对"liunx挂接硬盘.docx"中涉及的知识点的详细说明: 首先,我们需要了解Linux中的磁盘管理基本概念。Linux系统中,硬盘通常被分为...
以上总结了Linux实训中的关键知识点,包括Linux操作系统架构、文件系统结构、基本概念以及常用的Linux命令,这些知识对于嵌入式培训尤其是Linux驱动开发领域尤为重要,能够帮助学习者深入了解Linux系统的工作机制,...