一、“/”根目录重要文件夹详解
上图中列举出了根目录“/”下面的所有文件夹,这里仔细观察一下,当进入到根目录“/”里面以后终端提示符“ $ ”前面的符号“ ~ ”变成了“ / ”,这是因为当在终端中切换了目录以后“ $ ”前面就会显示切换以后的目录路径。来看一下根目录“ / ”中的一些重要的文件夹:
- /bin 存储一些二进制可执行命令文件,/usr/bin也存放了一些基于用户的命令文件。
- /sbin 存储了很多系统命令,/usr/sbin也存储了许多系统命令。
- /root 超级用户root的根目录文件。
- /home 普通用户默认目录,在该目录下,每个用户都有一个以本用户名命名的文件夹。
- /boot 存放Ubuntu系统内核和系统启动文件。
- /mnt 通常包括系统引导后被挂载的文件系统的挂载点。
- /dev 存放设备文件,Linux驱动主要就是跟这个文件夹打交道的。
- /ete 保存系统管理所需的配置文件和目录。
- /lib 保存系统程序运行所需的库文件,/usr/lib下存放了一些用于普通用户的库文件。
- /lost+found 一般为空,当系统非正常关机以后,此文件夹会保存一些零散文件。
- /var存储一些不断变化的文件,比如日志文件。
- /usr 包括与系统用户直接有关的文件和目录,比如应用程序和所需的库文件。
- /media 存放Ubuntu系统自动挂载的设备文件。
- /proc 虚拟目录,不实际存储在磁盘上,通常用来保存系统信息和进程信息。
- /tmp 存储系统和用户的临时文件,该文件夹对所有的用户都提供读写权限。
- /opt 可选文件和程序的存放目录。
- /sys 系统设备和文件层次结构,并向用户程序提供详细的内核数据信息。
二、文件操作命令
1、创建新文件命令touch
touch不仅仅可以用用来创建文本文档,其它类型的文档也可以创建,命令格式如下:
touch [参数] [文件名]
使用touch创建文件的时候,如果[文件名]的文件不存在,那就直接创建一个以[文件名]命名的文件,如果[文件名]文件存在的话就仅仅修改一下此文件的最后修改日期,常用的命令参数如下:
- -a 只更改存取时间。
- -c不建立任何文件。
- -d<日期>使用指定的日期,而并非现在日期。
- -t<时间>使用指定的时间,而并非现在时间。
2、文件夹创建命令mkdir
既然可以创建文件,那么肯定也可以创建文件夹,创建文件夹使用命令“mkdir”,命令格式如下:
mkdir [参数] [文件夹名目录名]
主要参数如下:
- -p 如所要创建的目录其上层目录目前还未创建,那么会一起创建上层目录。
3、文件及目录删除命令rm
既然有创建文件的命令,那肯定有删除文件的命令,要删除一个文件或者文件夹可以使用命令“rm”,此命令可以完成删除一个文件或者多个文件及文件夹,它可以实现递归删除。对于链接文件,只删除链接,原文件保持不变,所谓的链接文件,其实就是Windows下的快捷方式文件,此命令格式如下:
rm [参数][目的文件或文件夹目录名]
命令主要参数如下:
- -d 直接把要删除的目录的硬连接数据删成0,删除该目录。
- -f 强制删除文件和文件夹(目录)。
- -i 删除文件或者文件夹(目录)之前先询问用户。
- -r 递归删除,指定文件夹(目录)下的所有文件和子文件夹全部删掉。
- -v 显示删除过程。
注意:当使用命令“rm”中加入参数“-rf”可以删除文件夹。
4、文件夹(目录)删除命令rmdir
上面讲解了如何使用命令“rm”删除文件夹,那就是要加上参数“-rf”,其实Linux提供了直接删除文件夹(目录)的命令——rmdir,它可以不加任何参数的删除掉指定的文件夹(目录),命令格式如下:
rmdir [参数] [文件夹(目录)]
命令主要参数如下:
- -p 删除指定的文件夹(目录)以后,若上层文件夹(目录)为空文件夹(目录)的话就将其一起删除。
5、文件复制命令cp
在Windows下我们可以通过在文件上点击鼠标右键来进行文件的复制和粘贴,在Ubuntu下我们也可以通过点击文件右键进行文件的复制和粘贴。在终端下使用命令来进行文件的复制,Linux下的复制命令为“cp”,命令描述如下:
cp [参数] [源地址] [目的地址]
主要参数描述如下:
- -a 此参数和同时指定“-dpR”参数相同。
- -d 在复制有符号连接的文件时,保留原始的连接。
- -f 强行复制文件,不管要复制的文件是否已经存在于目标目录。
- -I 覆盖现有文件之前询问用户。
- -p 保留源文件或者目录的属性。
- -r或-R 递归处理,将指定目录下的文件及子目录一并处理。
6、文件移动命令mv
有时候需要将一个文件或者文件夹移动到另外一个地方去,或者给一个文件或者文件夹进行重命名,这个时候就可以使用命令“mv”了,此命令格式如下:
mv [参数][源地址][目的地址]
主要参数描述如下:
- -b 如果要覆盖文件的话覆盖前先进行备份。
- -f 若目标文件或目录与现在的文件重复,直接覆盖目的文件或目录。
- -I 在覆盖之前询问用户。
7、文件压缩命令zip
zip命令看名字就知道是针对.zip文件的,用于将一个或者多个文件压缩成一个.zip结尾的文件,命令格式如下:
zip [参数] [压缩文件名.zip] [被压缩的文件]
主要参数如下:
- -b<工作目录> 指定暂时存放文件的目录。
- -d 从zip文件中删除一个文件。
- -F 尝试修复已经损毁的压缩文件。
- -g 将文件压缩入现有的压缩文件中,不需要新建压缩文件。
- -h 帮助。
- -j 只保存文件的名,不保存目录。
- -m 压缩完成以后删除源文件。
- -n<字尾符号> 不压缩特定扩展名的文件。
- -q 不显示压缩命令执行过程。
- -r 递归压缩,将指定目录下的所有文件和子目录一起压缩。
- -v 显示指令执行过程。
- -num 压缩率,为1~9的数值。
8、文件解压缩命令unzip
unzip命令用于对.zip格式的压缩包进行解压,命令格式如下:
unzip [参数] [压缩文件名.zip]
主要参数如下:
- -I 显示压缩文件内所包含的文件。
- -t 检查压缩文件是否损坏,但不解压。
- -v 显示命令显示的执行过程。
- -Z 只显示压缩文件的注解。
- -C 压缩文件中的文件名称区分大小写。
- -j 不处理压缩文件中的原有目录路径。
- -L 将压缩文件中的全部文件名改为小写。
- -n 解压缩时不要覆盖原有文件。
- -P<密码> 解压密码。
- -q 静默执行,不显示任何信息。
- -x<文件列表> 指定不要处理.zip中的哪些文件。
- -d<目录> 把压缩文件解到指定目录下。
9、文件压缩命令tar
前面讲的zip和unzip这两个是命令只适用于.zip格式的压缩和解压,其它压缩格式就用不了了,比如Linux下最常用的.bz2和.gz这两种压缩格式。其它格式的压缩和解压使用命令tar,tar将压缩和解压缩集合在一起,使用不同的参数即可,命令格式如下:
tar [参数] [压缩文件名] [被压缩文件名]
常用参数如下:
- -c 创建新的压缩文件。
- -C<目的目录> 切换到指定的目录。
- -f<备份文件> 指定压缩文件。
- -j 用tar生成压缩文件,然后用bzip2进行压缩。
- -k 解开备份文件时,不覆盖已有的文件。
- -m 还原文件时,不变更文件的更改时间。
- -r 新增文件到已存在的备份文件的结尾部分。
- -t 列出备份文件内容。
- -v 显示指令执行过程。
- -w 遭遇问题时先询问用户。
- -x 从备份文件中释放文件,也就是解压缩文件。
- -z 用tar生成压缩文件,用gzip压缩。
- -Z 用tar生成压缩文件,用compress压缩。
注意:常用文件压缩格式:
tar -vcjf test1.tar.bz2 test1
tar -vczf test1.tar.gz test1
常用解压缩命令
tar -vxjf test1.tar.bz2
tar -vxzf test1.tar.gz
10、文件查找命令find
find命令用于在目录结构中查找文件,其命令格式如下:
find [路径] [参数] [关键字]
路径是要查找的目录路径,如果不写的话表示在当前目录下查找,关键字是文件名的一分,主要参数如下:
- -name 按照文件名称查找,查找与filename匹配的文件,可使用通配符。
- -depth 从指定目录下的最深层的子目录开始查找。
- -gid<群组识别码> 查找符合指定的群组识别码的文件或目录。
- -group<群组名称> 查找符合指定的群组名称的文件或目录。
- -size<文件大小> 查找符合指定文件大小的文件。
- -type<文件类型> 查找符合指定文件类型的文件。
- -user<拥有者名称> 查找符合指定的拥有者名称的文件或目录。
11、文件搜索命令grep
find命令用于在目录中搜索文件,有时候需要在文件中搜索一串关键字,grep就是完成这个功能的,grep命令用于查找包含指定关键字的文件,如果发现某个文件的内容包含所指定的关键字,grep命令就会把包含指定关键字的这一行标记出来,grep命令格式如下:
grep [参数] 关键字 文件列表
grep命令一次只能查一个关键字,主要参数如下:
- -b 在显示符合关键字的那一列前,标记处该列第1个字符的位编号。
- -c 计算符合关键字的列数。
- -d<进行动作> 当指定要查找的是目录而非文件时,必须使用此参数!否则grep指令将回报信息并停止搜索。
- -i 忽略字符大小写。
- -v 反转查找,只显示不匹配的行。
- -r 在指定目录中递归查找。
三、文件类型
这里的文件类型不是说这个文件是音乐文件还是文本文件,在用户根目录下使用命令“ls-l”
来查看用户根目录下所有文件的详细信息。每个文件的详细信息占一行,每行最前面的符号标记了当前文件类型,这些字符表示的文件类型如下:
- -普通文件,一些应用程序创建的,比如文档、图片、音乐等等。
- d目录文件。
- c字符设备文件,Linux驱动里面的字符设备驱动,比如串口设备,音频设备等。
- b块设备文件,存储设备驱动,比如硬盘,U盘等。
- l符号连接文件,相当于Windwos下的快捷方式。
- s套接字文件。
- p管道文件,主要指FIFO文件。