cmd.exe for Linux zealots

[ Wednesday, 9 April 2008, Keyto ]


Rationalization (Latin: ratio) is a defense mechanism in which one explains unacceptable behaviors or feelings in a rational or logical manner, thus avoiding the true explanation of the behavior or feeling in question.

For instance: You wanted to buy a sports car, and your spouse wanted an estate. So you bought an estate, and now you are proving yourself that the estate is better.

My example : “You are have no skills in using the command line in Windows, so you are proving to yourself, that it is useless anyway”.

Foreword

My goal, Dear Reader, is not to prove anyone, that Windows’ command-line features are identical to those of Linux. To be honest, this text does not aim to cover the Windows shell features, at all. It is not a goal, it is a measure. The goal is to present you with a few thoughts about “the human nature”, as would Agatha Christie say.

There are examples in this text. If it is not annotated differently, the Linux commands are executed in a Debian system, using bash. The Windows system means MS Windows XP Professional SP2 working in a MS Windows 2003 Server R2 managed network.

Part one : the command line

There is an opinion, not really wide-spread, but very popular amongst Linux zealots, that Windows command-line cannot compete with Linux one, by no means.

According to many Penguin-badged systems users, the Windows’ “black window” is only fit to execute basic, scarce and weak commands, is not fit for automation, and not fit at all for administering any remote system.

Look at any comments, even articles in any Open Source portal. It reads: “Linux’ command line is almighty, Windows’ is a loser”.

Well, there is a problem: the Windows server administrators do not know about it. Thus, they create sophisticated scripts which they use to perform administrative tasks in their local networks. So, how is it, with the “black window” and the human nature?

First of all, most of computer users catch on a specific superstition, which says, that Windows XP is a descendant of a simple and poor DOS.

This is as true as the “truth” that a human (homo sapiens) is a straight-line descendant of a chimpanzee.

The NT OS line has little in common with the rough 16-bit creature known as Disk Operating System, alone or equipped the Windows [1.x, 2.x, 3.x, 95, 98, ME] graphical shells.

Same age systems, which are NT 3.5 and Windows 95, come from two different worlds. The only thing they have in common is the interface and the name. Well, the real Linux-user should not be shallow, shouldn’t he?

Another superstition, worth mentioning, is that the average Linux administrator uses hundreds of sophisticated commands with thousands of options.

I think, that I won’t find many opponents if I claim, that over eighty percent of administrative tasks are done using no more than twenty percent of available commands.

For the purpose of this article I have tried to estimate the number of commands that I use in Linux and Windows systems. Regarding Linux, I can list around 250 commands, in Windows – around 200. (The rest is waits to be discovered in the documentation.) In both cases, for everyday work it is enough for me to use no more than 50.

There comes but a problem. The operating systems’ theory is a lot older than the personal computers, and both Windows and Linux creators knew it while working on their systems. The designers of both have not been reinventing the wheel – they knew in advance, what features they need to provide. The theory does not state, however, how these features should be implemented. One cannot compare both systems’ commands one-to-one, I mean. Let’s try it:

Linux Windows Comment
cp xcopy Copying
mv move Moving
mkdir mkdir Directory creation
grep findstr Finding a pattern in a file
cat type displaying a file
sort sort sorting a file
cd cd change directory
pwd cd (no parameters) show current directory
date date Show/set time
echo echo Print a line
ls dir List directory contents
ps tasklist Show tasks (processes)
kill taskkill Kill task
shutdown shutdown Turn off computer

Well, that was easy, sort of. Sort of, because – is findstr the same as grep or is Windows’ echo functionally equal to Linux’ echo? I don’t think so, but let’s go further.

Linux Windows Comment
ln fsutil hardlink create Create a hardlink
uptime systeminfo show system uptime

Yes, this is where it starts to get complicated. The first command features creating links. I drag your attention to the fact, that it is indeed possible to do in Windows.

