Welcome to the MacNN Forums.

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

You are here: MacNN Forums > Software - Troubleshooting and Discussion > macOS > Want to learn either Unix or Linux...

Want to learn either Unix or Linux...
Thread Tools
larrinski
Mac Enthusiast
Join Date: Sep 2005
Location: Canada... be nice, eh?
Status: Offline
Reply With Quote
Oct 13, 2005, 01:32 AM
 
My windows to Mac transformation is complete. I will never go back. However, I am starting to become interested in Terminal. It reminds me of when I used to use a Commodore 64, many many moons ago... I was told by a programmer that I should learn Linux 1st as it is easy to move to Unix after. But seeing that I run OSX Panther on a PowerPC it seems like a big hassle to install Linux when Unix is right here. Any suggestions?
     
andreadeca
Fresh-Faced Recruit
Join Date: May 2005
Status: Offline
Reply With Quote
Oct 13, 2005, 05:37 AM
 
Originally Posted by larrinski
My windows to Mac transformation is complete. I will never go back. However, I am starting to become interested in Terminal. It reminds me of when I used to use a Commodore 64, many many moons ago... I was told by a programmer that I should learn Linux 1st as it is easy to move to Unix after. But seeing that I run OSX Panther on a PowerPC it seems like a big hassle to install Linux when Unix is right here. Any suggestions?
Well, MacOSX, Unix and Linux are kind of the similar: the core systems are similar, most commands are very similar (identical, for the most part), so someone moving from unix to say, Linux or OSX will find himself easily at home.

However, there are quite a few differences in the way the Os are used: unix, for the most part, is used as a server system, MacOS as a workstation, and linux something in between. This makes a difference in the "experience" of the user and the procedures you'll use.
I would say you are better of starting with linux, then moving on to unix: you'll have more fun learning it as it is more similar to you macosX experience.

You can start by using a LiveCD distribution (there are several, ask in the Unix forum) or by installing linux on your mac (dangerous for a newbie though, you might losse you r macox system).

My best suggestion: get a crappy PC and put linux there.

In any case, move your request to the Unix forum, lots people will be able to help.

ciao,
Andrea
     
andreadeca
Fresh-Faced Recruit
Join Date: May 2005
Status: Offline
Reply With Quote
Oct 13, 2005, 05:40 AM
 
Sorry, I feel kinda stupid here... this IS the Unix forum!
     
OreoCookie
Moderator
Join Date: May 2001
Location: Hilbert space
Status: Offline
Reply With Quote
Oct 13, 2005, 08:41 AM
 
MacOS X has a full unix underpinning. Legally, neither OS X, Darwin nor Linux are unix (because it is a trademark), so sometimes they are called *nix.

With OS X, you don't need a Linux PC to learn what you would like to learn. Enjoy
I don't suffer from insanity, I enjoy every minute of it.
     
n0tjcs
Fresh-Faced Recruit
Join Date: Sep 2005
Status: Offline
Reply With Quote
Oct 13, 2005, 11:51 AM
 
Originally Posted by larrinski
My windows to Mac transformation is complete. I will never go back. However, I am starting to become interested in Terminal. It reminds me of when I used to use a Commodore 64, many many moons ago... I was told by a programmer that I should learn Linux 1st as it is easy to move to Unix after. But seeing that I run OSX Panther on a PowerPC it seems like a big hassle to install Linux when Unix is right here. Any suggestions?
what are you trying to learn? the majority of the things you'd use linux or a *bsd (freebsd, netbsd, openbsd) for are already available in mac os. basic shell operation and scripting, basic utilities (ls, cat, more/less, chmod, chown, etc.), ssh, development tools (perl, gcc, tcl, python, etc.), x11, etc.
     
outsourced
Forum Regular
Join Date: May 2005
Status: Offline
Reply With Quote
Oct 13, 2005, 12:07 PM
 
andreadeca: Sorry, I feel kinda stupid here... this IS the Unix forum!
Made ME look!

Anyway, I built a "crappy PC" with which to learn Linux. I downloaded the Fedora Core 4 distro, bought a 20 pound book, and proceeded to try to learn Linux.

