我需要从命令浏览 linux mint 中的根目录。
我试过
sudo cd /root
它说未找到 sudo cd 命令。
cd /root
说权限被拒绝。
另外,我需要列出根目录中以“abc”开头的文件。列出文件时,我不能包括 /root 的子目录。
有人可以帮忙吗?
答案1
首先,根目录是/
,而不是/root
。/root
是用户的主目录root
。另外,您不需要sudo
列出其内容。只需执行以下操作:
ls /
要列出以 开头的所有文件(和目录)abc
,您需要
ls /abc*
要进入根目录,只需运行cd /
。
该命令ls /abc*
对文件和文件夹的处理方式不同。全局由你的 shell (bash) 扩展为以abc
.开头的所有文件和文件夹ls
,将列出内容您为其提供的任何目录。例如:
$ ls -l
total 4
-rw-r--r-- 1 terdon terdon 0 Jan 23 20:25 dfile.txt
drwxr-xr-x 2 terdon terdon 4096 Jan 23 20:25 dir1
$ ls dir1
-rw-r--r-- 1 terdon terdon 0 Jan 23 20:25 file2.txt
因此,我有一个名为 的目录dir1
和一个名为 的文件dfile.txt
。该目录包含另一个文件file1.txt
。现在,如果我运行ls d*
,它将列出该文件dfile.txt
和内容目录dir1
:
$ ls d*
dfile.txt
dir1:
file2.txt
如果您不想ls
列出目录的内容,请使用该-d
选项运行它。如中所述man ls
:
-d, --directory
list directory entries instead of contents, and do not derefer‐
ence symbolic links
例如:
$ ls -d d*
dfile.txt dir1
abc
要列出以in开头的所有文件和目录/
而不列出目录内容,请运行以下命令:
$ ls -d /abc*
或者,如果你想仅有的文件,使用find
:
$ find / -maxdepth 1 -type f -name "abc*"
从man find
:
-maxdepth levels
Descend at most levels (a non-negative integer) levels of direc‐
tories below the command line arguments.
-name pattern
Base of file name (the path with the leading directories
removed) matches shell pattern pattern.
-type c
File is of type c:
d directory
f regular file
答案2
根目录(整个目录结构)是“/”,而不是“/root”。
如果你
sudo cd /
您将运行一个子 shell,它将更改目录然后/
退出。您仍然在原来的位置。
您可以通过简单地更改为“/”来探索它
cd /
您将能够读取您的用户或组有权访问的文件。这比以超级用户身份执行此操作要好……非常危险。
我诚挚地建议您看看这里:http://www.tutorialspoint.com/unix/unix-getting-started.htm