![](https://i-blog.csdnimg.cn/blog_migrate/e31489324929f90603fdbcce4cf36ee5.png)
![](https://i-blog.csdnimg.cn/blog_migrate/791e72ab55e7f20dd0721054845b9156.png)
![](https://i-blog.csdnimg.cn/blog_migrate/89c37fa8ac8f093dbd16f64be58ae2fd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/35c61797c2dc28483fcf4372b830e848.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0994a12fb7c24b4543d26283afc09d7b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/653d252ba09c345b38c4de24658548ef.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5a4a80ee7cd8dedacfea373300e49e3d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a9286808e4035013894912cfe2bb10f3.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ea647b2820f03be45fda6f927e3c4abc.png)
![](https://i-blog.csdnimg.cn/blog_migrate/97383ac3fd73eb5273e9d7b3af3df77b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/05c0485d93cc6e1a269ece0d6036cc98.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4c80f5e15cf16f6b821d1bdecb7d737b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e9d3f10b79af194397e974acd5d4c07b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4236979bf57d9e3e822655f4244cf762.png)
![](https://i-blog.csdnimg.cn/blog_migrate/fe1a5ac4bb203f23b10c743cbc6ff16b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a6ab434cc183195aabce4315eedc6213.png)
![](https://i-blog.csdnimg.cn/blog_migrate/bb56f65042748027b4826d2420954f01.png)
![](https://i-blog.csdnimg.cn/blog_migrate/73482bfb352977603bda9dbee7c9a9c5.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5e3a41de39d99fdd1a8ac9c7fdb53bc6.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e46517be1971b97ac1d334d26f735137.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c412aad2568c7d1e43c6552f20730d9d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/fc338263ac56b8cb57e5fb1a106bcae9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e301999461fb8a3bbf2413f694904aae.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8215a5527a6862cb0763e10bef13dc3c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0e74a9b0c22799e72a46b2702820c921.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d97dffc35cc07125a6e6da6717dbad5d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d3a0808f3694f9e155f7a006054d1849.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9633a344fb9b2f738afae7d6ac499844.png)
![](https://i-blog.csdnimg.cn/blog_migrate/48e4f8b731ec65a18dfc63341a921427.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4ab5d35efeda27a67ced142c47bd0e67.png)
![](https://i-blog.csdnimg.cn/blog_migrate/95979f8f0fb5990d6a7c070a22bca833.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4bd666db88e907568567844264dd5412.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f309e9f62f45f5f8368e2b8a627b7500.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1a6535e81fa48f6e3113fa02d9a67354.png)
![](https://i-blog.csdnimg.cn/blog_migrate/667bffc16c9cdc8beb83642bad5ceb20.png)
![](https://i-blog.csdnimg.cn/blog_migrate/17792ad322c14c87a981bcee5c1b501d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/453060fa3ee7e4710b153bc844ce5d7d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1cb26a87c111d404172139b775bff1cd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1571242618d1374d0a5b0b0e337160a4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5bd49a63962820112e6efb51be77cc65.png)
![](https://i-blog.csdnimg.cn/blog_migrate/405b455ea3c4281bcf5a7f052c452f7b.png)
文件结构是文件存放在磁盘等存储设备上的的组织方法,目录提供了一个方便而有效的途径。
第一步 理解linux系统的目录结构树
![](https://i-blog.csdnimg.cn/blog_migrate/4990dd62a8b9fe1329b7613edc932476.png)
ls -a 列出文件下所有的文件,包括以“.“开头的隐藏文件(linux下文件隐藏文件是以.开头的,如果存在..代表存在着父目 录)。
ls -l 列出文件的详细信息,如创建者,创建时间,文件的读写权限列表等等。
ls -F 在每一个文件的末尾加上一个字符说明该文件的类型。”@”表示符号链接、”|”表示FIFOS、”/”表示目录、”=”表示套接字。
ls -s 在每个文件的后面打印出文件的大小。 size(大小)
ls -t 按时间进行文件的排序 Time(时间)
ls -A 列出除了”.”和”..”以外的文件。
ls -R 将目录下所有的子目录的文件都列出来,相当于我们编程中的“递归”实现
ls -L 列出文件的链接名。Link(链接)
ls -S 以文件的大小进行排序
第二步 对比理解linux的文档结构
有一块硬盘,分成了四个分区,分别是/、boot、/usr和windows下的FAT。 在linux系统里面,分区被称作“挂载点”,简单明了的说,“挂载点”意思就是:把一部分硬盘容量,“分”成一个文件夹的形式,用来干什么事情。这个文件夹的名字,就叫做:“挂载点”。所以,和Windows有着本质上的超级大的区别,你在任何linux发行版系统里面,绝对不会看到C盘,D盘,E 盘这样的,你能看到的,只有“文件夹”形式存在的“挂载点”。
第三步 列出linux下一些常用目录的功能
/bin 该目录中存放Linux的常用命令。
/boot 该目录默认下存放的是Linux的启动文件和内核。
/cdrom 该目录在刚安装系统时是空的,你可以将光驱文件系统挂在这个目录下。
/dev 该目录包含了Linux系统中使用的所有外部设备,它实际上是访问这些外部设备的端口,你可以访问这些外部设备,与访问一个文件或一个目录没有区别。例如在系统中键入“cd /dev/cdrom”,就可以看到光驱中的文件;键入“cd /dev/mouse”即可看鼠标的相关文件。
/etc 该目录存放系统管理时要用到的各种配置文件和子目录,例如网络配置文件、文件系统、X系统配置文
件、设备配置信息、设置用户信息等。
/home 如果建立一个名为“xx”的用户,那么在/home目录下就有一个对应的“/home/xx”路径,用来存放该
用户的主目录。
/lib 该目录用来存放系统动态链接共享库,几乎所有的应用程序都会用到该目录下的共享库。
/media:提供挂载(mounting)和自动挂载设备的标准位置,如远程文件系统和可移动介质(目录名为cdrecorder、floppy等)。
/mnt 临时将别的文件系统挂在该目录下。
/opt 第三方软件在安装时默认会找这个目录,所以你没有安装此类软件时它是空的,但如果你一旦把它删除了
,以后在安装此类软件时就有可能碰到麻烦。
/proc 可以在该目录下获取系统信息,这些信息是在内存中由系统自己产生的,该目录的内容不在硬盘上而在内存里。
/root 如果你是以超级用户的身份登录的,这个就是超级用户的主目录。
/sbin 该目录用来存放系统管理员使用的管理程序。初始化的内存盘。在linux内核启动前,boot loader会将存储介质(一般是硬盘)中的
/sys:一个类似与/proc的文件系统,在Linux2.6内核中最新出现的,包含的文件用于获得硬件状态并反映内核看到的系统设备树。它使用了/proc中的很多帮助。
/tmp 用来存放不同程序执行时产生的临时文件,该目录会被系统自动清理干净。
/usr 用户的应用程序和文件几乎都存放在该目录下。
/var 该目录存放那些经常被修改的文件,包括各种日志、数据文件。
/initrd 它的英文含义是boot loader initialized RAM disk,就是由boot loader,文件加载到内存,内核启动时会在访问真正的根文件系统前先访问该内存中的initrd文件系统。
【子任务二】 了解linux系统的路径规则
linux系统中,路径就是一个文件存在的地方,如果告诉系统的这个路径,那么系统就可以找到这个文件,在linux中,存在着绝对路径和相对路径。
第一步 理解绝对路径
绝对路径:路径的写法一定是由根目录“/”写起,例如/usr/local/mysql就是绝对路径。
第二步 理解相对路径
相对路径:路径的写法不是由根目录“/”写起,例如,用户进入到/然后在进入到home,命令为【cd /home】,然后再使用【cd/test】命令,此时用户所在的路径为/home/test。第一个cd命令后/home,第二个cd命令后跟test,并没有/,这个test是相对/home目录而言的,所以叫相对路径。
![](https://i-blog.csdnimg.cn/blog_migrate/f5b20aafbca70c8a2a1be3c3b9f5e9d5.png)
![](https://i-blog.csdnimg.cn/blog_migrate/97e8bc9d1c80427f6d9151dd233ecbab.png)
【cd/usr/local】进入到/usr/local目录。
【pwd】打印当前工作目录。
【cd./】还是当前目录。
【cd../】进入当前目录的上级目录。
在上面的命令中,首先进入/usr/local/lib/目录下,然后再进入./,其实还是进入到当前目录下,用【pwd】命令查看当前的工作路径,并没有发生变化,然后再进入../,则是进入到/usr/local/目录下,即/usr/local/lib目录的上一级目录。
路径【./】指的是当前目录,【../】指的是当前目录的上一级目录。
第三步:使用【ls】命令显示文件信息
【ls】命令是linux下最常用的命令之一,ls跟dos下的dir命令是一样的都是用来列出目录下的文件,下面我们就来一起看看ls的用法
英文全名:List即列表的意思,当我们学习某种东西的时候要做到知其所以然,当你知道了这个东西大概是个什么了以后你的思维就会联想到很多的东西学习的就会很快。
【ls -l 】列出文件的详细信息,如创建者,创建时间,文件的读写权限列表等等。
【ls -a】 列出文件下所有的文件,包括以“.“开头的隐藏文件(linux下文件隐藏文件是以.开头的,如果存在..代表存在着父目录)。
【ls ~】显示用户宿主目录的文件信息。
![](https://i-blog.csdnimg.cn/blog_migrate/1bf467db71d291bebc5bc53f6df25cf7.png)
第四步:使用【more】或【less】命令分屏显示文件与目录
【more】以一页一页的形式显示文件。
【less】命令作用与【more】命令相似,都可以用来浏览文字档案的内容。
【j】以行为单位向下;【k】以行为单位向上。
【ls/etc/more】让/etc中文件与目录分屏显示,只能向下查看。【ls/etc|less】让/etc中文件与目录分屏显示,可以上下查看。
【less/etc/squid/squid.conf】分屏显示squid.conf中的内容。
![](https://i-blog.csdnimg.cn/blog_migrate/7442226d6fa1814e0d3f51ecfa579cc5.png)
第五步:使用【cat 】命令查看文件内容
【cat】通常用于查看某个文件的内容,主要有三大功能:
(1)一次性显示整个文件:【cat filename】。
(2)从键盘创建一个文件:【cat>filename】。
(3)将几个文件合并为一个文件:【cat lilel file2>file】。
【cat/etc/passwd】查看文件passwd文件中的内容。
![](https://i-blog.csdnimg.cn/blog_migrate/9001b3f0b2fa1cc17acb1932ecebad9e.png)
【mkdir yhy】在当前路径中创建yhy目录。
【mkdir yhy1 yhy2 yhy3】在当前路径中同时创建yhy1、yhy2、yhy3共三个目录。
![](https://i-blog.csdnimg.cn/blog_migrate/dc5fb3e524d1b7a46ebce49bde0e63d6.png)
【touch】命令用于创建的空文件或者修改已有的文件的时间戳,常用方法如下。
【touch fileA】如果fileA存在,使用【touch】指令可更改这个文件或目录的日期时间;如果其不存在,指令会在当前目录下新建一个空白文件fileA。
【touch file1 file2】在当前目录下创建文件file1和file2两个。
【touch/home/file1 file2】在/home目录下创建两个文件。
【touch -t 201601142234.50 log.log】设定文件的时间戳。
【mkdir dirl dir2】在当前目录下创建子目录。
![](https://i-blog.csdnimg.cn/blog_migrate/5bdfdc0d1cefcbff9cf98d948df719df.png)
【rmidr/tmp/test/yhy】删除yhy目录。
【ls/tmp/test】查看目录下的文件及目录。
【mkdir-p d1/d2/d3】依次建立文件夹。
【rmdir-p d1/d2/d3】依次删除文件夹。
![](https://i-blog.csdnimg.cn/blog_migrate/c8d6a0fbe195b79044358c4a5fa744e4.png)
第九步:使用【rm】命令删除目录或者文件
【rmdir】命令只能删除目录但不能删除文件或非空目录,要想删除一个文件,则要用【rm】命令。
【rm-f/root/dir2/myfile1】使用绝对路径删除文件。
【rm-i/root/dir2/myfile2】-i当删除文件时会提示用户是否真的删除,如果删除,输入【y】,否则输入【n】。
【rm-rf/root/dir1】当删除目录时加-r选项。
【rm-rf/root/dir2】删除dir2子目录,包括里面的文件。
![](https://i-blog.csdnimg.cn/blog_migrate/00e400c367464d0c673fec024a05c5a7.png)
【cp】命令用于复制文件或目录。
【cp/etc/grub.conf./】将/etc/grub.conf文件复制到当前目录中。
【cp/etc/passwd/root/passwd.bak】复制文件,并重命名。
【cp/root/*.mp3/soft/ab】复制扩展名为mp3的所有文件到/soft/ab目录中。
【cp-r-f/root/soft/ab】复制一个目录到另一个目录,同时删除前面已经存在的目录。
【cp file1 file2 dir1】将file1和 file2复制到dir1中。
![](https://i-blog.csdnimg.cn/blog_migrate/d36a943e66aac0be518af02de3cf32fc.png)
【mv】用来移动文件或将文件改名。
【mv1.txt2.txt3.txt test3】移动文件。
【mv-t/opt/soft/test/test4/1.txt2.txt3.txt】移动文件。
【mv file1 file2 dir2】将文件从当前目录移动至dir2。
【mv/dir2/file1/dir2/myfile1】将文件改名为myfile1。
【mv/root/abc.jpg/etc/kk】将文件移动到/etc文件夹下。
【mv at.doc abc.doc】将文件at.doc改名为abc.doc。
【mv kk.zip.kk.zip】将文件隐藏。
【mv .kk.zip kk.zip】将文件除去隐藏。
【mb-i1.txt 2.txt】将文件改名,如果文件已存在,则询问是否覆盖。
![](https://i-blog.csdnimg.cn/blog_migrate/46bd33a929dc4054cef7477e6616a6d0.png)
【reboot】重启系统。
【shutdown-r now】立刻重启(root用户使用)。
【shutdown-r 10】过十分钟自动重启。
【shutdown-r 20:35】在时间为20:35时重启。
关机命令
【halt】立刻关机。
【poweroff】立刻关机。
【shutdown-h now】立刻关机(root用户使用)。
【shutdown-h 10】十分钟后自动关机。
第十三步:查看系统相关状态
(1)【df】命令显示磁盘占用空间。
(2)【free】命令用于显示系统内存的使用情况信息。
(3)【cat/proc/meminfo】命令查看内存使用的详细信息。
(4)【cat/procuinfo】命令查看CPU信息。
![](https://i-blog.csdnimg.cn/blog_migrate/b3c8f14c7d2e651336c3ad6c31fa97ee.png)
![](https://i-blog.csdnimg.cn/blog_migrate/85ea716904046ba9b5ec061c451a1907.png)
(1)【ls-al/root>file1】将用户root的家目录的所有目录列表保存至文件file1中。
(2)【ls-al/bin|grep in>file2】将文件名中包含in字符的文件名保存至文件file2中。
(3)【cat file1 file2】同时显示文件的内容。
(4)【cat file1 file2>file3】将文件1、2中的内容合并成新文件3。
(5)【head file3】显示文件file3的前十行内容。
(6)【head 15 file3】显示文件的前十五行内容。
(7)【tail 3 file3】显示文件的后三行内容。
(8)【wc-lw file1】统计文件中的行数、字数。
(9)【grep-c root file1】统计文件中包含root的行数。
(10)【find.-name“file*”】查找文件名中包含了file的文件。
(11)【ls-1|grep-c“file”】查找当前目录中是否有文件名包含file的文件。
(12)【find/bin-size-1000c>myresult】查找是否有1000字节以下的文件,并将查找结果保存。
(13)【find/bin-size100-print】查找是否有100块以上的文件。
(14)【find/-user test】查找是否有用户test创建的文件。
(15)【cp/config*/bak】将所有文件名中包含了字符config的文件复制到目录/bak中。
(17)【ls/bin-al|wc-l】统计/bin目录下的文件目录项数。
(18)【ls-al|per-pi-e's/rootaz/g'】将用户当前目录下的文件目录显示列表中的所有root替换成wqaz,并显示替换结果。
【子任务四】挂载外部文件到Linux系统中
第一步:理解挂载的概念
Liunx采用树形的文件管理系统,也就是在Linux系统中,可以说已经没有分区的概念了。分区在Linux和其他设备一样都只是一个文件。要使用一个分区必须把它加载到文件系统中。Linux中树形的文件结构,最顶层是/ 目录。在安装系统时,必须选择把一个主分区挂载在/ 目录下,因为系统需要安装在/挂载的主分区下。否则系统会提示。所以挂载就是把目录和分区连接起来,Linux的文件系统是树形的,安装的系统必须是在/ 目录下,因为/目录下挂载了一个主分区。/目录是树形的根,其他所有目录都是他的子节点。 我们安装系统的时候已经把分区1挂载到 / 目录下了, 而这个时候没有挂载其他任何分区,所以/ 目录下的所有其他目录都在这个分区下,也就是说,在任何目录下读写操作实际都是操作的这个1号分区。如果我们想使用其他分区,就必须把这个分区挂载到一个目录下,这个目录可以是已经存在的目录。
第二步:使用挂载命令的参数
挂载时使用【mount】命令;命令格式:mount [-t vfstype] [-o options] device dir
-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。
Linux最早使用的文件系统:minix
Linux目前常用的文件系统:ext4、ext3、ext2
光盘或光盘镜像:iso9660
DOS fat16文件系统:msdos
Windows 9x fat32文件系统:vfat
Windows NT ntfs文件系统:ntfs
Mount Windows文件网络共享:smbfs
UNIX(LINUX) 文件网络共享:nfs
OS/2文件系统常用:hpfs
自动检测文件常用:auto
OS/2文件系统常用:hpfs
第三步:使用挂载命令选项
-o,指定挂载文件系统时的选项
ro :采用只读方式挂接设备
rw :采用读写方式挂接设备
user:可以让一般用户挂载设备
nouser:使用一般用户无法挂载.
使用实例:
Windows 7系统挂载在hdal分区上,同时还挂载光盘和U盘。
【mkdir/mnt/winc】建立挂载点/mnt/winc。
【mount-t ntfs/deval /mnt/winc】挂载Windows 7的hdal分区
【mkdir/mnt/usb】建立挂载点/mnt/usb。
【mount-t vft /dev/sdal/mnt/sub】挂载U盘。
【mkdir/mntrom】建立挂载点/mntrom。
【mount-t iso9660/devrom/mntrom】挂载光盘。
要保证挂载U盘以及光盘的命令不出错,首先要确保U盘存在以及光驱里有光盘。
1.修改/etc/fstab文件
用vim打开 fstab文件,可以看到文件格式如下:
![](https://i-blog.csdnimg.cn/blog_migrate/fb9f45888e31af4babb132044df8eb8a.png)
如果磁盘是SATA接口,且有多个磁盘,则每个磁盘被标记为 /dev/hda 、 /dev/hdb、 /dev/hdc 等以此类推;而每个磁盘的分区被标记为 /dev/hda1、 /dev/hda2等。
如果磁盘是SCSI类型,则多个磁盘会被分别标记为 /dev/sda、/dev/sdb等等。分区同理。
如果使用标签来表示,则格式如:1 LABLE=/
第二列是挂载点。
挂载点必须为当前已经存在的目录,为了兼容起见,最好在创建需要挂载的目标目录后,将其权限设置为777,以开放所有权限。
第三列为此分区的文件系统类型。
Linux可以使用ext2、ext3等类型,此字段须与分区格式化时使用的类型相同。也可以使用 auto 这一特殊的语法,使系统自动侦测目标分区的分区类型。auto通常用于可移动设备的挂载。
第四列是挂载的选项,用于设置挂载的参数。
常见参数如下:
auto: 系统自动挂载,fstab默认就是这个选项
defaults: rw, suid, dev, exec, auto, nouser, and async.
noauto 开机不自动挂载
nouser 只有超级用户可以挂载
ro 按只读权限挂载
rw 按可读可写权限挂载
user 任何用户都可以挂载
请注意光驱和软驱只有在装有介质时才可以进行挂载,因此它是noauto
第五列是dump备份设置。
当其值设置为1时,将允许dump备份程序备份;设置为0时,忽略备份操作;
第六列是fsck磁盘检查设置。
其值是一个顺序。当其值为0时,永远不检查;而 / 根目录分区永远都为1。其它分区从2开始,数字越小越先检查,如果两个分区的数字相同,则同时检查。
将上面的命令添加进fstab后,为了避免可能的错误,我们可以使用mount -a 命令来检验编辑的内容是否有错。执行mount -a命令后,用df -h查看会发现磁盘已经挂载成功,说明输入没有错误。下次重启的时候系统就可以自动进行挂载了。
实例图如下所示:
![](https://i-blog.csdnimg.cn/blog_migrate/91af16ea3188fc562d7001c514b3410b.png)
注意:(1)根目录必须优先于其他挂载点
(2)挂载点必须为已经存在的目录
(3)卸载时必须保证当前磁盘没有发生读写操作
2.修改/etc/rc.d/rc.local文件
将mount命令添加进rc.local文件是另一种实现开机自动挂载的方式
mount /dev/mapper/vg_study-lv_study /lvm_study
![](https://i-blog.csdnimg.cn/blog_migrate/aff540392002da2bea269417e2d147e1.png)