Linux文件系统目录为“倒”的树状结构,所有的目录都是从"/"衍生而至,亦称为Linux目录树。
#基础文件管理命令#相关实验
#1、pwd命令显示当前所在目录
#2、cd命令切换/改变目录
相对路径:不是由/写起,例如由/usr/share/doc到/usr/share/man下边时,可以写成cd../man
绝对路径:由根目录/写起,例如cd/usr/local/,表示切换到/usr/local目录下边
一些特殊的目录:
. :代表此层目录
.. :代表上一层目录
- :代表前一个工作目录
~ :代表“当前登陆用户身份”所在的主目录
~account :代表account这个用户的主目录(account是个账户名称)
#3、mkdir命令创建新目录
-p:创建多层目录
#4、rmdir命令删掉目录
刚才在/tmp上面创建了目录,我们来把她们删掉:
rmdir仅能删掉空的目录,所以当我们删掉test1这个目录,提示删掉失败,由于它不是空的目录,它上面有test2这个目录。当我们加上-p参数,首先会删掉test3这个目录linux搜索文件内容命令,test3是空的目录,所以成功删掉,这时侯test2也弄成空的目录了,所以也删掉了,之后test1也弄成了空的目录了,所以test1也被删掉。-p似乎就是递归操作。
#5、ls命令列举目录内容
-a:列举全部的文件,包括隐藏的目录和隐藏的文件(以.开头的文件)
-A:列举全部的文件,包括隐藏的目录和文件(但不包括.与..这两个目录)
-d:仅列举目录本身,而不是列举目录内的文件数据
-h:将文件容量以人类较易读的方法(比如GB、KB等)列下来,一般和-l(列举文件并显示文件的属性和权限等信息)一起用
ls-l:列举文件并显示文件的属性和权限等信息
#6、cp命令拷贝文件
比如以root身分,将/etc/passwd文件复制到/tmp下:
变换目录到/tmp,并将/var/log/wtmp复制到/tmp观察属性:
注意在不加任何选项的情况下,文件的个别属性/权限会改变。
-a:尽可能将档案状态、权限等资料都照原状给以复制
默认情况下,cp的来源档和目的档的权限是不同的,目的档的拥有者一般会是指令操作者本身(如前面的看见的一样,因为这儿是root身分,因而复制过来的档案拥有者和群组就弄成root所有了)。
比如将/etc/这个目录下的所有内容到/tmp下边:
-r:若source中富含目录名,则将目录下之档案亦皆依序拷贝至目的地。
-f:若目的地早已有相同档名的档案存在,则在复制前先给以删掉再行复制(虽然就是force的意思,强制复制,默认是须要寻问的)
-u:差别复制linux搜索文件内容命令,常用在备份上面(当你做备份的时侯,cp–u只会复制这些有新增或则早已有变化的文件linux游戏,相同属性并存在的文件不会再重新复制,大大的提供了备份速率)
这儿先在/tmp/test目录下新建1.txt、2.txt两个文件,将其复制到/tmp/123目录中,之后在/tmp/test目录下新建3.txt文件,再度复制到/tmp/123下边,分别用不加–u参数和加-u参数做对比:
没有用-u参数时,cp会将之前的文件从新复制,所以寻问是否覆盖之前的文件;而当加了–u参数以后,cp只复制了新增的3.txt过去,由于之前目标目录没有3.txt文件,所以也没有寻问是否替换。
#7、mv命令联通/重命名文件
比如到/tmp目录下,用touch新建一个test.txt,之后用mv重命名为456.txt:
#8、rm命令删掉文件
删掉我们之前在/tmp/test目录下新建的1.txt,2.txt,3.txt和/tmp/123目录,分别用以上不同的参数
-r:递归删掉,最常用在目录的删掉,很危险的参数
#9、touch命令创建文件
#10、file命令查看文件类型
-l:显示符合链接的文件类型
-b:显示结果,并且不显示文件名称
#11、which命令进行位置查找
#12、whereis命令查找档案
-m:只找在说明文件manual路径下的文件
#13、locate命令进行基于数据库的文件搜索
#14、find命令查找文件
比如将过去系统里面24小时内有修改(mtime)的内容列下来:
找出/etc/下名为passwd的文件
#15、cat命令与tac命令查看文件
cat-n:显示行号
cat是从头到尾显示,而tac则是从尾到头显示
#16、more命令与less命令查看文件
more可以实现一页一页翻动,且显示进度:
相对more来说,less命令愈发灵活
#17、head命令与tail命令查看部份文档内容
head命令的作用是选定头几行,默认不加参数,显示头十行的内容:
-n前面接数字,代表显示几行:
tail命令选定尾部文档内容,默认情况下,显示尾部十行信息
-f:检查文档,直至按下Ctrl+C才能退出,可以拿来检测日志的写入
#18、od命令查看二补码文件内容
-t前面接输出的类型,c表示使用ASCII字符来输出:
#1、gzip命令进行文件压缩
比如将/etc/man.config复制到/tmplinux 版本,但是以gzip压缩:
gz文件查看命令为zcat:
-d参数进行解压:
#2、bzip2命令进行文件压缩
bz2文件查看命令为bzcat:
同样使用-d参数进行解压:
#3、tar命令进行文件打包与压缩
比如单纯将/etc打包:
-c:构建打包档案;-f:前面接要被下来的档案名。
打包并以bzip2压缩技术来压缩:
-j:以bzip2压缩技术来压缩打包的档案:档案后缀为*.tar.bz2
tar–jt参数查看etc.tar.bz2这个压缩包上面有什么档案:
解压文件:tar–jxvf
#c盘结构#相关实验
#1、df命令列举文件系统的整体使用量
-a:列举所有的文件系统,包括系统特有的/proc等
Filesystem:代表该文件系统是在哪个partition,列出装置名称
1k-blocks:说明底下的数字单位是1KB;
Used:用掉的磁盘容量数量;
Available:剩下的数量;
Use%:磁盘使用率;
Mounted on:磁盘挂载的目录所在,就是挂载点。
-k:以KBytes的容量显示各文件系统
-m:以MBytes的容量显示各文件系统
-h:以便于阅读的GBytes,MBytes,KBytes等格式显示
-T:连同该partition的filesystem名称(比如ext4)也列举
#2、du命令详尽显示每位目录和文件所占的c盘容量
无参数:只列举目录容量
-a:列举所有的文件与目录容量
-h:以便于阅读的GBytes,MBytes,KBytes等格式显示
-s:列举总数,而不列举每位各别目录占用容量-S:不包括子目录下的总计,和-s有区别
结合其他命令找出当前目录最大的文件:
*:表示当前目录所有文件
|:管道符号,作用是将前一个的结果作为后一个命令的输入
sort:排序命令
sort –n:从小到大排序
sort –nr:反转排序结果,就是从大到小了
#c盘分区#相关实验
#1、fdisk命令对c盘进行分区
-l:列举指定的外围设备的分区表状况
对/dev/sdb进行分区
提示你输入m或则help
d:删除一个partition;
n:新增一个partition;
p:在屏幕上显示分割表;
q:不储存离开fdisk程序;
w:讲刚刚的动作写入分割表。
#2、mkfs命令对分区进行低格
将/dev/sdb4低格为ext2文件系统:
-t:指定要构建何种文件系统
#c盘挂载#相关实验
#1、mount命令挂载一个新的文件系统到Linux
先创建一个/dev/sdb4的分区,之后对其进行低格:
查看目前挂载的情况:
没有见到/dev/sdb4,接出来就来挂载。挂载之前新建一个挂载点(目录):
接出来开始挂载:
查看c盘使用情况:
#2、实现开机手动挂载文件系统
须要写配置文件,路径是/etc/fstab:
配置文件总共分为6列,分别是fs_spec、fs_file、fs_type、fs_options、fs_dump、fs_pass:
fs_spec:定义希望加载的文件系统所在的设备或远程文件系统;
fs_file:该字段描述希望的文件系统挂载的目录点;
fs_type:文件系统类型,如ext2;
fs_options:指定挂载该设备的文件系统是需要使用的特定参数选项,多个参数是由逗号分隔开来;
fs_dump:备份指令,需要备份为 1;
fs_pass:是否在开机时进行磁盘校验,0 为不校验、1为校验。通常/设置为 1。
设置开机手动挂载/dev/sdb4:
添加一行:
/dev/sdb4 /mnt/sdb4 ext2 defaults 0 0
保存并重启机器,之后mount命令查看目前挂载情况
#3、挂载一个iso镜像文件
先用mkisofs做一个iso9660镜像文件:
挂载iso文件到/media/iso下边
这条命令的意思就是挂载回旋设备和iso镜像,–t:指定为iso9660光碟格式。