ls 指令
语法: ls [选项] [目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件;对于文件,将列出文件名以及其他信息。
常用选项
-l 列出文件的详细信息;注:ls -l 等价于 ll;
-a 列出目录下的所有文件,包括以 . 开头的隐含文件;
-R 列出所有子目录下的文件;(递归)
-d 将目录像文件一样显示,而不是显示其下的文件; 如:ls –d 指定目录;
-i 输出文件的 i 节点的索引信息; 如 ls –ai 指定文件;
-k 以 k 字节的形式表示文件的大小;ls –alk 指定文件;
-n 用数字的 UID,GID 代替名称;
-F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表 示符号链接;“|”表示FIFOs;“=”表示套接字(sockets);(目录类型识别)
-r 对目录反向排序;
-t 以时间排序;
-s 在l文件名后输出该文件的大小;
-1 一行只输出一个文件;
拓展知识
1、Linux 是一款操作系统,而操作系统本质上一款管理软件,它通过对下管理好软硬件资源 (驱动设备和硬件) 这个手段,来达到对上 (应用软件) 提供良好的 (安全、稳定、高效) 运行环境这个目的;
2、一个文件的数据由两部分组成:内容数据与属性数据,内容数据是指我们往文件中写入的数据,而属性数据则是指文件的大小、类型、权限、创建时间等数据;所以说,空文件也是会占用磁盘空间的,因为它要存储文件的属性数据;
3、Linux 中 ls -l 等价于 ll,基于这个原则,其他与 -l 搭配的复合选项也可以被简写,如 ls -al 也可以写成 ll -a;
4、Linux 中以 . 开头的文件是隐藏文件,单独的一个 . 是当前目录,单独的 … 是上级目录;
5、Linux 中,正常颜色为普通文件,蓝色为目录,也就是我们在 windows 中所说的文件夹。
指令演示
ls、ls -l 与 ll:我们可以看到,ls 只是列出了文件的名称,而 ls -l 则是显示出来文件的其他信息,同时,ls -l 与 ll 命令的作用相同。
ls -al (ll -a):当我们带上了 -a 选项后,我们观察到了三个以 . 开头的文件,其中一个是我们自己创建的隐藏文件,另外两个是当前目录以及上级目录。
ls -d 与 ls -R:当我们使用 -d 选项时,系统只会显示出目录的信息,而当我们用 -R 选项时,系统会直接显示目录里面文件的信息。
pwd 指令
语法:pwd
功能:显示用户当前所在的目录;
常用选项:pwd 命令的功能与使用都十分简单,也没有附加选项;
指令演示
cd 指令
语法:cd 目录名
功能:改变工作目录:将当前工作目录改变到指定的目录下;
常用选项:和 pwd 指令一样,cd 指令也没有选项,其功能和使用同样十分简单。
拓展知识
1、不管是 Linux 还是 Windows,其磁盘中的文件和目录的结构都是树状结构 (多叉树),因为在树状结构中,得到一个文件/目录的路径是唯一的,那么我们就可以用路径来唯一标识一个文件/目录;同时,根据目录/文件以及树的特点我们可以得出:树的叶子节点一定是文件,树的路径节点 (非叶子节点) 一定是目录;
2、我们要标识一个文件有两种方式:绝对路径和相对路径;绝对路径就是从根目录开始,一级一级往下找,直到找到该文件;相对路径就是从当前路径开始,不断往后找;绝对路径安全但麻烦,相对路径便捷但没那么安全;所以官方文档中一般使用的都是绝对路径,而我们日常中使用相对路径居多;
3、在 Windows 中,我们使用 \ 作为路径分隔符,但是这个其实是不规范的,因为它会与转义字符\发生冲突;而在 Linux 中,我们使用的 / 作为路径分隔符,其更为规范与安全;
指令演示
tree 指令
语法:tree [选项] [目录]
功能:以树状格式列出目录的内容;
常用选项
-a 列出所有文件,包括隐藏文件、目录;
-C 在文件和目录清单上加上色彩,便于区分文件类型;
-d 仅列出目录名称,而非内容;
-D 列出文件或目录更改时间;
-L 目录树的最大显示深度;
-p 打印结构的同时打印文件权限;
-l 跟随目录的符号链接,就像它们是目录一样,避免导致递归循环的链接;
-f 打印每个文件的完整路径前缀;
-F 在每个条目后加上文件类型的指示符(如目录是/);
指令演示
tree 不加选项,查看当前目录的结构 (不包括隐藏文件):
tree -a 列出当前目录下所有文件:
touch 指令
语法:touch [选项] 文件名
功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件;
常用选项
-a 或 --time=atime 或 --time=access 或 --time=use 只更改存取时间;
-c 或 --no-create 不建立任何文档;
-d 使用指定的日期时间,而非现在的时间;
-f 此参数将忽略不予处理,仅负责解决 BSD 版本 touch 指令的兼容性问题;
-m 或 --time=mtime 或 --time=modify 只更改变动时间;
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同;
-t 使用指定的日期时间,而非现在的时间;
展知识
1、文件的时间有三种:
- 最近访问时间(Access):cat、less等查看文件后,该时间改变;
- 最近更改时间(Modify):使用 nano/vim 等编辑器修改文件内容后,三个时间都改变;
- 最近改动时间(Change):chmod 修改文件权限或属性后,该时间改变;
2、stat 指令可以显示文件或文件系统的状态;
2、touch 只能用来创建普通文件,不能创建目录;
指令演示
mkdir 指令
语法:mkdir [选项] 目录名
功能:在当前目录下创建目录;
常用选项
- -p :–parents 可以是一个路径名称;此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;
指令演示
rmdir 指令
语法:rmdir [选项] [dirName]
适用对象:具有当前目录操作权限的所有使用者;
功能:删除目录;
常用选项
- -p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除;
指令演示