天天看点

termux目录_手机学编程(2)目录管理命令

终端有两种类型:字符终端(CLI,命令行界面,通过键盘下达命令来要求系统帮我们做事情)和图形终端(GUI,图形用户界面,可通过鼠标下达命令来要求系统帮我们做事情)。Termux是一个字符终端,我们在提示符$后输入命令,然后按回车键将命令交给系统执行。

目录

一条命令通常由三个部分组成:命令,选项,参数。例如,对当前目录递归列表的命令是:“ls -R . ”,其中“ls”是命令,“-R”是选项,“.”是参数,图2-1给出了这条命令在我的手机上的执行结果。

termux目录_手机学编程(2)目录管理命令

图2-1 对当前目录递归列表

图2-1中的命令省略了命令的参数“.”。列表命令ls没有参数时,参数默认就是“.”。上面图2-1对应下面图2-2的文件目录结构。

termux目录_手机学编程(2)目录管理命令

图2-2 文件目录结构

图2-2中的“~”称为家目录或者用户目录。除了家目录以外,还有另外三个需要知道的特殊目录。“/”表示根目录,所有的文件和目录都可以从根目录沿着一条路径到达。“.”表示当前目录,当Termux启动时,当前目录就是家目录。“..”表示双亲目录,也就是当前目录的上一级目录。

路径由一系列路径分割符“/”分割的目录构成。如果路径以根目录开始,称之为绝对路径。在我的手机上,家目录的绝对路径是

/data/data/com.termux/files/home           

所以文件hello.java的绝对路径是

/data/data/com.termux/files/home/java/hello.java           

也可以缩写为

~/java/hello.java           

注意在绝对路径中第一个正斜杠是根目录,后面的正斜杠是路径分割符。如果路径以当前目录开始,称之为相对路径。如果家目录是当前目录,文件hello.java的相对路径是

./java/hello.java           

省略开始的当前目录时写成

java/hello.java           

如果目录cpp是当前目录,那么文件hello.java的相对路径是

./../java/hello.java           

同样也可以省略开始的当前目录写成

../java/hello.java           

练习题2.1 如果当前目录是arm64,那么文件hello.java的绝对路径和相对路径是什么?

1)列表

命令ls用于列出指定目录下的文件和目录。

termux目录_手机学编程(2)目录管理命令

图2-3 ls

第1条列表命令没有参数,这时参数默认是“.”,列出了当前目录也就是家目录下的两个目录,Termux将目录显示为蓝色的。第2条列表命令列出了java目录下的三个文件和一个目录。第3条列表命令使用了通配符“*”要求列出java目录下以“.java”结尾的所有文件的文件名。

通配符“*”表示0到任意多个字符构成的字符串。通配符“?”表示一个任意的字符。

练习题2.2 当前目录是家目录,列出java目录下名字包含两个字母a的文件和目录。

2) 显示和设置当前目录

命令pwd用于显示当前目录的绝对路径名,命令cd用于设置当前目录。

termux目录_手机学编程(2)目录管理命令

图2-4 pwd, cd

一开始的时候,当前目录是家目录,我们用pwd和ls命令证实了这一点。然后我们用“cd java”将当前目录设置为java目录,pwd和ls命令证实了当前目录的变化。接着我们进入oat目录,用pwd和ls命令证实。在这个目录下,我们用“ls ..”看到oat目录的双亲目录就是java目录。紧接着我们用“cd ..”从oat目录下回到了它的双亲目录java下,pwd和ls命令证实了这一点。最后的三条命中的第一条将当前目录设置为家目录,另外两条证实当前目录成功改变成了家目录。

练习题2.3 cd命令能不能不带参数?如果能的话,作用是什么?

3)目录的创建、更名和删除

命令mkdir用于创建新目录,命令mv用于目录更名,命令rmdir用于删除一个空目录。

termux目录_手机学编程(2)目录管理命令

图2-5 mkdir, mv, rmdir

第1条命令“mkdir shell”创建了一个新的名为shell的目录,紧接的ls命令证实了这一点。第3条命令“mkdir sql”创建了一个新的名为sql的目录,ls命令证实sql目录已经创建。第5条命令“mv sql test”将目录sql的名字改成了test,也就是将sql目录移动到test目录,这样sql目录就没有了,多出来一个test目录。倒数第2条命令“rmdir test”删除了test目录。

总结

本节介绍了4个特殊目录(“/”,“~”,“.”,“..”)和目录管理命令(ls; pwd, cd; mkdir, mv, rmdir)。

ls list 列表
pwd print working directory 显示当前目录
cd change directory 改变当前目录
mkdir make directory 创建目录
mv move 目录更名
rmdir remove directory 删除目录

教学视频

请关注我的公众号:您的关注让我倍感荣幸。

termux目录_手机学编程(2)目录管理命令