My observations so far: 1) I can issue destructive commands without concern for my real data on OS X; 2) Linux is for uber-geeks and programmers; 3) I spent too much money building the bloody PC; 4) the book is not structured for learning Linux, although it's a great reference.; 5) I should have selected SuSE instead of Fedora.

Basically, I think I'll try to learn as much BSD-nix as I can on OS X, since I use OS X primarily anyway. Also, I'd like to get some Apple certifications. If I have some other reason to use Linux -- like setting up an Apache server to mirror my web hosts environment -- or something esoteric, I'll use the Linux system.

Hope this helps. Good luck to you.
Did Schroedinger's cat think outside the box?
     
larrinski  (op)
Mac Enthusiast
Join Date: Sep 2005
Location: Canada... be nice, eh?
Status: Offline
Reply With Quote
Oct 15, 2005, 11:57 PM
 
I am now taking some online unix tutorials & creating/moving files. I do have an external drive, I thought maybe I would try to install linux on there, as long as I can boot from the external. I will look for SuSE online after I get a little better at the Unix stuff. Thanks.
     
Gavin
Mac Elite
Join Date: Oct 2000
Location: Seattle
Status: Offline
Reply With Quote
Oct 19, 2005, 01:52 AM
 
I can think of a couple reasons to go with "linux on a cheap box"
1. you will learn a lot about the guts of the computer. A mac is like a mercedes, you never have to look under the hood, while a linux box is like a beater chevy - you're gonna need your toolbox.
2. You will get more out of the whole unix thing if you play around with more than one type and see the differences. In the way that learning spanish gives you a perspective on english.
3. Chicks dig a swingin' home network.

Other than that, just about everything you do with linux is doable with os x. X windows, Internet server, networking tools, scripting, compile your own software, it's all in there.
You can take the dude out of So Cal, but you can't take the dude outta the dude, dude!
     
samiam872
Fresh-Faced Recruit
Join Date: Oct 2005
Status: Offline
Reply With Quote
Oct 19, 2005, 08:58 AM
 
Originally Posted by n0tjcs
what are you trying to learn? the majority of the things you'd use linux or a *bsd (freebsd, netbsd, openbsd) for are already available in mac os. basic shell operation and scripting, basic utilities (ls, cat, more/less, chmod, chown, etc.), ssh, development tools (perl, gcc, tcl, python, etc.), x11, etc.
I find Unix more useful every day I learn more about it. Have you ever tried to change permissions in the mac os client 10.3 - 10.4? Chances of success are less than half for me. Especially when changing the owner. Often you have to log into the Owners account of said folder. Then unlock, then change, then you close to change open it back up again to see if its taken place, and often no-go. permissions on the mac os are really rotten. Then if it worked copy permissions down. But with the chmod -R command your problems are solved for ever and swiftly. This is a strange transition for me, being visual and with mac from the hay day. But the proof is right in front of us. when the GUI OS does not work, we all go to Unix. The Mac OS server and client administration courses are both 90% Unix. No exaggeration, you learn how to build a server from scratch with out ever touching the server or plugging it into a monitor except to get the serial number of the box and to put a cd in it.
     
samiam872
Fresh-Faced Recruit
Join Date: Oct 2005
Status: Offline
Reply With Quote
Oct 19, 2005, 09:12 AM
 
Originally Posted by Gavin
I can think of a couple reasons to go with "linux on a cheap box"
1. you will learn a lot about the guts of the computer. A mac is like a mercedes, you never have to look under the hood, while a linux box is like a beater chevy - you're gonna need your toolbox.
2. You will get more out of the whole unix thing if you play around with more than one type and see the differences. In the way that learning spanish gives you a perspective on english.
3. Chicks dig a swingin' home network.

