Is there an equivalent of cd - for cp or mvWhat is the zsh equivalent of bash's !$ (Bang Dollar)?Is there a Konsole equivalent for gnome?equivalent “echo on” for linux?Is there anything like emacs tramp for shell (bash/zsh)?What is the bash equivalent of zsh vared command?Where should I export an environment variable so that all combinations of bash/dash, interactive/non-interactive, login/non-login, will pick it up?zsh complete cd with two argumentsHow to use linux to not get crazy with root privilegesHow to synchronize two directories (on external harddrives with Linux), recognizing file movements?Is there an FTP or FTP-like client which allows “delta uploads” - i.e. only uploading the parts of a file which have been changed?
Forgetting the musical notes while performing in concert
One verb to replace 'be a member of' a club
How to Prove P(a) → ∀x(P(x) ∨ ¬(x = a)) using Natural Deduction
Why was the shrink from 8″ made only to 5.25″ and not smaller (4″ or less)
Why is it a bad idea to hire a hitman to eliminate most corrupt politicians?
Is it inappropriate for a student to attend their mentor's dissertation defense?
Notepad++ delete until colon for every line with replace all
Why were 5.25" floppy drives cheaper than 8"?
Does Dispel Magic work on Tiny Hut?
"the same as" in a sentence
Is it possible to map the firing of neurons in the human brain so as to stimulate artificial memories in someone else?
Where would I need my direct neural interface to be implanted?
Unlock My Phone! February 2018
Why do I get negative height?
Can someone clarify Hamming's notion of important problems in relation to modern academia?
Placement of More Information/Help Icon button for Radio Buttons
Is there an expression that means doing something right before you will need it rather than doing it in case you might need it?
Am I breaking OOP practice with this architecture?
Description list Formatting using enumitem
How to compactly explain secondary and tertiary characters without resorting to stereotypes?
Why didn't Boeing produce its own regional jet?
What's the meaning of "Sollensaussagen"?
How to stretch the corners of this image so that it looks like a perfect rectangle?
Does the Idaho Potato Commission associate potato skins with healthy eating?
Is there an equivalent of cd - for cp or mv
What is the zsh equivalent of bash's !$ (Bang Dollar)?Is there a Konsole equivalent for gnome?equivalent “echo on” for linux?Is there anything like emacs tramp for shell (bash/zsh)?What is the bash equivalent of zsh vared command?Where should I export an environment variable so that all combinations of bash/dash, interactive/non-interactive, login/non-login, will pick it up?zsh complete cd with two argumentsHow to use linux to not get crazy with root privilegesHow to synchronize two directories (on external harddrives with Linux), recognizing file movements?Is there an FTP or FTP-like client which allows “delta uploads” - i.e. only uploading the parts of a file which have been changed?
In Bash and similar shells cd -
changes the current directory to a previously visited one. It's often very handy. I wonder if there is similar shorthand for copying or moving files, like:
~/project-a/ $ cd ../project-b
~/project-b/ $ cp Makefile LICENSE - # this won't work, hence the question
I'd be also happy with zsh
specific answers.
linux bash file-transfer zsh
add a comment |
In Bash and similar shells cd -
changes the current directory to a previously visited one. It's often very handy. I wonder if there is similar shorthand for copying or moving files, like:
~/project-a/ $ cd ../project-b
~/project-b/ $ cp Makefile LICENSE - # this won't work, hence the question
I'd be also happy with zsh
specific answers.
linux bash file-transfer zsh
5
With bash: Instead of-
pressEsc
and then.
to get from last command its last argument (here:../project-b
).
– Cyrus
2 days ago
That's true @Cyrus, but in the example the intention is to copy fromproject-b
toproject-a
.
– Tadeusz Łazurski
2 days ago
@Cyrus, I was always aware that bash has some Emacs-like key bindings and am a heavy Emacs user myself. I was always happily using the general line movement keys of emacs on the shell (C-a etc.). But your comment prompted me to actually look for key bindings inman bash
. Holy moly... it really is Emacs-like, complete with the kill ring, the mark semantics (C-space) etc. Thanks for bringing that up.
– AnoE
yesterday
add a comment |
In Bash and similar shells cd -
changes the current directory to a previously visited one. It's often very handy. I wonder if there is similar shorthand for copying or moving files, like:
~/project-a/ $ cd ../project-b
~/project-b/ $ cp Makefile LICENSE - # this won't work, hence the question
I'd be also happy with zsh
specific answers.
linux bash file-transfer zsh
In Bash and similar shells cd -
changes the current directory to a previously visited one. It's often very handy. I wonder if there is similar shorthand for copying or moving files, like:
~/project-a/ $ cd ../project-b
~/project-b/ $ cp Makefile LICENSE - # this won't work, hence the question
I'd be also happy with zsh
specific answers.
linux bash file-transfer zsh
linux bash file-transfer zsh
asked 2 days ago
Tadeusz ŁazurskiTadeusz Łazurski
313310
313310
5
With bash: Instead of-
pressEsc
and then.
to get from last command its last argument (here:../project-b
).
– Cyrus
2 days ago
That's true @Cyrus, but in the example the intention is to copy fromproject-b
toproject-a
.
– Tadeusz Łazurski
2 days ago
@Cyrus, I was always aware that bash has some Emacs-like key bindings and am a heavy Emacs user myself. I was always happily using the general line movement keys of emacs on the shell (C-a etc.). But your comment prompted me to actually look for key bindings inman bash
. Holy moly... it really is Emacs-like, complete with the kill ring, the mark semantics (C-space) etc. Thanks for bringing that up.
– AnoE
yesterday
add a comment |
5
With bash: Instead of-
pressEsc
and then.
to get from last command its last argument (here:../project-b
).
– Cyrus
2 days ago
That's true @Cyrus, but in the example the intention is to copy fromproject-b
toproject-a
.
– Tadeusz Łazurski
2 days ago
@Cyrus, I was always aware that bash has some Emacs-like key bindings and am a heavy Emacs user myself. I was always happily using the general line movement keys of emacs on the shell (C-a etc.). But your comment prompted me to actually look for key bindings inman bash
. Holy moly... it really is Emacs-like, complete with the kill ring, the mark semantics (C-space) etc. Thanks for bringing that up.
– AnoE
yesterday
5
5
With bash: Instead of
-
press Esc
and then .
to get from last command its last argument (here: ../project-b
).– Cyrus
2 days ago
With bash: Instead of
-
press Esc
and then .
to get from last command its last argument (here: ../project-b
).– Cyrus
2 days ago
That's true @Cyrus, but in the example the intention is to copy from
project-b
to project-a
.– Tadeusz Łazurski
2 days ago
That's true @Cyrus, but in the example the intention is to copy from
project-b
to project-a
.– Tadeusz Łazurski
2 days ago
@Cyrus, I was always aware that bash has some Emacs-like key bindings and am a heavy Emacs user myself. I was always happily using the general line movement keys of emacs on the shell (C-a etc.). But your comment prompted me to actually look for key bindings in
man bash
. Holy moly... it really is Emacs-like, complete with the kill ring, the mark semantics (C-space) etc. Thanks for bringing that up.– AnoE
yesterday
@Cyrus, I was always aware that bash has some Emacs-like key bindings and am a heavy Emacs user myself. I was always happily using the general line movement keys of emacs on the shell (C-a etc.). But your comment prompted me to actually look for key bindings in
man bash
. Holy moly... it really is Emacs-like, complete with the kill ring, the mark semantics (C-space) etc. Thanks for bringing that up.– AnoE
yesterday
add a comment |
2 Answers
2
active
oldest
votes
If your shell has cd -
, then it will likely have either the special variable $OLDPWD
and/or the shortcut ~-
for the directory you've been in previously.
cp Makefile LICENSE "$OLDPWD/"
cp Makefile LICENSE ~-
cat ~-/Makefile
Indeed the POSIX shell language (upon which ksh/bash/zsh are built) specifies that cd -
should be equal to cd "$OLDPWD"
.
1
Tilde expansion has a lot more to it even than that. For an additional taste, unix.stackexchange.com/a/286628/135943 and that doesn’t even cover home directories.
– Wildcard
2 days ago
add a comment |
You can always use shell backquotes.
They act like a subshell : the command in the backquotes is executed first, and its output is placed as argument of the main command.
~/folderA$ cd ../folderB
~/folderB$ cp Makefile `cd -`
# gets expended to "cp Makefile ~/folderA"
New contributor
4
No, the commandcd -
outputs nothing, so `cd -` expands to the empty string. Try the command % echo `cd -` to verify. You would need to use something like % echo `cd -; pwd` ...
– Neal Young
2 days ago
2
@NealYoung: It seems that there’s something wrong with your shell. POSIX says “When a <hyphen-minus> is used as the operand [tocd
], this shall be equivalent to the command:cd "$OLDPWD" && pwd
, which changes to the previous working directory and then writes its name.” … (Cont’d)
– G-Man
2 days ago
1
(Cont’d) … And bash(1) says “An argument of-
is converted to$OLDPWD
before the directory change is attempted. If a non-empty directory name fromCDPATH
is used, or if-
is the first argument, and the directory change is successful, the absolute pathname of the new working directory is written to the standard output.”
– G-Man
2 days ago
@Nathanael C.: But please use"$(cd -)"
.
– G-Man
2 days ago
There's only "something wrong" if the shell claims POSIX compliance, and I think it's perfectly normal for shells that weren't invoked as /bin/sh and aren't specifically trying to emulate a POSIX shell to implement their language in whatever way they want...
– grawity
2 days ago
|
show 1 more comment
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "3"
;
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: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
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
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1419624%2fis-there-an-equivalent-of-cd-for-cp-or-mv%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
If your shell has cd -
, then it will likely have either the special variable $OLDPWD
and/or the shortcut ~-
for the directory you've been in previously.
cp Makefile LICENSE "$OLDPWD/"
cp Makefile LICENSE ~-
cat ~-/Makefile
Indeed the POSIX shell language (upon which ksh/bash/zsh are built) specifies that cd -
should be equal to cd "$OLDPWD"
.
1
Tilde expansion has a lot more to it even than that. For an additional taste, unix.stackexchange.com/a/286628/135943 and that doesn’t even cover home directories.
– Wildcard
2 days ago
add a comment |
If your shell has cd -
, then it will likely have either the special variable $OLDPWD
and/or the shortcut ~-
for the directory you've been in previously.
cp Makefile LICENSE "$OLDPWD/"
cp Makefile LICENSE ~-
cat ~-/Makefile
Indeed the POSIX shell language (upon which ksh/bash/zsh are built) specifies that cd -
should be equal to cd "$OLDPWD"
.
1
Tilde expansion has a lot more to it even than that. For an additional taste, unix.stackexchange.com/a/286628/135943 and that doesn’t even cover home directories.
– Wildcard
2 days ago
add a comment |
If your shell has cd -
, then it will likely have either the special variable $OLDPWD
and/or the shortcut ~-
for the directory you've been in previously.
cp Makefile LICENSE "$OLDPWD/"
cp Makefile LICENSE ~-
cat ~-/Makefile
Indeed the POSIX shell language (upon which ksh/bash/zsh are built) specifies that cd -
should be equal to cd "$OLDPWD"
.
If your shell has cd -
, then it will likely have either the special variable $OLDPWD
and/or the shortcut ~-
for the directory you've been in previously.
cp Makefile LICENSE "$OLDPWD/"
cp Makefile LICENSE ~-
cat ~-/Makefile
Indeed the POSIX shell language (upon which ksh/bash/zsh are built) specifies that cd -
should be equal to cd "$OLDPWD"
.
edited 2 days ago
answered 2 days ago
grawitygrawity
242k37512569
242k37512569
1
Tilde expansion has a lot more to it even than that. For an additional taste, unix.stackexchange.com/a/286628/135943 and that doesn’t even cover home directories.
– Wildcard
2 days ago
add a comment |
1
Tilde expansion has a lot more to it even than that. For an additional taste, unix.stackexchange.com/a/286628/135943 and that doesn’t even cover home directories.
– Wildcard
2 days ago
1
1
Tilde expansion has a lot more to it even than that. For an additional taste, unix.stackexchange.com/a/286628/135943 and that doesn’t even cover home directories.
– Wildcard
2 days ago
Tilde expansion has a lot more to it even than that. For an additional taste, unix.stackexchange.com/a/286628/135943 and that doesn’t even cover home directories.
– Wildcard
2 days ago
add a comment |
You can always use shell backquotes.
They act like a subshell : the command in the backquotes is executed first, and its output is placed as argument of the main command.
~/folderA$ cd ../folderB
~/folderB$ cp Makefile `cd -`
# gets expended to "cp Makefile ~/folderA"
New contributor
4
No, the commandcd -
outputs nothing, so `cd -` expands to the empty string. Try the command % echo `cd -` to verify. You would need to use something like % echo `cd -; pwd` ...
– Neal Young
2 days ago
2
@NealYoung: It seems that there’s something wrong with your shell. POSIX says “When a <hyphen-minus> is used as the operand [tocd
], this shall be equivalent to the command:cd "$OLDPWD" && pwd
, which changes to the previous working directory and then writes its name.” … (Cont’d)
– G-Man
2 days ago
1
(Cont’d) … And bash(1) says “An argument of-
is converted to$OLDPWD
before the directory change is attempted. If a non-empty directory name fromCDPATH
is used, or if-
is the first argument, and the directory change is successful, the absolute pathname of the new working directory is written to the standard output.”
– G-Man
2 days ago
@Nathanael C.: But please use"$(cd -)"
.
– G-Man
2 days ago
There's only "something wrong" if the shell claims POSIX compliance, and I think it's perfectly normal for shells that weren't invoked as /bin/sh and aren't specifically trying to emulate a POSIX shell to implement their language in whatever way they want...
– grawity
2 days ago
|
show 1 more comment
You can always use shell backquotes.
They act like a subshell : the command in the backquotes is executed first, and its output is placed as argument of the main command.
~/folderA$ cd ../folderB
~/folderB$ cp Makefile `cd -`
# gets expended to "cp Makefile ~/folderA"
New contributor
4
No, the commandcd -
outputs nothing, so `cd -` expands to the empty string. Try the command % echo `cd -` to verify. You would need to use something like % echo `cd -; pwd` ...
– Neal Young
2 days ago
2
@NealYoung: It seems that there’s something wrong with your shell. POSIX says “When a <hyphen-minus> is used as the operand [tocd
], this shall be equivalent to the command:cd "$OLDPWD" && pwd
, which changes to the previous working directory and then writes its name.” … (Cont’d)
– G-Man
2 days ago
1
(Cont’d) … And bash(1) says “An argument of-
is converted to$OLDPWD
before the directory change is attempted. If a non-empty directory name fromCDPATH
is used, or if-
is the first argument, and the directory change is successful, the absolute pathname of the new working directory is written to the standard output.”
– G-Man
2 days ago
@Nathanael C.: But please use"$(cd -)"
.
– G-Man
2 days ago
There's only "something wrong" if the shell claims POSIX compliance, and I think it's perfectly normal for shells that weren't invoked as /bin/sh and aren't specifically trying to emulate a POSIX shell to implement their language in whatever way they want...
– grawity
2 days ago
|
show 1 more comment
You can always use shell backquotes.
They act like a subshell : the command in the backquotes is executed first, and its output is placed as argument of the main command.
~/folderA$ cd ../folderB
~/folderB$ cp Makefile `cd -`
# gets expended to "cp Makefile ~/folderA"
New contributor
You can always use shell backquotes.
They act like a subshell : the command in the backquotes is executed first, and its output is placed as argument of the main command.
~/folderA$ cd ../folderB
~/folderB$ cp Makefile `cd -`
# gets expended to "cp Makefile ~/folderA"
New contributor
New contributor
answered 2 days ago
Nathanael C.Nathanael C.
511
511
New contributor
New contributor
4
No, the commandcd -
outputs nothing, so `cd -` expands to the empty string. Try the command % echo `cd -` to verify. You would need to use something like % echo `cd -; pwd` ...
– Neal Young
2 days ago
2
@NealYoung: It seems that there’s something wrong with your shell. POSIX says “When a <hyphen-minus> is used as the operand [tocd
], this shall be equivalent to the command:cd "$OLDPWD" && pwd
, which changes to the previous working directory and then writes its name.” … (Cont’d)
– G-Man
2 days ago
1
(Cont’d) … And bash(1) says “An argument of-
is converted to$OLDPWD
before the directory change is attempted. If a non-empty directory name fromCDPATH
is used, or if-
is the first argument, and the directory change is successful, the absolute pathname of the new working directory is written to the standard output.”
– G-Man
2 days ago
@Nathanael C.: But please use"$(cd -)"
.
– G-Man
2 days ago
There's only "something wrong" if the shell claims POSIX compliance, and I think it's perfectly normal for shells that weren't invoked as /bin/sh and aren't specifically trying to emulate a POSIX shell to implement their language in whatever way they want...
– grawity
2 days ago
|
show 1 more comment
4
No, the commandcd -
outputs nothing, so `cd -` expands to the empty string. Try the command % echo `cd -` to verify. You would need to use something like % echo `cd -; pwd` ...
– Neal Young
2 days ago
2
@NealYoung: It seems that there’s something wrong with your shell. POSIX says “When a <hyphen-minus> is used as the operand [tocd
], this shall be equivalent to the command:cd "$OLDPWD" && pwd
, which changes to the previous working directory and then writes its name.” … (Cont’d)
– G-Man
2 days ago
1
(Cont’d) … And bash(1) says “An argument of-
is converted to$OLDPWD
before the directory change is attempted. If a non-empty directory name fromCDPATH
is used, or if-
is the first argument, and the directory change is successful, the absolute pathname of the new working directory is written to the standard output.”
– G-Man
2 days ago
@Nathanael C.: But please use"$(cd -)"
.
– G-Man
2 days ago
There's only "something wrong" if the shell claims POSIX compliance, and I think it's perfectly normal for shells that weren't invoked as /bin/sh and aren't specifically trying to emulate a POSIX shell to implement their language in whatever way they want...
– grawity
2 days ago
4
4
No, the command
cd -
outputs nothing, so `cd -` expands to the empty string. Try the command % echo `cd -` to verify. You would need to use something like % echo `cd -; pwd` ...– Neal Young
2 days ago
No, the command
cd -
outputs nothing, so `cd -` expands to the empty string. Try the command % echo `cd -` to verify. You would need to use something like % echo `cd -; pwd` ...– Neal Young
2 days ago
2
2
@NealYoung: It seems that there’s something wrong with your shell. POSIX says “When a <hyphen-minus> is used as the operand [to
cd
], this shall be equivalent to the command: cd "$OLDPWD" && pwd
, which changes to the previous working directory and then writes its name.” … (Cont’d)– G-Man
2 days ago
@NealYoung: It seems that there’s something wrong with your shell. POSIX says “When a <hyphen-minus> is used as the operand [to
cd
], this shall be equivalent to the command: cd "$OLDPWD" && pwd
, which changes to the previous working directory and then writes its name.” … (Cont’d)– G-Man
2 days ago
1
1
(Cont’d) … And bash(1) says “An argument of
-
is converted to $OLDPWD
before the directory change is attempted. If a non-empty directory name from CDPATH
is used, or if -
is the first argument, and the directory change is successful, the absolute pathname of the new working directory is written to the standard output.”– G-Man
2 days ago
(Cont’d) … And bash(1) says “An argument of
-
is converted to $OLDPWD
before the directory change is attempted. If a non-empty directory name from CDPATH
is used, or if -
is the first argument, and the directory change is successful, the absolute pathname of the new working directory is written to the standard output.”– G-Man
2 days ago
@Nathanael C.: But please use
"$(cd -)"
.– G-Man
2 days ago
@Nathanael C.: But please use
"$(cd -)"
.– G-Man
2 days ago
There's only "something wrong" if the shell claims POSIX compliance, and I think it's perfectly normal for shells that weren't invoked as /bin/sh and aren't specifically trying to emulate a POSIX shell to implement their language in whatever way they want...
– grawity
2 days ago
There's only "something wrong" if the shell claims POSIX compliance, and I think it's perfectly normal for shells that weren't invoked as /bin/sh and aren't specifically trying to emulate a POSIX shell to implement their language in whatever way they want...
– grawity
2 days ago
|
show 1 more comment
Thanks for contributing an answer to Super User!
- 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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1419624%2fis-there-an-equivalent-of-cd-for-cp-or-mv%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
5
With bash: Instead of
-
pressEsc
and then.
to get from last command its last argument (here:../project-b
).– Cyrus
2 days ago
That's true @Cyrus, but in the example the intention is to copy from
project-b
toproject-a
.– Tadeusz Łazurski
2 days ago
@Cyrus, I was always aware that bash has some Emacs-like key bindings and am a heavy Emacs user myself. I was always happily using the general line movement keys of emacs on the shell (C-a etc.). But your comment prompted me to actually look for key bindings in
man bash
. Holy moly... it really is Emacs-like, complete with the kill ring, the mark semantics (C-space) etc. Thanks for bringing that up.– AnoE
yesterday