Submit Hint Search The Forums LinksStatsPollsHeadlinesRSS
14,000 hints and counting!

Find duplicate files using the terminal UNIX
[Submitted by victory]

The following will search the current dir (and subdirs) for any files that contain identical content and are of identical size, regardless if they are named differently. Open a terminal shell, and 'cd' to the dir you want to search, then type:
find . -size 20 \! -type d -exec cksum {} \; | sort | tee /tmp/f.tmp | 
cut -f 1,2 -d ' ' | uniq -d | grep -hif - /tmp/f.tmp > dup.txt
[Editor's note: I inserted a carriage return for readability -- type the command on one line when entering it!]

This will produce a list of duplicate files (if any) in dup.txt. True there are some nicely written apps that will do the same thing, but ain't it great that you can do this right from within your OS?

Notes:
  • This will ignore files that are smaller than 10k. (remove/alter the '+size 20' to change this). But a warning: really small files may produced identical CRCs. i.e. show up as duplicates even if they really aren't.
  • If you want to search a filesystem you don't own (i.e. /) you'll need to sudo or su or 'find' will complain.
  • The built-in cksum cmd only uses CRC32. MD5 would be better. Anyone know why it's not enabled under OSX?
  • If you're gonna write a script to delete the duplicates from the produced dup.txt list, just remember that it contains ALL instances of the duplicate files.

  Post a comment  •  Comments (4)  
  • Currently 5.00 / 5
  • 1
  • 2
  • 3
  • 4
  • 5
  (1 vote cast)
 
[17,809 views] Email Article To a Friend View Printable Version
Execute shell scripts in the Finder UNIX
[Submitted by smhaunch]

I'm not sure if this has been reported before, but there is a simple (and quite slick) way of running shell scripts from the finder.

Simply append '.command' to the script name,e.g. test.command, when the script is double clicked from the Finder a terminal window will open and the script is excuted.

The script will of course need execute permissions (chmod ug+x will do the trick) in order to run.

Tip courtesy of Peter Fraterdeus at the O'Reilly Mac DevCenter.
  Post a comment  •  Comments (1)  
  • Currently 4.50 / 5
  • 1
  • 2
  • 3
  • 4
  • 5
  (8 votes cast)
 
[52,872 views] Email Article To a Friend View Printable Version
Cron and seti@home UNIX
This has become a major area of frustration for me. Specifically, I'm trying to get the command line version of setiathome to kick off on startup (and automatically if it goes down). In the past, I've had no problems with getting the Rhapsody version of seti@home running in a cron job, but that was before MacOS X as we know it came along. To make a long story short, I have tried every variation of users' crontabs to get this line in the cron execution pipe, and nothing seems to want to kick the process off. I have even resorted to Cronnix (excellent app) to get the job done. The line as it appears in my various crontabs:
0 * * * * cd [path to my seti dir here];[space]
./setiathome -nice 19 > /dev/console 2> /dev/console
[Editor's note: Line break inserted for readability; it's really one line, and replace '[space]' with a true space character.]

I'm on the verge of giving up, but postings on this site have given me hope (someone is making this command work).

Perhaps I'm missing something really obvious, but in any case, I need help. How do you make a cron job kick off? What am I missing -- or misunderstanding? Links to a good Cron or MacOS X (or FreeBSD) UNIX tutorial?
  Post a comment  •  Comments (10)  
  • Currently 0.00 / 5
  • 1
  • 2
  • 3
  • 4
  • 5
  (0 votes cast)
 
[2,988 views] Email Article To a Friend View Printable Version
Deleting or renaming badly named files UNIX
In the spirit of learning from others' mistakes, I'm sharing the following slightly embarassing story.

In the process of trying to use my web host's Linux OS "tar" command to compress a directory while excluding another, I managed to create a file called "-X". When I went to delete the mistakenly-named file, I quickly found myself stuck. Typing "rm -X" didn't work, because 'rm' interprets the "-" as the sign for a command-line switch, and it doesn't know what to do with "-X" as an option, leading to "unknown option" errors.

Thinking I was smarter than the box, I then tried to use the various UNIX quote characters to 'mark' the hyphen: rm "-X", rm \-X, and rm '-X'. None of these worked; each generated the same error message about unknown options. On my Mac, I would have simply used the GUI and dragged the file to the trash. On the Linux box, though, I was stumped - no GUI available, and a badly named file stuck in my directory.

One amusing ("You won't believe what I've done now...") call to a UNIX-knowledgeable friend provided two options. The first is to use two hyphens to let 'rm' know that there are no command-line switches: rm -- -X. The second is to refer to the file via its relationship to the parent directory: rm ./-X. Either of these will work just fine to delete the file (or you could use "mv" with the same syntax to rename it if you want to keep the file).

At least with OS X we have the option of using the GUI to correct our stupid mistakes! As such, there's an easy way out for X users ... but perhaps this story will save someone some command-line frustration at some point in the future. And please, all you advanced UNIX wizards out there, hold the snickering to a minimum! ;-)
  Post a comment  •  Comments (2)  
  • Currently 0.00 / 5
  • 1
  • 2
  • 3
  • 4
  • 5
  (0 votes cast)
 
[4,639 views] Email Article To a Friend View Printable Version
Ruby as an Apache CGI UNIX
Hello, I've sucessfully installed Ruby, a great newish scripting language. I recommend you try it out. Anyways, it works fine by itself, but I am having problems getting it to work as a script in Apache. I've installed mod_ruby, and have followed their directions. However, I can still not get it to work under Apache. Anyone had any luck?

Thanks,

-William
  Post a comment  •  Comments (1)  
  • Currently 0.00 / 5
  • 1
  • 2
  • 3
  • 4
  • 5
  (0 votes cast)
 
[6,096 views] Email Article To a Friend View Printable Version
Empty the trash via the command line UNIX
Opera was crashing on me constantly, so I decided to trash my Opera preferences. Little did I know (until I was emptying the trash) that my Opera prefs folder contained 38,000 items! After waiting for about 10 minutes, I still had 35,000 items left to empty. I decided to bail out and do it from the command line, where it took approximately 15 seconds! A simple rm -r * to empty my .Trash folder did the trick.

[Editor's note: If you're new to the terminal, be very careful with the 'rm' command. There is no going back, and there's no confirmation (by default). To do this safely, you should first type cd ~/.Trash (to make sure you're in your trash directory) and you may want to use rm -ri * which will ask for confirmation on each file. Although this won't be fast, you'll be confident you're deleting the right files before they're all gone! A wise friend once said to me that there are two types of UNIX users ... those that have "rm -r *"ed the wrong directory, and those that will...]
  Post a comment  •  Comments (3)  
  • Currently 2.60 / 5
  • 1
  • 2
  • 3
  • 4
  • 5
  (5 votes cast)
 
