I have the following commands.

cd import
zcat urls1.sql.gz | mysql -u root -p urls
cd /var/www/project1/
nano 1.php

As of now I'm executing it one by one.

Is there a way to combine those commands in one line?

  • 3
    Did you do any research for this question?
    – don.joey
    Aug 20, 2013 at 14:33
  • That was not my question. It is just that half a minute of googling would have given you the answer. Hence, I was wondering what you had already found, if anything.
    – don.joey
    Aug 20, 2013 at 15:04
  • What makes you think I downvoted your question? I will neglect your anger. As a side-note, the question "which one is better: using ; or && to execute multiple commands in one line" is a lot better, has more research and would likely have attracted a great many upvotes.
    – don.joey
    Aug 20, 2013 at 16:25
  • There is a more generic variant of this question available at askubuntu.com/questions/334994/…. It deal with exactly the question I mention in the previous comment.
    – don.joey
    Aug 20, 2013 at 16:42
  • Don't worry Giri. The essence of the question is interesting. I took the effort of making a generic variant of it.
    – don.joey
    Aug 20, 2013 at 16:44

2 Answers 2


Yes, separate with a semi-colon like so:

dir; ls -l

Most lanugauges/shells use the semi-colon to signify the end of a command and to start new while evaluating from left to right.

Or as @RobieBasak recommends, use && instead of ; to guard against coding accidents.

dir && ls -l
  • 25
    It's a good idea to use && instead of ;. This ensures that subsequent commands are only executed if previous commands have not failed. This avoids some awkward consequences. For example: cd /somewhere_else; rm -Rf * could do something disastrous if /somewhere_else doesn't exist or you mis-spell it; cd /somewhere_else && rm -Rf * protects you from this. Aug 20, 2013 at 14:42
  • 4
    The '&&' solution is so good, it should be the first recommendation in this answer. Please edit your answer and promote the better answer to first place. Mar 16, 2017 at 16:02

This illustrates more:

  1. A ; B – Run A and then B, regardless of the success or failure of A

  2. A && B – Run B only if A succeeded

  3. A || B – Run B only if A failed

source :https://www.howtogeek.com/269509/how-to-run-two-or-more-terminal-commands-at-once-in-linux/

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.