Development of Unix


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Development of Unix
# 8  
Old 09-06-2008
The observation you're making is that Windows Powershell is very consistent. Commands are easy to understand and have consistent options across the commands.

What you should realize is that Unix is a collection of tools written by lots of folks over many years. So there isn't much in the way of consistency. Tools were written to achieve a task and then passed to others who either used them, expanded them, or even provided their own versions (grep, egrep, fgrep).

A quick wikipedia check shows that Xerox came out with the first GUI as we all know. Then Apple with the Mac in Jan of 84. The X Window system came out in 84 as well with Microsoft following (as always) with Windows in 1985.

So Microsoft just saw a tool being installed (cygwin for instance) and their existing tool wasn't up to the job (otherwise cygwin wouldn't have been created just like other Unix tools) so they came out with the Powershell.

I don't keep up on everything but the Windows admin at work tells me that Windows Server 2008 can be installed as a cli without the gui.

Personally I started out as a typesetter. Everything was a code to format the text. Font size, type, center, etc but no WYSIWYG. I learned how to program on the Radio Shack Color Computer. My first computer job was programming on a Franklin (Apple II clone), TRS-80, and Leading Edge. So I seem to be very command line oriented. I feel a GUI for more than simple tasks (like typing in text on a forum Smilie ) to be overly complicated to use Smilie

I do feel there is a place for a GUI. I have a Mac Powerbook with my music and I have fun with my Windows box with the three monitors for programming and gaming. I have cygwin installed and currently have three windows open to my personal servers. But the servers aren't running a GUI either and I make it a point to identify and remove running Window sessions on my Linux and Solaris servers. It's a 1U or 2U in a rack with no monitor, why the heck is a GUI running on it?

Anyway. I find CLI to be easier for me. A man page tells me exactly what I need and I can script out tasks.

Carl
# 9  
Old 09-06-2008
> What you should realize is that Unix is a collection of tools written by lots of folks over many years. So there isn't much in the way of consistency. Tools were written to achieve a task and then passed to others who either used them, expanded them, or even provided their own versions (grep, egrep, fgrep).

Yeah, sure, but I didn't notice it tends to the same consistency as on Windows lately. I mean the development of that tools continue but there's no tendency towards to consistency - that's actually what is this discussion about.
# 10  
Old 09-06-2008
But it's still not a single group or company that are creating tools on Unix so there wouldn't be consistency. In fact they'd probably continue to use the same options and just add more to increase the functionality of the tool.

Because of that though, I can expect tools to work similarly on different distributions of Unix. There may be additional options but if I run "ls -la" on any box, it'll still produce similar output. It's not always true. "ps -ef" doesn't work on BSD just as "ps -aux" doesn't work on Linux. And "df -k" has different output on HP-UX (use "bdf" for similar output).

But I wouldn't expect HP to change its "df" to have a more common output. Same with Sun or whatever distro of Linux you happen to pick up although with GNU I'd expect some similar functionality of individual tools. But not commonality of switches across GNU tools. It's still a group of people doing their own thing.

Carl
# 11  
Old 09-06-2008
As long as Unix was a product of Bell Labs, they had a coherent, close-knit community producing the tools and developing the philosophy. Some of their designs are still the state of the art, others could in retrospect have been different. The Powershell developers have the luxury of a clean slate and a knowledge of history (including Unix history, quite apparently) so they would be stupid not to avoid some of the obvious mistakes. If the thing takes off, there will be less cohesion and new problems as the toolkit gets more widespread use, but hopefully, the mistakes and problems will be different this time over.

I'm not too familiar with Powershell but from what I have seen and heard, it does take the Unix pipeline concept to a new and much improved level of coherence and abstraction. Too bad it only runs on a halfling OS, for now ...
# 12  
Old 09-06-2008
I won't be dragged into a windows verses unix discussion. I'm a Unix guy but my company uses both and so Windows expertise is valuable to me. This includes the ability to script on Windows and that is why a discussion about Powershell is interesting. Mostly I script in bat files on Windows, but when XP came out, I took the trouble to learn VBS/WSH as well. VBS is a powerful language, but Microsoft seems to have pulled the plug on it and introduced Powershell instead. I am reluctant to learn another language that may be discarded in a few months. Is Powershell really worth learning?
# 13  
Old 09-06-2008
Era:
> The Powershell developers have the luxury of a clean slate and a knowledge of history
The whole discussion is about if to renew unix tools or not. And I know it's a courageous question from a man who learns it a few months but I think the question is relevant with the arrival of Windows PowerShell.

Perderabo:
> Is Powershell really worth learning?
I don't think it's time to say there's Windows PowerShell Comunity Technology Preview 2 and the tool is developing. But for my purposes it's quite good.

a few examples:

# Finding files greater than 10MB
$files=get-childitem d:\ -recurse -force
$files | Where {$_.length -gt 10MB} | Sort Length -descending | tee-object D:\tmp\report.txt

# Copying files with preserving tree structure
copy -path e:\html -filter *.htm -dest D:\Temp\Project -recurse -container -passthru

Examples are silly but it's a tool that I've always missed in Windows. (the syntax is quite interesting)
# 14  
Old 09-06-2008
Quote:
Originally Posted by MartyIX
Era:
> The Powershell developers have the luxury of a clean slate and a knowledge of history
The whole discussion is about if to renew unix tools or not. And I know it's a courageous question from a man who learns it a few months but I think the question is relevant with the arrival of Windows PowerShell.
Ok, back to your original question then:

Quote:
1. Aren't options of unix commands too much confusing?
Personally, no. I guess to be confused, I'd have to have expectations that they were common across the board. Since I don't have that assumption, if it's something new I'll check the man page for a description and which options I want to use.