Other than that, just about everything you do with linux is doable with os x. X windows, Internet server, networking tools, scripting, compile your own software, it's all in there.
For simplicity, ease of learning, and to ensure you are learning what you want to be learning I would stick to Unix on the mac. Apple's OS is all in Unix, but Unix nor Linux has Apple software. So, install Linux on a separate drive and start up from it will mean you learn things according to the version of Linux you install. About half of what you learn can be applied to the mac OS. SO. If your aim is to get down with Apple and Unix why install Linux when you have Unix already installed. for safety you should create a new user in your mac OS sys prefts/accounts/plus sign. Do NOT make this user an admin. open up terminal and go crazy. as long as you do not use su sudo or sudo -s commands and you do not edit the suddors file, you will not mess up anything in the rest of your computer, just things that pertain to that user. A user you can later delete if you like.

Anything found in the /etc/ directory is Unix
Anything found in the /System or /Library is Apple
     
rwhiffen
Junior Member
Join Date: Dec 2000
Location: Arlington, VA - USA
Status: Offline
Reply With Quote
Oct 20, 2005, 12:12 AM
 
There's also a few free linux and unix shell accounts available too:

http://freeshell.org
http://nixsys.bz
http://www.atshell.com

There are more around. You can get try out a lot of different OS's this way too with out doing a full install. At least you can try it before you download it.

hth

Rich
     
Gavin
Mac Elite
Join Date: Oct 2000
Location: Seattle
Status: Offline
Reply With Quote
Oct 23, 2005, 09:13 PM
 
you can dive in head first by skipping the GUI on OS X
in accounts:login options set display window to name and password
log out. in the name field type:
>console

that's a greater than character.
and hit return