[20,796 views] Email Article To a Friend View Printable Version
PostgreSQL and PHP install tutorial UNIX
If you'd like to get PostgreSQL and PHP running on Mac OS X, the following tutorial should help. Please refer to my previous instructions on installing Apache, PHP, MySQL in this web site to make these instruction clearer.

- Vip Malixi.

[Read the rest of the article for the step-by-step instructions]
read more (464 words)   Post a comment  •  Comments (1)  
  • Currently 4.00 / 5
  • 1
  • 2
  • 3
  • 4
  • 5
  (1 vote cast)
 
[9,056 views] Email Article To a Friend View Printable Version
Setting up sendmail for SMTP usage UNIX
I managed to set up sendmail as SMTP and have it actually start up properly during boot-time. The instructions can be found here:
http://www.tijsseling.com/professional/xtipstop.html

It also explains why it did not work before.

Adriaan
  Post a comment  •  Comments (25)  
  • Currently 5.00 / 5
  • 1
  • 2
  • 3
  • 4
  • 5
  (1 vote cast)
 
[13,391 views] Email Article To a Friend View Printable Version
Using Pine (UNIX) for POP-based mail UNIX
[Editor's note: Submitted by phlbbrtn on Sat Jul 28]

I came to Macs from being a PC Linux user previously. One thing I have missed in the Macintosh world is my all-time favorite mail reader -- Pine. Pine is a plain-text Mail User Agent. It is designed to be used primarily on networked UNIX systems. Thus it is not set up to perform all the functions of Mail.app or Outlook Express. All you can do with it is read, write and send mail. It also has an Address Book. But for accessing your mail you need a Mail Transport system like Sendmail, Postfix, or Qmail. For POP mail accounts you need, in addition, something like Fetchmail to get your mail from your ISP.

I had been wondering, since installing OSX, if there was a way to use Pine in OSX -- as a Terminal program. The trouble with that is that you would have to make the effort to configure Sendmail [editor: and this has been described to me as one of the tougher things to do in UNIX!]. But mine is a single-user Mac with an ISP and a POP mail account. Sendmail is overkill. Yesterday I figured out how to do it.

Read the rest of the article if you'd like a step-by-step guide on how to install and use Pine with your POP-based email accounts.
read more (248 words)   Post a comment  •  Comments (18)  
  • Currently 0.00 / 5
  • 1
  • 2
  • 3
  • 4
  • 5
  (0 votes cast)
 
[8,991 views] Email Article To a Friend View Printable Version
Fun with the UNIX command interpreter UNIX
This is probably one of the oldest ones in the book, but for the new UNIX users out there...open a terminal and type "Bill Gates" (without the quotes) and read the response for OS X's opinion of what you're trying to do.

This friendly advice is due to the shell trying to 'correct' what it thought you might have typed incorrectly. There are probably hundreds of others like this, but this one seems to get the most notoriety, for obvious reasons.

[Submited by macgeek007 on Thu Jul 26.]
  Post a comment  •  Comments (2)  
  • Currently 0.00 / 5
  • 1
  • 2
  • 3
  • 4
  • 5
  (0 votes cast)
 
[3,734 views] Email Article To a Friend View Printable Version