590 likes | 795 Views
Linux 操作系统. 第二讲 Linux 磁盘文件管理. 第 2 讲 Linux 磁盘文件管理. 文件系统的结构 Ext2 、 ext3 、 swap Tune2fs 命令可修改 ext2/ext3 文件系统中的可调参数 Fsck 命令可检查和修复一个文件系统 Linux 系统是通过上下连接的分层目录文件结构来组织文件,每一个目录可能包含了文件和其他目录。 Linux 的文件结构是以根( root) 目录 “ / ” 为起点向下展开的 当登录进系统时,用户将 进入用户的主目录。系统赋予此目录的名字就是用户的帐户名。. 第 2 讲 Linux 磁盘文件管理.
E N D
第2讲 Linux磁盘文件管理 • 文件系统的结构 • Ext2、ext3、swap • Tune2fs命令可修改ext2/ext3文件系统中的可调参数 • Fsck命令可检查和修复一个文件系统 • Linux系统是通过上下连接的分层目录文件结构来组织文件,每一个目录可能包含了文件和其他目录。 • Linux的文件结构是以根(root)目录“/”为起点向下展开的 • 当登录进系统时,用户将 进入用户的主目录。系统赋予此目录的名字就是用户的帐户名。
第2讲 Linux磁盘文件管理 • 系统的目录 • 树型目录结构 • Linux系统以文件目录的方式来组织和管理系统中的所有文件。所谓文件目录就是将所有文件的说明信息采用树型结构组织起来,即常说的目录。也就是说,整个文件系统有一个“根”(root),然后在根上分“杈”(directory),任何一个分杈上都可以再分杈,杈上也可以长出“叶子”。“根”和“杈”在Linux中被称为是“目录”或“文件夹”。而“叶子”则是一个个的文件。实践证明,此种结构的文件系统效率比较高。 • Linux系统通过目录将系统中所有的文件分级、分层组织在一起,形成了Linux文件系统的树型层次结构。以根目录为起点,所有其他的目录都由根目录派生而来用户可以浏览整个系统,可以进入任何一个已授权进入的目录,访问那里的文件。
第2讲 Linux磁盘文件管理 • 系统的目录 • 树型目录结构 • Linux目录提供了管理文件的一个方便途径。每个目录里面都包含文件。用户可以为特定的文件创建特定的目录,也可以把一个目录下的文件移动或复制到另一目录下,而且能移动整个目录,并且和系统中的其他用户共享目录和文件。 • 根目录(系统目录)是Linux系统中的特殊目录。Linux是一个多用户系统,操作系统本身的驻留程序存放在以根目录开始的专用目录中。
第2讲 Linux磁盘文件管理 • 系统的目录 • 工作目录与用户主目录 • 从逻辑上讲,用户在登录到Linux系统中之后,每时每刻都“处在”某个目录之中,此目录被称作工作目录或当前目录(Working Directory)。工作目录是可以随时改变的。用户初始登录到系统中时,其主目录(Home Directory)就成为其工作目录。工作目录用“.”表示,其父目录用“..”表示。 • 用户主目录是系统管理员增加用户时建立起来的(以后也可以改变),每个用户都有自己的主目录,不同用户的主目录一般互不相同。 用户刚登录到系统中时,其工作目录便是该用户主目录,通常与用户的登录名相同。
第2讲 Linux磁盘文件管理 • 系统的目录 • 路径 • 路径是指从树型目录中的某个目录层次到某个文件的一条道路。此路径的主要构成是目录名称,中间用“/”分开。某个文件在文件系统中的位置都是由相应的路径决定的。 • 路径又分相对路径和绝对路径。 绝对路径是指从“根”开始的路径,也称为完全路径;相对路径是从用户工作目录开始的路径。 • 应该注意到,在树型目录结构中到某一确定文件的绝对路径和相对路径均只有一条。绝对路径是确定不变的,而相对路径则随着用户工作目录的变化而不断变化。
第2讲 Linux磁盘文件管理 • 系统的目录 • Linux系统主要目录说明 • /bin :显而易见,bin 就是二进制(binary)英文缩写。 • /boot :在这个目录下存放的都是系统启动时要用到的程序。在使用lilo引导linux的时候,会用到这里的一些信息。 • /dev:dev 是设备(device)的英文缩写。这个目录对所有的用户都十分重要。因为在这个目录中包含了所有linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序。
第2讲 Linux磁盘文件管理 • 系统的目录 • Linux系统主要目录说明 • /etc :etc这个目录是linux系统中最重要的目录之一。在这个目录下存放了系统管理时要用到的各种配置文件和子目录。我们要用到的网络配置文件,文件系统,x系统配置文件,设备配置信息,设置用户信息等都在这个目录下。 • /sbin :这个目录是用来存放系统管理员的系统管理程序。 • /home :如果建立一个用户,用户名是“jl”,那么在/home目录下就有一个对应的/home/jl路径,用来存放用户的主目录。
第2讲 Linux磁盘文件管理 • 系统的目录 • Linux系统主要目录说明 • /lib :lib是库(library)英文缩写。这个目录是用来存放系统动态连接共享库的。几乎所有的应用程序都会用到这个目录下的共享库。 • /mnt :这个目录在一般情况下也是空的/sbin:这个目录是用来存放系统管理员的系统管理程序。可以临时将别的文件系统挂在这个目录下 • /proc :可以在这个目录下获取系统信息。这些信息是在内存中,由系统自己产生的
第2讲 Linux磁盘文件管理 • 系统的目录 • Linux系统主要目录说明 • /root :如果用户是以超级用户的身份登录的,这个就是超级用户的主目录 • /tmp :用来存放不同程序执行时产生的临时文件。 • /usr :这是linux系统中占用硬盘空间最大的目录
第2讲 Linux磁盘文件管理 • 设置文件/目录访问权限 • 在linux中每一个文件或目录都包含有访问权限,这些权限决定了谁能访问和如何访问 • 3种访问方式:只允许自己访问、允许同组用户访问和允许系统内的任何用户访问 • 3种访问程度:读、写、执行
第2讲 Linux磁盘文件管理 • 设置文件/目录访问权限 • 权限的意义 #ls –l …… drwxr----- 3 wnn root 4096 6月 18 17:23 jd -rw-r—r-- 1 hong hong 56 6月 19 11:12 zj …… d:表示这是一个目录 -:表示这是一个普通文件 l:表示这是一个符号链接文件,实际上它指向另外一个文件 b、c:分别代表区块设备和其它外围设备 s、p:这些文件关系到系统的数据结构和管道 r:读 w:写 x:执行
第2讲 Linux磁盘文件管理 • 设置文件/目录访问权限 • 使用chmod 和数字改变文件/目录的访问特权 r:对应数值4 w:对应数值2 x:对应数值1 -:对应数值0 #chmod 777 文件名 #chmod 760 文件名
第2讲 Linux磁盘文件管理 • 设置文件/目录访问权限 • 使用chown 改变文件/目录的所有权 #chown hong 文件名 #chown hong.hong 文件名 #chown .hong 文件名 • 使用chgrp 改变文件/目录的所有权 #chgrp hong 文件名
第2讲 Linux磁盘文件管理 • 链接与符号链接 • 链接就是为同一个文件建立第二、第三个名称 • 建立链接 #ln /var/tmp/ww twwlink • 符号链接 #ln –s ww wwlink
第2讲 Linux磁盘文件管理 • 创建文件系统 • mkfs命令用来在磁盘或分区上创建文件系统。 • 创建文件系统类似进行格式化。 • 命令格式:mkfs [-V][-t fstype][fs-option] filesys [blocks] • 例子: #mkfs –t ext2 /dev/hda5 102400 #mkfs –t ext3 /dev/hda5 #mkfs –t msdos /dev/fd0
第2讲 Linux磁盘文件管理 • 创建文件系统 • mkfs命令用来在磁盘或分区上创建文件系统。 • 创建文件系统类似进行格式化。 • 创建一个文件系统的完整过程 • 选择硬盘 • 何谓分区 • 设备项 • 创建磁盘分区和文件系统 #fdisk /dev/hda #mke2fs /dev/hda6 #mkswap /dev/hda3
第2讲 Linux磁盘文件管理 • 安装文件系统 • mount命令是用来把任意包含有文件系统的磁盘加载到linux的树结构上去的 mount –t ext2 /dev/hda6 /home umount /home • mount 命令维护着/etc/mtab文件
第2讲 Linux磁盘文件管理 • 文件系统配置文件 • /etc/fstab文件有系统管理员维护 • /etc/fstab的形式
第2讲 Linux磁盘文件管理 • 自由磁盘空间 • 用df命令来报告自由磁盘空间 df –k df –m df –h
第2讲 Linux磁盘文件管理 • 磁盘使用量 • 用du命令来递归地查看文件和目录。 du –s /home/* du –a du –s du –k du –h
Linux 常用命令 • 文件和目录操作的基本命令 • pwd:判定你当前目录在文件系统内的确切位置 • ls:显示你的当前目录的内容 • -a —全部(all)。 • -l —长(long)。列举目录内容的细节 • -F —文件类型(File type)。 • -r —逆向(reverse)。 • -R —递归(recursive)。 • -S —大小(size)。按文件大小排序。 • cd:改变所在目录 #cd把你送回到你的登录目录 #cd ~也会把你送回到你的登录目录 #cd /把你带到整个系统的根目录 #cd /home把你带到 home 目录,用户的登录目录通常贮存在此处 #cd ..向上移动一级目录
Linux 常用命令 • 文件和目录操作的基本命令 • cat :合并文件 ,还会在屏幕上显示整个文件的内容 #cat filename |more #cat filename |less #cat filename1 > filename2 #cat filename1 filename2 >> filename3 • head:显示文件的头几行 #head -20 <filename> • tail:显示文件的结尾 #tail -f /var/log/messages • more /less:在屏幕上显示整个文件的内容 #more filename • wc: 显示文件中字符、词组和文本行的数目
Linux 常用命令 • 文件和目录操作的基本命令 • 重导:将命令的结果输出到文件中,>和>>。 >将结果输出到文件中,并将原文件覆盖 >>将结果附加到文件中 • 管道:将某命令的结果输出给另一个命令,|。 #ls | grep conf
Linux 常用命令 • 文件和目录操作的基本命令 • mkdir:创建目录 • rmdir:删除目录 • cp:复制文件 #cp [-ivR] filename1 filename2 • rm:删除文件或目录 #rm [-firv] filename • mv:移动或更改文件或目录 #mv a.txt .. #mv a.txt b.txt
Linux 常用命令 • 文件和目录操作的基本命令 • locate :搜寻文件或目录 # locate finger • find:查找文件 #find / -name compress -print • grep:搜寻并显示特定字符串 #grep coffee *.txt • whereis:查找二进制文件、原程序等文件的位置 # whereis compress • file:显示文件类型 #file *
Linux 常用命令 • 文件和目录操作的基本命令 • diff :找出两个文件之间的不同 • cmp:比较两个文件的大小 • du:测试磁盘的剩余空间 • sort:使文本文件自动分类 • chmod: • chown: • chgrp:
Linux 常用命令 • 文件压缩和归档的命令 • #compress a.txt #uncompress a.txt.Z • #zip myfile *.txt #unzip myfile.zip • #gzip filename#gunzip filename.gz • #tar cvf data.tar * #tar cvzf data.tar.gz * #tar tvf data.tar #tar xvf data.tar #tar zxvf data.tar * #tar –delete -vf data.tar ww.txt #tar -rvf data.tar ww.txt
Linux 常用命令 • 文件压缩和归档的命令 • rpm:软件包管理命令 #rpm –ivh rhviewer-3.10a-13.i386.rpm #rpm –Uvh rhviewer-3.10a-13.i386.rpm #rpm –Fvh rhviewer-3.10a-13.i386.rpm #rpm –e rhviewer #rpm –q rhviewer
Linux 常用命令 • 文件系统的命令 • dd:复制一个文件 • df:查看一个文件系统的磁盘空间使用情况 • du:递归地查看文件和目录 • edquota:设置用户与用户组的磁盘空间限额 • fdisk:磁盘分区 • mkfs:建立一个文件系统 • quota:限制和显示用户可用的磁盘空间
Linux 常用命令 • 文件系统的命令 • mount:挂载 #mount /dev/cdrom /mnt/cdrom #mount /dev/fd0 /mnt/floppy #dmesg|more #mkdir /mnt/usb #mount /dev/sda1 /mnt/usb • umount:卸载 #umount /mnt/cdrom #umount /mnt/floppy #umount /mnt/usb • 若要自动挂载,需修改/etc/fstab
Linux 常用命令 • 与DOS兼容的命令 • mcopy:在unix和msdos之间复制文件 • mdel:删除msdos系统中的文件或目录 • mdir:显示msdos系统的目录列表 • mformat:在已格式化软盘中创建msdos文件系统 • mlabel:添加一个msdos卷标 • mtools:
Linux 常用命令 • 与系统管理相关的命令 • dmesg:显示或控制kernel缓冲区 • mesg:设置是否允许其他用户用write命令发送信息 • free:查看当前系统内存的使用情况 • shutdown/reboot:关机、重启 • uname:显示系统信息 • sync:在关闭系统时强制将内存中的数据写回硬盘 • uptime:显示系统已运行的时间 • date/clock:显示当前系统的日期和时间 • bc:设置计算机的语言类型 • cal:显示计算机中的月历或年历 • write:向某一用户发送信息
Linux 常用命令 • 用户管理命令 • chsh:设置登录的shell命令 • useradd:添加用户 • userdel:删除用户 • usermod:修改用户 • groupadd:添加用户组 • groupmod:修改用户组 • last:显示曾经登录到计算机的用户列表 • passwd:修改帐户密码 • su:切换到root用户,退出用exit • who:查看当前计算机有哪些用户登录 • whoami:显示当前用户的登录名
Linux 常用命令 • 网络管理命令 • finger:查看用户信息或查看默认的用户环境 • ftp:文件传输协议接口 • host:用于DNS查询 • hostname:显示或设置系统的主机名 • ifconfig:配置网卡接口 • mail:发送和接收邮件 • netstat:显示网络连接、路由表和网络接口信息 • nslookup:查询internet上的名字服务器 • ping:测试网络是否连通 • route:显示或设置IP路由表
Linux 常用命令 • 网络管理命令 • tcpdump:测试网络的通信量 • talk:实现网络用户适时交谈 • telnet远程登录 • wall:发送消息给登录本机的用户 • rlogin:远程登录 • rcp:远程文件复制 • rsh:远程shell命令
Linux 常用命令 • 进程管理命令 • &,bg:将程序放到后台运行 #命令 & • Fg:将后台执行命令移到前台执行 • ps:显示进程状态 • kill:终止一个进程 #kill 进程号 • top:显示当前CPU的进程 • at,batch,atq:atrm:用于排序、检查或删除后台运行的任务
Linux 常用命令 • shell命令 • history:查看最近执行的命令清单 • alias:设置bash别名 • set:查看环境变量 • unalias:删除已定义的别名 • mkbootdisk:创建引导盘 #mkbootdisk `uname –r`
Linux 常用命令 • 与打印有关的命令 • lpr:打印文件 #lpr 文件名 • lpq:检查等待打印中的任务 #lpq • lprm:删除打印任务 #lprm 打印任务的编号
vi编辑 • vi文本编辑器 • vi是UNIX世界里极为普遍的全屏文本编辑器 • #vi 文件名 • vi有3种模式:command mode供用户执行命令, input mode可输入内容,last line mode则让用户做一些与输入文字无关的事,如搜索替换字符、保存文件或结束编辑等 • 进入vi默认的模式是command mode,要切换为input mode,只需按a或i或o即可;从input mode切换到command mode,只需按“Esc”即可,从command mode切换到last line mode,只需按“:”即可 • 退出vi:q!不保存退出;wq存盘退出
vi编辑 • vi文本编辑器 • a :从光标所在位置後面开始新增资料,光标後的资料随新增资料向後移动。A: 从光标所在行最後面的地方开始新增资料。插入 (insert)i: 从光标所在位置前面开始插入资料,光标後的资料随新增资料向後移动。I :从光标所在列的第一个非空白字元前面开始插入资料。开始 (open)o :在光标所在行下新增一行并进入输入模式。O: 在光标所在行上方新增一行并进入输入模式。
vi编辑 • vi文本编辑器 • 删除与修改文件的命令: x: 删除光标所在字符。 nx X:删除光标前面的字符 nX dd :删除光标所在的行。ndd:删除光标所在的行及向下的n-1行 D:可删除一行中光标所在位置之后的所有字符。r :修改光标所在字元,r 後接著要修正的字符。R: 进入取替换状态,新增文字会覆盖原先文字,直到 按 [ESC] 回到指令模式下为止。s: 删除光标所在字元,并进入输入模式。S: 删除光标所在的行,并进入输入模式。
vi编辑 • vi文本编辑器 • 光标移动指令:指令 说明 功能键 0 移动到光标所在行的最前面[Home] $移动到光标所在行的最後面 [End] [CTRL][d] 向下半页 [PageDown] [CTRL][f] 向下一页 [CTRL][u] 向上半页 [CTRL][b] 向上一页[PageUp]
vi编辑 • vi文本编辑器 • 光标移动指令:H移动到视窗的第一列 M移动到视窗的中间列 L移动到视窗的最後列 b移动到下个字的第一个字母 w移动到上个字的第一个字母 e移动到下个字的最後一个字母 ^移动到光标所在列的第一个非空白字元 h将光标向左移动一格 l将光标向右移动一格 j将光标向下移动一格 k将光标向上移动一格
vi编辑 • vi文本编辑器 • 光标移动指令:n-减号移动到上一列的第一个非空白字元前面加上数字可以指定移动到以上 n 列 n+加号移动到下一列的第一个非空白字元前面加上数字可以指定移动到以下 n 列 nG直接用数字 n 加上大写 G 移动到第 n 列
vi编辑 • vi文本编辑器 • 复制文字:yy:整行复制 yw:复制当前光标所在位置到该单字结束处的字符 nyy:复制n行 nyw:当前光标所在位置到该单字结束处的字符复制 p:将复制的字粘贴在当前光标所在位置
vi编辑 • vi文本编辑器 • Last line mode 操作! e:创建一个新的文件 n:加载文件 set nu:加行号 set nonu:将行号取消 /temp:查找temp字符串 g/temp/s//tmp/g:将temp替换为tmp l,$s/temp/tmp/g:将temp替换为tmp
联机帮助 • 显示帮助手册 • 通常使用者只要在命令man后,输入想要获取的命令的名称(例如ls),man就会列出一份完整的说明,其内容包括命令语法、各选项的意义以及相关命令等。该命令的一般形式为: man [选项] 命令名称 • man命令的常用选项表 常用选项说 明 -S 根据章节显示,由于一个命令名称可能会有很多 类别,其类别说明如表2-14所示。 -f 只显示出命令的功能而不显示其中详细的说明文件不 -w 显示手册页,只显示将被格式化和显示的文件所在位置 -a 显示所有的手册页,而不是只显示第一个。 -E 在每行的末尾显示$符号
联机帮助 • 显示帮助手册 • man命令的章节常用选项表 • 章节 说 明 • 1 一般使用者的命令 • 2 系统调用的命令 • 3 C语言函数库的命令 • 4 有关驱动程序和系统设备的解释 • 5 配置文件的解释 • 6 游戏程序的命令 • 7 其它的软件或是程序的命令和有关系统维护 的命令