Quote:
Why are not standardized in a way that it's "easy" to guess what option one need. It seems to me that unix scripting is a thing where you can "enjoy yourself" but you have to be still worried about type of distribution and so on - isn't it actually drawback?
I think this has been answered a couple of times at the utility and command line switch level. In general I expect there'll be a few differences. Heck, korn shell doesn't work exactly the same between Solaris and HP-UX. I write scripts for the OS I'm most comfortable with and adjust as I get to other systems. Eventually I'm aware of the gotcha's between systems and compensate for it in my scripts with:

if [[ $OS = "SunOS" ]]
then
...
fi

I'm not writing full fledged applications. Just scripts to check for things. Logs are located in different places on systems so I have to have a OS check to see if messages is in /var/adm, /var/log, or /var/cluster/members/member2

If it's a larger script, I'll use perl which is the same across platforms and has the tools within it to mirror what the utilities do.

Quote:
Perderabo:
> Is Powershell really worth learning?
I don't think it's time to say there's Windows PowerShell Comunity Technology Preview 2 and the tool is developing. But for my purposes it's quite good.
That's great for you. As I'm a Unix admin, I have five flavors of Unix at work and four at home not including the Cygwin installations. I have cygwin on my Windows boxes so I have similar commands across all the systems I manage.

Quote:
a few examples:

# Finding files greater than 10MB
$files=get-childitem d:\ -recurse -force
$files | Where {$_.length -gt 10MB} | Sort Length -descending | tee-object D:\tmp\report.txt
# find / -size 10000000c -exec ls -l {} \; | sort -k2 -n | tee /tmp/report.txt

It probably can be better but that's off the top of my head.

Quote:
# Copying files with preserving tree structure
copy -path e:\html -filter *.htm -dest D:\Temp\Project -recurse -container -passthru
# cd /html; tar cf - *.htm | (cd /temp/project; tar fx -)

Quote:
Examples are silly but it's a tool that I've always missed in Windows. (the syntax is quite interesting)
From an advantage point of view, it's there on all the Unix platforms I manage. While the command may differ from place to place, I know the command is still "find" and not "get-childitem". If it doesn't work exactly as expected, I can refer to the man page and find the odd option.

The disadvantage is what you observed. You may have to do some searching when you go to a different system.

The disadvantage for me of learning Powershell is that it's only on Windows systems and I haven't managed Windows systems since NT 3.51. If it comes over to a Unix platform, I might take a look.

Carl
 
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Linux

UNIX Utility Development Conventions?

I'm slowly hacking away at a zsh script that shows some promise as a command line tool. I want to learn more about the conventions regarding command line tool development in Unix (and/or macOS), but don't really know where to look for this information. What is the correct way, or convention, to... (2 Replies)
Discussion started by: MonilGomes
2 Replies

2. Shell Programming and Scripting

Switching from production to development envirornment in UNIX

I had a unix scripts in prod. I need to made changes in those scripts which I don't have the edit access. I need to move those scripts from prod to dev to edit. Please tell me how to switch from production to development, So that I can made changes in dev and again move those scripts to Prod. ... (3 Replies)
Discussion started by: Rajeswararao
3 Replies

3. What is on Your Mind?

UNIX Admin rail roaded to be java/jboss guy for development

Any Unix Admins out there who were tasked with upgrading and maintaining java/jboss installs and possibly related apps? How did it work out? Any tools to allow developers to tweak their java settings, like a console? I just started looking into this, if anyone has experience I'd appreciate... (0 Replies)
Discussion started by: allenhibbert
0 Replies

4. Shell Programming and Scripting

scope of oracle plsql development /unix shell scripting

I am working in production support in an leading bank and more of my job is more in oracle/plsql. I am learning unix shell scripting and have started development in the same.I would like to know regarding the scope of these two in the industry.Also would like to know about other scripting... (2 Replies)
Discussion started by: jesthomas
2 Replies

5. What is on Your Mind?

Move From Unix Administration to Development???

Hi Guys, I am into unix administration past few years, i am interested in development, Purely from the Job Market View, should i shift from administration and move to development, will it reduce the options i have (i mean not many companies are into development) Suggestions/Opinions ??? (4 Replies)
Discussion started by: mpdevul
4 Replies

6. UNIX for Dummies Questions & Answers

Best development language to monitor the unix server

Hi, I am supposed to create the website to perform some monitoring and management activities on unix server. Activities includes cpu usage,displays currently runing processes,deleting files on the server and so on. Please tell which is best web based language(.net or java) to develop... (6 Replies)
Discussion started by: S_venkatesh
6 Replies

7. Shell Programming and Scripting

Difference between development and Production unix servers for a application??

Hi all I am running a major script of my application in development for implementing code changes for process improvement in time. The script runs in production once in a month . It takes 8 hours 30 mins in Production server . what surprice me is , when I run the same script in development server... (9 Replies)
Discussion started by: sakthifire
9 Replies

8. UNIX for Dummies Questions & Answers

Need Help !....pls i require All n Everything About Unix -History,Development..evrthg

i need to know abt Unix Development,History,Features n Everything..... :confused: (2 Replies)
Discussion started by: Shank
2 Replies

9. UNIX for Advanced & Expert Users

Unix Serial Driver Development

Hi Friends, I have an immediate requiement to develop a virtual serial communication driver for UNIX based system. The driver should be able to receive all the data, transmitted through the serial port. My goal is to get all the data transmitted through the serial port, do some modification in... (1 Reply)
Discussion started by: santhoshac
1 Replies
Login or Register to Ask a Question