What's the difference between 'rename' and 'mv'?Changing extension to multiple filesBatch renaming filesWhat's with all the renames: prename, rename, file-rename?Why is the rename utility on Debian/Ubuntu different than the one on other distributions, like CentOS?Quickest way to rename files, without retyping directory pathRename multiple files with mv to change the extensionrename multiple files with one variableWhat's with all the renames: prename, rename, file-rename?Rename all files with the same extension and any nameRename files to the inodeRename characters within a specific file using find and variables?using Find -exec to rename a file with the grepped contents of the fileRename files based on listBatch rename files to move sequence from end to beginning

Weird behaviour when using querySelector

Can a planet have a different gravitational pull depending on its location in orbit around its sun?

Can I find out the caloric content of bread by dehydrating it?

New order #4: World

Input two commands to a new terminal?

What happens when a metallic dragon and a chromatic dragon mate?

Imbalanced dataset binary classification

Landlord wants to switch my lease to a "Land contract" to "get back at the city"

Is repealing the EU Withdrawal Act a precondition of revoking Article 50?

Extreme, but not acceptable situation and I can't start the work tomorrow morning

Why doesn't a const reference extend the life of a temporary object passed via a function?

Need help identifying/translating a plaque in Tangier, Morocco

Is there a familial term for apples and pears?

Add an angle to a sphere

Mapping arrows in commutative diagrams

Is it true that "The augmented fourth (A4) and the diminished fifth (d5) are the only aug and dim intervals that appear in diatonic scales"

Domain expired, GoDaddy holds it and is asking more money

What does 'script /dev/null' do?

Shall I use personal or official e-mail account when registering to external websites for work purpose?

Why is making salt water prohibited on Shabbat?

Is "plugging out" electronic devices an American expression?

How would photo IDs work for shapeshifters?

Copycat chess is back

What is the command to reset a PC without deleting any files



What's the difference between 'rename' and 'mv'?


Changing extension to multiple filesBatch renaming filesWhat's with all the renames: prename, rename, file-rename?Why is the rename utility on Debian/Ubuntu different than the one on other distributions, like CentOS?Quickest way to rename files, without retyping directory pathRename multiple files with mv to change the extensionrename multiple files with one variableWhat's with all the renames: prename, rename, file-rename?Rename all files with the same extension and any nameRename files to the inodeRename characters within a specific file using find and variables?using Find -exec to rename a file with the grepped contents of the fileRename files based on listBatch rename files to move sequence from end to beginning






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








10















It's not completely clear to me, but what is the difference between mv and rename (from util-linux-ng 2.17.2 as /usr/bin/rename)? Are there advantages of one over the other beyond rename accepting regular expressions and mv doesn't? I believe rename can also handle multiple file renames at once, whereas mv does not do this.



I couldn't find a clear indication in their man pages what else sets them apart or through some investigation on my own.










share|improve this question









New contributor




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















  • 2





    Let's make sure we're talking about the same things; what are the outputs from type -a rename and rename --version ?

    – Jeff Schaller
    Apr 4 at 17:57











  • @JeffSchaller It's more of a curiosity on my part, but on one of my *nix machines I get rename is /usr/bin/rename and rename (util-linux-ng 2.17.2) respectively.

    – Urda
    Apr 4 at 17:58






  • 6





    There are a few different renames out there, and it could have been an alias/function/script, so I just wanted to make sure we knew what it was. Thank you! Please feel free to edit those outputs into your question.

    – Jeff Schaller
    Apr 4 at 18:03











  • @JeffSchaller no worries, actually this link was one I just found that showed me rename can mean different things in different distros.

    – Urda
    Apr 4 at 18:05






  • 5





    It seems like your question contains its answer.   “What’s the difference between a jet and a tricycle, other than the fact that a jet can fly, and can go several thousand times faster?”    :-)    ⁠

    – G-Man
    Apr 4 at 18:10

















10















It's not completely clear to me, but what is the difference between mv and rename (from util-linux-ng 2.17.2 as /usr/bin/rename)? Are there advantages of one over the other beyond rename accepting regular expressions and mv doesn't? I believe rename can also handle multiple file renames at once, whereas mv does not do this.



I couldn't find a clear indication in their man pages what else sets them apart or through some investigation on my own.










share|improve this question









New contributor




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















  • 2





    Let's make sure we're talking about the same things; what are the outputs from type -a rename and rename --version ?

    – Jeff Schaller
    Apr 4 at 17:57











  • @JeffSchaller It's more of a curiosity on my part, but on one of my *nix machines I get rename is /usr/bin/rename and rename (util-linux-ng 2.17.2) respectively.

    – Urda
    Apr 4 at 17:58






  • 6





    There are a few different renames out there, and it could have been an alias/function/script, so I just wanted to make sure we knew what it was. Thank you! Please feel free to edit those outputs into your question.

    – Jeff Schaller
    Apr 4 at 18:03











  • @JeffSchaller no worries, actually this link was one I just found that showed me rename can mean different things in different distros.

    – Urda
    Apr 4 at 18:05






  • 5





    It seems like your question contains its answer.   “What’s the difference between a jet and a tricycle, other than the fact that a jet can fly, and can go several thousand times faster?”    :-)    ⁠

    – G-Man
    Apr 4 at 18:10













10












10








10








It's not completely clear to me, but what is the difference between mv and rename (from util-linux-ng 2.17.2 as /usr/bin/rename)? Are there advantages of one over the other beyond rename accepting regular expressions and mv doesn't? I believe rename can also handle multiple file renames at once, whereas mv does not do this.



I couldn't find a clear indication in their man pages what else sets them apart or through some investigation on my own.










share|improve this question









New contributor




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












It's not completely clear to me, but what is the difference between mv and rename (from util-linux-ng 2.17.2 as /usr/bin/rename)? Are there advantages of one over the other beyond rename accepting regular expressions and mv doesn't? I believe rename can also handle multiple file renames at once, whereas mv does not do this.