In XP as shown above, there is no soft-link feature, which exists in UNIX-like systems, and is achieved using `ln -s`. It is just straight beyond the capability of the NTFS filesystem used in XP. The higher NTFS versions (Vista, Server >2003) do have this capability, though.

As shown, in Windows there is no command being a reflection of ln. We create links with a sub-command being a part of a bigger program.

The alleged reflection of uptime is a more sophisticated problem, and it shows perfectly, what I want to tell. Windows’ systeminfo is a command returning information on system state. The general system state. It returns the uptime, name, domain where it is attached to, system version together with patching information, machine model, memory information, swap file location and a few more meaningful lines, too.

One cannot tell, however, that systeminfo is a reflection of Linux’ commands of hostname, domainname, uname, free or uptime. Almost all of the ‘reflections’ give a bit more information than the systeminfo alone. In turn, it doesn’t mean, that Windows has no capability of providing the extended info…

Side note: “Windows domain” is not the same as “internet domain”, in case it is not obvious for someone. Windows’ Domains is a measure of implementing the local network administration – treating a set of networked workstations as one, transparently, as one entity.

Question: What system is it?

Let’s go back again to fsutil hardlink create. This command depicts in excellent way the Windows’ style of grouping easy commands together. When the UNIX-like systems are built with one problem – one command paradigm in mind, Windows has it reversed – one sophisticated command is to ensure a total solution. fsutil itself accommodates 11 sub-commands, each of them having own options. So we have, for example:

Command: What for ? Linux command:
fsutil file createnew new file touch
fsutil quota modify disk space assign quota
fsutil volume diskfree disk free space df
fsutil fsinfo drives available drives mount (no

parameters

)

fsutil volume dismount unmounting the volume umount

By the way. It is noteworthy, that most of Linux users have absolutely no idea, that NTFS has a feature of mounting partitions, just like Linux’ mount.

The NTFS partition doesn’t have to have a letter assigned at all, please note, by the way, how systeminfo shows the active boot device: for example, ‘\Device\HarddiskVolume1‘.

Similarly the system shows other partitions, which in Explorer’s window are usually displayed as “C:”, “D:”, “E:” and so on, indeed. There is no obstacles, however, to connect the partition to the main filesystem and it will be displayed by Explorer as a part of system partition.

To connect NTFS volumes one needs to use the command like diskpart assign mount=path. The diskpart command is even more sophisticated than the aforementioned fsutil, more complicated and a non-familiar user might easily break his system with it, so we won’t go on describing it to save your life.

Windows contains more of similar kind of “combos”. One of them, largely known, is the net command. While fsutil had 11 sub-commands, net has 22 of them. This command must have been named so to distract the enemy, allegedly, because it can be used even if no network cable is connected to your computer. You can manage services with it ( net start, net stop, or net pause), manage users’ accounts (net accounts, net user), synchronize the computers’ clock (net time) and, of course, manage the remote access to individual machines ( for which you actually need a network cable (or another medium)).

For example, an executable, however a bit dangerous command of:

C:>net use B /user:administrator@B

will grant us practically full access to a remote machine named “B”. It will show handy in the third part of this article.

The Windows’ philosophy is so different, that sometimes one can get the info needed without invoking any commands at all. Examples ? In Linux we use the group of basename, dirname, pathchk commands. dirname is a command returning the sub-directory name when fed a full path. Handy when creating scripts. Under Windows one can extract the directory name alone, but in a bit different way. Let’s assume we have a script named skrypt.cmd which takes a full path as a parameter:


@echo off
echo %1
echo %~p1

Which we execute as follows:

C:>skrypt.cmd "C:\Documents and Settings\Skryba\Pulpit\file.txt"

and it yields:

"c:\Documents and Settings\Skryba\Pulpit\file.txt"
\Documents and Settings\Skryba\Pulpit\

Note the %~p1 part. The variables of scripts are named as follows: %1, %2, %3 and so on. The ~p in question is a modifier that enables extracting the directory name containing the file. Can we live without dirname command, then?

