目录
一、ls指令
二、pwd命令
三、cd指令
四、touch指令
五、mkdir指令
六、rmdir指令&&rm指令
一、ls指令
语法:ls [选项][目录或文件]
对于目录,ls指令是用来列出目录下的所有子目录与文件。对于文件,则是列出文件名及其他信息。
此指令带的一些常见选项如下:
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
-i 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件
-k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
-l 列出文件的详细信息。
-n 用数字的 UID,GID 代替名称。 (介绍 UID, GID)
-F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)
-r 对目录反向排序。
-t 以时间排序。
-s 在l文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
-R 列出所有子目录下的文件。(递归)
-1 一行只输出一个文件。
这里仅对ls -l命令做演示:
我进入了Linux的根目录,然后用pwd命令,可以看到当前目录为/root
然后,我使用ls -l命令,可以看到当前目录下的文件信息:
可以看到,有cplusplus.cpp、test.txt两个文件和superverybest子目录。
其中,superverybest作为子目录,它的颜色是蓝色,其他两个文件的名称为默认色。但是,这是在Xshell下,我们能够根据颜色来辨别它是文件还是目录,在别的工具下可不一定,这时候就要从文件或目录信息开头部分判断了。
可以看到,以-开头的,是文件,以d开头的,是目录:
除此之外,ls -l指令可以简写为ll。
二、pwd命令
这个指令,其实在先前演示ls命令时,就用到过,它的作用是显示用户当前所在目录。
它没有常用选项。
三、cd指令
在Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。
cd的作用就是改变工作目录。除此之外,cd的一些常用选项如下:
cd .. : 返回上级目录
cd /home/litao/linux/ : 绝对路径
cd ../day02/ : 相对路径
cd ~:进入用户家目
cd -:返回最近访问目录
举几个例子:
使用ls -l命令,可以看到当前目录有如下文件和文件夹:
如果我想进入hellolinux文件夹,则需要cd hellolinux,可以看到在hellolinux文件夹中有centos这一文件夹:
那么,要返回上一级目录,则需要cd ..:
可以看到成功返回了原来的文件夹。
现在,我在superverybest文件夹创建一个文件夹,名称为gongyefeiqi(工业废气的拼音):
在这里,创建之后再返回上级目录。此时,如果想访问gongyefeiqi文件夹,就用cd /superverybest/gongyefeiqi:
这时要访问hellolinux文件夹中的centos文件夹,可以使用cd /root/hellolinux/centos,这是使用绝对路径访问的方法。
而由于hellolinux和superverybest是再同一个文件夹中的,那么先使用cd ..访问上一级目录即superverybest,然后cd ../hellolinux/centos/,即可进入centos文件夹:
这是使用相对路径访问的方法。
四、touch指令
touch指令的语法为touch [选项]... 文件...
它的作用是更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
它的一些常用选项如下:
-a 或--time=atime或--time=access或--time=use只更改存取时间。
-c 或--no-create 不建立任何文档。
-d 使用指定的日期时间,而非现在的时间。
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m 或--time=mtime或--time=modify 只更改变动时间。
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t 使用指定的日期时间,而非现在的时间。
这里仅对touch创建文件做演示,更多的选项将在文件专题演示。
在centos目录下,使用touch a.out,即可看到a.out文件被创建:
五、mkdir指令
mkdir指令的语法为mkdir [选项] [dirname]。它的常用选项为-p
-p,--parents可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。
现在,我想在root目录下,创建一个setup文件夹,setup文件夹里创建一个system文件夹,system文件夹里创建一个other文件夹。
在这里可以一个一个地创建过文件夹后,进入文件夹再进行创建,如此循环。
然而,有了-p选项,就可以一步到位了:
六、rmdir指令&&rm指令
我们已经了解过怎么创建文件夹和文件了,那么怎么去删除文件夹/目录和文件呢?
rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除命令。
语法:rmdir [-p][dirName]
适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录
常用选项:
-p当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。
rm命令可以同时删除文件或目录
语法:rm [-f-i-r-v][dirName/dir]
适用对象:所有使用者
功能:删除文件或目录
常用选项:
-f 即使文件属性为只读(即写保护),亦直接删除
-i 删除前逐一询问确认
-r 删除目录及其下所有文件
刚才在演示touch指令时,在/root/hellolinux/centos目录下创建了一个a.out的文件,那么现在想将其删除,只需要用rm即可:
可以看到,在删除前,系统进行了确认:rm: remove regular empty file 'a.out'?在这里输入y然后按下回车键即可删除。
那么,用了-f选项后,就不需要再询问了,直接就可以删除:
这里是创建了一个b.txt文件,然后用rm -f b.txt直接将其删除了,且没有询问。
接下来在root文件夹创建一个test文件夹,然后用rm指令删除:
可以看到系统提示不能删除因为test是一个文件夹。
那就用-r选项:
可以看到这次test文件夹被成功删除了。
现在用-r选项删除setup文件夹,可以看到系统在对目录做递归,一次一次地进入文件夹,然后一次一次地删除文件夹:
可是,就这样递归+询问,显然太麻烦了,尤其是当遇到大量文件是,更麻烦。
这时用-rf指令,一步到位:
初学者,一定要谨慎使用-rf选项,因为Linux并没有类似Windows回收站的功能,一旦删除,只能靠数据恢复手段恢复数据了。