I couldn't find a clear indication in their man pages what else sets them apart or through some investigation on my own.







rename mv






share|improve this question









New contributor




Urda 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




Urda 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 Apr 4 at 19:49









Kusalananda

140k17261435




140k17261435






New contributor




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









asked Apr 4 at 17:53









UrdaUrda

1597




1597




New contributor




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





New contributor





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






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







  • 2





    Let's make sure we're talking about the same things; what are the outputs from type -a rename and rename --version ?

    – Jeff Schaller
    Apr 4 at 17:57











  • @JeffSchaller It's more of a curiosity on my part, but on one of my *nix machines I get rename is /usr/bin/rename and rename (util-linux-ng 2.17.2) respectively.

    – Urda
    Apr 4 at 17:58






  • 6





    There are a few different renames out there, and it could have been an alias/function/script, so I just wanted to make sure we knew what it was. Thank you! Please feel free to edit those outputs into your question.

    – Jeff Schaller
    Apr 4 at 18:03











  • @JeffSchaller no worries, actually this link was one I just found that showed me rename can mean different things in different distros.

    – Urda
    Apr 4 at 18:05






  • 5





    It seems like your question contains its answer.   “What’s the difference between a jet and a tricycle, other than the fact that a jet can fly, and can go several thousand times faster?”    :-)    ⁠

    – G-Man
    Apr 4 at 18:10












  • 2





    Let's make sure we're talking about the same things; what are the outputs from type -a rename and rename --version ?

    – Jeff Schaller
    Apr 4 at 17:57











  • @JeffSchaller It's more of a curiosity on my part, but on one of my *nix machines I get rename is /usr/bin/rename and rename (util-linux-ng 2.17.2) respectively.

    – Urda
    Apr 4 at 17:58






  • 6





    There are a few different renames out there, and it could have been an alias/function/script, so I just wanted to make sure we knew what it was. Thank you! Please feel free to edit those outputs into your question.

    – Jeff Schaller
    Apr 4 at 18:03











  • @JeffSchaller no worries, actually this link was one I just found that showed me rename can mean different things in different distros.

    – Urda
    Apr 4 at 18:05






  • 5





    It seems like your question contains its answer.   “What’s the difference between a jet and a tricycle, other than the fact that a jet can fly, and can go several thousand times faster?”    :-)    ⁠

    – G-Man
    Apr 4 at 18:10







2




2





Let's make sure we're talking about the same things; what are the outputs from type -a rename and rename --version ?

– Jeff Schaller
Apr 4 at 17:57





Let's make sure we're talking about the same things; what are the outputs from type -a rename and rename --version ?

– Jeff Schaller
Apr 4 at 17:57













@JeffSchaller It's more of a curiosity on my part, but on one of my *nix machines I get rename is /usr/bin/rename and rename (util-linux-ng 2.17.2) respectively.

– Urda
Apr 4 at 17:58





@JeffSchaller It's more of a curiosity on my part, but on one of my *nix machines I get rename is /usr/bin/rename and rename (util-linux-ng 2.17.2) respectively.

– Urda
Apr 4 at 17:58




6




6





There are a few different renames out there, and it could have been an alias/function/script, so I just wanted to make sure we knew what it was. Thank you! Please feel free to edit those outputs into your question.

– Jeff Schaller
Apr 4 at 18:03





There are a few different renames out there, and it could have been an alias/function/script, so I just wanted to make sure we knew what it was. Thank you! Please feel free to edit those outputs into your question.

– Jeff Schaller
Apr 4 at 18:03













@JeffSchaller no worries, actually this link was one I just found that showed me rename can mean different things in different distros.

– Urda
Apr 4 at 18:05





@JeffSchaller no worries, actually this link was one I just found that showed me rename can mean different things in different distros.

– Urda
Apr 4 at 18:05




5




5





It seems like your question contains its answer.   “What’s the difference between a jet and a tricycle, other than the fact that a jet can fly, and can go several thousand times faster?”    :-)    ⁠

– G-Man
Apr 4 at 18:10





It seems like your question contains its answer.   “What’s the difference between a jet and a tricycle, other than the fact that a jet can fly, and can go several thousand times faster?”    :-)    ⁠

– G-Man
Apr 4 at 18:10










4 Answers
4






active

oldest

votes


















16














It's basically what it says on the lid, for both.



mv is a standard utility to move one or more files to a given target. It can be used to rename a file, if there's only one file to move. If there are several, mv only works if the target is directory, and moves the files there.



So mv foo bar will either move the file foo to the directory bar (if it exists), or rename foo to bar (if bar doesn't exist or isn't a directory). mv foo1 foo2 bar will just move both files to directory bar, or complain if bar isn't a directory.



mv will call the rename() C library function to move the files, and if that doesn't work (they're being moved to another filesystem), it will copy the files and remove the originals.



If all you have is mv and you want to rename multiple files, you'll have to use a shell loop. There are a number of questions on that here on the site, see e.g. this, this, and others.




On the other hand, the various rename utilities rename files, individually.



The rename from util-linux which you mention makes a simple string substitution, e.g. rename foo bar * would change foobar to barbar, and asdffoo to asdfbar. It does not, however, take a regular expression!



The Perl rename utility (or various instances of it) takes a Perl expression to transform the filenames. One will most likely use an s/pattern/replacement/ command, where the pattern is a regular expression.



Both the util-linux rename and the Perl rename can be used to move files to another directory at the same time, by making appropriate changes to the file name, but it's a bit awkward. Neither does more than call rename() on the files, so moving from one filesystem to another does not work.



As for which rename you have, it may depend on your distribution, and/or what you have installed. Most of them support rename --version, so use that to identify which one you have.






share|improve this answer

























  • Not only 'regular expression' but function if need it

    – Gilles Quenot
    Apr 4 at 22:38












  • @GillesQuenot, well, yeah, you could do e.g. rename '$_=lc' * to lowercase filenames. But I think the most common case is to use s/// (which I mentioned) and the pattern part of it is a regex; I don't think you can use a function there. You could do it in the replacement part, though.

    – ilkkachu
    Apr 5 at 8:35



