I think this is enough for now. My goal is not to copy the content of Windows help here. Yes, Ladies and Gentlemen. The standard publicly available help contains the description of a few hundred commands and sub-commands, which really do facilitate the management of file system, system services, users, security and all that one can call ‘system administration’. You only need to read (which I know causes problems to some). Of course the commands are not the same as in Linux. I’m not pretending, that working with them is same level of effectiveness as in e.g. Debian, but that it is possible in general. And speaking about Debian…

Part two : Linux your Windows.

If the main topic of this article was the Windows console (which it isn’t, to remind again), this part would not come at all. However, as this text is about users and their attitude to software, before we go on to the part, explaining the Windows way of working with networks, I allow myself to make a few observations.

Usually the remote management makes newbie admins sleepless. Common knowledge is, that Linux features ssh based access and one can perform all administrative tasks on a remote machine, by logging to it and using remote console.

Windows is commonly associated with the RDP protocol. Using the Connect to Remote Desktop program, using Remote Desktop Protocol, it is in fact possible to log in to a server or a client computer and go on administering. He, who tried the “art” of it, knows, that in practice we run into two problems at start. First of all, RDP is not always smooth, often it is a pain to work with it (if possible at all), second: how to restart a hundred of workstations (100) using this approach? (This is not an academic type of problem – similar things one needs to do, for example, for security reasons).

First of all however: the Linux way. Linux is a kernel. The kernel itself does not allow interactive work, not to mention remote. To be able to “type-in” the commands, one needs a shell, like bash, tcsh or zsh, which means just an appropriate program. Side note: cmd.exe which I talk around in this article, is not the only command interpreter in Windows. The much more powerful is e.g. MS PowerShell. I mention it to show that the choice is not only a feature of Linux. For the sake of this article, however, the standard programs are just enough.

Coming back from the side note – we’ve got the operating system, Linux with a shell. Is this enough? Of course, not. The basic program suite, like coreutils or the BusyBox program is essential. It will facilitate basic tasks. However, “there is no miracles”. In this configuration there is no network (yet) available, so remote management is impossible. To manage a Linux system via remote access, one needs additionally the software featuring network access and a program allowing ssh connections. (Well, a telnet can do as well, it’s a free world).

To summarize – the remote access is allowed by a special program, which is needed to be installed and configured. It is however worth pointing out, that an average Linux user can depict the process much more accurately, in portions, front-to-back and inside-out, but when it comes to Windows… This is the end. It is impossible, because WINDOWS has no feature like that. Hey, sorry, are the Slackware user complaining, that Patrick Volkerding in his legendary distribution does not include GNOME by default? Of course not. They know, that one needs to just get and install it, correct? Do the same users complain to Microsoft, that their system does not contain the sshd daemon? Yes, of course. This is a strange phenomenon. Because it is enough merely to install the appropriate program, to be able to work remotely with Windows similarly to how we work with Linux. There is even an open solution: OpenSSH, but who in hell cares…

cmd.exe running on Windows XP via Debian GNU/Linux terminal

To go come on track: this is no different situation to all the commands known to man, which one clearly knows, he needs to download, configure, even compile – for Linux, ’cause this is Free Software and it is our job to do it, nobody’s else.

When it comes to Windows, however, it goes from bad to worse, because Bill didn’t include vim, putty, md5sum or pine on the installation disk. Horrible.

Of course these, and many others, are available for Windows, but one needs to download them themselves; and I’ve got the impression, that for many people, downloading a trivial in action installer for Windows is not at all the same effort they make, for example, while downloading sources, configuring them, compiling, installing and configuring the program, for Linux. Because it cannot be.

Repositories

