

To remove a symbolic link, use either the rm or unlink command followed by the name of the symlink as an argument. Once you find the broken symlinks, you can either manually remove them with rm or unlink or use the -delete option of the find command: find /path/to/directory -xtype l -delete Conclusion # : find /path/to/directory -maxdepth 1 -xtype l /path/to/directory/symlink1 If you want to exclude the symlinks that are contained in the subdirectories pass the -maxdepth 1 option to find The command will list all broken links under the directory and its subdirectories. To find all broken symbolic links under a given directory, run the following command: find /path/to/directory -xtype l /path/to/directory/symlink1 If you delete or move the source file to a different location, the symbolic file will be left dangling (broken). If the command executes successfully, it displays no output.ĭo not append the / trailing slash at the end of the symlink name because unlink cannot remove directories. To delete a symbolic link, run the unlink command followed by the symlink name as an argument: unlink symlink_name Unlike rm, unlink accepts only a single argument. Remove Symbolic Links with unlink #Ĭommand deletes a given file. The contents of the target directory will be deleted. For example, if you type: rm -f symlink_to_dir/ To be on the safe side, never -r option when removing symbolic links with rm. The error happens because, when used without the -d or -r option, rm cannot delete directories. If the name of the argument ends with /, the rm command assumes that the file is a directory. Otherwise, you will get an error: rm symlink_to_dir/ rm: cannot remove 'symlink_to_dir/': Is a directory If the symbolic link points to a directory, do not append the / trailing slash at the end.


To get prompted before removing the symlink, use the -i option: rm -i symlink_name To do that pass the names of the symlinks as arguments, separated by space: rm symlink1 symlink2 With rm you can delete more than one symbolic links at once. On success, the command exits with zero and displays no output. To delete a symlink, invoke the rm command followed by the symbolic link name as an argument: rm symlink_name Remove Symbolic Links with rm #Ĭommand removes given files and directories. The “->” symbol shows the file the symlink points to. The first character “l”, indicates that the file is a symlink. ls -l /usr/bin/python lrwxrwxrwx 1 root root 9 /usr/bin/python -> python2.7 When you remove a symlink, the file it points to is not affected.Ĭommand to check whether a given file is a symbolic link, and to find the file or directory that symbolic link point to. Otherwise, you will get “Operation not permitted” error. To remove a symlink, you need to have writing permissions on the directory that contains the symlink.
#Symlinker osx how to#
In this guide, we will show you how to remove (delete) symbolic links in Linux/UNIX systems using the rm, unlink, and find commands. A symlink can point to a file or a directory on the same or a different filesystem or partition. It is something like a shortcut in Windows. A symbolic link, also known as a symlink, is a special type of file that points to another file or directory.
