Debian :: Contents Of Directory Gone After Accidentally Copying Symlin / Fix It?
Jan 17, 2011
While doing some tidying up, in the process of moving some directories off my temporary mint kde desktop, I lost the contents of an important data directory on my data partition. Just to try to explain a bit of background, I have been using mint kde4 as a stopgap measure until I got squeeze working again ( i have been having graphics problems) and had a symlink on the desktop to a /data directory on my data partition. As I just got squeeze working again, I was moving stuff that had accumulated on the mint desktop to a directory named /2010 in the /data directory on the data partition, but accidently copied/pasted the /data symlink along with the 3 other directories I had highlighted. So effectively, I was accidentally copying the /data symlink to /data/2010. For reasons I don't understand, the whole of the contents of the /data directory disappeared, and it is now totally empty. I thought, that cannot happen can it? So I opened gparted and sure enough, that partition, which previously had about 70 gb of data in the /data directory was empty apart from /lost+found and an odd text file I had stored there. The /data directory is still there, but empty. I shut down Mint and booted into squeeze, thinking it must be a mistake, but gparted shows it has all gone. How on earth can this happen? I have some of the data backed up but a fair bit of the recent stuff isn't, so I need to recover it. I hoped the file system check that happened when I booted back into squeeze would maybe repair anything that got broke, but it showed as clean during boot.
Is there a way to recreate all the folders from one directory to another without copying over the contents of the folder? I've been trying to do something like this,
Code:for i in `ls $X`; do mkdir $PATH/$i; doneUnfortunately $i is deliminated by whitespaces in the filenames and not the actual folders.
$X contains only other folders so I dont have to worry about regular files but any kind of more "advanced" solution would work.
I want to copy the contents of a directory through ssh. The problem I'm having is that I can use the cp -r terminal function, but that would cause the directory itself to also be copied. I just simply want whats inside to be copied to another directory. Because of the way I have my server laid out, I would have to copy the entire directory, then copy each element one by one inside that directory into the specified folder. This is really tedious. So, is there a way I can just copy its contents? I was thinking of zipping it, the unzipping it, but when you extract, it once again just creates a new directory, not the contents inside.
If this is confusing, this is what I'm trying to do: Directory: ../random/ Currently after scp -r:
I tried to use cp -r from root to copy the contents of /home to a different partition, but nothing got moved.
Here is my situation: I am maintaining a "public" (family) computer. On this computer I have a separate partition called "Family" that is a samba share for everyone on the network. Also on this computer I have the default /home directory.
Ideally, all files should be saved on the "family" share. The problem is that the home directory is called "family" (because the user is "family") and the share is also "family." That's a little too confusing for everyone.
So I'd like to copy everything to the share, and set that as the new home directory, so that all files by default are saved on the share, and can be accessed by everyone on our network.
What happened is that I first tried to set up the share as the home directory by following an ibm tutorial [URL]. Just after pressing enter on "cp -ax", I realized that the -ax might mean I was going to lose all the files in the current destination. The file transfer process took forever (keeping me biting my nails to see if I had really lost everything in the drive), but in the end the screen went blank, and the HD light stopped blinking, so I restarted, and everything was there. Completely unchanged, and not copied, either.
So I went back and copied it with cp -r. Same thing. Took a few minutes, but when all was said and done, nothing was changed.
I had used DELL 1950 with 300 GB raid disk. Now, I purchased Dell 2950 with 450 GB (6 disk - 3 pairs of raid). I wanted to pull out old 300 GB from 1950 and put it in 2950 (temporarily) to copy all contents to the new system. How do I know which HDDs I need to pull out from 2950 so that I can replace them with 300 GB HDD to mount. I do not know how raid setup (I know unix alone - not raid commands). Is this possible? How to do it?
When I run "ls -al somedir*" (I use the "ll" shortcut, actually), Linux not only list files that match, but also the contents of directories whose name also happens to match.Is there a way to limit "ls" so that it will only show names (files and directories) and ignore the contents of the directories?
I m having a RHEL-5 sever.ABC directory size is 57GB after taking backup in the same disk with name ABC.bkp showing 56GB. i used below command to copy/backup. # cp -r ABC ABC.bkp (different sizes after copying)..I checked both the directory sizes by #du -sh <ABC> and du -ks <ABC.bkp>In both GB and KB there is lots of difference (200mb). why this will happen in copying? what is the solution for above question? what is the correct way of copying 1dir to newdir exactly?
I would like to copy the contents of a directory into another. I don't want to copy the directory and all files and directories under it, but just the contents of the directory just as if it were a regular file. Doing cp -r target dest copies the directory and the entire hierarchy rooted in it. I get error if I do not include the -r option. (I am calling cp from within a C program.)
Is there a way to copy a directory (retaining the permissions and owners) without copying the contents of the directory?
If there is no such thing... then I need a way to determine if a target path is a file or a directory, and if it is a directory I need to make a new directory elsewhere that has the same name, owner and permissions.
Basically, I'm trying write a script to copy 200 GB of files over a network to a new server, and I'd like to do it by generating a list with the find command. That way, I can migrate large chunks of the files over the course of a week, and on the day of the migration generate a new list of files that changed in the last week and then copy just the chagned files over minimizing the down time. However, the list will contain directories that I can't just use the 'cp' command on because it will copy all the contents of the directory.
Is there a way to copy a directory without copying the contents, but preserving ownership, timestamp etc of that directory?
I've looked at the cp man page, but I don't think it supports it. I'm thinking one would have to write a script to gather the info, and then mkdir, chown and touch. Does this seam right?
How would i go about copying files to a directory, yet skip the files that already exist in the directory, and also remove the files that are in the directory. For example:
Code:
$ls /dir1 img001.jpg img002.jpg
[code]....
Now i would like to copy from dir1 to dir2, but the contents of dir2 would be:
This is the script I'm running tar tf some.tar somefolder_insidetar And output it's a list with all folders, files, and SUBDIRECTORY Files, the only thing I need it's just show the contents (folder and files) of the current directory choosed, not listing subdirectory files, or subdirectories inside subdirectories.
I'm having trouble copying a directory from one place to another in my build.xml file. I need to copy an image directory from the base directory (or root directory) to the dist directory so that it can be included in the jar file when I'm done compiling my java files.
The build/ and dist/ directories are created when I compile my java files from the src/ directory and img/ is where i have all my .png files which are needed for the program to display correctly.
how I can get my img/ directory in the jar file would be appreciated, I'm writing a poker application to generate statistics for poker hands post-flop, and on the turn, like pot odds, hand odds, poker odds, outs, etc, I got the gui working, all I have to do is get the buttons in the app working, but all my classes are written and are working fine.
I have a box with multiple users on it and I want everyone to be able to have full access to their home folders, but not be able to see the contents of /home/ or another user's home folder (I.E. bob has full access to /home/bob but cannot access or even see the contents of /home/john)Right now users can see other user's home folders but can't modify what's inside. How do I prevent them from seeing the contents at all?
I am just coming to GNOME from KDE where I used the folder view desktop widget to display the contents of ~ directory (/home/<user>) rather than the "Desktop" directory itself, as that's where all the stuff I wanted to access from the desktop was. Is there any way I can do this in GNOME with the actual desktop (as opposed to a widget)?
I've created other users in my machine. now I want to add all my home directory contents and settings to the home directory of other users. how can i do that? Can I do it from /etc/skel directory?
I am attempting to use the zip command with the '-x' option to exclude a folder e.g. 'zip upload.zip public_html -x public_html/jquery/*'. However, parts of this folder are still being added to the archive. I made a shell script (saved as 'compress.sh' and ran as '. compress.sh') to do the archiving so I could test adding nested wildards for multiple subfolder levels.
Code:
#!/bin/bash rm -f upload.zip zip -r upload.zip public_html -x public_html/jquery
[code]....
Each new line I added here that has the nested wildcards made the archive file size a bit smaller. Adding more /*'s than this didn't affect the file size. Even after all this though, there were still a couple megabytes of files and folders from the 'jquery' directory that were added to the archive.
Here's some examples of files and folders that were created after I unzipped the archive: public_html/jquery/js/tablesorter/addons/pager/icons [folder] public_html/jquery/js/tablesorter/addons/pager/.svn/entries [file] public_html/jquery/js/tablesorter/build/.svn/text-base/js.jar.svn-base [file]
Why is it that despite all the -x lines, the files and folders like these were still being added to the archive? How can I simply recursively exclude the entire public_html/jquery folder from the archive?
I have a server that I wanted to transfer it to a newer one both of them have CentOS but the newer one kernel is more up to date I wanted to know is it possible just to copy some directory contents exactly to another for transferring the server data (for example /var /usr /bin /home /etc). I have one website on my server with its mysql database
I've a directory containing around 2.8 lacs of files. I want to move them to another directory.If I use cp or mv then I get an error 'argument list too long'. If I write a script like
for file in ls *; do cp {source} to {destination} done
then because of ls command , its performance degrades.How can I do this?
I am getting ready to upgrade from Ubuntu 8.10 to 9,04 (I am a bit behind, I know). I just drag my home folder to a USB drive to back up and it should copy all the files (including hidden ones).
When I tried this, I get the error that Symbolic links cannot be created. Should I worry about this? Would this effect my backup in some fashion?
im thinking of copying my /home directory by just click & dragging it to my external usb hard drive. then do a fresh reinstall. then just replace the new /home directory with the one on my hard drive(old home directory) will it have my original programs i used to have and all my settings & stuff?
What I'm trying to do: write a script that will list all the directories in a given location. Ask the user to enter a number corresponding to the location of the directory in the list, and then moving into that directory.
I have written a script to do this, but it only works when I run it as: <user>$program_name and the script runs in a sub-shell. But, when it is run in a sub-shell, the changes made by the script go away after the script ends.
When I run it as: <user>$. program_name and the script runs in the current source shell, I get an error: bash: cd: /home/dev/Project/dirname: No such file of directory
Code: IFS=' ' read -d '' -a ArrName < <(ls ~/Projects) read filenumber cd $HOME/Projects/${ArrName[$filenumber]}
When I booted up this morning the contents of my Home directory are all showing up on my desktop, and there is no single Home folder. How did this change, and how can I change it back so that the Home folder is on my Desktop with the contents inside of *it*?