The UNIX and Linux Forums  
Hello and Welcome from United States to the UNIX and Linux Forums! Thank You for Visiting and Joining Our Global Community.

Go Back   The UNIX and Linux Forums > Top Forums > UNIX for Dummies Questions & Answers
.
google unix.com



UNIX for Dummies Questions & Answers If you're not sure where to post a UNIX or Linux question, post it here. All UNIX and Linux newbies welcome !!

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
Is there a limit to mget command? Raynon Shell Programming and Scripting 0 09-10-2007 02:24 AM
Limit of no of characters PER LINE in a unix file mohapatra Shell Programming and Scripting 5 10-10-2006 04:18 PM
grep line length limit hnhegde Shell Programming and Scripting 3 10-02-2006 11:47 AM
Limit command macdonto UNIX for Dummies Questions & Answers 1 10-21-2002 03:58 PM
sendmail message body buffer limit? Optimus_P UNIX for Dummies Questions & Answers 3 10-04-2001 09:13 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Powered by Powered by Google
 
LinkBack Thread Tools Search this Thread Rate Thread Display Modes
  #1 (permalink)  
Old 01-03-2003
kornshellmaven kornshellmaven is offline
Registered User
  
 

Join Date: Apr 2001
Posts: 25
Command line buffer limit?

Is there a limit (255 chars?) on the command line??

I'm trying to copy some generated java & class files from one dir to another and ID the old & new versions by:

find . -name FFSFIXADminCallbackBean.java

I then do a copy and paste of the source and target -
$ cp -p source target

It looks like my command gets truncated when it's executed...
(The directory structure is monstrous!!)

I'm running HPUX 11. Does this behave the same under Solaris 2.8?

Thanks,

John
  #2 (permalink)  
Old 01-03-2003
RTM's Avatar
RTM RTM is offline Forum Advisor  
Hog Hunter
  
 

Join Date: Apr 2002
Location: On my motorcycle
Posts: 3,039
Yes, there is a limit to the command line.

To 'get around' the limit, try installing a soft link which points to the directory you are trying to copy to (this should take care of the long directory structure)
  #3 (permalink)  
Old 01-04-2003
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Location: Ashburn, Virginia
Posts: 9,111
I think that you have some other problem. The various limits are found in <limits.h> or "man limits". The max length of a command line is 2048. A posix compliant OS may have a larger limit but it may not have a smaller limit. So you can depend on at least 2048. I often use commands longer than 255 characters on HP-UX.
  #4 (permalink)  
Old 01-06-2003
RTM's Avatar
RTM RTM is offline Forum Advisor  
Hog Hunter
  
 

Join Date: Apr 2002
Location: On my motorcycle
Posts: 3,039
Care to verify that Perderabo? When I read your post I figured you were correct since I mostly have to deal with Solaris and I know how many differences between the major UNIX brands.

But in trying to enter a continous 255+ command on the command line it dies a horrible death with a quite spectacular sounding of the "keyboard overflow" .... streaming beeps. (Yes, it was on HP-UX 11).

How are you creating 255+ character command lines? (For my education, thank you)

Would the limit you suggest still not have a problem with the find command that the poster submitted?
  #5 (permalink)  
Old 01-06-2003
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Location: Ashburn, Virginia
Posts: 9,111
As I test, I just signed in to an 11.0 box. Then I typed:
echo xxxxxxxxxxxx | wc -c
I actually held the x key for a long time. The result was 1988. I'm surprised that I got that close to 2048, I removed my finger from the x key when I estimated that I had about 500 characters. Oh well.

But maybe you made a similiar error? 255+ is a slippery term. Could you have had very much more than 255?

Even MAX_INPUT is 512. That means that you should be able to pre-type 512 characters and have them laying around in the terminal's input buffer ready to go for the next read the shell issues.

My usual means of generating very long command lines is something like:
gzip *
But I realized that I needed to explicitly type one in to really prove my point.

As for the find command itself, it clearly is ok. The OP had troubles building a subsequent command by cutting and pasting the output from the find command. I have no way of knowing how long the created command was.
  #6 (permalink)  
Old 01-07-2003
RTM's Avatar
RTM RTM is offline Forum Advisor  
Hog Hunter
  
 

Join Date: Apr 2002
Location: On my motorcycle
Posts: 3,039
Thanks Perderabo. I did two different commands (one to create a directory which I realized may have been a problem other than the 'limit' on command line) but both errored by beeping constantly and giving an error in the middle of the line.

On one, it cut a grep command and came back with "command not found" for "rep" and the other died along the same line (same number of characters).

cat passwd | grep h | grep o | grep m | grep e | grep a | grep i | grep o | grep 8 | grep 1 | grep 3 | grep 2 | grep 9 | grep "-" | grep S | grep b | grep l | grep t | grep L | grep 4 | grep d | grep r | grep 0 | grep V | grep I | grep abal | grep k | grep and | grep ers | grep eit | grep N | grep z | grep w | grep g | grep N
$ V | grep I | grep abal | grep k | grep <
usage: grep [-E|-F] [-c|-l|-q] [-bhinsvx] -e pattern_list...
[-f pattern_file...] [file...]
usage: grep [-E|-F] [-c|-l|-q] [-bhinsvx] [-e pattern_list...]
-f pattern_file... [file...]
usage: grep [-E|-F] [-c|-l|-q] [-bhinsvx] pattern [file...]

Note that when hitting return, it errors and gives back a prompt and includes the rest of the line as a start of a new command ($ V | grep 1 ....).

This is probably some other parameter set differently from one system to the next (or possibly shell) but I figured I would ask about it. I can also get the same response on Solaris even though I found some indication that the same information you suggested was true for it too. Ksh on HP and csh on Solaris. And for some reason I get a few more characters (about 40 ) on Solaris. The whole thing is strange and inconsistant.
  #7 (permalink)  
Old 01-07-2003
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Location: Ashburn, Virginia
Posts: 9,111
That sounds like flow control. Characters are arriving too fast for the driver to read them. Are you using a real terminal? If you're using a network connection, are you using rlogin? If so switch to telnet and repeat your test. Bear in mind that even if flow control is working properly, it is not directly connected to you. All it can do is beep and hope that you stop typing.
Closed Thread

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On




All times are GMT -4. The time now is 09:43 PM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios
The UNIX and Linux Forums Content Copyright ©1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant URLs by vBSEO 3.2.0