that will drop you into a text based console. (if it doesn't you may need to restart)
log in with your user name and pass
this will get you learning the commands because that's your only option
type exit to get back out
You can take the dude out of So Cal, but you can't take the dude outta the dude, dude!
     
black bear theory
Grizzled Veteran
Join Date: Aug 2005
Location: fairbanks AK
Status: Offline
Reply With Quote
Oct 23, 2005, 10:14 PM
 
if you've had some experience with unix/linux (and can follow directons closely) you could try gentoo linux. it was my first linux experience and i installed it on a crappy hp, but it has seen equal time as my pismo recently. it is a bottom-up experience, dealing with the nitty-gritty stuff then working your way up, rather than starting with a nice GUI and digging down. just another perspective.
Earth First! we'll mine the other planets later.
     
Rainy Day
Grizzled Veteran
Join Date: Nov 2001
Location: Oregon
Status: Offline
Reply With Quote
Oct 25, 2005, 02:23 AM
 
Originally Posted by larrinski
I am starting to become interested in Terminal. It reminds me of when I used to use a Commodore 64, many many moons ago... I was told by a programmer that I should learn Linux 1st as it is easy to move to Unix after. But seeing that I run OSX Panther on a PowerPC it seems like a big hassle to install Linux when Unix is right here. Any suggestions?
Ah yes, the old Commodore 64! Brings back memories. But about the only thing it and Unix have in common is a command line.

Given what you have stated, there is absolutely no advantage to “learning Linux first.” You are correct: It’s a big hassle with absolutely no benefit. The person who gave you that advice either didn’t know you were using MacOS X, or doesn’t understand that the Unix CLI is only a Terminal.app-launch away.
     
larrinski  (op)
Mac Enthusiast
Join Date: Sep 2005
Location: Canada... be nice, eh?
Status: Offline
Reply With Quote
Nov 2, 2005, 01:32 AM
 
This is great stuff. I bought my first Unix book (written for Tiger) and it was great emailing from the command line. The will definately be doing more in Unix on my imac before shelling out more money on a new computer. If a free computer comes my way maybe... Creating files and opening them from the command line is pretty cool too. Anyway, enough of my 1st time doing this and that...
The one question I have thus far has got to do with the permissions. It seems that a lot of my user directories and files seem to be available to other users. This is on both my admin user and my new unixstudent user. I was using ls -l. Isn't the point of seperate users and Filevault to secure your personal data? Maybe more of an OSX question, but I have learned about the permissions from the command line... If we ever got our computer stolen, I would hope that no one could access our data from a prompt. I don't have the root activated. Just a paranoid newbie...
     
Gavin
Mac Elite
Join Date: Oct 2000
Location: Seattle
Status: Offline
Reply With Quote
Nov 2, 2005, 08:47 AM
 
Usually you can see the user folder but not the contents. That's how it is in most linux setups. OS X seems to let you see the folders inside a user's folder but not the content of those folders. I think the idea is to let users have access to each others Public, Drop box and Sites folders. For instance if you want to serve web pages then apache needs to get in to your folder, it runs as user 'www' so the default is to allow other users have read access to this folder. Actually setting up a web server is good practice for getting the hang of permissions.

There is a trade off or two for ease of use but default security in OS X is generally pretty good. You can tighten things up more if you want. check out chmod and chown
Also there are reports and white papers around that tell how to secure the hell out of it.

Add another user and see how many of his files you can see. You should be able to get at the same files in both the finder and the terminal.

here is 'me' poking around in 'her' folder:

[sport:~] me% ll /Users/her/Documents/
ls: : Permission denied
[sport:~] me% ll /Users/her/Public/
total 0
drwx-wx-wx 2 her staff 68B Oct 25 23:22 Drop Box/
[sport:~] me% ll /Users/her/Public/Drop\ Box/
ls: : Permission denied


by the way, I have ll ( ell ell ) as an alias for ls -l
you can add shortcuts for long commands to your shell's config file

echo 'alias ll "ls -FlhA "' >> ~/.tcshrc


Have fun!
You can take the dude out of So Cal, but you can't take the dude outta the dude, dude!
     
raduga
Fresh-Faced Recruit
Join Date: Apr 2004
Status: Offline
Reply With Quote
Nov 4, 2005, 11:06 PM
 
Excellent UNIX (and Linux) book for total beginners: UNIX Made Easy by John Muster. This was my intro to UNIX, and it inspired me to get a Bachelor's in Computer Science, and now I work with UNIX systems about 19hrs/day :-)

The great thing about the unix's (linux, BSD, OSX, Solaris, HPUX) is that on a basic, day-to-day user experience they are all very similar. So don't worry about picking the "right" one... just go for it and you'll be learning a bit about them all.
     
wgscott
Fresh-Faced Recruit
Join Date: Nov 2005
Status: Offline
Reply With Quote
Nov 20, 2005, 10:57 PM
 
Here's some more unix links to help get you going. As others have mentioned, linux is essentially a particular flavor of unix. In fact, the operating system is really GNU/Linux, and in addition the the linux kernel (which is different from what we have on OS X) there are a wide range of unix utilities and programs incorporated that are distributed by the GNU Free Software Foundation and other open-source communities. Many of these are also available on Darwin (the Apple flavor of unix), or can be installed on it.
     
whgoodman
Junior Member
Join Date: Jun 2005
Status: Offline
Reply With Quote
Dec 4, 2005, 01:23 AM
 
You might find this one handy as well.

http://bhami.com/rosetta.html

Lots of dangerous information there, but all very useful when you have a mix of Sun, HP, IBM and Apple equipment.
     
toffe
Forum Regular
Join Date: Apr 2005
Location: Helsinki
Status: Offline
Reply With Quote
Dec 5, 2005, 04:37 AM
 
this might be helpful also.
http://www.osxfaq.com/Tutorials/LearningCenter/index.ws

good luck
     
larrinski  (op)
Mac Enthusiast
Join Date: Sep 2005
Location: Canada... be nice, eh?
Status: Offline
Reply With Quote
Dec 5, 2005, 10:09 PM
 
Thanks for all the help. I am now using unix regularly. The links are helpful as I've worked my way though my 1st book, and am looking for more learning. I am now working on Pine for email, but am having some problems with the message "user has no maildrop" when I try to check my emails. As I don't want to post in 2 locations, I will get this addressed in it's own posting.
     
wataru
Addicted to MacNN
Join Date: Oct 2001
Location: Yokohama, Japan
Status: Offline
Reply With Quote
Dec 6, 2005, 04:06 AM
 
In my opinion, the most useful thing about the command line is scripting. The single most helpful reference I've found for scripting is Mendel Cooper's Advanced Bash-Scripting Guide. Though the title may seem intimidating, it's perfectly understandable for newbies as well.
     
Rainy Day
Grizzled Veteran
Join Date: Nov 2001
Location: Oregon
Status: Offline
Reply With Quote
Mar 26, 2006, 10:31 PM
 
Originally Posted by Gavin
I think the idea is to let users have access to each others Public, Drop box and Sites folders. For instance if you want to serve web pages then apache needs to get in to your folder, it runs as user 'www' so the default is to allow other users have read access to this folder.
What is often not well understood is the difference between read and execute permissions for directories. Read permission is not required to access files within a directory, but it is required to read the directory’s contents (i.e. get a directory listing of files and sub-directories). Execute permission is required to access objects within the directory (or to read its contents).

So it is possible to remove read permission from a directory (while retaining execute permission), thus making it impossible for people to get a listing of the files contained therein, yet still allow them to access to the directory’s contents. For example, it is possible to read a file contained within such a directory provided you know the file’s name/path and provided the file’s permissions has reading enabled.

So to access a file, read permission is not required on any (or all) of the directories in the file’s path, but read permission is required on the file itself. However execute permission is required for all directories in the file’s path, but not required for the file itself (unless you actually want to execute the file on the host system… which is not the case for most applications, including a web server).

In the web server example mentioned above, Apache (the web server) does not generally need read permission for directories it accesses (because it will have a fully qualified directory path from the URI), but it does need execute permission on every directory within the path (and it needs read permission on the file it’s trying to access).

So by removing read permission from a directory (but not execute permission), people cannot see what’s in the directory, but they can still access its contents. They need to know what those contents are, or be able to guess them, and they must have read permission on the target file. This affords a higher degree of security than allowing everyone read access to directories.

For more info on Unix, including tutorials and various Unix commands, visit: Things Unix
     
EvilMoe
Fresh-Faced Recruit
Join Date: Feb 2006
Status: Offline
Reply With Quote
Mar 30, 2006, 01:39 PM
 
I am not a computer scientist, programmer nor a network administrator by profession, but here is my story of switching over to the Mac and learning *nix.

I went through the transition two years ago. I knew I wanted a Mac, but I didn't have enough cash to buy the spanking new one I had my eye on, so I went about learning *nix on x86 while I saved and waited.

My dad is a Linux geek, so he gave me his install disks for Xandros 2.0. After that he left me to figure out things for myself. Xandros gave me the experience of working with the commandline and got me like, rather than fear, a computing environment that is highly configurable (there are a number of reasons I stayed away from that in Windows). I also learned about and got the taste for free software (most of the software I use on my Mac today, other than Apple's stuff on the install disks, is open source.)

Then, I moved on to FreeBSD, having heard that OS X had a BSD foundation. This is where I really learned to see the to operating system controlling the hardware beneath it. FreeBSD's default configuration leaves you a lot of work to do if you want to use it as a workstation. If you want to have an idea (albeit faint) of how an operating system does what it does, you should go through the ritual of complining your own kernal, dynamic loading of kernal modules be damned!In that time, I discovered Emacs and I started to do some Bash scripting and learn Lisp as well- I even spent a few months doing everything I could from the command line a command line session of Emacs.

When I finally got my Mac, I was quite comfortable using *nix. I don't use the commandline as much as I used to-- the pretty UI is part of the reason for liking the Mac, along with the ability to use Flash and Quicktime-- though I do keep a terminal session going at all times. When things are easier and faster from the command line, that's where I go.

On the whole, I am much more aware of computing and its uses, which has come in handy. My wife's new business has save a whole lot of money on start-up so far because of the knowledge I've built up over the last two years.

Cheers
     
   
 
Forum Links
Forum 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
Top
Privacy Policy
All times are GMT -4. The time now is 03:59 PM.
All contents of these forums © 1995-2017 MacNN. All rights reserved.
Branding + Design: www.gesamtbild.com
vBulletin v.3.8.8 © 2000-2017, Jelsoft Enterprises Ltd.,