Finishing this part, one remark on repositories. Yes, there are none for Windows. I wonder why. Regarding Debian, Fedora, openSUSE or Gentoo there was no miracle, just somebody organized this. It seems to have been a need, probably. In case of Windows there is a noteworthy situation: there is a few thousand Open Source programs for this system, but there is no repository. Now, come on, please, don’t say it’s impossible. Or, that there are some funds needed. It was possible to create all that software, was it? The application for administering the repository is just Yet Another Program, the rest is already done and waiting on the servers. And because the life hates the vacuum, such a program would be created for sure, which implies, that probably nobody simply needs it.

I know, that such a statement is rather uncomfortable for everyone here, but please, do try looking at it this way: to install a program, regardless if just double-clicking the program.msi icon, or using the apt-get install program command, one must know first what to install. Whenever we know “what”, it is not a big problem to “just” do it. I have noticed, that most of the new Linux users have not much use of the fact, that gstreamer libraries are in the repository. The problem is, one must know, that gstreamer exists at all and is needed. Of course, it would be handy to have a program browser, like synaptic or yum (which is not these programs’ main use, obviously). In, say, Ubuntu, we run synaptic, type in “internet browser”, find Firefox, mark it, click Install and there we go. In Windows ? No repository, so, say we use Wikipedia for a prank. We open, type in “Internet browser”, find Firefox, click the hyperlink to the homepage, download, install and … there we go. Is it so much different ? I suppose I know, you will say, it is…

I suppose, that repositories for Linux have not been created because they make the life simpler. I think, that they are rather natural a consequence to distribution partitioning. What, for example, is the gcc compiler for Linux? In reality, we have gcc optimized for Arch, Debian, Fedora, openSUSE, Ubuntu or ZenWalk. If they were to be placed on the FSF site, then – on one hand – it would have to grow by many, many links to the packages for particular distributions, on the other hand – managing the website would become a nightmare. Imagine a few hundred maintainers of the particular distributions, sending emails to FSF webmaster, asking for anything (changing the package, refreshing the mirror, etc.) The maintainers would have to manage a few hundred, or a few thousand, pages of different projects, where one would have to put software packages for their distributions. The situation, where everybody just cares for themselves only, is just easier to manage, and as the Linux-ish package manager caring for the dependencies… Oh well, this is not really a big issue in Windows. (That does NOT mean, there is no problems at all).

And another thing : yes, the global system update, like apt-get update is handy, but at the moment most applications (not only for Windows) check the availability of updates for themselves – then on the other hand, there are distributions with no update manager, on the other other hand – if we install in Linux a program, that doesn’t exist in the repository, the update manager won’t be able to update it – then on the other other other hand, Windows A.D. 2008 updates itself and the MS Applications at one click. (This is what one calls 5-dimensional timespace.)

Let’s go back to some more Windows commands.

Part three : Remote Windows

The way described earlier is not, what the engineers from Microsoft have designed. To rephrase, in Linux, working on “A” station, we log in through ssh (or telnet, it is (still) a free world) onto the “B” machine and type, e.g. ps. Windows has it totally different. First of all, for Microsoft systems,there is a special Windows Domain meaning. To cut a long story short : the domain is created by a group of computers managed by one of them, the domain controller. That machine manages users’ accounts, the controller provides us credentials and so on. It is not better nor worse than what we know from Linux-like systems. It is different. Of course, the computers do not have to belong to a domain, but I myself cannot imagine advanced managing of a few hundred computers without this invention. Oh well, I do, but not with Windows. In Windows it’s been designed that way.

So I sit in front of the aforementioned “A” box, featuring Windows. To display the list of tasks on “B” computer, also featuring Windows, I type in the following on the “A” computer:

C:> tasklist /s B /u administrator

Process name            PID Session name     Session no  RAM used

==================== ====== ================ ======== ============

System Idle Process       0                         0        16 KB

System                    4                         0       208 KB

smss.exe                456                         0        56 KB

csrss.exe               504                         0     3 912 KB

winlogon.exe            528                         0     4 492 KB

services.exe            572                         0     2 120 KB

