title: How to zip files without the top level folder but keep the sub folders
body: <p>Suppose I have a folder named abc, it has several sub folders recursively, I want to zip everything under abc, when I use the following command</p>
  
  <pre><code>zip -r abc.zip abc/*
  </code></pre>
  
  <p>I get abc.zip, but it contains the top level folder abc, and everything is under abc, like abc/xxx, abc/yyy etc, How can I remove the top level folder abc? I want to put everything directly in abc.zip.</p>
  
  <p>Note: </p>
  
  <ol>
  <li>I can only zip from outside of the folder, so navigate to folder abc, and zip * is not work for me</li>
  <li>I need to run this command in a single line, I can separated multiple commands by ;</li>
  <li>option -j also does not work, since it remove the sub folders, I want to keep them there.</li>
  </ol>