1、Linux 文件系统入门
文件介绍
在 Linux 系统中,任何软件和硬件都被视为文件。Linux 中的文件名最多支持 256 个字符,分别可以用 A~Z、a~z、0~9 等字符来命名。
Linux 下的文件分为5种类型,即普通文件、目录文件、链接文件、设备文件和管道文件。
目录介绍
/bin:存放使系统最经常使用的命令。例如,cp、ls、cat等。
/boot:操作系统启动时所需的文件。
/dev:接口设备文件目录。
/etc:存放系统管理所需要的配置文件和子目录。
/home:一般用户的主目录或FTP站点目录。
/mnt:装置的文件系统加载点。例如光驱、软盘等。
/proc:该目录是一个虚拟的目录,是系统内存的映射,该目录的内容不在硬盘上而是在内存中。
/root:管理员的主目录。
/sbin:存放系统启动时所需执行的程序。
/tmp:用来存放一些临时的文件。
/usr:存放用户使用的系统命令和应用程序等信息。
/lib:存放系统最基本的动态链接共享库。
/lost+found:该目录平时是空的,当系统不正常关机后,存放恢复的文件。
/var:具有变动性质的相关程序目录。
2、文件的基本操作
新建和删除文件
1.删除文件
rm /root/file1
2.新建目录
mkdir /linux
3.删除空目录
rmdir /linux
4.删除目录及目录下的所有文件
rm -fr /linux
5.创建链接文件(将/linux目录下的file文件链接到/root目录下,-s表示创建的是符号链接)
ln -s /linux/file /root/file.ln
查看和创建文件
1.查看文件内容
cat /root/1.txt(查看文件)
cat >/root/2.txt(创建文件)
cat -b /root/1.txt(显示行号)
cat /root/1.txt /root/2.txt(合并显示)
cat /root/1.txt /root/2.txt>/root/3.txt(合并新文件)
2.分页显示文件内容
more /etc/imrc(Enter键:下一行,空格键:下一页)
more +3 /etc/imrc(从第3行开始起的内容)
more +do /etc/imrc(寻找到某个字符后的内容)
3.交互式操作显示文件内容
less /etc/imrc(H键:在线使用说明,Q键:离开浏览模式)
复制和移动文件
1.复制文件
cp /test1/file1 /test2/file2(复制file1文件,并更名为file2)
cp -ax dir1 dir2(将dir1下的所有目录都复制到dir2下,并改变文件系统格式)
2.移动文件
mv /test1/file1 /test2/file2(移动file1文件,并更名为file2)#p#副标题#e#
3、压缩和解压缩
创建.zip文件
1.zip命令的基本使用方法
zip file.zip *(将当前目录下的所有文件直接压缩为 file.zip)
2.压缩后,自动删除原文件
zip -m file.zip file1.txt(把file1.txt文件压缩成file.zip,然后删除file1.txt)
3.将子目录一起压缩
zip -r file.zip *(将当前目录下的子目录一起压缩到file.zip)
4.忽略子目录的内容
zip -j file.zip *(将当前目录下的所有文件压缩到fiel.zip,但不包括子目录)
5.将已压缩的或没有必要压缩的文件去掉
zip -n .mpg:.jpg:.gif(将.mpg、.jpg、.gif排除在外,在各种类型文件中间要用:分开)
6.压缩某一日之后的文件
zip -t 101812 file.zip(将当前目录下2012年10月18日以后的文件压缩为file.zip)
7.不压缩链接文件的原文件
zip -y file.zip *(将当前目录下的所有文件压缩为file.zip,不压缩链接文件的原文件)
8.指定压缩率压缩文件
zip -9 file.zip *(压缩率的范围为-1~9,-9的压缩率最高)
9.压缩大量文件
zip -@ file.zip
file1.txt
file2.txt
(在所有文件输入完成后,按 Ctrl+D 组合键完成输入,进行压缩)
10.将不需要压缩的文件排除在外
zip file.zip * -x file2.txt(压缩当前目录下的所有文件,但将当前目录file2.txt文件排除在外)
解压缩
1.排除不需要解压缩的文件
unzip file.zip -x file3(用于将压缩文件file.zip中除了file3的其他文件进行解压)
2.查看压缩包的内容
zip -z file.zip(查看file.zip压缩包的内容,也可以使用-l、-v来查看压缩包的内容)
3.gzip命令的基本使用方法
gzip file2.txt(将文件file2.txt进行压缩)
4.压缩率
zip -9 file.txt(按照压缩率为-9将file.txt进行压缩)
5.解压缩.gz文件
gunzip file.gx 或 gzip -d file.gz(用来查看压缩包的详细信息)
文件打包
1.tar 命令的基本作用方法
tar 参数 打包后的文件名 要打包的文件
2.打包操作
tar -cvf file.tar * (将当前目录下的所有文件和目录打包到file.tar中,并显示打包的详细过程)
3.再打包
tar -hcvf file.tar *(如果要打包的文件为符合链接,则不打包符合链接而是将符号链接指向的文件打包)
4.将新文件加入已打包的包文件
tar -rvf file.tar file.txt(将文件file.txt添加到已经存在的tar包file.tar中)
5.打开包的操作
tar -xvf file.tar(将tar包file.tar中的文件释放出来)
6.tar 命令参数
-c:创建新文件
-v:显示命令执行的信息
-f:指定压缩为文件形式
-x:解开tar文件
-h:重新进行打包
-r:将一个新文件加入到打包的文件中#p#副标题#e#
4、设置文件/目录访问权限
对于 Linux 系统中的文件而言,其权限可以分为4种:读权限、写权限、执行权限和无权限,分别用r、w、x和-来表示。不同的用户具有不同的读、写和执行权限。Linux 系统按文件所有者、文件所有者同组用户和其他用户3类规定不同的文件访问权限。
Linux 文件系统安全模型通过给系统中的文件赋予两个属性来起作用。赋予每个文件的两个属性称为所有者(ownership)和访问权限(access rights)。Linux 下的每一个文件必须严格地属于一个用户和一个组。
10种权限属性:drwxr-xr–
第1个字符与权限无关,表示文件的类型。字符d表示该文件是一个目录;b表示该文件是一个系统设备,使用块输入/输出与外界交互,通常为一个磁盘;c表示该文件是一个系统设备,使用连续的字符输入/输出与外界交互,如串口和声音设备;.表示该文件是一个普通文件,没有特殊属性;-表示为文件。
第2~4个字符用来确定文件的用户(user)权限,第5~7个字符用来确定文件的组(group)权限,第8~10个字符用来确定文件的其他用户(other user)的权限。
使用 chmod 命令
用户可以使用 chomd 命令来修改文件权限,通常用两种方式来表示权限类,即数字表示法和文字表示法。
1.以数字表示法修改存取权限(rwx=4+2+1=7)。
chmod 764 文件名(rwxrw-r–)
2.以文字表示法修改存取权限
chmod [who] [+/-/=] [mode] 文件名
操作对象 who 表示4种不同的用户,u 表示“用户(user)”,g 表示“同组(group)用户“,o 表示“其他(others)用户“,a 表示“所有(all)用户”。是系统默认值。
而权限 mode 仍为3种:r 为可读,w 为可写,x 为可执行。
与数字表示法不同的是,文字表示法不仅可以重新设置权限,还可以在原来的权限上,增加或减少权限,利用[+/-/=]来实现。
chmod u+x,g-w,o=r /root/file
3.目录权限的修改
目录权限的修改和文件相似,但是如果要修改目录中所有文件的存取权限,则应该用 * 来表示。
chmod 774 /home/linux/*
如果文件中还有其他子目录,则可以使用-R参数。
chmod -R u=rwx,g=rwx,o=r /home/linux/*
使用 chown 命令
一般情况下,文件的创建者就是文件的拥有者。若要改变文件的拥有者,则必须在 root 权限下才能进行修改。
chown iwanc /home/linux/file
5、管理磁盘
在 Linux 中,使用 df 命令可以显示文件系统的有效空间。
df -h(以比较容易阅读的MB和GB来显示磁盘空间)
du -h 文件或目录路径(该命令逐级进入指定目录的每一个子目录,并显示该目录占用文件系统数据块的信息)
磁盘分区操作
1.设备管理
在 Linux 中,每一个硬件设备都映射一个系统文件,包括硬盘、光驱等IDE或SCSI设备。Linux 为各种IDE设备分配了一个由hd前缀组成的文件。对于各种SCSI设备,则分配了一个由sd前缀组成的文件。例如,第一个IDE设备,Linux定义为hda;第二个IDE设备则定义为hdb;依此类推。而SCSI设备应该是sda、sdb、sdc等。
2.分区数量
要进行分区就必须针对每一个硬件设备进行操作。对于每一个硬盘(IDE或SCSI)设备,Linux分配了一个1~16的序列号码,代表了硬盘上面的分区号码。例如,第一个IDE硬盘的第一个分区,在Linux中的映射为hda1,第二个分区是hda2。对于SCSI硬盘而言,则是sda1、sdb1等。
3.各分区的作用
在Linux中规定,每一个硬盘设备最多拥有4个主分区(其中包含扩展分区)。任何一个扩展分区都要占用一个主分区号码。在一个硬盘中,主分区和扩展分区最多有4个。
主分区的作用是帮助计算机启动操作系统。因此,每一个操作系统的启动程序或引导程序,都应该存放在主分区上,这就是主分区和扩展分区、逻辑分区的最大区别。用户在指定安装引导Linux的bootloader的时候,都要指定在主分区上。
Linux规定了主分区(或者扩展分区)占用1~16号码中的前4个号码。例如,第一个IDE硬盘,主分区(或者扩展分区)占用了hda1~hda4,而逻辑分区占用了hda5~hda16。因此,Linux下面的每一个硬盘最多有16个分区。
对于逻辑分区,Linux规定它们建立在扩展分区上。因此,扩展分区能够提供更加灵活的分区模式,但不能用来作为操作系统的引导。
4.分区指标
对于每一个Linux分区,分区的大小和类型是最主要的指标。容量的大小就是分区的容量。分区的类型规定了改分区上文件系统的格式。Linux支持多种文件系统格式,其中包含了用户熟悉的FAT32、FAT16、NTFS、HP-UX,已经Linux特有的Linux Native和Linux Swap分区类型。在Linux系统中,可以通过分区类型号码来区别这些不同类型的分区。#p#副标题#e#
6、使用光盘
要加载一个设备到系统,需要设备的驱动文件、软件配置及内核支持。所有的设备文件都保存在/dev目录中,包括光盘驱动器的设备文件。符号链接文件/dev/cdrom用于将普通的设备名称链接到实际使用的CD-ROM设备上。
挂载和卸载光盘
在命令行中输入mount命令,即可挂载光盘:
mount /mnt/cdrom
要哦卸载光盘需要用到umount,命令如下:
umount /mnt/cdrom
制作ISO文件
ISO文件就是光盘镜像文件。在Linux下制作ISO文件有很多方法,使用复制命令就可以制作,命令如下:
cp /dev/cdrom cdrom_img.iso
或者 dd if=/dev/cdrom of=cdrom_img.iso
该命令将光驱里的光盘进行镜像,制作成一个ISO文件cdrom_img.iso。要使用mkisofs来制作ISO文件,生成一个光盘的镜像文件,命令如下:
mkisofs -r -o cdrom_img.iso /mydir
上面的命令就是将/mydir目录下的文件进行处理,生成一个镜像文件cdrom_img.iso,文件生成后存储在/root目录下。
刻录光盘
光盘刻录是备份数据的好方法,可以避免在硬盘损坏后,用户数据全部丢失的后果。在Linux上刻录光盘非常简单,首先扫描刻录机设备号:
cdrecord -scanbus
扫描结果将自动发现刻录机的设备号。例如,设备号为dev=6,0,则在刻录光盘时,输入以下命令:
cdrecord -v speed=4 dev=6,0 cdrom_img.iso