lsass.exe               584                         0     3 488 KB

svchost.exe             784                         0     2 428 KB

svchost.exe             852                         0     6 308 KB

svchost.exe             916                         0    21 260 KB

Note two facts, please. First, as I mentioned, Windows treats the network a little bit different than Linux, which implies the change of the work principle – controlling one station, we have a potential to control all the others. Second: as in all systems, in Windows you need to have appropriate rights. One cannot just execute the above command, if he doesn’t have the appropriate rights on the “B” computer, and many times – on the domain controller.

Similarly one is able to use many commands, e.g. taskkill, shutdown, systeminfo, or the simple dir, like that. So as one can see, there is life beyond RDP, and of course it is all described in the help system of Windows.

Summary

At the end of this article, I want to add and underline, that personally for me, in the comparison of GNU/Linux vs Windows, is won by GNU/Linux by a mile. Not because it introduces some new functionality, however. No. Many “details” decide. I have described a few of them last year, in articles titled Windows vs Linux : architecture comparison. Additionally, one could add there the GPL license, smaller TCO, or that I once had a chance to work on a Debian machine, which displayed 375 days, 10:55 as result of uptime, and the last Windows system, that could be that stable was NT4.0 Server, and the next versions only had it worse. Now having systeminfo display 28 days is a maximum. One could show more examples of Linux supremacy over Windows, but, however it is true, that “Linux console is more work-friendly”, then the “The Windows console is unusable” claim is a total rationalization.

In the principle, the problem is not in the Windows nor in the Linux system, but in the users. The average Linux user does not care for Windows the same as for His-Beloved-System and constantly poses for defense. Why? The fact that users of any software, being accustomed to it, expect different applications (serving similar purpose) to do the same, the same way, might be some explanation. Following this trail, we (falsely) expect that the remote management of Windows to be exactly the same as on Linuxes. This however does not sanitize the rationalization…

Translated-by : el es


Warning: include_once(/sites/polishlinux.org/wp-content/themes/jakilinuxorg/google_article_inside.php): failed to open stream: No such file or directory in /sites/polishlinux.org/wp-content/themes/jakilinuxorg/single.php on line 48

Warning: include_once(): Failed opening '/sites/polishlinux.org/wp-content/themes/jakilinuxorg/google_article_inside.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /sites/polishlinux.org/wp-content/themes/jakilinuxorg/single.php on line 48

Subscribe to RSS feed for this article!

9 Comments

fold this thread Sanders  Saturday, 12 April 2008 o godz. 9:59 pm #  Add karma Subtract karma  +0

I wish that there was an AD equivalent built-in on the Linux distros…

I know Samba 4 is coming, and I hope it does provide with tools that enable remote windows and linux boxes administration ala Windows.

I love and use linux, but IMHO even with all of its shortcomings windows does two things much better:

1) Logical network grouping/administration of the workstations/servers (sorry ssh doesn’t cut it, requires far too much manual intervention to properly manage the keys)

2) More stable environment (Ie: I do not have to upgrade the whole windows system just to get a new version of openoffice installed)

(Comments wont nest below this level)
 
fold this thread Pandu Rao  Sunday, 13 April 2008 o godz. 4:50 am #  Add karma Subtract karma  +0

While cmd.exe is useful, it lacks many things. For e.g:
readline keybindings
command line substitution
robust redirection capabilities
advanced terminal capabilities

I have written a set of articles on how Linux power users can get by in the windows world:
Advanced Cygwin:
http://ergo.rydlr.net/?p=4

PuttyCyg – The authentic console for Cygwin
http://ergo.rydlr.net/?p=3

(Comments wont nest below this level)
 
fold this thread Peter Ring  Sunday, 13 April 2008 o godz. 12:32 pm #  Add karma Subtract karma  +2

PowerShell is worthwhile for all kinds of automation on Windows, comes built-in with Windows Server 2008, and is easily installed on Windows XP SP2 or later.