2














mv



It's a basic command line designed to do one thing and do it well (Unix philosophy) : move file(s) or directorie(s).



You can hack STDOUT & STDIN¹ to modify on the fly the destination string, but it's just not a smart hack



rename (Perl's one)



warningThere are other tools with the same name which may or may not be able to do this, so be careful.



When people talk about rename, we think about this one, not the ELF one, less powerful (magic?).



It's not basic, it's Perl. You can pass some Perl's functions inside, and it's extremely powerful.



Consider this example :



You want to rename a bunch of files like



foobar_1.txt
foobar_2.txt
foobar_3.txt


You can prepend zeros to the digits with sprintf() like this (using regex, heh, it's Perl :D ) :



rename 's/(d+)/sprintf("%04d", $1)/e' foobar_*.txt


Now you have :



foobar_0001.txt
foobar_0002.txt
foobar_0003.txt


Not really a basic command, isn't it ?



rename is not really designed to move dir(s), but it can do it :



$ mkdir -p /tmp/foo/bar/base
$ touch /tmp/foo/bar/base/file
$ rename 's!/tmp/foo/bar/base/file!/tmp/file!' /tmp/foo/bar/base/file


The moved file



/tmp/file



¹ some code we see on *.stackexchange.* websites



enter image description here



for FILE in `ls *.txt`
do
mv $FILE `echo $FILE | sed 's/anything_ugly/anything_still_ugly/'`
done


It's not the way to go, it's plain buggy, just to explain why to use the right tool at the right moment






share|improve this answer

























  • +1 for sprintfing with rename

    – Archemar
    Apr 4 at 19:30


















1














mv simply changes the name of the file (it can also move it to another filesystem or path). You give it an old name and a new name, and it changes the file to the new name or location. rename is used to make bulk naming changes. Say you had a thousand files, foo000.log through foo999.log and you wanted to change them to bar000.log through bar999.log. With mv you'd have to do mv foo000.log bar000.log, mv foo001 bar001.log, etc. or else write a script. With rename you simply do rename foo bar foo*.log, and voila, a thousand files are changed in an instant! Pretty cool. Check out the man rename page again for details.






share|improve this answer






























    -1














    mv moves or renames files and directories and will back them up; rename just renames files.



    mv has more capabilities and options. Look at the switches in the man pages for each to see the differences in capabilities. Let's take a look using man in Ubuntu 18.04LTS (your mileage may vary depending on the version of each package):



    mv options (omitting help and version)



     --backup[=CONTROL] 
    make a backup of each existing destination file

    -b like --backup but does not accept an argument

    -f, --force
    do not prompt before overwriting

    -i, --interactive
    prompt before overwrite

    -n, --no-clobber
    do not overwrite an existing file

    If you specify more than one of -i, -f, -n, only the final one takes effect.

    --strip-trailing-slashes
    remove any trailing slashes from each SOURCE argument

    -S, --suffix=SUFFIX
    override the usual backup suffix

    -t, --target-directory=DIRECTORY
    move all SOURCE arguments into DIRECTORY

    -T, --no-target-directory
    treat DEST as a normal file

    -u, --update
    move only when the SOURCE file is newer than the destination file or when the destination file is missing

    -v, --verbose
    explain what is being done

    -Z, --context
    set SELinux security context of destination file to default type


    rename options (omitting help and version)



     -s, --symlink 
    Do not rename a symlink but its target.

    -v, --verbose
    Show which files where renamed, if any.

    -n, --no-act
    Do not make any changes.

    -o, --no-overwrite
    Do not overwrite existing files.





    share|improve this answer




















    • 3





      Define 'more powerful'. Does mv support regex like rename ?

      – Gilles Quenot
      Apr 4 at 18:24












    • As the questioner stated, no.

      – K7AAY
      Apr 4 at 18:38






    • 2





      Wow, what an argument

      – Gilles Quenot
      Apr 4 at 18:46






    • 1





      Giving credit where credit is due.

      – K7AAY
      Apr 4 at 18:54











    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
    );



    );






    Urda 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%2f510553%2fwhats-the-difference-between-rename-and-mv%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    4 Answers
    4






    active

    oldest

    votes








    4 Answers
    4






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    16














    It's basically what it says on the lid, for both.



    mv is a standard utility to move one or more files to a given target. It can be used to rename a file, if there's only one file to move. If there are several, mv only works if the target is directory, and moves the files there.



    So mv foo bar will either move the file foo to the directory bar (if it exists), or rename foo to bar (if bar doesn't exist or isn't a directory). mv foo1 foo2 bar will just move both files to directory bar, or complain if bar isn't a directory.



    mv will call the rename() C library function to move the files, and if that doesn't work (they're being moved to another filesystem), it will copy the files and remove the originals.



    If all you have is mv and you want to rename multiple files, you'll have to use a shell loop. There are a number of questions on that here on the site, see e.g. this, this, and others.




    On the other hand, the various rename utilities rename files, individually.



    The rename from util-linux which you mention makes a simple string substitution, e.g. rename foo bar * would change foobar to barbar, and asdffoo to asdfbar. It does not, however, take a regular expression!



    The Perl rename utility (or various instances of it) takes a Perl expression to transform the filenames. One will most likely use an s/pattern/replacement/ command, where the pattern is a regular expression.



    Both the util-linux rename and the Perl rename can be used to move files to another directory at the same time, by making appropriate changes to the file name, but it's a bit awkward. Neither does more than call rename() on the files, so moving from one filesystem to another does not work.



    As for which rename you have, it may depend on your distribution, and/or what you have installed. Most of them support rename --version, so use that to identify which one you have.






    share|improve this answer

























    • Not only 'regular expression' but function if need it

      – Gilles Quenot
      Apr 4 at 22:38












    • @GillesQuenot, well, yeah, you could do e.g. rename '$_=lc' * to lowercase filenames. But I think the most common case is to use s/// (which I mentioned) and the pattern part of it is a regex; I don't think you can use a function there. You could do it in the replacement part, though.

      – ilkkachu
      Apr 5 at 8:35
















    16














    It's basically what it says on the lid, for both.



    mv is a standard utility to move one or more files to a given target. It can be used to rename a file, if there's only one file to move. If there are several, mv only works if the target is directory, and moves the files there.



    So mv foo bar will either move the file foo to the directory bar (if it exists), or rename foo to bar (if bar doesn't exist or isn't a directory). mv foo1 foo2 bar will just move both files to directory bar, or complain if bar isn't a directory.



    mv will call the rename() C library function to move the files, and if that doesn't work (they're being moved to another filesystem), it will copy the files and remove the originals.



    If all you have is mv and you want to rename multiple files, you'll have to use a shell loop. There are a number of questions on that here on the site, see e.g. this, this, and others.




    On the other hand, the various rename utilities rename files, individually.



    The rename from util-linux which you mention makes a simple string substitution, e.g. rename foo bar * would change foobar to barbar, and asdffoo to asdfbar. It does not, however, take a regular expression!



    The Perl rename utility (or various instances of it) takes a Perl expression to transform the filenames. One will most likely use an s/pattern/replacement/ command, where the pattern is a regular expression.



    Both the util-linux rename and the Perl rename can be used to move files to another directory at the same time, by making appropriate changes to the file name, but it's a bit awkward. Neither does more than call rename() on the files, so moving from one filesystem to another does not work.



    As for which rename you have, it may depend on your distribution, and/or what you have installed. Most of them support rename --version, so use that to identify which one you have.






    share|improve this answer

























    • Not only 'regular expression' but function if need it

      – Gilles Quenot
      Apr 4 at 22:38












    • @GillesQuenot, well, yeah, you could do e.g. rename '$_=lc' * to lowercase filenames. But I think the most common case is to use s/// (which I mentioned) and the pattern part of it is a regex; I don't think you can use a function there. You could do it in the replacement part, though.

      – ilkkachu
      Apr 5 at 8:35














    16












    16








    16







    It's basically what it says on the lid, for both.



    mv is a standard utility to move one or more files to a given target. It can be used to rename a file, if there's only one file to move. If there are several, mv only works if the target is directory, and moves the files there.



    So mv foo bar will either move the file foo to the directory bar (if it exists), or rename foo to bar (if bar doesn't exist or isn't a directory). mv foo1 foo2 bar will just move both files to directory bar, or complain if bar isn't a directory.



    mv will call the rename() C library function to move the files, and if that doesn't work (they're being moved to another filesystem), it will copy the files and remove the originals.



    If all you have is mv and you want to rename multiple files, you'll have to use a shell loop. There are a number of questions on that here on the site, see e.g. this, this, and others.




    On the other hand, the various rename utilities rename files, individually.



    The rename from util-linux which you mention makes a simple string substitution, e.g. rename foo bar * would change foobar to barbar, and asdffoo to asdfbar. It does not, however, take a regular expression!



    The Perl rename utility (or various instances of it) takes a Perl expression to transform the filenames. One will most likely use an s/pattern/replacement/ command, where the pattern is a regular expression.



    Both the util-linux rename and the Perl rename can be used to move files to another directory at the same time, by making appropriate changes to the file name, but it's a bit awkward. Neither does more than call rename() on the files, so moving from one filesystem to another does not work.



    As for which rename you have, it may depend on your distribution, and/or what you have installed. Most of them support rename --version, so use that to identify which one you have.






    share|improve this answer















    It's basically what it says on the lid, for both.



    mv is a standard utility to move one or more files to a given target. It can be used to rename a file, if there's only one file to move. If there are several, mv only works if the target is directory, and moves the files there.



    So mv foo bar will either move the file foo to the directory bar (if it exists), or rename foo to bar (if bar doesn't exist or isn't a directory). mv foo1 foo2 bar will just move both files to directory bar, or complain if bar isn't a directory.



    mv will call the rename() C library function to move the files, and if that doesn't work (they're being moved to another filesystem), it will copy the files and remove the originals.



    If all you have is mv and you want to rename multiple files, you'll have to use a shell loop. There are a number of questions on that here on the site, see e.g. this, this, and others.




    On the other hand, the various rename utilities rename files, individually.



    The rename from util-linux which you mention makes a simple string substitution, e.g. rename foo bar * would change foobar to barbar, and asdffoo to asdfbar. It does not, however, take a regular expression!



    The Perl rename utility (or various instances of it) takes a Perl expression to transform the filenames. One will most likely use an s/pattern/replacement/ command, where the pattern is a regular expression.



    Both the util-linux rename and the Perl rename can be used to move files to another directory at the same time, by making appropriate changes to the file name, but it's a bit awkward. Neither does more than call rename() on the files, so moving from one filesystem to another does not work.



    As for which rename you have, it may depend on your distribution, and/or what you have installed. Most of them support rename --version, so use that to identify which one you have.







    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited Apr 5 at 14:05

























    answered Apr 4 at 20:36









    ilkkachuilkkachu

    63.3k10104181




    63.3k10104181












    • Not only 'regular expression' but function if need it

      – Gilles Quenot
      Apr 4 at 22:38












    • @GillesQuenot, well, yeah, you could do e.g. rename '$_=lc' * to lowercase filenames. But I think the most common case is to use s/// (which I mentioned) and the pattern part of it is a regex; I don't think you can use a function there. You could do it in the replacement part, though.

      – ilkkachu
      Apr 5 at 8:35


















    • Not only 'regular expression' but function if need it

      – Gilles Quenot
      Apr 4 at 22:38












    • @GillesQuenot, well, yeah, you could do e.g. rename '$_=lc' * to lowercase filenames. But I think the most common case is to use s/// (which I mentioned) and the pattern part of it is a regex; I don't think you can use a function there. You could do it in the replacement part, though.

      – ilkkachu
      Apr 5 at 8:35

















    Not only 'regular expression' but function if need it

    – Gilles Quenot
    Apr 4 at 22:38






    Not only 'regular expression' but function if need it

    – Gilles Quenot
    Apr 4 at 22:38














    @GillesQuenot, well, yeah, you could do e.g. rename '$_=lc' * to lowercase filenames. But I think the most common case is to use s/// (which I mentioned) and the pattern part of it is a regex; I don't think you can use a function there. You could do it in the replacement part, though.

    – ilkkachu
    Apr 5 at 8:35






    @GillesQuenot, well, yeah, you could do e.g. rename '$_=lc' * to lowercase filenames. But I think the most common case is to use s/// (which I mentioned) and the pattern part of it is a regex; I don't think you can use a function there. You could do it in the replacement part, though.

    – ilkkachu
    Apr 5 at 8:35














    2














    mv



    It's a basic command line designed to do one thing and do it well (Unix philosophy) : move file(s) or directorie(s).



    You can hack STDOUT & STDIN¹ to modify on the fly the destination string, but it's just not a smart hack



    rename (Perl's one)



    warningThere are other tools with the same name which may or may not be able to do this, so be careful.



    When people talk about rename, we think about this one, not the ELF one, less powerful (magic?).



    It's not basic, it's Perl. You can pass some Perl's functions inside, and it's extremely powerful.



    Consider this example :



    You want to rename a bunch of files like



    foobar_1.txt
    foobar_2.txt
    foobar_3.txt


    You can prepend zeros to the digits with sprintf() like this (using regex, heh, it's Perl :D ) :



    rename 's/(d+)/sprintf("%04d", $1)/e' foobar_*.txt


    Now you have :



    foobar_0001.txt
    foobar_0002.txt
    foobar_0003.txt


    Not really a basic command, isn't it ?



    rename is not really designed to move dir(s), but it can do it :



    $ mkdir -p /tmp/foo/bar/base
    $ touch /tmp/foo/bar/base/file
    $ rename 's!/tmp/foo/bar/base/file!/tmp/file!' /tmp/foo/bar/base/file


    The moved file



    /tmp/file



    ¹ some code we see on *.stackexchange.* websites



    enter image description here



    for FILE in `ls *.txt`
    do
    mv $FILE `echo $FILE | sed 's/anything_ugly/anything_still_ugly/'`
    done


    It's not the way to go, it's plain buggy, just to explain why to use the right tool at the right moment






    share|improve this answer

























    • +1 for sprintfing with rename

      – Archemar
      Apr 4 at 19:30















    2














    mv



    It's a basic command line designed to do one thing and do it well (Unix philosophy) : move file(s) or directorie(s).



    You can hack STDOUT & STDIN¹ to modify on the fly the destination string, but it's just not a smart hack



    rename (Perl's one)



    warningThere are other tools with the same name which may or may not be able to do this, so be careful.



    When people talk about rename, we think about this one, not the ELF one, less powerful (magic?).



    It's not basic, it's Perl. You can pass some Perl's functions inside, and it's extremely powerful.



    Consider this example :



    You want to rename a bunch of files like



    foobar_1.txt
    foobar_2.txt
    foobar_3.txt


    You can prepend zeros to the digits with sprintf() like this (using regex, heh, it's Perl :D ) :



    rename 's/(d+)/sprintf("%04d", $1)/e' foobar_*.txt


    Now you have :



    foobar_0001.txt
    foobar_0002.txt
    foobar_0003.txt


    Not really a basic command, isn't it ?



    rename is not really designed to move dir(s), but it can do it :



    $ mkdir -p /tmp/foo/bar/base
    $ touch /tmp/foo/bar/base/file
    $ rename 's!/tmp/foo/bar/base/file!/tmp/file!' /tmp/foo/bar/base/file


    The moved file



    /tmp/file



    ¹ some code we see on *.stackexchange.* websites



    enter image description here



    for FILE in `ls *.txt`
    do
    mv $FILE `echo $FILE | sed 's/anything_ugly/anything_still_ugly/'`
    done


    It's not the way to go, it's plain buggy, just to explain why to use the right tool at the right moment






    share|improve this answer

























    • +1 for sprintfing with rename

      – Archemar
      Apr 4 at 19:30













    2












    2








    2







    mv



    It's a basic command line designed to do one thing and do it well (Unix philosophy) : move file(s) or directorie(s).



    You can hack STDOUT & STDIN¹ to modify on the fly the destination string, but it's just not a smart hack



    rename (Perl's one)



    warningThere are other tools with the same name which may or may not be able to do this, so be careful.



    When people talk about rename, we think about this one, not the ELF one, less powerful (magic?).



    It's not basic, it's Perl. You can pass some Perl's functions inside, and it's extremely powerful.



    Consider this example :



    You want to rename a bunch of files like



    foobar_1.txt
    foobar_2.txt
    foobar_3.txt


    You can prepend zeros to the digits with sprintf() like this (using regex, heh, it's Perl :D ) :



    rename 's/(d+)/sprintf("%04d", $1)/e' foobar_*.txt


    Now you have :



    foobar_0001.txt
    foobar_0002.txt
    foobar_0003.txt


    Not really a basic command, isn't it ?



    rename is not really designed to move dir(s), but it can do it :



    $ mkdir -p /tmp/foo/bar/base
    $ touch /tmp/foo/bar/base/file
    $ rename 's!/tmp/foo/bar/base/file!/tmp/file!' /tmp/foo/bar/base/file


    The moved file



    /tmp/file



    ¹ some code we see on *.stackexchange.* websites



    enter image description here



    for FILE in `ls *.txt`
    do
    mv $FILE `echo $FILE | sed 's/anything_ugly/anything_still_ugly/'`
    done


    It's not the way to go, it's plain buggy, just to explain why to use the right tool at the right moment






    share|improve this answer















    mv



    It's a basic command line designed to do one thing and do it well (Unix philosophy) : move file(s) or directorie(s).



    You can hack STDOUT & STDIN¹ to modify on the fly the destination string, but it's just not a smart hack



    rename (Perl's one)



    warningThere are other tools with the same name which may or may not be able to do this, so be careful.



    When people talk about rename, we think about this one, not the ELF one, less powerful (magic?).



    It's not basic, it's Perl. You can pass some Perl's functions inside, and it's extremely powerful.



    Consider this example :



    You want to rename a bunch of files like



    foobar_1.txt
    foobar_2.txt
    foobar_3.txt


    You can prepend zeros to the digits with sprintf() like this (using regex, heh, it's Perl :D ) :



    rename 's/(d+)/sprintf("%04d", $1)/e' foobar_*.txt


    Now you have :



    foobar_0001.txt
    foobar_0002.txt
    foobar_0003.txt


    Not really a basic command, isn't it ?



    rename is not really designed to move dir(s), but it can do it :



    $ mkdir -p /tmp/foo/bar/base
    $ touch /tmp/foo/bar/base/file
    $ rename 's!/tmp/foo/bar/base/file!/tmp/file!' /tmp/foo/bar/base/file


    The moved file



    /tmp/file



    ¹ some code we see on *.stackexchange.* websites



    enter image description here



    for FILE in `ls *.txt`
    do
    mv $FILE `echo $FILE | sed 's/anything_ugly/anything_still_ugly/'`
    done


    It's not the way to go, it's plain buggy, just to explain why to use the right tool at the right moment







    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited Apr 5 at 3:21

























    answered Apr 4 at 19:18









    Gilles QuenotGilles Quenot

    16.5k14054




    16.5k14054












    • +1 for sprintfing with rename

      – Archemar
      Apr 4 at 19:30

















    • +1 for sprintfing with rename

      – Archemar
      Apr 4 at 19:30
















    +1 for sprintfing with rename

    – Archemar
    Apr 4 at 19:30





    +1 for sprintfing with rename

    – Archemar
    Apr 4 at 19:30











    1














    mv simply changes the name of the file (it can also move it to another filesystem or path). You give it an old name and a new name, and it changes the file to the new name or location. rename is used to make bulk naming changes. Say you had a thousand files, foo000.log through foo999.log and you wanted to change them to bar000.log through bar999.log. With mv you'd have to do mv foo000.log bar000.log, mv foo001 bar001.log, etc. or else write a script. With rename you simply do rename foo bar foo*.log, and voila, a thousand files are changed in an instant! Pretty cool. Check out the man rename page again for details.






    share|improve this answer



























      1














      mv simply changes the name of the file (it can also move it to another filesystem or path). You give it an old name and a new name, and it changes the file to the new name or location. rename is used to make bulk naming changes. Say you had a thousand files, foo000.log through foo999.log and you wanted to change them to bar000.log through bar999.log. With mv you'd have to do mv foo000.log bar000.log, mv foo001 bar001.log, etc. or else write a script. With rename you simply do rename foo bar foo*.log, and voila, a thousand files are changed in an instant! Pretty cool. Check out the man rename page again for details.






      share|improve this answer

























        1












        1








        1







        mv simply changes the name of the file (it can also move it to another filesystem or path). You give it an old name and a new name, and it changes the file to the new name or location. rename is used to make bulk naming changes. Say you had a thousand files, foo000.log through foo999.log and you wanted to change them to bar000.log through bar999.log. With mv you'd have to do mv foo000.log bar000.log, mv foo001 bar001.log, etc. or else write a script. With rename you simply do rename foo bar foo*.log, and voila, a thousand files are changed in an instant! Pretty cool. Check out the man rename page again for details.






        share|improve this answer













        mv simply changes the name of the file (it can also move it to another filesystem or path). You give it an old name and a new name, and it changes the file to the new name or location. rename is used to make bulk naming changes. Say you had a thousand files, foo000.log through foo999.log and you wanted to change them to bar000.log through bar999.log. With mv you'd have to do mv foo000.log bar000.log, mv foo001 bar001.log, etc. or else write a script. With rename you simply do rename foo bar foo*.log, and voila, a thousand files are changed in an instant! Pretty cool. Check out the man rename page again for details.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Apr 4 at 20:38









        eewancoeewanco

        310212




        310212





















            -1














            mv moves or renames files and directories and will back them up; rename just renames files.



            mv has more capabilities and options. Look at the switches in the man pages for each to see the differences in capabilities. Let's take a look using man in Ubuntu 18.04LTS (your mileage may vary depending on the version of each package):



            mv options (omitting help and version)



             --backup[=CONTROL] 
            make a backup of each existing destination file

            -b like --backup but does not accept an argument

            -f, --force
            do not prompt before overwriting

            -i, --interactive
            prompt before overwrite

            -n, --no-clobber
            do not overwrite an existing file

            If you specify more than one of -i, -f, -n, only the final one takes effect.

            --strip-trailing-slashes
            remove any trailing slashes from each SOURCE argument

            -S, --suffix=SUFFIX
            override the usual backup suffix

            -t, --target-directory=DIRECTORY
            move all SOURCE arguments into DIRECTORY

            -T, --no-target-directory
            treat DEST as a normal file

            -u, --update
            move only when the SOURCE file is newer than the destination file or when the destination file is missing

            -v, --verbose
            explain what is being done

            -Z, --context
            set SELinux security context of destination file to default type


            rename options (omitting help and version)



             -s, --symlink 
            Do not rename a symlink but its target.

            -v, --verbose
            Show which files where renamed, if any.

            -n, --no-act
            Do not make any changes.

            -o, --no-overwrite
            Do not overwrite existing files.





            share|improve this answer




















            • 3





              Define 'more powerful'. Does mv support regex like rename ?

              – Gilles Quenot
              Apr 4 at 18:24












            • As the questioner stated, no.

              – K7AAY
              Apr 4 at 18:38






            • 2





              Wow, what an argument

              – Gilles Quenot
              Apr 4 at 18:46






            • 1





              Giving credit where credit is due.

              – K7AAY
              Apr 4 at 18:54















            -1














            mv moves or renames files and directories and will back them up; rename just renames files.



            mv has more capabilities and options. Look at the switches in the man pages for each to see the differences in capabilities. Let's take a look using man in Ubuntu 18.04LTS (your mileage may vary depending on the version of each package):



            mv options (omitting help and version)



             --backup[=CONTROL] 
            make a backup of each existing destination file

            -b like --backup but does not accept an argument

            -f, --force
            do not prompt before overwriting

            -i, --interactive
            prompt before overwrite

            -n, --no-clobber
            do not overwrite an existing file

            If you specify more than one of -i, -f, -n, only the final one takes effect.

            --strip-trailing-slashes
            remove any trailing slashes from each SOURCE argument

            -S, --suffix=SUFFIX
            override the usual backup suffix

            -t, --target-directory=DIRECTORY
            move all SOURCE arguments into DIRECTORY

            -T, --no-target-directory
            treat DEST as a normal file

            -u, --update
            move only when the SOURCE file is newer than the destination file or when the destination file is missing

            -v, --verbose
            explain what is being done

            -Z, --context
            set SELinux security context of destination file to default type


            rename options (omitting help and version)



             -s, --symlink 
            Do not rename a symlink but its target.

            -v, --verbose
            Show which files where renamed, if any.

            -n, --no-act
            Do not make any changes.

            -o, --no-overwrite
            Do not overwrite existing files.





            share|improve this answer




















            • 3





              Define 'more powerful'. Does mv support regex like rename ?

              – Gilles Quenot
              Apr 4 at 18:24












            • As the questioner stated, no.

              – K7AAY
              Apr 4 at 18:38






            • 2





              Wow, what an argument

              – Gilles Quenot
              Apr 4 at 18:46






            • 1





              Giving credit where credit is due.

              – K7AAY
              Apr 4 at 18:54













            -1












            -1








            -1







            mv moves or renames files and directories and will back them up; rename just renames files.



            mv has more capabilities and options. Look at the switches in the man pages for each to see the differences in capabilities. Let's take a look using man in Ubuntu 18.04LTS (your mileage may vary depending on the version of each package):



            mv options (omitting help and version)



             --backup[=CONTROL] 
            make a backup of each existing destination file

            -b like --backup but does not accept an argument

            -f, --force
            do not prompt before overwriting

            -i, --interactive
            prompt before overwrite

            -n, --no-clobber
            do not overwrite an existing file

            If you specify more than one of -i, -f, -n, only the final one takes effect.

            --strip-trailing-slashes
            remove any trailing slashes from each SOURCE argument

            -S, --suffix=SUFFIX
            override the usual backup suffix

            -t, --target-directory=DIRECTORY
            move all SOURCE arguments into DIRECTORY

            -T, --no-target-directory
            treat DEST as a normal file

            -u, --update
            move only when the SOURCE file is newer than the destination file or when the destination file is missing

            -v, --verbose
            explain what is being done

            -Z, --context
            set SELinux security context of destination file to default type


            rename options (omitting help and version)



             -s, --symlink 
            Do not rename a symlink but its target.

            -v, --verbose
            Show which files where renamed, if any.

            -n, --no-act
            Do not make any changes.

            -o, --no-overwrite
            Do not overwrite existing files.





            share|improve this answer















            mv moves or renames files and directories and will back them up; rename just renames files.



            mv has more capabilities and options. Look at the switches in the man pages for each to see the differences in capabilities. Let's take a look using man in Ubuntu 18.04LTS (your mileage may vary depending on the version of each package):



            mv options (omitting help and version)



             --backup[=CONTROL] 
            make a backup of each existing destination file

            -b like --backup but does not accept an argument

            -f, --force
            do not prompt before overwriting

            -i, --interactive
            prompt before overwrite

            -n, --no-clobber
            do not overwrite an existing file

            If you specify more than one of -i, -f, -n, only the final one takes effect.

            --strip-trailing-slashes
            remove any trailing slashes from each SOURCE argument

            -S, --suffix=SUFFIX
            override the usual backup suffix

            -t, --target-directory=DIRECTORY
            move all SOURCE arguments into DIRECTORY

            -T, --no-target-directory
            treat DEST as a normal file

            -u, --update
            move only when the SOURCE file is newer than the destination file or when the destination file is missing

            -v, --verbose
            explain what is being done

            -Z, --context
            set SELinux security context of destination file to default type


            rename options (omitting help and version)



             -s, --symlink 
            Do not rename a symlink but its target.

            -v, --verbose
            Show which files where renamed, if any.

            -n, --no-act
            Do not make any changes.

            -o, --no-overwrite
            Do not overwrite existing files.






            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited Apr 4 at 18:24

























            answered Apr 4 at 18:04









            K7AAYK7AAY

            1,0221028




            1,0221028







            • 3





              Define 'more powerful'. Does mv support regex like rename ?

              – Gilles Quenot
              Apr 4 at 18:24












            • As the questioner stated, no.

              – K7AAY
              Apr 4 at 18:38






            • 2





              Wow, what an argument

              – Gilles Quenot
              Apr 4 at 18:46






            • 1





              Giving credit where credit is due.

              – K7AAY
              Apr 4 at 18:54












            • 3





              Define 'more powerful'. Does mv support regex like rename ?

              – Gilles Quenot
              Apr 4 at 18:24












            • As the questioner stated, no.

              – K7AAY
              Apr 4 at 18:38






            • 2





              Wow, what an argument

              – Gilles Quenot
              Apr 4 at 18:46






            • 1





              Giving credit where credit is due.

              – K7AAY
              Apr 4 at 18:54







            3




            3





            Define 'more powerful'. Does mv support regex like rename ?

            – Gilles Quenot
            Apr 4 at 18:24






            Define 'more powerful'. Does mv support regex like rename ?

            – Gilles Quenot
            Apr 4 at 18:24














            As the questioner stated, no.

            – K7AAY
            Apr 4 at 18:38





            As the questioner stated, no.

            – K7AAY
            Apr 4 at 18:38




            2




            2





            Wow, what an argument

            – Gilles Quenot
            Apr 4 at 18:46





            Wow, what an argument

            – Gilles Quenot
            Apr 4 at 18:46




            1




            1





            Giving credit where credit is due.

            – K7AAY
            Apr 4 at 18:54





            Giving credit where credit is due.

            – K7AAY
            Apr 4 at 18:54










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









            draft saved

            draft discarded


















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












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











            Urda 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%2f510553%2fwhats-the-difference-between-rename-and-mv%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

            Club Baloncesto Breogán Índice Historia | Pavillón | Nome | O Breogán na cultura popular | Xogadores | Adestradores | Presidentes | Palmarés | Historial | Líderes | Notas | Véxase tamén | Menú de navegacióncbbreogan.galCadroGuía oficial da ACB 2009-10, páxina 201Guía oficial ACB 1992, páxina 183. Editorial DB.É de 6.500 espectadores sentados axeitándose á última normativa"Estudiantes Junior, entre as mellores canteiras"o orixinalHemeroteca El Mundo Deportivo, 16 setembro de 1970, páxina 12Historia do BreogánAlfredo Pérez, o último canoneiroHistoria C.B. BreogánHemeroteca de El Mundo DeportivoJimmy Wright, norteamericano do Breogán deixará Lugo por ameazas de morteResultados de Breogán en 1986-87Resultados de Breogán en 1990-91Ficha de Velimir Perasović en acb.comResultados de Breogán en 1994-95Breogán arrasa al Barça. "El Mundo Deportivo", 27 de setembro de 1999, páxina 58CB Breogán - FC BarcelonaA FEB invita a participar nunha nova Liga EuropeaCharlie Bell na prensa estatalMáximos anotadores 2005Tempada 2005-06 : Tódolos Xogadores da Xornada""Non quero pensar nunha man negra, mais pregúntome que está a pasar""o orixinalRaúl López, orgulloso dos xogadores, presume da boa saúde económica do BreogánJulio González confirma que cesa como presidente del BreogánHomenaxe a Lisardo GómezA tempada do rexurdimento celesteEntrevista a Lisardo GómezEl COB dinamita el Pazo para forzar el quinto (69-73)Cafés Candelas, patrocinador del CB Breogán"Suso Lázare, novo presidente do Breogán"o orixinalCafés Candelas Breogán firma el mayor triunfo de la historiaEl Breogán realizará 17 homenajes por su cincuenta aniversario"O Breogán honra ao seu fundador e primeiro presidente"o orixinalMiguel Giao recibiu a homenaxe do PazoHomenaxe aos primeiros gladiadores celestesO home que nos amosa como ver o Breo co corazónTita Franco será homenaxeada polos #50anosdeBreoJulio Vila recibirá unha homenaxe in memoriam polos #50anosdeBreo"O Breogán homenaxeará aos seus aboados máis veteráns"Pechada ovación a «Capi» Sanmartín e Ricardo «Corazón de González»Homenaxe por décadas de informaciónPaco García volve ao Pazo con motivo do 50 aniversario"Resultados y clasificaciones""O Cafés Candelas Breogán, campión da Copa Princesa""O Cafés Candelas Breogán, equipo ACB"C.B. Breogán"Proxecto social"o orixinal"Centros asociados"o orixinalFicha en imdb.comMario Camus trata la recuperación del amor en 'La vieja música', su última película"Páxina web oficial""Club Baloncesto Breogán""C. B. Breogán S.A.D."eehttp://www.fegaba.com

            Vilaño, A Laracha Índice Patrimonio | Lugares e parroquias | Véxase tamén | Menú de navegación43°14′52″N 8°36′03″O / 43.24775, -8.60070

            Cegueira Índice Epidemioloxía | Deficiencia visual | Tipos de cegueira | Principais causas de cegueira | Tratamento | Técnicas de adaptación e axudas | Vida dos cegos | Primeiros auxilios | Crenzas respecto das persoas cegas | Crenzas das persoas cegas | O neno deficiente visual | Aspectos psicolóxicos da cegueira | Notas | Véxase tamén | Menú de navegación54.054.154.436928256blindnessDicionario da Real Academia GalegaPortal das Palabras"International Standards: Visual Standards — Aspects and Ranges of Vision Loss with Emphasis on Population Surveys.""Visual impairment and blindness""Presentan un plan para previr a cegueira"o orixinalACCDV Associació Catalana de Cecs i Disminuïts Visuals - PMFTrachoma"Effect of gene therapy on visual function in Leber's congenital amaurosis"1844137110.1056/NEJMoa0802268Cans guía - os mellores amigos dos cegosArquivadoEscola de cans guía para cegos en Mortágua, PortugalArquivado"Tecnología para ciegos y deficientes visuales. Recopilación de recursos gratuitos en la Red""Colorino""‘COL.diesis’, escuchar los sonidos del color""COL.diesis: Transforming Colour into Melody and Implementing the Result in a Colour Sensor Device"o orixinal"Sistema de desarrollo de sinestesia color-sonido para invidentes utilizando un protocolo de audio""Enseñanza táctil - geometría y color. Juegos didácticos para niños ciegos y videntes""Sistema Constanz"L'ocupació laboral dels cecs a l'Estat espanyol està pràcticament equiparada a la de les persones amb visió, entrevista amb Pedro ZuritaONCE (Organización Nacional de Cegos de España)Prevención da cegueiraDescrición de deficiencias visuais (Disc@pnet)Braillín, un boneco atractivo para calquera neno, con ou sen discapacidade, que permite familiarizarse co sistema de escritura e lectura brailleAxudas Técnicas36838ID00897494007150-90057129528256DOID:1432HP:0000618D001766C10.597.751.941.162C97109C0155020