![嵌入式Linux接口开发技术](https://wfqqreader-1252317822.image.myqcloud.com/cover/284/47379284/b_47379284.jpg)
1.4.3 工作目录命令
当前工作目录(Present Working Directory)是文件系统当前所在的目录。如果没有指定目录,则将文件系统当前所在的目录默认为当前工作目录。例如,在使用ls命令时,如果没有指定目录,则会显示出当前工作目录中的文件。
在Linux中,目录可以用绝对目录或相对目录来表示,相对目录就是指相对于当前工作目录的目录。
1.pwd命令
pwd命令用于显示用户所处的当前工作目录,其格式为:
![](https://epubservercos.yuewen.com/BC1890/26764192509701306/epubprivate/OEBPS/Images/txt001_72.jpg?sign=1738930617-x96KQJiY9rYGGMx8BMmuaZ4l9NDrQJvC-0-880e859902680a041ac64d884b0b4e63)
2.cd命令
cd命令用于当前切换工作目录,其格式为:
![](https://epubservercos.yuewen.com/BC1890/26764192509701306/epubprivate/OEBPS/Images/txt001_73.jpg?sign=1738930617-vA0hP4F9RRwsimXrghow5vBsZFaGzjDG-0-fec20f65f1bf9c4783f047b547359ad7)
例如,通过下面的命令可以从当前工作目录切换到“/etc”目录中:
![](https://epubservercos.yuewen.com/BC1890/26764192509701306/epubprivate/OEBPS/Images/txt001_74.jpg?sign=1738930617-5WTRvGArpKn6IFSWFVnKqUlrBq85ORIw-0-18d04a15f55f2fd3675e2d6352fd7b5e)
可以使用“cd -”命令返回到上一次所处的目录,使用“cd ..”命令进入上级目录,使用“cd ~”命令切换到当前用户的home目录。
3.ls命令
ls命令用于显示目录中的文件信息,其格式为:
![](https://epubservercos.yuewen.com/BC1890/26764192509701306/epubprivate/OEBPS/Images/txt001_75.jpg?sign=1738930617-f1rHtLb0WR8tOHgjZzudBRuhYFXNWbg7-0-0fa3dcd64fbb2e095e7455108ed01de5)
使用ls命令的参数-a可以显示全部文件(包括隐藏文件),使用参数-l参数可以显示文件的属性、大小等详细信息。将这两个参数整合之后,再执行ls命令可显示当前工作目录中的所有文件,并输出这些文件的属性、大小等详细信息。例如:
![](https://epubservercos.yuewen.com/BC1890/26764192509701306/epubprivate/OEBPS/Images/txt001_76.jpg?sign=1738930617-JpxOvKCUCyD5HIgow0Fo2ldbk7VW2tvn-0-fcb361dd6628b7120a9af3a3c61ac785)
4.mkdir命令
mkdir命令用于创建空目录,其格式为:
![](https://epubservercos.yuewen.com/BC1890/26764192509701306/epubprivate/OEBPS/Images/txt001_77.jpg?sign=1738930617-cvAp2cgZGmX0dA0r5wXLHEnY4nkF4ceP-0-e1e90305e0c37b73c98d81ba6c5482b7)
在Linux系统中,文件夹是最常见的文件类型之一。mkdir命令除了能创建单个空目录,还可以通过参数-p来递归创建出具有嵌套关系的文件目录。例如:
![](https://epubservercos.yuewen.com/BC1890/26764192509701306/epubprivate/OEBPS/Images/txt001_78.jpg?sign=1738930617-wqC6ockzuRBDNsR0YvZatgxTwjdjHXaV-0-0b7195182a83835da691a47571346df7)
5.cp命令
cp命令用于复制文件或目录,其格式为:
![](https://epubservercos.yuewen.com/BC1890/26764192509701306/epubprivate/OEBPS/Images/txt001_79.jpg?sign=1738930617-v1Hbi1iZ3sRDCBCBzNQ4vVxMX5iIzzK6-0-09c526f849673448521d1b574dca58c6)
cp命令的参数及其作用如表1.6所示。
表1.6 cp命令的参数及其作用
![](https://epubservercos.yuewen.com/BC1890/26764192509701306/epubprivate/OEBPS/Images/txt001_80.jpg?sign=1738930617-wgmH49FhytYXgctbut5GZK0bhgTdhZH7-0-802e45522efd72562f8ad147dc5e97f3)
使用touch命令创建一个名为a.log的普通空白文件,然后在当前工作目录下将其复制为一个名为b.log的备份文件,最后使用ls命令查看目录中的文件。具体命令如下:
![](https://epubservercos.yuewen.com/BC1890/26764192509701306/epubprivate/OEBPS/Images/txt001_81.jpg?sign=1738930617-QoeaCZSzlB4KTFK5Z0sqR3gleX3iyzEV-0-2bc826159558517f06bae9e7d8c4c684)
6.mv命令
mv命令用于剪切文件或将文件重命名,其格式为:
![](https://epubservercos.yuewen.com/BC1890/26764192509701306/epubprivate/OEBPS/Images/txt001_82.jpg?sign=1738930617-KiM5hQOGOVtl1B3Z046sw1okMlr3u5oF-0-bf00eb7c096447ee7e5d442fe1d906b6)
在进行剪切时,默认的情况是删除原文件,只保留剪切后的文件。在同一个目录中对一个文件进行剪切操作,可以看成对该文件进行重命名操作。例如:
![](https://epubservercos.yuewen.com/BC1890/26764192509701306/epubprivate/OEBPS/Images/txt001_83.jpg?sign=1738930617-QqQVyckCoc5dWrkMGCzpRWaGM8oQ9uYs-0-6ec0a190b2e902c0827c82a1cc0a26a8)
7.rm命令
rm命令用于删除文件或目录,其格式为:
![](https://epubservercos.yuewen.com/BC1890/26764192509701306/epubprivate/OEBPS/Images/txt001_84.jpg?sign=1738930617-ytFq1qMomsmCKJPnTf09tHXhYku6hsCk-0-26b14c1d812a9dcf95dd026175e28af8)
例如,通过下面的命令可以删除a.log文件:
![](https://epubservercos.yuewen.com/BC1890/26764192509701306/epubprivate/OEBPS/Images/txt001_85.jpg?sign=1738930617-lsygqubAnSDkSHMuO7qR4MZfpC0QoqYe-0-af2a68e8fe1eb27cea19ef663e7fe0a8)
在Linux系统中删除文件时,有时候会询问是否要执行删除操作。如果不想看到这种询问,则可在rm命令添加参数-f来强制删除文件。如果要删除一个目录,则需要在rm命令中添加参数-r,否则无法删除目录。
8.file命令
file命令用于查看文件的类型,其格式为:
![](https://epubservercos.yuewen.com/BC1890/26764192509701306/epubprivate/OEBPS/Images/txt001_86.jpg?sign=1738930617-XabFryHUyvPE90SYyORMlPmeYeKcPPWX-0-7a339c569358c62344b2f5907851908e)
在Linux系统中,由于文本、目录、设备等均当成文件来处理,仅仅依靠后缀名无法判断具体的文件类型,这时就需要使用file命令来查看文件类型。例如:
![](https://epubservercos.yuewen.com/BC1890/26764192509701306/epubprivate/OEBPS/Images/txt001_87.jpg?sign=1738930617-KpRcCwqxZCFVgXXxvcGtg2az0g4a5ONY-0-f98bda7524a6e3697ee132cc2911cfc8)