Windows PowerShell

Blog of Windows PowerShell team

I’d also like to mention a hidden gem, LogParser.

(Comments wont nest below this level)
 
fold this thread Tzafrir Cohen  Sunday, 13 April 2008 o godz. 4:57 pm #  Add karma Subtract karma  --1

One baisc weakness of cmd.exe’s syntax is the variable expansion is different in scripts than in the CLI (%% vs. %).

Not to mention backticks, decent redirection (2>/dev/null), and such.

The author manages to completely miss the point regarding package management. For example: what is the equivalent of ‘apt-get upgrade’?

Maybe the Windows-Updates facility has been automated (and maybe not). But it does not update any thinrd-party product installed. Because without a repository the system does not know where to pull updates from.

Now do that on 100 workstations.

(Comments wont nest below this level)
 
fold this thread Sanders MSMVP  Monday, 14 April 2008 o godz. 12:48 am #  Add karma Subtract karma  --2

Anyone who has worked on both operating systems will release Sanders is talking out of his arse. You don’t “upgrade the entire operating system to upgrade open office” nor any other program on it. Unless you are either using a very, very, very old version of Linux or are being paid to spread pure lies.

Second, Linux can use Windows domains quite easily and act as a domain controller itself. Please, if you are going to be a paid shill at least be honest and upfront.

(Comments wont nest below this level)
 
fold this thread Goten Xiao  Friday, 30 May 2008 o godz. 2:12 pm #  Add karma Subtract karma  --1

A classic example of why cmd is unusable; of why it is a toy, and why I can’t use it efficiently compared to bash, zsh, tcsh or ksh.

G:\music>dir/w
Volume in drive G has no label.
Volume Serial Number is 4786-4F2F

Directory of G:\music

[.] [..]
[{2005} Octavarium [FLAC]] [{2002} Six Degrees of Inner Turbulence [FLAC]]
[misc]
0 File(s) 0 bytes
5 Dir(s) 694,267,904 bytes free

G:\music>dir *\*.flac
The filename, directory name, or volume label syntax is incorrect.

Now, compare and contrast to the equivalent in bash:

