我是修改链接和管理 Linux 的新手,是否可以将特定文件夹软链接到远程服务器的文件夹?
(我不确定要使用什么硬链接/符号链接/等。)
抱歉我是新手。
任何帮助都是极好的。
谢谢!
为了检查迁移是否成功,我用它find
来计算文件、目录、符号链接和具有多个硬链接的文件的数量。由于要检查的目录包含大量文件,每次find
运行需要几个小时。因此,我寻找一种方法来单独计算单次运行中的文件、目录、符号链接和具有多个硬链接的文件的数量find
。
这就是我目前所做的
num_files=$(find $directory -type f | wc -l)
num_directories=$(find $directory -type d | wc -l)
num_symlinks=$(find $directory -type l | wc -l)
num_hardlinks=$(find $directory -type f -links +1 | wc -l)
Run Code Online (Sandbox Code Playgroud)
我怎样才能在一次find
运行中获得这四个计数器?
我正在尝试通过 Windows 命令提示符建立符号链接。我正在使用类似投递箱的服务,称为“复制”。它会创建一个新文件夹,并将其同步到网络和安装它的其他计算机。我想将我的图片文件夹同步到它,而不在硬盘驱动器上创建重复项。
这是我输入的命令,但我不断收到错误消息,我认为这与我的文件夹名称中的空格有关。请告诉我这是否是问题所在以及我可以采取哪些措施来解决它。先感谢您
C:\mklink /DC:\Users\Drew\Copy myemailaddress@gmail.com\Pictures C:\Users\Drew\Pictures
我有以下目录结构。
drwxr-xr-x 5 ec2-user ec2-user 4096 May 22 07:03 TEEST
drwxr-xr-x 5 ec2-user ec2-user 4096 May 24 05:33 BEE-TES
drwxr-xr-x 5 ec2-user ec2-user 4096 May 24 10:53 ONE
drwxr-xr-x 5 ec2-user ec2-user 4096 May 25 09:50 TWO
lrwxrwxrwx 1 ec2-user ec2-user 28 May 25 09:50 previous -> TWO
drwxr-xr-x 5 ec2-user ec2-user 4096 Jun 1 11:00 TEMP
lrwxrwxrwx 1 ec2-user ec2-user 28 Jun 1 11:00 current -> TEMP
Run Code Online (Sandbox Code Playgroud)
如何删除除符号链接指向的目录之外的所有目录?
说 fileA 是 fileB 的符号链接。我手头只有 fileB 并且想找到所有与 fileB 符号链接的文件。是否有命令可以在 *nix 中显示此内容?
创建以下目录:
parent/child
Run Code Online (Sandbox Code Playgroud)
导航到 child 并创建一个名为的文件child
(在我的情况下这是一个可执行文件,不确定这是否有所不同)。
我需要在父级中创建两个“可执行链接”链接。我原以为这会奏效:
ln -sf ./child ../child1
ln -sf ./child ../child2
Run Code Online (Sandbox Code Playgroud)
但这会在父目录中创建一个“文件夹链接”(./child)。
如果我将其更改为:
ln -sf -t.. ./child child1
ln -sf -t.. ./child child2
Run Code Online (Sandbox Code Playgroud)
我收到一个错误,“ln: '../child': 无法覆盖目录”。
如果我从父目录执行此操作(我不能执行此操作,这是 Makefile 配方的一部分):
ln -sf ./child/child ./child1
ln -sf ./child/child ./child2
Run Code Online (Sandbox Code Playgroud)
有用。
请注意,我无法更改任何目录或文件的名称。
当前目录是子目录时如何创建链接?
我正在尝试使用以下命令符号链接一些 php 文件:
find `pwd` -name "*.php" | ln -s * /home/frankv/www/bietroboter.de/symlinks
Run Code Online (Sandbox Code Playgroud)
但是,所有符号链接都被破坏了,因为小 * 不引用完整路径,只引用文件名本身。当我使用以下方法将它们写入文件时:
find `pwd` -name "*.php" > test.txt
Run Code Online (Sandbox Code Playgroud)
有用。我怎样才能正确地管道它?另外,我怎么能告诉它我不想要任何包含“.php~”的“.php”文件
我有一个名为Foo
. 我想要一个符号链接,与它处于同一级别,称为foo
.
ln -s Foo foo
创建符号链接在 Foo
回指向自身。
$ mkdir lntmp && cd lntmp
$ mkdir Foo
$ touch Foo/file
$ ln -s Foo foo
$ tree
.
??? Foo
??? Foo -> Foo
??? file
1 directory, 2 files
Run Code Online (Sandbox Code Playgroud)
我想要实现的是
$ tree
.
??? foo -> Foo
??? Foo
??? file
Run Code Online (Sandbox Code Playgroud) 试图以类似的方式结束:
$ ls -l
lrwxrwxrwx 1 user group 4 Jun 28 2010 foo -> /home/bar
lrwxrwxrwx 1 user group 4 Jun 29 2010 foo -> /etc/bar
Run Code Online (Sandbox Code Playgroud)
目的是能够将文件移动到 foo 并将它暂时转到两个目标目录。目标是在确认将文件移动到 /etc/bar 没有问题后,最终取消链接 /home/bar 链接。我受到限制,因为我无法更改或添加移动文件的进程。
我正在使用 Mac OS X Yosemite,我希望能够使用如下命令从终端打开 Sublime Text 2:
sublime .
Run Code Online (Sandbox Code Playgroud)
我已将其输入终端,如 Sublime Text 2 网站所示:
ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/sublime
Run Code Online (Sandbox Code Playgroud)
还有这个变体:
ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/sublime
Run Code Online (Sandbox Code Playgroud)
在终端中,如果我输入:
echo $PATH
Run Code Online (Sandbox Code Playgroud)
我得到:
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Run Code Online (Sandbox Code Playgroud)
我试过编辑我的.bash_profile
,现在它是空白的
毕竟,我尝试sublime .
得到以下错误:
-bash: sublime: 命令未找到
我对 Mac OS X 和终端配置完全陌生,我真的很难弄清楚为什么我不能让它工作,所以任何帮助将不胜感激。