Linux文件管理
1、在Linux中,有三种基本的文件类型:
1、普通文件
普通文件是以字节为单位的数据流,包括文本文件、源码文件、可执行文件等。文本和二进制对Linux来说并无区别,对普通文件的解释由处理该文件的应用程序进行。
2、目录
目录可以包含普通文件和特殊文件,目录相当于Windows和Mac OS中的文件夹。
3、设备文件
有些教程中称特殊文件,是一个含义。Linux 与外部设备(例如光驱,打印机,终端,modern等)是通过一种被称为设备文件的文件来进行通信。Linux 输入输出到外部设备的方式和输入输出到一个文件的方式是相同的。Linux 和一个外部设备通讯之前,这个设备必须首先要有一个设备文件存在。
2、设备文件和普通文件不一样,设备文件中并不包含任何数据。
1、字符设备文件以字母"c"开头。字符设备文件向设备传送数据时,一次传送一个字符。典型的通过字符传送数据的设备有终端、打印机、绘图仪、modern等。字符设备文件有时也被称为"raw"设备文件。
2、块设备文件以字母"b"开头。块设备文件向设备传送数据时,先从内存中的buffer中读或写数据,而不是直接传送数据到物理磁盘。磁盘和CD-ROMS既可以使用字符设备文件也可以使用块设备文件。
3、查看文件
查看当前目录下的文件和目录可以使用 ls 命令
通过 ls 命令的 -l 选项,你可以获取更多文件信息

4、ls -l 解释
第一列:文件类型(解释如下图)。
第二列:表示文件个数。如果是文件,那么就是1;如果是目录,那么就是该目录中文件的数目。
第三列:文件的所有者,即文件的创建者。
第四列:文件所有者所在的用户组。在Linux中,每个用户都隶属于一个用户组。
第五列:文件大小(以字节计)。
第六列:文件被创建或上次被修改的时间。
第七列:文件名或目录名。
注:每一个目录都有一个指向它本身的子目录"." 和指向它上级目录的子目录"..",所以对于一个空目录,第二列应该为 2。

5、元字符是具有特殊含义的字符。* 和 ? 都是元字符:
* 可以匹配 0 个或多个任意字符;
? 匹配一个字符。
例如,可以用 ls lib*.so查看前面目录下,所有以lib开头,以so结尾的文件

6、隐藏文件的第一个字符为英文句号或点号(.),Linux程序(包括Shell)通常使用隐藏文件来保存配置信息。下面是一些常见的隐藏文件:.profile:Bourne shell (sh) 初始化脚本.kshrc:Korn shell (ksh) 初始化脚本.cshrc:C shell (csh) 初始化脚本.rhosts:Remote shell (rsh) 配置文件查看隐藏文件需要使用 ls 命令的 -a 选项:
ps:一个点号(.)表示当前目录,两个点号(..)表示上级目录

7、在Linux中,可以使用 vi 编辑器创建一个文本文件,例如:
vi hello.txt
上面的命令会创建文件 hello.txt 并打开,
按下 i 键即可进入编辑模式,你可以向文件中写入内容。
hello world!
完成编辑后,可以按 esc 键退出编辑模式,按:wq保存这样就创建了hello.txt文件

8、用vi/vim可以编辑文本文件
vi hello.txt

9、可以使用 cat 命令来查看文件内容
cat hello.txt
可以通过 cat 命令的 -b 选项来显示行号
cat -b hello.txt

10、可以使用 wc 命令来统计当前文件的行数、单词数和字符数
wc hello.txt
第一列:文件的总行数
第二列:单词数目
第三列:文件的字节数,即文件的大小
第四列:文件名

11、可以使用 cp 命令来复制文件
cp 命令的基本语法
cp 原文件名 目标文件名
如:
cp hello.txt hello1.txt

12、用mv命令来移动文件,也可以用mv来重命名文件
mv 原文件名 新文件名
如:
mv hello.txt world.txt

13、rm命令可以删除文件
rm 要删除的文件名
rm也可以同时删除多个文件
如:
rm hello1.txt world.txt
注:删除文件是一种危险的行为,所以会有再次确认,如果静默删除,加入参数-f