goten@r2d3:~/tmp15$ ls
{2002} Six Degrees of Inner Turbulence [FLAC] {2005} Octavarium [FLAC] misc
goten@r2d3:~/tmp15$ ls */*.flac
{2002} Six Degrees of Inner Turbulence [FLAC]/[°1] The Glass Prison.flac {2005} Octavarium [FLAC]/[03] These Walls.flac
{2002} Six Degrees of Inner Turbulence [FLAC]/[°2] Blind Faith.flac {2005} Octavarium [FLAC]/[04] I Walk Beside You.flac
{2002} Six Degrees of Inner Turbulence [FLAC]/[°3] Misunderstood.flac {2005} Octavarium [FLAC]/[05] Panic Attack.flac
{2002} Six Degrees of Inner Turbulence [FLAC]/[°4] The Great Debate.flac {2005} Octavarium [FLAC]/[06] Never Enough.flac
{2002} Six Degrees of Inner Turbulence [FLAC]/[°5] Disappear.flac {2005} Octavarium [FLAC]/[07] Sacrificed Sons.flac
{2005} Octavarium [FLAC]/[01] The Root of All Evil.flac {2005} Octavarium [FLAC]/[08] Octavarium.flac
{2005} Octavarium [FLAC]/[02] The Answer Lies Within.flac

(Comments wont nest below this level)
 
fold this thread John  Tuesday, 23 September 2008 o godz. 12:45 pm #  Add karma Subtract karma  +1

Goten Xiao: Try the /S flag
from dir /?:
/S Displays files in specified directory and all subdirectories.

Try
dir /s *.flac
dir /s /b *.flac
will keep it from showing file size, etc.

(Comments wont nest below this level)
fold this thread Evan  Friday, 15 January 2010 o godz. 11:41 pm #  Add karma Subtract karma  +0

Those commands aren’t *quite* the same; Goten’s only shows .flac files one level down.

That said, it does lead into another “classic example” of how Bash can (only occasionally, but definitely occasionally) be harder to use: list all .flac files in *any* subdirectory of where you are now, not just one level down.

In cmd, it’s easy; ‘dir /s *.flac’ as John said. In Bash… well, until recently, you have to use find. ‘find . -name “*.flac”‘. find is one of those utilities that is not exactly easy to learn to use… even for simple queries like that, for a while I was using ‘find . | grep “.flac”‘.

In other words, you had to completely change the program you’re calling. ls can list files by pattern (‘ls *.flac’), and ls can list a directory recursively (‘ls -R’), but you can’t combine the two tasks with ls itself. (Of course the reason is that it wasn’t really ls that was listing files by pattern, it was the shell.)

A similar thing comes up with the following task: search through all .c files in a subdirectory of the current one for a particular string “foo”. In Bash: ‘find -name “*.c” -print0 | xargs -0 grep -H foo’. (You could also do the same thing with {}, but I never remember how to use that syntax.) There’s a bunch of different gotchas in that. In addition to figuring out the general idea in the first place, if you leave off the -print0 and -0, file names with spaces will cause it to fail. If you leave off the -H, you’ll see matching lines, but you’ll have no idea what file they’re in. In Windows, ‘findstr /s REACHABLE *.c’. The only thing additional you have to do to make the search recursive is add /s.

(GNU grep contains the ‘–include’ flag; paired with –recursive is the *right* way to do this search now. However, this is a relatively recent addition.)

You get used to this after a while — recursive queries take find — but for a newcomer, it can be hard for a while.

(Finally, Bash 4 introduced the ** feature which mostly obviates my immediate arguments above. ‘ls **/*.flac’ and ‘grep foo **/*.c’ now do what you want, as long as you don’t overrun the command line length. (OTOH, this *is* sometimes a real problem.) However, this is a *very* recent addition to Bash, with Bash 4 being less than a year old. Zsh has had it for longer, but no one uses it for some reason despite it kicking the pants off of Bash.)

 
 
fold this thread Alexa  Sunday, 11 March 2012 o godz. 2:00 am #  Add karma Subtract karma  --1

Very good web site. I like your posting comments system. I am sorry for the off-topic post, yet I was extremely astounded with Djokovic’s play in the final of the Australia OPen this year. The man is just unbeatable. He proved he had been as solid as iron. Only consider about he he could whip Nadal who had previously been so motivated to succeed as well as was really so pumped up in the 5th set. I am beginning to think that Djokovic is doing some spiritual work to take some forces on his side that help him secure this kind of matches up against the greatest players in the globe
buy essays no plagiarism. Whats your opinion with regards to Rafa’s game?

(Comments wont nest below this level)
 
Name (required)
E-mail (required - never shown publicly)
URI

Adjust field size: shrink | enlarge)


You can use simple HTML in your comments. Some examples are as follows:
  • A hyperlink: <a href="polishlinux.org">GNU/Linux for everyone!</a>,
  • Strong text: <strong>Strong text</strong>,
  • Italic text: <em>italic text</em>,
  • Strike: <strike>strike</strike>,
  • Code: <code>printf("hello world");</code>,
  • Block quote: <blockquote>Block quote</blockquote>

About the Author

Keyto

Keyto is a computer engineer living in Poland. In free time he likes to write longish stories about GNU, Linux and its users :)

New AdTaily ads!

Are you a film buff?

film buffs community, movie recommendations and reviews

RSS: Comments

You can follow the comments to this article through a special channel RSS 2.0 .

Related articles: CLI

 more »

PolishLinux Top Content


Become our fan on Facebook!

PolishLinux.org on Facebook

Follow PolishLinux on Twitter!

Follow polishlinux on Twitter

Google Ads