How to create a folder symlink that has a different name?





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}







2















I want to create a symlink



~/.pm2/logs -> /opt/myapp/log


When I run



ln -sFf /opt/myapp/log ~/.pm2/logs


I get a symlink



~/.pm2/logs/log -> /opt/myapp/log


which is not what I want.



I'd prefer a POSIX-compatible solution if possible.










share|improve this question









New contributor




ptkvsk is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.



























    2















    I want to create a symlink



    ~/.pm2/logs -> /opt/myapp/log


    When I run



    ln -sFf /opt/myapp/log ~/.pm2/logs


    I get a symlink



    ~/.pm2/logs/log -> /opt/myapp/log


    which is not what I want.



    I'd prefer a POSIX-compatible solution if possible.










    share|improve this question









    New contributor




    ptkvsk is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.























      2












      2








      2


      1






      I want to create a symlink



      ~/.pm2/logs -> /opt/myapp/log


      When I run



      ln -sFf /opt/myapp/log ~/.pm2/logs


      I get a symlink



      ~/.pm2/logs/log -> /opt/myapp/log


      which is not what I want.



      I'd prefer a POSIX-compatible solution if possible.










      share|improve this question









      New contributor




      ptkvsk is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.












      I want to create a symlink



      ~/.pm2/logs -> /opt/myapp/log


      When I run



      ln -sFf /opt/myapp/log ~/.pm2/logs


      I get a symlink



      ~/.pm2/logs/log -> /opt/myapp/log


      which is not what I want.



      I'd prefer a POSIX-compatible solution if possible.







      symlink ln






      share|improve this question









      New contributor




      ptkvsk is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question









      New contributor




      ptkvsk is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question








      edited yesterday









      Kusalananda

      141k18263439




      141k18263439






      New contributor




      ptkvsk is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked yesterday









      ptkvskptkvsk

      1112




      1112




      New contributor




      ptkvsk is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      ptkvsk is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      ptkvsk is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          3 Answers
          3






          active

          oldest

          votes


















          4














          You already have a directory at ~/.pm2/logs. Since that directory exists, the symbolic link is put inside it.



          Would you want that ~/.pm2/logs is a symbolic link rather than a directory, then you will have to remove or rename that existing directory first.






          share|improve this answer
























          • I thought "-Ff" flags are specifically made to replace target directory so I don't have to remove it manually. Am I wrong?

            – ptkvsk
            yesterday








          • 1





            @ptkvsk The -F flag does something completely different and is not a POSIX option. The -f flag would not unlink a directory. The standard specifies that if the target (the last operand) is a directory, then the link will be place inside it. The -f option does not change this behaviour.

            – Kusalananda
            yesterday











          • Those flags likely only work with hard links, as well. With symbolic links it doesn't matter what the Target is, a file or a directory. to hard links it does matter.

            – 0xSheepdog
            yesterday





















          1














          Remove the ~/.pm2/logs directory first, because your target is an existing directory, the link is created inside it.






          share|improve this answer































            1














            As other answers say, there is already a directory there.



            To avoid this and instead get an error-message, use the -T option, unfortunately I don't think this is Posix (it is GNU).



            From the Gnu ln manual (same for cp and mv).



               ln [OPTION]... [-T] TARGET LINK_NAME   (1st form)
            ln [OPTION]... TARGET (2nd form)
            ln [OPTION]... TARGET... DIRECTORY (3rd form)
            ln [OPTION]... -t DIRECTORY TARGET... (4th form)


            Note form 1 without the -T is ambiguous with form 3 (both have two arguments).



            In Posix you can force this non-ambiguity by putting a / at the end of a directory name, in form 3, but I don't think there is any thing you can do the other way around. This is why Gnu added the -T option.






            share|improve this answer
























              Your Answer








              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "106"
              };
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function() {
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled) {
              StackExchange.using("snippets", function() {
              createEditor();
              });
              }
              else {
              createEditor();
              }
              });

              function createEditor() {
              StackExchange.prepareEditor({
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: false,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: null,
              bindNavPrevention: true,
              postfix: "",
              imageUploader: {
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              },
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              });


              }
              });






              ptkvsk is a new contributor. Be nice, and check out our Code of Conduct.










              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f512139%2fhow-to-create-a-folder-symlink-that-has-a-different-name%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              3 Answers
              3






              active

              oldest

              votes








              3 Answers
              3






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              4














              You already have a directory at ~/.pm2/logs. Since that directory exists, the symbolic link is put inside it.



              Would you want that ~/.pm2/logs is a symbolic link rather than a directory, then you will have to remove or rename that existing directory first.






              share|improve this answer
























              • I thought "-Ff" flags are specifically made to replace target directory so I don't have to remove it manually. Am I wrong?

                – ptkvsk
                yesterday








              • 1





                @ptkvsk The -F flag does something completely different and is not a POSIX option. The -f flag would not unlink a directory. The standard specifies that if the target (the last operand) is a directory, then the link will be place inside it. The -f option does not change this behaviour.

                – Kusalananda
                yesterday











              • Those flags likely only work with hard links, as well. With symbolic links it doesn't matter what the Target is, a file or a directory. to hard links it does matter.

                – 0xSheepdog
                yesterday


















              4














              You already have a directory at ~/.pm2/logs. Since that directory exists, the symbolic link is put inside it.



              Would you want that ~/.pm2/logs is a symbolic link rather than a directory, then you will have to remove or rename that existing directory first.






              share|improve this answer
























              • I thought "-Ff" flags are specifically made to replace target directory so I don't have to remove it manually. Am I wrong?

                – ptkvsk
                yesterday








              • 1





                @ptkvsk The -F flag does something completely different and is not a POSIX option. The -f flag would not unlink a directory. The standard specifies that if the target (the last operand) is a directory, then the link will be place inside it. The -f option does not change this behaviour.

                – Kusalananda
                yesterday











              • Those flags likely only work with hard links, as well. With symbolic links it doesn't matter what the Target is, a file or a directory. to hard links it does matter.

                – 0xSheepdog
                yesterday
















              4












              4








              4







              You already have a directory at ~/.pm2/logs. Since that directory exists, the symbolic link is put inside it.



              Would you want that ~/.pm2/logs is a symbolic link rather than a directory, then you will have to remove or rename that existing directory first.






              share|improve this answer













              You already have a directory at ~/.pm2/logs. Since that directory exists, the symbolic link is put inside it.



              Would you want that ~/.pm2/logs is a symbolic link rather than a directory, then you will have to remove or rename that existing directory first.







              share|improve this answer












              share|improve this answer



              share|improve this answer










              answered yesterday









              KusalanandaKusalananda

              141k18263439




              141k18263439













              • I thought "-Ff" flags are specifically made to replace target directory so I don't have to remove it manually. Am I wrong?

                – ptkvsk
                yesterday








              • 1





                @ptkvsk The -F flag does something completely different and is not a POSIX option. The -f flag would not unlink a directory. The standard specifies that if the target (the last operand) is a directory, then the link will be place inside it. The -f option does not change this behaviour.

                – Kusalananda
                yesterday











              • Those flags likely only work with hard links, as well. With symbolic links it doesn't matter what the Target is, a file or a directory. to hard links it does matter.

                – 0xSheepdog
                yesterday





















              • I thought "-Ff" flags are specifically made to replace target directory so I don't have to remove it manually. Am I wrong?

                – ptkvsk
                yesterday








              • 1





                @ptkvsk The -F flag does something completely different and is not a POSIX option. The -f flag would not unlink a directory. The standard specifies that if the target (the last operand) is a directory, then the link will be place inside it. The -f option does not change this behaviour.

                – Kusalananda
                yesterday











              • Those flags likely only work with hard links, as well. With symbolic links it doesn't matter what the Target is, a file or a directory. to hard links it does matter.

                – 0xSheepdog
                yesterday



















              I thought "-Ff" flags are specifically made to replace target directory so I don't have to remove it manually. Am I wrong?

              – ptkvsk
              yesterday







              I thought "-Ff" flags are specifically made to replace target directory so I don't have to remove it manually. Am I wrong?

              – ptkvsk
              yesterday






              1




              1





              @ptkvsk The -F flag does something completely different and is not a POSIX option. The -f flag would not unlink a directory. The standard specifies that if the target (the last operand) is a directory, then the link will be place inside it. The -f option does not change this behaviour.

              – Kusalananda
              yesterday





              @ptkvsk The -F flag does something completely different and is not a POSIX option. The -f flag would not unlink a directory. The standard specifies that if the target (the last operand) is a directory, then the link will be place inside it. The -f option does not change this behaviour.

              – Kusalananda
              yesterday













              Those flags likely only work with hard links, as well. With symbolic links it doesn't matter what the Target is, a file or a directory. to hard links it does matter.

              – 0xSheepdog
              yesterday







              Those flags likely only work with hard links, as well. With symbolic links it doesn't matter what the Target is, a file or a directory. to hard links it does matter.

              – 0xSheepdog
              yesterday















              1














              Remove the ~/.pm2/logs directory first, because your target is an existing directory, the link is created inside it.






              share|improve this answer




























                1














                Remove the ~/.pm2/logs directory first, because your target is an existing directory, the link is created inside it.






                share|improve this answer


























                  1












                  1








                  1







                  Remove the ~/.pm2/logs directory first, because your target is an existing directory, the link is created inside it.






                  share|improve this answer













                  Remove the ~/.pm2/logs directory first, because your target is an existing directory, the link is created inside it.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered yesterday









                  XrXcaXrXca

                  813




                  813























                      1














                      As other answers say, there is already a directory there.



                      To avoid this and instead get an error-message, use the -T option, unfortunately I don't think this is Posix (it is GNU).



                      From the Gnu ln manual (same for cp and mv).



                         ln [OPTION]... [-T] TARGET LINK_NAME   (1st form)
                      ln [OPTION]... TARGET (2nd form)
                      ln [OPTION]... TARGET... DIRECTORY (3rd form)
                      ln [OPTION]... -t DIRECTORY TARGET... (4th form)


                      Note form 1 without the -T is ambiguous with form 3 (both have two arguments).



                      In Posix you can force this non-ambiguity by putting a / at the end of a directory name, in form 3, but I don't think there is any thing you can do the other way around. This is why Gnu added the -T option.






                      share|improve this answer




























                        1














                        As other answers say, there is already a directory there.



                        To avoid this and instead get an error-message, use the -T option, unfortunately I don't think this is Posix (it is GNU).



                        From the Gnu ln manual (same for cp and mv).



                           ln [OPTION]... [-T] TARGET LINK_NAME   (1st form)
                        ln [OPTION]... TARGET (2nd form)
                        ln [OPTION]... TARGET... DIRECTORY (3rd form)
                        ln [OPTION]... -t DIRECTORY TARGET... (4th form)


                        Note form 1 without the -T is ambiguous with form 3 (both have two arguments).



                        In Posix you can force this non-ambiguity by putting a / at the end of a directory name, in form 3, but I don't think there is any thing you can do the other way around. This is why Gnu added the -T option.






                        share|improve this answer


























                          1












                          1








                          1







                          As other answers say, there is already a directory there.



                          To avoid this and instead get an error-message, use the -T option, unfortunately I don't think this is Posix (it is GNU).



                          From the Gnu ln manual (same for cp and mv).



                             ln [OPTION]... [-T] TARGET LINK_NAME   (1st form)
                          ln [OPTION]... TARGET (2nd form)
                          ln [OPTION]... TARGET... DIRECTORY (3rd form)
                          ln [OPTION]... -t DIRECTORY TARGET... (4th form)


                          Note form 1 without the -T is ambiguous with form 3 (both have two arguments).



                          In Posix you can force this non-ambiguity by putting a / at the end of a directory name, in form 3, but I don't think there is any thing you can do the other way around. This is why Gnu added the -T option.






                          share|improve this answer













                          As other answers say, there is already a directory there.



                          To avoid this and instead get an error-message, use the -T option, unfortunately I don't think this is Posix (it is GNU).



                          From the Gnu ln manual (same for cp and mv).



                             ln [OPTION]... [-T] TARGET LINK_NAME   (1st form)
                          ln [OPTION]... TARGET (2nd form)
                          ln [OPTION]... TARGET... DIRECTORY (3rd form)
                          ln [OPTION]... -t DIRECTORY TARGET... (4th form)


                          Note form 1 without the -T is ambiguous with form 3 (both have two arguments).



                          In Posix you can force this non-ambiguity by putting a / at the end of a directory name, in form 3, but I don't think there is any thing you can do the other way around. This is why Gnu added the -T option.







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered yesterday









                          ctrl-alt-delorctrl-alt-delor

                          12.5k52662




                          12.5k52662






















                              ptkvsk is a new contributor. Be nice, and check out our Code of Conduct.










                              draft saved

                              draft discarded


















                              ptkvsk is a new contributor. Be nice, and check out our Code of Conduct.













                              ptkvsk is a new contributor. Be nice, and check out our Code of Conduct.












                              ptkvsk is a new contributor. Be nice, and check out our Code of Conduct.
















                              Thanks for contributing an answer to Unix & Linux Stack Exchange!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f512139%2fhow-to-create-a-folder-symlink-that-has-a-different-name%23new-answer', 'question_page');
                              }
                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              GameSpot

                              connect to host localhost port 22: Connection refused

                              Getting a Wifi WPA2 wifi connection