使用文件和目录-Working with Files and Directories
创建、移动和复制
接下来,让我们处理文件和目录,并学习如何创建、重命名、移动、复制和删除。首先,让我们创建一个空文件和一个目录。我们可以用来touch
创建一个空文件和mkdir
创建一个目录。
其语法如下:
语法 - touch
huaimeng@htb[/htb]$ touch <name>
语法 - mkdir
huaimeng@htb[/htb]$ mkdir <name>
在此示例中,我们将文件info.txt
和目录命名为Storage
。为了创建它们,我们遵循上面显示的命令及其语法。
创建一个空文件
huaimeng@htb[/htb]$ touch info.txt
创建目录
huaimeng@htb[/htb]$ mkdir Storage
我们可能希望目录中有特定的目录,为每个目录创建此命令将非常耗时。该命令mkdir
有一个标记-p
为添加父目录的选项。
huaimeng@htb[/htb]$ mkdir -p Storage/local/user/documents
我们可以使用工具创建父目录后查看整个结构tree
。
huaimeng@htb[/htb]$ tree .
.
├── info.txt
└── Storage
└── local
└── user
└── documents
4 directories, 1 file
我们还可以通过指定文件存储的路径来直接在目录中创建文件。诀窍是使用单点 ( .
) 告诉系统我们要从当前目录开始。因此,创建另一个空文件的命令如下所示:
创建用户信息.txt
huaimeng@htb[/htb]$ touch ./Storage/local/user/userinfo.txt
huaimeng@htb[/htb]$ tree .
.
├── info.txt
└── Storage
└── local
└── user
├── documents
└── userinfo.txt
4 directories, 2 files
使用命令mv
,我们可以移动并重命名文件和目录。其语法如下所示:
语法-mv
huaimeng@htb[/htb]$ mv <file/directory> <renamed file/directory>
首先,让我们将文件重命名info.txt
为information.txt
,然后将其移动到目录Storage
。
重新命名文件
huaimeng@htb[/htb]$ mv info.txt information.txt
现在让我们在当前目录中创建一个名为的文件readme.txt
,然后将文件复制information.txt
到readme.txt
该Storage/
目录中。
创建自述文件.txt
huaimeng@htb[/htb]$ touch readme.txt
将文件移动到特定目录
huaimeng@htb[/htb]$ mv information.txt readme.txt Storage/
huaimeng@htb[/htb]$ tree .
.
└── Storage
├── information.txt
├── local
│ └── user
│ ├── documents
│ └── userinfo.txt
└── readme.txt
4 directories, 3 files
让我们假设我们想要readme.txt
在目录中包含local/
。然后我们可以将它们复制到指定的路径。
复制自述文件.txt
huaimeng@htb[/htb]$ cp Storage/readme.txt Storage/local/
现在我们可以检查该文件是否再次使用该工具tree
。
huaimeng@htb[/htb]$ tree .
.
└── Storage
├── information.txt
├── local
│ ├── readme.txt
│ └── user
│ ├── documents
│ └── userinfo.txt
└── readme.txt
4 directories, 4 files
开始实例
下载vpn配置,连接vpn
┌──(root㉿kali)-[~/桌面]
└─# openvpn academy-regular.ovpn
通过ssh连接到目标主机
┌──(root㉿kali)-[~/桌面]
└─# ssh htb-student@10.129.71.206
提问区
“/var/backups”目录中最后修改的文件的名称是什么?
What is the name of the last modified file in the "/var/backups" directory?
您可以使用带有
-t
标志的ls
命令按修改时间的倒序(最近的文件在前)列出目录中的文件,然后使用head -n 1
来显示该列表中的第一个文件,即最近修改的文件。以下是一个示例命令,您可以在终端中运行:bashCopy code
ls -t /var/backups | head -n 1
ls -lt /var/backups/ | head -n 2
“/var/backups”目录中“shadow.bak”文件的索引节点号是多少?
What is the inode number of the "shadow.bak" file in the "/var/backups" directory?