Usage of '.' in MV command


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Usage of '.' in MV command
# 1  
Old 05-14-2016
Usage of '.' in MV command

Hi,

Could you please let me know, why we should not use '.' in move command, if we use it, is it something wrong.. Please share the details on it.

Code:
 
/home/rahualux/emp.csv /home/rahualux/details/employee_files/.

Or other example for mutlipile files

Code:
 
/home/rahualux/*.csv /home/rahualux/details/employee_files/.

# 2  
Old 05-14-2016
Every directory has a shorthand name to refer to itself. That special name is the `.' (dot) and it is a map to the inode of the directory.
It is quite useful when you are in a directory and you only have to enter a `.' to refer to where you are, instead of the whole path.
That's why people refer to the `.' as the "current directory". Or "`this' directory".

Using your example:
Code:
/home/rahualux/details/employee_files/.

It would be as saying: "`That' directory" and it doesn't make much sense, since you have to enter the full path already, including the name of the `that' employee_files directory.

In /home/rahualux/details, there can not be two inodes that has the same name, which means, there can NOT be a file named employee_files and a directory employee_files. Therefore, the trailing `/' in /home/rahualux/details/employee_files/ is not necessary.
mv knows that it is a directory.

To summarize the concepts using your example:
Code:
mv /home/rahualux/emp.csv /home/rahualux/details/employee_files

In human terms, it means, move the file emp.csv to employee_files, if employee_files is a directory, that directory gets a file named emp.csv, if employee_files is a file, that's what emp.csv would be called.

Code:
/home/rahualux/*.csv /home/rahualux/details/employee_files

employee_files has to be a directory, since multiple `anything.csv' can not be renamed to be called employee_files, due to the rule I mentioned before of "there can not be two inodes that have the same name, in the same directory"

Last edited by Aia; 05-14-2016 at 02:38 PM..
This User Gave Thanks to Aia For This Post:
# 3  
Old 05-14-2016
Thank you Aia,very useful.
# 4  
Old 05-14-2016
I agree with what Aia said, but there are cases where adding a "/." (or just "/") to the end of a pathname that is supposed to be a directory can be helpful. For example, with the command:
Code:
mv /home/rahualux/*.csv /home/rahualux/details/employee_files

it is true that mv will issue a diagnostic if /home/rahualux/*.csv expands to a list of more than one file if /home/rahualux/details/employee_files is not a directory; but if the *.csv only matches one file and employee_files does not exist (or is a non-directory file), the file matching *.csv will be copied to or linked to employee_files destroying its previous contents if there were any. While, under these circumstances, the command:
Code:
mv /home/rahualux/*.csv /home/rahualux/details/employee_files/

will get a diagnostic saying that employee_files is not a directory.

When I am typing a command into the shell to move a file into a directory, I usually add a trailing "/" on the directory name just to protect against typing mistakes. I tend not to do that in scripts if I am sure that the directory structure is safe. If the script I'm writing is moving files around in an file hierarchy where several people have write access and multiple people/processes might be rearranging files while the script is running, I frequently use a trailing "/" on the target directories so the script fails as soon as something goes wrong.

Whether or not you decide to add a "/" or "/." to the ends of directory names is something that will probably depend on your typing skills, how many times you lose a file by accidentally misspelling a directory name, how much pain you have gone through while trying to recover a file you accidentally lost due to typing mistakes, and how important the files you are moving at the moment are to you.
These 2 Users Gave Thanks to Don Cragun For This Post:
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Sort command usage

I have one file like this: NEW /ifs/SQL_Backups3/SQL_SharePoint1 NEW /ifs/SQL_Backups/SQL_SharePointThis can be easily sorted by the following command: cat file| sort -k3,3nBut I have another file like this: /Pool0/local/Benchmark /Pool0/local/CRAD /Pool0/local/crdhw/espresso_scratch1... (5 Replies)
Discussion started by: newbie2010
5 Replies

2. Shell Programming and Scripting

cp -v command usage?

I am trying to output a log file from cp usage. I think this can be achieved. In my code I have this. cp -i -v ~/files/* ~/backups/oldfiles/;; > ~/logs/logfile.logThe error I get is "syntax error near unexpected token '>' What am I missing? (7 Replies)
Discussion started by: gameinn
7 Replies

3. UNIX for Dummies Questions & Answers

sudo - command usage

Hi, I have few doubts regarding "sudo" command. It acutally allows access to other commands as a different user. It stands for "superuser do". Now, we execute a command as sudo su - oracle Can you please tell me what does it do actually, thank you. (6 Replies)
Discussion started by: Dev_Dev
6 Replies

4. Shell Programming and Scripting

Usage of prealloc command

hi please tell me the usage of prealloc command. (1 Reply)
Discussion started by: 2002anand
1 Replies

5. UNIX for Dummies Questions & Answers

Command to display the space usage (memory usage) of a specific directory.

Hi all, Can you please tell me the command, with which one can know the amount of space a specific directory has used. df -k . ---> Displays, the amount of space allocated, and used for a directory. du -k <dir name> - gives me the memory used of all the files inside <dir> But i... (2 Replies)
Discussion started by: abhisheksunkari
2 Replies

6. HP-UX

Glance command Usage

Hello We have used Glance command to check Cpu Uage , bit new to Glance command , HP-UXdev # glance B3692A GlancePlus C.03.71.00 18:21:16 nedunix2 9000/800 Current Avg High -------------------------------------------------------------------------------- CPU Util S SN NU | 43% 59%... (1 Reply)
Discussion started by: lukas_pise
1 Replies

7. AIX

How to monitor the IBM AIX server for I/O usage,memory usage,CPU usage,network..?

How to monitor the IBM AIX server for I/O usage, memory usage, CPU usage, network usage, storage usage? (3 Replies)
Discussion started by: laknar
3 Replies

8. HP-UX

how can I find cpu usage memory usage swap usage and logical volume usage

how can I find cpu usage memory usage swap usage and I want to know CPU usage above X% and contiue Y times and memory usage above X % and contiue Y times my final destination is monitor process logical volume usage above X % and number of Logical voluage above can I not to... (3 Replies)
Discussion started by: alert0919
3 Replies

9. UNIX for Dummies Questions & Answers

cksum command usage

Hi All, I am using cksum command in s script to check integrity of set of files transffred across the network. What are the advantages and disadvantages/limitations of this command? Is the byte count return reliable? What are the other alternatives I could use for this purpose? ... (2 Replies)
Discussion started by: Axis99
2 Replies

10. UNIX for Dummies Questions & Answers

file command usage

Hi, i would like to determine how many shell scripts are in a directory. Someone recommended me the file command, but i don't know how to use it in that way. anybody??? Thanks!!! (8 Replies)
Discussion started by: kfad
8 Replies
Login or Register to Ask a Question