项目二 认识Linux的文件系统
任务二 认识Linux的文件系统
【 子任务一】 熟悉Linux系统中的目录结构
文件结构是文件存放在磁盘等存储设备上的组织方法,主要体现在对文件和目录结构的组织上。目录提供了管理文件的一个方便而有效的途径。
第一步:理解Linux系统的目录结构树
Linux使用标准的目录结构,在安装的时候,安装程序已经为用户创建了文件系统和完整而固定的目录组成形式,并制定了每个目录的作用和其中的文件类型,如下图所示。
Linux系统的目录结构采用的是树形结构。最上层是根目录,其他的所有目录都是由根目录而生成的。微软的DOS和Windows也是采用树形结构,但是在DOS和Windows中,这样的树形结构的根是磁盘分区的盘符,有几个分区就有几个树形结构,它们之间的关系是并列的。但是在Linux中,无论操作系统管理几个磁盘分区,这样的目录结构只有一个。从结构上讲,各个磁盘分区上的树形目录不一定是并列的。
第二步:对比理解Linux系统的文档结构
有一块硬盘,分成了4个分区,分别是/、/boot、/usr和Windows下的FAT,对于/和/boot或者/和/usr,它们是从属关系;对于/boot和/usr,它们是并列关系。如果把Windows下的FAT分区挂载到/mnt/winc下,那么对于/mnt/winc和/usr或/mnt/winc和/boot来说,它们是从属于目录树上没有任何关系的两个分支。
因为Linux是一个多用户系统,所以要制定一个固定的目录规划,这样有助于对系统文件和不同的用户文件进行统一管理。
第三步:列出Linux下一些常用的目录的功能
/,根目录。
/bin,存放必要的命令。
/boot,存放内核以及启动所需的文件。
/dev,存放设备文件。
/etc,存放系统配置文件。
/home,普通永和的宿主目录,用户数据存放在其主目录中。
/lib,存放必要的运行库。
/mut,存放临时的映射文件系统,通常用来挂载。
/proc,存放存储进成何体统信息。
/root,超级用户的主目录。
/sbin,存放系统管理程序。
/tmp,存放临时文件。
/usr,存放应用程序、命令程序文件、程序库、手册和其他的文档。
/var,在正常操作中被改变的文件。
【子任务二】 了解Linux系统中的路径规则
在Linux系统中路径就是一个文件的存在的地方。如果告诉体统这个文件的路径,那么系统就可以找到这份文件。在Linux中,存在着绝对路径和相对路径。
(1)绝对路径:路径的写法一定由根目录“/”写起,例如/usr/local/myspl就是绝对路径。
(2)相对路径:路径的写法不是由根目录“/“,写起,例如,首先用户进入到/,然后再进入到home,命令为【cd /home】,然后使用【cd test】命令,此时用户所在的路径为/home/test。第一个cd命令后跟/home/,第二个cd命令后跟test,并没有斜杠,这个test是相对于/home目录而言的,所以叫做相对路径。
【子任务三】 掌握Linux系统中的基本命令
第一步:使用【pwd】命令打印出当前所在的目录
在Linux系统中,只显示当前工作的目录,没有显示完整的路径,是由【pwd】命令打印当前完整的工作路径。
第一步:使用【cd】命令进入文件的目录
【cd】命令是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在是有【cd】命令基础之上的。
【cd/usr/local】进入到/usr/local目录。
【pwd】打印当前工作目录。
【cd./】还是当前目录。
【cd../】进入当前目录的上级目录。
第三步:使用【ls】命令显示文件信息
【ls】命令是列表的命令,在【ls】命令后加上 -l就是以长列表的形式显示出来,内容较【ls】命令更加具体。
【ls -l】或【ll】显示当前文件夹内文件详细信息。
【ls -a】显示当前文件夹内隐藏文件。
【ls ~】显示用户宿主目录的文件信息。
第四步:使用【more】或【less】命令分屏显示文件与目录
【more】一页一页的形式显示文件;按Space键向后翻页;按b键向前翻页。
【less】命令作用与【more】相似,都可以用来浏览文字档案的内容,不同的是【less】命令允许使用者往回卷动的方式查看文件,浏览速度较vi文本编辑器快;【j】以行为单位向下;【k】以行为单位向上。
同时,在使用【less】命令查看文件是,可以输入vi命令进行文本编辑。
【ls / etc | more】让/ etc中文件与目录分屏显示,可以向下查看。
【ls /etc | less】让/ etc中文件与目录分屏显示,可以想上下查看。
【less / etc/ squid /squid.conf】分屏显示squid.conf中的内容。
第五步:使用【cat】命令查看文件内容
【cat】命令是Linux下的一个文本输出命令,通常是用于查看某个文件的内容。【cat】命令主要有3大功能。
(1)一次显示整个文件:【cat filename】。
(2)从键盘创建一个文件:【cat>filename】,只能创建新文件,不能编辑已有文件。
(3)将几个文件合并为一个文件:【cat file1 file2>file】。
【cat /etc /passwd】查看passwd文件中的内容。
【cat /etc /passwd | less】查看文件passwd文件中的内容,可以上下移动,按q键退出。
【cat /etc / fstab】查看/etc/fstab文件中的内容。
第六步:使用【mkdir】命令创建目录
【mkdir yhy】在当前路径中创建yhy 文件。
【mkdir yhy1 yhy2 yhy3】 在当前路径中同时创建yhy1、yhy2、yhy3同3个目录。
第七步:使用【touch】命令创建文件
【touch】命令用于创建新的空文件或者修改已有文件的时间戳,最常用的用法如下。
【touch fileA】如果fileA存在,使用【touch】指令可更改支付和个文件或目录的时间日期,包括存取时间和更改时间;如果fileA不存在,【touch】指令会在当前目录下新建一个空白文件fileA。
【touch file1 file2】在当前目录下创建文件 file1和file2两个文件。
【touch / home / file1 file2】在/home目录下创建文件file1和file2两个文件。
【touch -t 201601142234.50 log.log】设定文件的时间戳为201601142234.50。
【mkdir dir1 dir2】在当前目录下创建子目录dir1和dir2,即两个文件夹。
第八步:使用【rmdir】命令删除目录
【rmdir /tmp / test /yhy】删除yhy目录。
【ls / tmp / test】查看test目录下的文件及目录。
【mkdir -p d1 / d2 / d3】依次建立d1/d2/d3文件夹。
【rmdir -p d1 / d2 / d3】依次删除d3、d2、d1。
第九步:使用【rm】命令删除目录或文件
【rmdir】命令只能删除目录但不能删除文件或非空目录,要想删除一个文件,则要用【rm】命令。【rm】命令同样也是-f、
-i、-r等很多选项。可以通过【man rm】命令来获得向此帮助信息,在这里只列举常用的选项。
【rm -f /root / dir2/ myfile1】使用绝对路径删除文件myfile1.-f,强制的意思,如果不加这个选项,当删除一个不存在的文件时会报错。
【rm -f /root / dir2/ myfile2】-i这个选项的作用是,当用户删除myfile2文件时会提示用户是否真的删除,如果删除,输入【y】,否则输入【n】。
【rm -rf /root / dir1】当删除目录时,加-r选项。如果不加这个选项会报错。【rm】命令可以直接删除不为空的目录。
【rm -rf /root / dir2】删除dir2子目录,包括里面的文件。
第十步:使用【cp】命令复制文件
【cp /etc/grub.conf./】将/etc/grub.conf文件复制到当前目录中。
【cp /etc/passwd / root/passwd.bak】复制/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中。
第十一步:使用【mv】命令移动或重命名文件/目录
【mv 1.txt 2.txt 3.txt test3】将1.txt、2.txt、3.txt3个文件移到test3目录中。
【mv -t /opt/soft/test/test4/ 1.txt 2.txt 3.txt】将3个文件移动到test4目录中。
【mv file1 file2 dir2】将文件file1,file2从当前目录移动至dir2中。
【mv /dir2/file1 /dir2/myfile1】将dir2中的文件file1改名为myfile1 。
【mv /root/abc.jpg /etc/kk】将/root/abc,jpg文件移动到/etc/kk文件夹下。
【mv at.doc abc.doc】将at.doc改名为abc.doc。
【mv kk.zip . kk. zip】将kk.zip文件隐藏。
【mv . kk.zip kk. zip】将kk.zip文件除去隐藏。
【mv -i 1.txt 2.txt】将文件1.txt改名为2.txt,如果2.txt已经存在,则询问是否覆盖。
第十二步:重启与关机
(1)重启命令
【reboot】重启系统。
【shutdown -r now】立刻重启(root用户使用)。
【shutdown -r 10】过10分钟自动重启(root用户使用)。
【shutdown -r 20:35】在时间为20:35时候重启(root用户使用)。
(2)关机命令
【halt】立刻关机。
【poweroff】立刻关机。
【shutdown -h now】立刻关机
【shutdown -h 10】10分钟后自动关机。
第十三步:查看系统相关状态
(1)【df】命令显示磁盘占有空间。
(2)【free】命令用于显示系统的使用情况信息。
(3)【cat /proc/meminfo】命令查看内存使用的详细信息。
(4)【cat /proc/cupinfo】命令查看CPU信息(型号)。
第十四步:熟悉以下常有命令以及功能功能
(1)【ls -al /root>file1】将用户root的见目录的所有目录列表保存至文件file1中。
(2)【ls -al/bin | grep in>file2】将/bin下的文件名中包含in字符的文件名的保存至file2.
(3)【cat file1 file2】同时显示文件file1、file2的内容。
(4)【cat file1 file2>file3】将文件file1、file2的内容合并成新文件file3。
(5)【head file3】显示文件file3的前十行内容,head命令一般默认显示文件的前10行。
(6)【head 15 file3】显示文件file3的前15行内容。
(7)【tail 3 file3】显示文件file3的后行内容。
(8)【wc -lw file1】统计五年间file1中的行数、字数。
(9)【grep -c root file1】统计文件file3中包含root的行数。
(10)【find . -name "file*"】查找文件名中包含了file字符的文件。
(11)【ls -l | grep -c "file"】查找当前目录中是否有文件名包含file的文件。
(12)【find / bin -size -1000c>myresult】查找/bin中是否由1000字节以下的文件,并将查找结果保存至文件muresult 。
(13)【find /bin -size -100 -print】查找时候有100块以上的文件。
(14)【find / -usr test】查找时候有用户test创建的文件。
(15)【cp / config * /bak】将所有文件名中包含了字符config的文件复制到目录/bak中。
(16)【cut -d: -f1 / etc/passwd】从/etc/passwd中提取用户名,统计个数,并将结果保存至文件中。
(17)【ls/bin -al | wc -l】统计/bin目录下的文件目录项数。
(18)【ls -al | perl -pi -e 's/root wqaz】将用户当前目录下的文件目录显示列表中的所有root替换成wqaz,并显示替换结果。
【子任务四】 挂载外部文件到Linux系统中
在安装Linux系统以后,插入U盘或放入光盘时Linux系统是不能自动识别的,也不是直接使用的,这是由Linux的文件系统管理决定的。首先,Linux将所有的硬件设备都当作文件来处理,因此,当使用U盘、光驱等硬件设备时,必须将其挂载到系统中,只有这样Linux才能识别。
第一步:理解挂载的概念
Linux系统中每个分区都是一个文件系统,都有自己的目录层次结构。Linux会将这些分属不同分区的、单独的文件系统”按一定的方式“形成一个系统的总的目录层次结构。这里的”按一定方式“就是挂载。
将一个文件系统的顶层目录挂到另一个文件系统的子目录上,使它们成为一个整体,成为挂载。该子目录称为挂载点。
一个分区挂载在已存在的目录上,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用。
对于其他操作系统建立的文件系统的挂载也是如此。但是需要理解的是,光盘、U盘、其他操作系统使用的文件系统的格式与Linux使用的文件系统格式是不一样的。
第二步:使用挂载命令的参数
挂载时使用【mount】命令,其格式为mount[-参数][设备名称][挂载点]
其中常用的参数有-t,用来指定设备的为念系统类型,常见的文件系统如下。
minix:Linux最早使用的文件系统。
ext4、ext3、ext2:Linux目前常用的文件系统。
msdos:MS-DOS的FAT,就时FAT16。
vfat:Windows98/Windows2000/Windows XP常用。
nfs:网络文件系统。
iso9660:CD-ROM标准文件系统l。
ntfs:Windows XP/Windows 7/Windows 8/Windows 10 的文件系统常用。
hpfs:OS/2文件系统常用。
auto:自动检测文件系统常用。
第三步:使用挂在命令选项
-o,指定挂在文件系统时的选项。有些也可用在/etc/fstab中。常用如下:
ro:以只读方式挂载。
rw:以读写方式挂载。
nouser:使一般用户无法挂载。
user:可以让一般用户挂在设备。
【子任务五】 掌握Linux系统中的自动挂载
基本上所有Linux发行版在启动系统时都是根据/etc/fstab文件的配置来挂载分区的。在/etc/fstab中,根据不同格式的分区,其挂载参数也不同,参数不同其结果不同,包括用户的读写权限。
(1)对于fat32格式分区,向/etc/fstab中加入下面的内容:
/dev/sdaX /media/Y vfat user,rw,utf8,umask=000 0 0
说明:/dev/sdaX可以以管理员身份通过命令fdisk-l得知,只要找你需要挂载的那个分区即可。/media/Y这是一个文件夹,应该提前建立好。”user,rw”是说用户可进行读写操作。utf8这个可以说是必要的,因为往往有一些windows的文件夹是中文名的,而在windows下是GBK的编码方式,在linux下挂载就会看到乱码,加上utf8的参数将中文自动转换成UTF8显示,可以有效的避免乱码问题。umask=000说明对所有用户赋予了读写操作,也就是说挂载之后普通用户也可进行操作。最后有两个0通过空格隔开,这两个0中的后者决定了开机是否检查,如果需要检查则将其改为1。
(2)对于EXT3、EXT4等Linux分区格式,可以向/etc/fstab中加入下面的内容:
/dev/sdaX /media/Y ext3 defaults 0 1
/dev/sdaX /media/Y ext4 defaults 0 1
/dev/sdaX /media/Y jfs defaults 0 1
上面这几行分别对应了ext3、ext4和jfs的挂载语句,具体请根据您自己的分区情况来修改。这几句中,X与Y的含义同上,default参数说明按照默认格式挂载,后面的0和1就说明开机要检查。
(3)NTFS格式分区,比较麻烦,首先请安装ntfs-3g这个软件,如果不安装这个软件将不能对NTFS格式分区进行读写。安装之后将如下内容添加到/etc/fstab中:
/dev/sdaX /media/Y ntfs-3g defaults 0 0
此处X与Y的含义同上,值得说明的是ntfs-3g后的参数,如下:
users – 假如ntfs-3g可执行文件设置了SUID
root(命令:chmod u+s /bin/ntfs-3g )
,则允许任何人挂载/卸载NTFS分区。请注意,要用users而不是user
uid – 指定NTFS分区中文件和目录的拥有者(用十进制数表示)
gid – 指定NTFS分区中文件和目录的用户组(用十进制数表示)
fmask – 文件权限(八进制数掩码)
dmask – 目录权限(八进制数掩码)
locale – 曾经用来让使用国际化字符集的文件可见。在ntfs-3g2009.1.1和更新的版本中已不再需要。
noauto – 启动时不要自动挂载分区。
任务三 使用vim编辑器配置网络
【子任务一】使用【setup】命令配置IP地址
1、运行【setup】命令
2、选择网络配置
3、选择网卡
4、填写IP地址
5、保存IP地址配置选项
6、重启网络服务并查看IP地址信息
任务四 root账户密码的**与保护
【子任务一】 加入单用户模式并修改root账户密码
第一步:进入kernel选择界面
第二步:进入kernel编辑页面
第三步:编辑kernel启动参数
第四步:进入单用户模式
第五步:使用【passwd】命令修改root密码
【子任务二】 给单用户模式加密
第一步:打开/boot/grub/grub.conf文件第二步:编辑/boot/grub/grub.conf文件