![嵌入式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=1739530993-RUuPYheCUMu03LLYMc5qEpf40yTIOvBh-0-cbb2f5914f5175a4f3a5a8caef216a15)
2.cd命令
cd命令用于当前切换工作目录,其格式为:
![](https://epubservercos.yuewen.com/BC1890/26764192509701306/epubprivate/OEBPS/Images/txt001_73.jpg?sign=1739530993-rJNS3eOJ3YlvueURmc6QICPYewAxQP3K-0-2607df7c443f3d748519da5bde586b16)
例如,通过下面的命令可以从当前工作目录切换到“/etc”目录中:
![](https://epubservercos.yuewen.com/BC1890/26764192509701306/epubprivate/OEBPS/Images/txt001_74.jpg?sign=1739530993-XFd2T6JkvQkXjIDXRT9TXuKlFCSuPhT3-0-31a6866e62e78fc59150eaaa86c8a0f2)
可以使用“cd -”命令返回到上一次所处的目录,使用“cd ..”命令进入上级目录,使用“cd ~”命令切换到当前用户的home目录。
3.ls命令
ls命令用于显示目录中的文件信息,其格式为:
![](https://epubservercos.yuewen.com/BC1890/26764192509701306/epubprivate/OEBPS/Images/txt001_75.jpg?sign=1739530993-oo5rB6dUJtnblyN4CaYInAUKq20Nl3ol-0-9b6cd25a1760da915ce9bef64b30071d)
使用ls命令的参数-a可以显示全部文件(包括隐藏文件),使用参数-l参数可以显示文件的属性、大小等详细信息。将这两个参数整合之后,再执行ls命令可显示当前工作目录中的所有文件,并输出这些文件的属性、大小等详细信息。例如:
![](https://epubservercos.yuewen.com/BC1890/26764192509701306/epubprivate/OEBPS/Images/txt001_76.jpg?sign=1739530993-NBNVWUdiR0mbX38Fmm9hzENmhj486KuN-0-c5192db8d026777b18c5c80b10512f4b)
4.mkdir命令
mkdir命令用于创建空目录,其格式为:
![](https://epubservercos.yuewen.com/BC1890/26764192509701306/epubprivate/OEBPS/Images/txt001_77.jpg?sign=1739530993-tO0ZReCaD5o7Vlpexq2YXbx4agQ2R7vK-0-c9df5c17388b28349efcbaf438a97a74)
在Linux系统中,文件夹是最常见的文件类型之一。mkdir命令除了能创建单个空目录,还可以通过参数-p来递归创建出具有嵌套关系的文件目录。例如:
![](https://epubservercos.yuewen.com/BC1890/26764192509701306/epubprivate/OEBPS/Images/txt001_78.jpg?sign=1739530993-kWaTQ07FJ9vrPi9Wp3rhMRHv9FbF08XK-0-0130a185ec2fe89abf8f950666052a8a)
5.cp命令
cp命令用于复制文件或目录,其格式为:
![](https://epubservercos.yuewen.com/BC1890/26764192509701306/epubprivate/OEBPS/Images/txt001_79.jpg?sign=1739530993-l6lxguF5aUV75FBFXoNzcEKJ7MnJ36Yc-0-0131460e07bbf0dbcd5e89c5f2f92186)
cp命令的参数及其作用如表1.6所示。
表1.6 cp命令的参数及其作用
![](https://epubservercos.yuewen.com/BC1890/26764192509701306/epubprivate/OEBPS/Images/txt001_80.jpg?sign=1739530993-epiIXRFgns0Dy9dhiWXA13GX3JcZuxwM-0-0562e348b956db36166d3df63af8c4b2)
使用touch命令创建一个名为a.log的普通空白文件,然后在当前工作目录下将其复制为一个名为b.log的备份文件,最后使用ls命令查看目录中的文件。具体命令如下:
![](https://epubservercos.yuewen.com/BC1890/26764192509701306/epubprivate/OEBPS/Images/txt001_81.jpg?sign=1739530993-aFacxzzaNLGafkVfpHrf0Rt1EgiipPnO-0-40d045f70d8888a3a4e7f8250aba7edb)
6.mv命令
mv命令用于剪切文件或将文件重命名,其格式为:
![](https://epubservercos.yuewen.com/BC1890/26764192509701306/epubprivate/OEBPS/Images/txt001_82.jpg?sign=1739530993-Qo634iuoYEm9vP8TXBjDQqqbbssd6pPg-0-b7b3a8398b27eab34ab59c29786d3446)
在进行剪切时,默认的情况是删除原文件,只保留剪切后的文件。在同一个目录中对一个文件进行剪切操作,可以看成对该文件进行重命名操作。例如:
![](https://epubservercos.yuewen.com/BC1890/26764192509701306/epubprivate/OEBPS/Images/txt001_83.jpg?sign=1739530993-rKADo28ECSUMbecKnUnawdPPeLC8V1CO-0-f31abce8ec3db24289aa41e510905fa0)
7.rm命令
rm命令用于删除文件或目录,其格式为:
![](https://epubservercos.yuewen.com/BC1890/26764192509701306/epubprivate/OEBPS/Images/txt001_84.jpg?sign=1739530993-r5NvxVWo2cyM2nFfsruEgmGGZNDJa2SP-0-827896c5025514dc88a4c32227f80064)
例如,通过下面的命令可以删除a.log文件:
![](https://epubservercos.yuewen.com/BC1890/26764192509701306/epubprivate/OEBPS/Images/txt001_85.jpg?sign=1739530993-9aJNN53miwoi2AyP6YrxEd79S6RMJkxy-0-e3d4bd18b375f101c1aab203b07f4f90)
在Linux系统中删除文件时,有时候会询问是否要执行删除操作。如果不想看到这种询问,则可在rm命令添加参数-f来强制删除文件。如果要删除一个目录,则需要在rm命令中添加参数-r,否则无法删除目录。
8.file命令
file命令用于查看文件的类型,其格式为:
![](https://epubservercos.yuewen.com/BC1890/26764192509701306/epubprivate/OEBPS/Images/txt001_86.jpg?sign=1739530993-J1W0PRy6wr4jZTLGlDvzQyolrGXcaeA8-0-3dc3068994c8c0c1a26ffda609f2d167)
在Linux系统中,由于文本、目录、设备等均当成文件来处理,仅仅依靠后缀名无法判断具体的文件类型,这时就需要使用file命令来查看文件类型。例如:
![](https://epubservercos.yuewen.com/BC1890/26764192509701306/epubprivate/OEBPS/Images/txt001_87.jpg?sign=1739530993-Dw5BHoiZEgX9YI2EPUoISeJ1yhgzaBd0-0-ea6029014ab8351c0ee7c030516ff082)