1. 在Linux系统中,一切皆文件。每个设备都被当作一个文件来对待。
常见的存储设备在Linux系统中的文件名如下表所示:
2. 对硬盘进行分区有以下优点:
a. 更容易管理和控制系统,因为相关的文件和目录都放在一个分区中;
b. 系统效率更高;
c. 可以限制用户使用硬盘的份额(磁盘空间的大小);
d. 更容易备份和恢复。
3. Linux系统中硬盘的分区:
a. 硬盘的分区有主分区,扩展分区和逻辑分区三种;
b. 一块硬盘最多可以分4个主分区;
c. Linux操作系统的内核支持每个硬盘上的分区数量还是有一定限制的,视硬盘类型而不同。
4. 使用fdisk和partprobe命令来管理硬盘分区:
a. fdisk
fdisk [必要参数][选择参数]
必要参数:
选择参数:
菜单操作说明
b. partprobe,重新初始化内存中内核的分区表。
5. 创建文件系统:
a. 所谓的格式化就是将分区中的硬盘空间划分成大小相等的一些数据块(Blocks),以及设定这个分区中有多少个i节点可以使用等;
b. 文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构;即在磁盘上组织文件的方法;
c. 常用的文件系统类型:ext2:Linux系统中标准的文件系统;ext3:一种日志式文件系统;ext4:一种针对ext3系统的扩展日志式文件系统;lvm:逻辑盘卷管理 ;iso9660:目前唯一通用的光盘文件系统;
d. mkfs命令用于在特定的分区上建立 linux 文件系统:
使用方式 : mkfs [-V] [-t fstype] [fs-options] filesys [blocks]
Linux mkfs命令用于在特定的分区上建立 linux 文件系统
参数 :
例子:将sda6分区格式化为ext3格式:a. mfks -t ext3 /dev/sda6;b. mfks.ext3 /dev/sda6
e. mlabel,设定或查看一个设备的label名称。如果磁盘上设定过标签,mlabel 会将他显示给使用者。如果没有指定新标签并且没有指定 c 或 s 选项,mlabel 会提示使用者输入新的标签。如果直接按下 Enter ,就会将原本的标签删除。
mlabel [-vcs] drive:[new_label]
参数说明:
将 A 盘的标签更改为 newlabel。
mlabel a:newlabel
6. 文件系统的挂载与卸载(mount,umount):
挂载指将一个设备(通常是存储设备)挂接到一个已存在的目录上
mount [-hV] mount -a [-fFnrsvw] [-t vfstype] mount [-fnrsvw] [-o options [,...]] device | dir mount [-fnrsvw] [-t vfstype] [-o options] device dir
参数说明:
将 /dev/hda1 挂在 /mnt 之下。
#mount /dev/hda1 /mnt
将 /dev/hda1 用唯读模式挂在 /mnt 之下。
#mount -o ro /dev/hda1 /mnt
将 /tmp/image.iso 这个光碟的 image 档使用 loop 模式挂在 /mnt/cdrom之下。用这种方法可以将一般网络上可以找到的 Linux 光 碟 ISO 档在不烧录成光碟的情况下检视其内容。
#mount -o loop /tmp/image.iso /mnt/cdrom
umount [-ahnrvV][-t <文件系统类型>][文件系统]
参数:
下面两条命令分别通过设备名和挂载点卸载文件系统,同时输出详细信息:
# umount -v /dev/sda1 通过设备名卸载 /dev/sda1 umounted # umount -v /mnt/mymount/ 通过挂载点卸载 /tmp/diskboot.img umounted
如果设备正忙,卸载即告失败。卸载失败的常见原因是,某个打开的shell当前目录为挂载点里的某个目录:
# umount -v /mnt/mymount/ umount: /mnt/mymount: device is busy umount: /mnt/mymount: device is busy
7. 虚拟内存的概念以及设置与管理:
a. 所谓虚拟内存就是一块硬盘空间被当做内存使用,也被称为交换分区(swap);
b. Linux交换分区的类型为:0x82;
c. mkswap,将磁盘分区或文件设为Linux的交换区
mkswap [-cf][-v0][-v1][设备名称或文件][交换区大小]
参数:
d. swapon,激活Linux系统中交换空间,Linux系统的内存管理必须使用交换区来建立虚拟内存
/sbin/swapon -a [-v] /sbin/swapon [-v] [-p priority] specialfile ... /sbin/swapon [-s]
参数说明:
swapon 是开启swap.
相对的,便有一个关闭swap的指令,swapoff。
练习项目:
1. 开启Linux系统前添加一块大小为20G的SCSI硬盘
2. 开启系统,右击桌面,打开终端
3. 为新加的硬盘分区,一个主分区大小为10G,剩余空间给扩展分区,在扩展分区上划分1个逻辑分区,大小为5G
4. 格式化主分区为ext3系统
5. 将逻辑分区设置为交换分区
6. 启用上一步的交换分区
7. 查看交换分区的状态
8. 使用”dd“命令来测试硬盘读写速度
dd命令用于读取、转换并输出数据。dd可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。
参数说明:
1. top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。
top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
参数说明:
2. free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。
free [-bkmotV][-s <间隔秒数>]
参数说明:
3. 系统中进程的监控与管理—ps,pstree,kill,pkill,pgrep
a. 进程是程序的一次动态执行;
b. 守护进程是在后台运行并提供系统服务的一些进程;
c. 当一个进程创建另一个进程时,第1个进程被称为新进程的父进程,而新进程被称为子进程;
d. ps命令用于显示当前进程 (process) 的状态
ps [options] [--help]
参数:
e. pstree命令将所有行程以树状图显示,树状图将会以 pid (如果有指定) 或是以 init 这个基本行程为根 (root),如果有指定使用者 id,则树状图会只显示该使用者所拥有的行程
pstree [-a] [-c] [-h|-Hpid] [-l] [-n] [-p] [-u] [-G|-U] [pid|user]
或
pstree -V
参数说明:
f. kill命令用于删除执行中的程序或工作,kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。程序或工作的编号可利用ps指令或jobs指令查看
kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]
参数说明:
g. pkill,通过名称或其他属性发信号给进程,例如:杀死名为firefox的进程的命令为:pkill firefox;
h. pgrep,通过名称或其他属性查找进程,例如:查找名为firefox的进程的命令为:pgrep firefox。
1. 使用rpm安装及移除软件
a. RPM就是Red Hat Package Manger(红帽软件包管理工具)的缩写;
b. rpm的文件名分为5部分;name(软件包名称)-version(版本编号)-release(发布次数,修正号码)-architectures(适用平台)-rpm(文件格式,有时会隐藏掉)
rpm [-acdhilqRsv][-b<完成阶段><套间档>+][-e<套件挡>][-f<文件>+][-i<套件档>][-p<套件档>+][-U<套件档>][-vv][--addsign<套件档>+][--allfiles][--allmatches][--badreloc][--buildroot<根目录>][--changelog][--checksig<套件档>+][--clean][--dbpath<数据库目录>][--dump][--excludedocs][--excludepath<排除目录>][--force][--ftpproxy<主机名称或IP地址>][--ftpport<通信端口>][--help][--httpproxy<主机名称或IP地址>][--httpport<通信端口>][--ignorearch][--ignoreos][--ignoresize][--includedocs][--initdb][justdb][--nobulid][--nodeps][--nofiles][--nogpg][--nomd5][--nopgp][--noorder][--noscripts][--notriggers][--oldpackage][--percent][--pipe<执行指令>][--prefix<目的目录>][--provides][--queryformat<档头格式>][--querytags][--rcfile<配置档>][--rebulid<套件档>][--rebuliddb][--recompile<套件档>][--relocate<原目录>=<新目录>][--replacefiles][--replacepkgs][--requires][--resign<套件档>+][--rmsource][--rmsource<文件>][--root<根目录>][--scripts][--setperms][--setugids][--short-circuit][--sign][--target=<安装平台>+][--test][--timecheck<检查秒数>][--triggeredby<套件档>][--triggers][--verify][--version][--whatprovides<功能特性>][--whatrequires<功能特性>]
参数说明:
安装软件
# rpm -hvi dejagnu-1.4.2-10.noarch.rpm 警告:dejagnu-1.4.2-10.noarch.rpm: V3 DSA 签名:NOKEY, key ID db42a60e 准备... ########################################### [100%]
显示软件安装信息
# rpm -qi dejagnu-1.4.2-10.noarch.rpm
练习项目:
1. 挂载光盘文件到/media目录
2. 进去/media目录下的Packages目录
3. 查看系统已安装的所有rpm包
4. 查看系统是否安装dhcp软件包
5. 安装dhcp软件包
6. 查看dhcp软件包的信息
7. 查看dhcp软件包中所包含的所有文件
8. 查看/bin/ls文件是由哪个软件包产生
9. 卸载dhcp软件包
2. yun管理rpm软件包
a. yum是Yellow dog Updater, Modified的缩写,目的就是为了解决RPM的依赖关系的问题,方便使用者进行软件的安装、升级等等工作;
b. yum的配置一般有两种方式,一种是直接配置/etc目录下的yum.conf文件,另外一种是在/etc/yum.repos.d目录下增加.repo文件;
c. 本地仓库配置
[root@localhost ~]# mount /dev/cdrom /mnt #挂载光盘到/mnt目录
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
rhel-source.repo
[root@localhost yum.repos.d]# cp rhel-source.repo rhel.repo #拷贝一份配置文件
[root@localhost yum.repos.d]# vi rhel.repo #编辑配置文件如下[rhel-local] #模块名称,须修改不能与其他.repo文件中的重名name=Red Hat Enterprise Linux 6 local repo #名称随便起baseurl=file:///mnt #指定rpm仓库的位置
enabled=1 #1开启该配置,0为关闭
gpgcheck=1 #1为校对软件
[root@localhost ~]# yum install vsftpd httpd #安装vsftpd及httpd服务
d. yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
yum [options] [command] [package ...]
练习项目:
1. 自定义yum仓库:createrepo
2. 自定义repo文件
3. 使用yum命令安装httpd软件包
4. 卸载httpd软件包:yum –y remove 软件名
5. 使用yum安装组件‘KDE 桌面‘:yum –y groupinstall 组件名
6. 掌握使用yum删除组件‘KDE 桌面’:yum –y groupremove 组件名
7. 掌握清除yum缓存:yum clean all
8. 使用yum查找软件包:yum search 软件包名
3. 源码安装软件包
a. 计算机里面运行的所有东西都是用程序编出来的(包括操作系统,如Windows,还有Word等,网络游戏也一样),而编写程序要用到计算机语言,用计算机语言直接编出来的程序就叫源码,比如用VisualBasic编写的源码文件一般为.bas文件,而用C++编写的一般为.cpp文件,源代码不能直接运行,必须编译后才能运行。源码经过编译处理后就可以直接在操作系统下运行了;
b. 源码软件未经编译,方便人们修改;
c. 本实例为安装“Python3.6”源码软件包,需要Linux安装开发工具;
参考资料:
1. http://www.cnblogs.com/linhaifeng/articles/6045600.html#_label16
2. http://www.w3cschool.cn/linux/linux-command-manual.html
Linux基础之命令练习Day4-fdisk,mkfs,mlabel,mount,umount,mkswap,swapon,dd,top,free,ps,kill,rpm,yum,make
原文:https://www.cnblogs.com/hcie/p/9195511.html