02-21-2010
The cp command
The cp command does not work for directories with large number of files in them. I don't know what the upper limit is; I could probably find out with a lot of research. Also, the mv and rm commands do not work either under the same circumstance.
I suspect that the upper limit of the number of files that it can work on is 65536. I know that it is greater than 10,000 and less than 100,000. The 65536 is a SWAG number based on 26 years of Unix shell-scripting experience.
A number of years ago, our data warehouse people left more than 4194304 million small files in a single directory. I don't know exactly how many, but they used the entire inode table and its size was set at 4194304 per filesystem (hpux 11.0). I had to reboot the system from CDROM, alter the boot parameters and mount the offending filesystem to the RAM image. Only then could I descend the directory tree and find the overfilled directory. As the OP said, the cp command does not work on directories with that many entries in it. Neither do the rm or mv commands.
I cleaned up the filesystem by removing files. I had to use a for-do-done loop and remove only one file at a time; this took many hours.
The shell being used does not matter. Neither does the OS (particularly). It is the same cp command (or rm, or mv) regardless of the shell.
The tar syntax I quoted is in the man page on my AIX box. I've been using something similar to it for more than 20 years. It works.
10 More Discussions You Might Find Interesting
1. Solaris
I have a Solaris 8 Ultra 1 on my network that we use as a utility server.
The last command, which looks in the /var/adm/wtmpx file, is not working.
When I do a last, the latest entry is dated June 3, but the /var/adm/wtmpx file is dated whenever a login is successful (verified by typing a... (3 Replies)
Discussion started by: antalexi
3 Replies
2. Solaris
Hi,
I have installed opensolaris 10 in VMware. Everything is fine except ls command is not working. It is not displaying any files and directories. Sorry if the question is soo trivial. (8 Replies)
Discussion started by: mayahari
8 Replies
3. Shell Programming and Scripting
The below is a simple script, but doesnt work.
#!/bin/ksh
cat <<XYZ
-h help
-T Test (required)
-D Develop (required)
XYZ
Help is appreciated (5 Replies)
Discussion started by: pinnacle
5 Replies
4. UNIX for Advanced & Expert Users
I have three files a.txt , b.txt , c.txt in a directory called my_dir1 .These files were created before two or three months . I have a tar file called my_tar1.tar which contains three files a.txt , b.txt , d.txt . Somebody untarred the my_tar1.tar into my_dir1 directory. So existing two files were... (1 Reply)
Discussion started by: joe.mani
1 Replies
5. Shell Programming and Scripting
Hi everyone,
when executing this command in unix:
echo "WM7 Fatal Alerts:", $(cat query1.txt) > a.csvIt works fine, but running this command in a shell script gives an error saying that there's a syntax error.
here is content of my script:
tdbsrvr$ vi hc.sh
"hc.sh" 22 lines, 509... (4 Replies)
Discussion started by: 4dirk1
4 Replies
6. Shell Programming and Scripting
Hello.
I would like to ask your help regarding the cp command. We are using a cp command to create a back-up copy of our file but to no avail. It's just not working. We already checked the file and directory permissions and all seems correct.
We have a script (ftp.script) which calls on... (1 Reply)
Discussion started by: udelalv
1 Replies
7. Shell Programming and Scripting
What does the command do lpr -Pqpr *.jpg do ? (1 Reply)
Discussion started by: Nabeel Nazir
1 Replies
8. Shell Programming and Scripting
Hi All,
I am trying to select 30 days older files under current directory ,but not from subdirectory using below command.
find <Dir> -type f -mtime + 30
This command selecting all the files from current directory and also from sub directory .
I read some documention through internet ,... (1 Reply)
Discussion started by: kommineni
1 Replies
9. UNIX for Dummies Questions & Answers
Hi everyone
I have a problem with my script
If I try directly this command
/usr/bin/nice -n 19 mysqldump -u root --password="******" wiki_schneider -c | nice -n 19 gzip -9 > /point_de_montage/$(date '+%Y%m%d')-wiki-db.sql.gz
It works
But if I simply add this command in a script and... (8 Replies)
Discussion started by: picemma
8 Replies
10. Shell Programming and Scripting
Hello i am having an issue with bash script and this is the code
now=$(cat hosts1.txt | awk '{print $2;}')
while read n ;do
ssh root@$now 'useradd test1; echo -e "test1\ntest1" | passwd test1 && echo "test1 ALL=(ALL:ALL) ALL" >> /etc/sudoers'
When i execute only part with cat, it... (8 Replies)
Discussion started by: tomislav91
8 Replies
LEARN ABOUT ULTRIX
refile
refile(1mh) refile(1mh)
Name
refile - file message in other folders
Syntax
refile [ msgs ] [ +folder ] [ options ]
Description
Use the command to move the specified message from the current folder to another folder. You can refile messages in more than one folder
by giving multiple folder names as arguments.
If you do not specify a message, the current message is refiled. You can refile a message other than the current message by giving its
number as a msgs argument. You can also refile more than one message at a time by specifying more than one message number, or a range of
message numbers, or a message sequence. See for more information on sequences.
The current folder remains the same unless the -src option is specified; in that case, the source folder becomes current. Normally, the
last message specified becomes the current message. However, if the -link option is used, the current message is not changed.
If the Previous-Sequence: entry is set in the file, in addition to defining the named sequences from the source folder, will also define
those sequences for the destination folders. See for information concerning the previous sequence.
Options
-draft Refiles the draft message, or the current message in your folder, if you have one set up. You cannot give a msgs argument when
you use this option.
-file filename
Moves a file into a folder. This option takes a file from its directory and places it in the named folder, as the next message
in the folder. The file must be formatted as a legal mail message. This means that the message must have the minimum header
fields separated from the body of the message by a blank line or a line of dashes.
-help Prints a list of the valid options to this command.
-link
-nolink Keeps a copy of the message in the source folder. Normally, removes the messages from the original folder when it refiles them.
The -link option keeps a copy in the original folder, as well as filing a copy in the new folder.
-preserve
-nopreserve
Preserves the number of a message in the new folder. Normally, when a message is refiled in to another folder, it is set to the
next available number in that folder. The -preserve option keeps the number of the message the same in the new folder as it had
been in the old.
You cannot have two messages with the same number in one folder, so you should use this option with care.
-src +folder
Specifies the source folder to take messages from. Normally, messages are refiled from the current folder into another folder.
However, you can take messages from a different folder by using the -src +folder option to specify the alternative source folder.
Examples
The following example refiles messages 3 and 5 in the folder
% refile 3 5 +records
The next example files the current message into two folders:
% refile +jones +map
The next example takes message 13 in the current folder and refiles it in the folder. The message remains in the current folder as well as
appearing in the folder.
% refile -link 13 +test
The next example takes a message from the folder when it is not the current folder, and places it in the folder
% refile 3 -src +test +outbox
Profile Components
Path: To determine your Mail directory
Folder-Protect: To set protections when creating a new folder
rmmproc: Program to delete the message
Files
The user profile.
See Also
folder(1mh), mark(1mh), mh_profile(5mh)
refile(1mh)