我想在终端中输入以下文件夹:
Milano, Torino (Jan)-Compressed
Run Code Online (Sandbox Code Playgroud)
我应该如何编写cd进入这个目录的命令?
空间和其他一些特殊字符,例如\,*,),(和?事业问题,当我尝试在命令行或脚本,例如使用它们:
Milano, Torino (Jan)-Compressed
Run Code Online (Sandbox Code Playgroud)
通常如何在终端中输入包含特殊字符的文件或目录名称?
编写我的第一个脚本,所以我确定这是一个基本问题,但有人可以向我解释为什么我可以:
cd ~
cd bin
cd ~/bin
cd 'bin'
Run Code Online (Sandbox Code Playgroud)
但不是
cd '~'
cd '~/bin'
Run Code Online (Sandbox Code Playgroud)
我需要cd在目录名称之一中使用空格的目录路径,所以我需要引号(它是Program Fileswine下的Windows )。我可以用两个cd命令来解决它,但为什么不能~用引号引起来呢?
如果我输入cd '~'(或cd "~"),我会得到:
bash: cd: ~: No such file or directory
Run Code Online (Sandbox Code Playgroud) 正如您在下面看到的,文件具有不常见的字符。
在终端或 Dolphin 中删除它们会返回错误:
无此文件或目录
ls -la在目录上运行给了我这个输出:
-rw-rw-r-- 1 aalap aalap 0 Nov 14 01:05 ??
-rw-rw-r-- 1 aalap aalap 0 Nov 14 01:05 ?2?.?????!?Gb????[?F?
-rw-rw-r-- 1 aalap aalap 0 Nov 14 01:05 ??3]d???:????????1????G?p??????????d?????-??
-rw-rw-r-- 1 aalap aalap 0 Nov 14 01:05 3l??#g?w????O?JKB7?co???H??bT?NA???S???X?I?A?qC??M?I???
-rw-rw-r-- 1 aalap aalap 0 Nov 14 01:05 ??8??-?@,?Zp?[?bI????7^?ñ[????z?O??????eE??+??,OF??h
Run Code Online (Sandbox Code Playgroud)
我在fsck另一个操作系统的分区上运行了一个命令,但它没有改变任何东西。
如何删除这些文件?
通过终端,我无法访问名称中带有空格的文件或目录。该cd命令说no such file or directory。
有什么办法可以做到,还是应该用空格重命名所有文件?
我想编写一个脚本,将用户名作为命令行输入。如果该用户已登录,则会显示该用户正在运行的进程。如果他/她没有登录,那么脚本应该提到这一点。
我的尝试不起作用:
#!/bin/bash
echo "Who are you?"
read user
echo $user
name=$(whoami)
if[$user == $name]
then
top -u $user
else
echo "not logged in"
fi
Run Code Online (Sandbox Code Playgroud) 我无意中用带有撇号的 vim 保存了一个文件,现在当我尝试使用我的 cli 删除它时不允许我这样做,因为 Linux 无法识别它。
例如
$ rm '
>
Run Code Online (Sandbox Code Playgroud) command-line ×4
bash ×2
filename ×2
files ×2
cd-command ×1
encoding ×1
filesystem ×1
process ×1
scripts ×1
users ×1