<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>IT Engineer's Blog, Malaysia Life Tech Blog &#187; Linux</title>
	<atom:link href="http://www.icalvyn.com/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.icalvyn.com</link>
	<description>Your Gateway To IT Engineer Knowledge, Life experience on Malaysia Tech Blog</description>
	<lastBuildDate>Tue, 07 Feb 2012 14:04:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Linux Manual</title>
		<link>http://www.icalvyn.com/linux-manual/</link>
		<comments>http://www.icalvyn.com/linux-manual/#comments</comments>
		<pubDate>Wed, 26 Jan 2011 05:02:19 +0000</pubDate>
		<dc:creator>calvyn</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.icalvyn.com/?p=3019</guid>
		<description><![CDATA[For those who had linux knowledge will have a lot of  advantage over IT field, due to linux is a open source, a lot of free application available in linux. One of the linux platform operating system I mention before is Ubuntu, You can actually request a Ubuntu Free CDs that deliver to your door [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" src="http://img233.imageshack.us/img233/9720/28440555.jpg" alt="linux manual magbook" /></p>
<p>For those who had linux knowledge will have a lot of  advantage over IT field, due to linux is a open source, a lot of free application available in linux. One of the linux platform operating system I mention before is <a href="http://www.icalvyn.com/ubuntu/">Ubuntu</a>, You can actually request a <a href="http://www.icalvyn.com/ubuntu-season-2/">Ubuntu Free CDs</a> that deliver to your door step.</p>
<p>As mention on the free application, I do collect some <a href="http://www.icalvyn.com/free-antivirus-for-linux-operating-system/">Free Antivirus software for linux</a> before, hope this <strong>Linux, The Complete Manual</strong> I share here will bring more benefit for those tech freak.<span id="more-3019"></span></p>
<p>Download <a href="http://www.dreamnetworkz.com/linux-the-complete-manual/" target="_blank">Linux The Complete Manual</a> from MagBook here</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icalvyn.com/linux-manual/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Linux communication device standards [Digital subscriber line]</title>
		<link>http://www.icalvyn.com/linux-communication-device-standards-digital-subscriber-line/</link>
		<comments>http://www.icalvyn.com/linux-communication-device-standards-digital-subscriber-line/#comments</comments>
		<pubDate>Wed, 12 May 2010 16:07:26 +0000</pubDate>
		<dc:creator>calvyn</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.icalvyn.com/?p=2716</guid>
		<description><![CDATA[Digital subscriber line Digital subscriber line (DSL) is a high-speed method of transferring data over existing twisted-pair telephone lines. DSL is commonly available through your local telephone provider or a third-party provider, if the service is available in your area. DSL encompasses various protocols, including asymmetric DSL (ADSL), rate adaptive DSL (RADSL), high bit-rate DSL [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Digital subscriber line</strong><br />
Digital subscriber line (DSL) is a high-speed method of transferring data over existing twisted-pair telephone lines. DSL is commonly available through your local telephone provider or a third-party provider, if the service is available in your area.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://img718.imageshack.us/img718/263/logohy.jpg" alt="DSL Line" width="525" /></p>
<p>DSL encompasses various protocols, including asymmetric DSL (ADSL), rate adaptive DSL (RADSL), high bit-rate DSL (HDSL), and symmetric DSL (SDSL). It also includes different subvariations, such as CAP-encoding ADSL versus discrete multitone (DMT)- encoding ADSL. The acronym xDSL is used to refer to the set of DSL protocols, rather than to a specific protocol.<span id="more-2716"></span></p>
<p>DSL is available in several different bandwidths and flavors. The main types of DSL are ADSL – a DSL for which upload and download speeds are different, SDSL – in which upload and download speeds are the same, and Internet DSL (IDSL), which uses ISDN technology to deliver DSL. The minimum bandwidth for DSL is 128 Kbps, but speeds up to 52 Mbps are available.</p>
<p>If a DSL user connects via an Internet service provider (ISP), the connection to the ISP occurs over a LAN or WAN connection that the ISP has arranged with the local telephone company, rather than via the ISP&#8217;s standard modem bank. This connection may use, for example, 10Base-T Ethernet, T1, T3, Asynchronous Transfer Mode (ATM), or frame relay. The ISP then routes the data onto the Internet. Alternatively, a user may connect directly to a company network. DSL is always &#8220;on&#8221; – the connection is always available, ready to pass bits up and down the pipe, so there is no need to re-establish a connection each time you need to use it</p>
<p>The main limitation on DSL is that it is distance-sensitive. The signaling required for a DSL connection cannot travel more than a certain number of feet over the phone wire from the DSL equipment at the local phone switch. The bandwidth rate available to you will depend on the distance you are from the DSL equipment – the closer you are, the higher the bandwidth you can expect.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icalvyn.com/linux-communication-device-standards-digital-subscriber-line/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Linux communication device standards [Integrated Services Digital Network]</title>
		<link>http://www.icalvyn.com/integrated-services-digital-network/</link>
		<comments>http://www.icalvyn.com/integrated-services-digital-network/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 16:07:54 +0000</pubDate>
		<dc:creator>calvyn</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.icalvyn.com/?p=2714</guid>
		<description><![CDATA[In this coming topic, I am going to give some basic introduces on what is Integrated Services Digital Network (ISDN), digital subscriber line (DSL), and universal serial bus (USB) standards. It explains how each standard enables device communication, as well as its advantages and disadvantages. ISDN overview Integrated Services Digital Network (ISDN) refers to a [...]]]></description>
			<content:encoded><![CDATA[<p>In this coming topic, I am going to give some basic introduces on what is <strong>Integrated Services Digital Network</strong> (ISDN), <strong>digital subscriber</strong> line (DSL), and <strong>universal serial bus</strong> (USB) standards. It explains how each standard enables device communication, as well as its advantages and disadvantages.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://img94.imageshack.us/img94/2828/image003b1123756471079.gif" alt="ISDN" width="525"/></p>
<p><strong>ISDN overview</strong><br />
Integrated Services Digital Network (ISDN) refers to a set of communication protocols proposed by telephone companies to permit telephone networks to carry data, voice, graphics, music, and video. ISDN was developed to permit faster access over existing telephone systems without the additional call setup time. It enables the simultaneous transmission of voice and data signals using end-to-end digital connectivity.<span id="more-2714"></span></p>
<p>Because ISDN uses existing phone lines, it requires that the central office be within a certain distance, which limits service availability</p>
<p>With ISDN, bearer channels (B channels) carry voice and data signals. These channels occupy a bandwidth of 64 kilobits per second (kbps). Some switches limit B channels to a capacity of 56 kbps. A data channel (D channel) handles signaling at 16 kbps or 64 kbps, depending on the service type.</p>
<p>Computer applications other than ISDN use the letter &#8220;k&#8221; or &#8220;K&#8221; to represent 1024 bits (2^10). In ISDN terminology, however, &#8220;k&#8221; represents 1000 bits (10^3). Therefore, a 64 kbps channel carries data at a rate of 64,000 bits per second (bps).</p>
<p>There are two basic types of ISDN service – Basic Rate Interface (BRI) and Primary Rate Interface (PRI). BRI consists of two 64 kbps B channels and one 16 kbps D channel. It provides a total capacity of 144 kbps, which is adequate for most individual users.</p>
<p>PRI is intended for users with greater capacity requirements. Typically, the PRI channel structure includes 23 B channels plus one 64 kbps D channel, providing a total capacity of 1536 kbps. In Europe, PRI consists of 30 B channels plus one 64 kbps D channel, for a total capacity of 1984 kbps. It is also possible to support multiple PRI lines with one 64 kbps D channel using Non-Facility Associated Signaling (NFAS).</p>
<p>H channels provide a way to combine B channels. They are implemented as follows:<br />
H0=384 kbps (6 B channels)<br />
H10=1472 kbps (23 B channels)<br />
H11=1536 kbps (24 B channels)<br />
H12=1920 kbps (30 B channels) – International (E1) only</p>
<p>To access a BRI service, a customer needs to subscribe to an ISDN phone line and must be within 18,000 feet (about 5.5 km) of the telephone company&#8217;s central office. If a customer is further away from the central office, expensive repeater devices are required. Without these devices, ISDN service may not be available at all. Customers also need special equipment such as ISDN terminal adapters – sometimes incorrectly referred to as<br />
&#8220;ISDN modems&#8221; – and a router with an ISDN interface to communicate with the phone company switch, and with other ISDN devices.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icalvyn.com/integrated-services-digital-network/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introduction to Linux processes [Part 2]</title>
		<link>http://www.icalvyn.com/introduction-to-linux-processes-part-2/</link>
		<comments>http://www.icalvyn.com/introduction-to-linux-processes-part-2/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 06:26:41 +0000</pubDate>
		<dc:creator>calvyn</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.icalvyn.com/?p=2572</guid>
		<description><![CDATA[Last month was mention about the Linux Processes on PIDs , parent and child processes and using the ps command. In this part 2, let see how the background and foreground background process work. Background and foreground processes An interactive process can run in the foreground or background. To place a process in the background, [...]]]></description>
			<content:encoded><![CDATA[<p>Last month was mention about the <a href="http://www.icalvyn.com/introduction-to-linux-processes-part-1/" target="_blank">Linux Processes</a> on PIDs , parent and child processes and using the ps command. In this part 2, let see how the background and foreground background process work.</p>
<p><strong>Background and foreground processes </strong><br />
An interactive process can run in the foreground or background. To place a process in the background, you use the command bg or the ampersand symbol (&amp;). This lets you do other jobs while waiting for the command to finish. Let&#8217;s say you use the syntax</p>
<p><span style="color: #ff0000;">$ find / filename 2 &gt; /dev/null | grep filename | tee result</span></p>
<p>A command using this syntax could take a long time to execute, especially if you have a lot of files and are listing several network drives. Only one job at a time can run in the foreground, so no further commands can be issued until the prompt returns. To continue working on the command line while it processes, you can execute the same command in the background, using the ampersand. For example, you could enter the command using the following syntax:</p>
<p><span style="color: #ff0000;">$ find / filename 2 &gt; /dev/null | grep filename | &gt;result &amp;</span></p>
<p>After the command has been issued, the shell displays a message, which looks similar to the following:<span id="more-2572"></span></p>
<p><span style="color: #ff0000;">$ find / filename 2&gt; /dev/null | grep filename | &gt;result &amp;<br />
[1] 60913<br />
$ </span></p>
<p>The number after the brackets, 60913, indicates the PID for the process, so the status of the background command can be monitored. You can run numerous commands in the background simultaneously.</p>
<p>When the background command has been completed, you will see a line like this:</p>
<p><span style="color: #ff0000;">[1]+ Done find / filename 2&gt; /dev/null | grep filename | &gt;result </span></p>
<p>Note that the output of a long job has to be redirected when it&#8217;s placed in the background. This prevents difficulties when you use the command prompt, because otherwise the output from the background command would continue to appear as you typed.<br />
You use the bg command to send a command to the background while it is running. Initially, you press Ctrl+Z to stop the process, and then enter the bg command to place it in the background, where it resumes execution. Placing a process in the background clears the system, leaving the command line available for other uses.</p>
<p>If it is an interactive process, a message like this will occasionally appear:</p>
<p><span style="color: #ff0000;">[1]+ Stopped (tty output) telnet localhost </span></p>
<p>If a command is stopped, you can start it running again in the background using the bg command, as in</p>
<p><span style="color: #ff0000;">$ bg %1 </span></p>
<p>To maintain control of the command and to return it to the foreground, you enter a percent symbol (%) before the command&#8217;s job number. You then use the fg command to return the process to the foreground, as in the following example:</p>
<p><span style="color: #ff0000;">$ fg %1 </span></p>
<p>As a summary of linux processes part 1 and part 2. Processes perform tasks specified at the command line in Linux. Each process can initiate other processes. Process identity numbers (PIDs) let the shell keep track of which particular process it&#8217;s working on. The ps command displays information about each of the processes running under the shell. The bg command enables you to place a process in the background, so that you can do other jobs while waiting for the command to finish. A PID preceded by a percent symbol (%) and used with the fg command returns a process to the foreground.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icalvyn.com/introduction-to-linux-processes-part-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Introduction to Linux processes [Part 1]</title>
		<link>http://www.icalvyn.com/introduction-to-linux-processes-part-1/</link>
		<comments>http://www.icalvyn.com/introduction-to-linux-processes-part-1/#comments</comments>
		<pubDate>Sat, 30 Jan 2010 16:20:13 +0000</pubDate>
		<dc:creator>calvyn</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.icalvyn.com/?p=2568</guid>
		<description><![CDATA[After read some linux article, and having some basic knowledge, now can have basic understanding on linux processes, a process is a single program that is executed within its own virtual address space. For example, a shell is a process that is created each time a user logs in to the system. It creates a [...]]]></description>
			<content:encoded><![CDATA[<p>After read some <a title="linux" href="http://www.icalvyn.com/category/linux/" target="_blank">linux article</a>, and having some basic knowledge, now can have basic understanding on linux processes, a process is a single program that is executed within its own virtual address space. For example, a shell is a process that is created each time a user logs in to the system. It creates a new process every time it implements a program such as a system command. A system command is an example of a collection of related commands called a job. Jobs create a series of separate processes from a single command line. So, in fact, every program running under Linux is a process.</p>
<p>The following table shows the three main categories of processes.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://img16.imageshack.us/img16/7050/linux1.jpg" alt="linux processes" /></p>
<p>Linux can share its processing power, storage capabilities, and input and output mechanisms with several users, or with several processes created by one user. Processes such as user jobs, operating system tasks, mail, and background jobs like printing need to be monitored simultaneously by Linux.<span id="more-2568"></span></p>
<p><strong>PIDs </strong><br />
When a request is made to the shell, it assigns a specific identity number called a process identifier (PID) to the corresponding process. PIDs enable the shell to identify the process it&#8217;s working on and helps it to monitor the progress of this process. PIDs start at zero, beginning at boot time, and increase by one for each process being run. Once the highest system-determined number has been reached, such as 65,564, the procedure starts from zero again, skipping the PIDs for processes that are still active. Every new command creates at least one extra process. For example, to print a file called report.txt, you enter</p>
<p><span style="color: #ff0000;">$ lp report.txt </span></p>
<p>This creates an extra process – lp – on top of the already existing shell process that is running in the foreground. So the shell prompt reappears onscreen only after the lp command is finished, because only one process can occupy the foreground at any one time.</p>
<p><strong>Parent and child processes </strong><br />
Each existing process becomes a parent process when it initiates a new process. The new process is referred to as a child process. For example, say you run a shell script called shellscript1 that contains an ls command. The shell executes a process called shellscript1, which in turn generates a process called ls. So the shell process becomes the parent of shellscript1, and shellscript1 then becomes the parent of ls.</p>
<p>A parent process bestows its environment upon the child process. A child process will include standard input (stdin), standard output (stdout), and standard error (stderr). So if you open a file in a shell script (its parent), the commands that follow in the script will retain the open file in their environment. However, the parent and child processes will remain unaffected by any changes in the environment that occur during the execution of a process. This is because the processes run independently of each other. Therefore, after the child process has been initiated, any files opened in either the parent or the child will not be available to the other process.</p>
<p><strong>Using the ps command </strong><br />
You use the ps command to identify which processes are currently running in the system. It helps you to monitor the process running in the foreground, and allows you, as root, to see what other processes are running.</p>
<p>To list all current processes running under a User ID (UID), you type ps without using options or arguments. This returns the PIDs of the processes, the terminal they originated from, their current status, the CPU time used, and the command running in the processes. For example, the command could return output such as</p>
<p><span style="color: #ff0000;">$ ps<br />
PID     TTY       TIME        CMD<br />
511     tty1       00:00:00  login<br />
7062   tty1       02:34:59   bash<br />
17079  tty1       00:00:00   ps </span></p>
<p>This output shows that the user&#8217;s startup shell is bash (PID 7062). The startup shell sometimes has a hyphen placed before it to differentiate it from any shells started afterwards. But some versions of the ps command don&#8217;t do this.</p>
<p>General users can display their own processes only using the ps command. However, superusers can use the ps command to list every process running in the system.</p>
<p>There are many complex options for the ps command. Some options determine the sets of processes to be produced, whereas others determine the output format. Some options are preceded by a dash (–) in the traditional Linux manner, but others are not. And sometimes the same letter produces completely different output depending on whether it has a dash or not. For instance, $ ps -a produces a full listing of all processes, but $ ps a produces a modified listing of all the processes in the current terminal. For a full listing of the different ps options, you can consult the man pages for ps.</p>
<p>For most purposes, a simple set of common options for the ps command provide sufficient power and flexibility. The -a option provides a listing of all processes currently running on all the terminals. The listing below shows the processes running under tty1 and tty2, for example:</p>
<p><span style="color: #ff0000;">$ ps -a<br />
PID   TTY       TIME           CMD<br />
7062  tty1      02:34:5        bash<br />
16894 tty2      00:00:00       bash<br />
16906 tty2      00:00:00       startx<br />
16913 tty2      00:00:00       xinit<br />
16917 tty2      00:00:00       gnome-session<br />
16927 tty2      00:00:00       gnome-smproxy<br />
16933 tty2      00:00:00       enlightenment<br />
16952 tty2      00:00:00       magicdev<br />
16969 tty2      00:00:00       panel<br />
16971 tty2      00:00:00       gmc<br />
16988 tty1      00:00:00       ps </span></p>
<p>The f option, without a dash, uses ASCII characters to graphically represent a hierarchical view of the parent-child relationships between processes. This is particularly useful if you&#8217;re considering killing processes, because it helps you ensure that you don&#8217;t kill a child process accidentally when you kill a parent process. In the listing below, process 16906 is the parent of 16913, which in turn is the parent of 16917:</p>
<p><span style="color: #ff0000;">$ ps f –a<br />
PID   TTY  STAT  TIME  COMMAND<br />
16894 tty2 S     0:00  -bash<br />
16906 tty2 S     0:00  sh /usr/X11R6/bin/startx<br />
16913 tty2 S     0:00  \_ xinit /etc/X11/xinit/xinitrc &#8212; :0 –auth /root/.X<br />
16917 tty2 S     0:00  \_ /usr/bin/gnome-session<br />
7062  tty1 S   154:59  -bash<br />
17105 tty1 R     0:00  ps f –a<br />
16971 tty2 S     0:00  gmc &#8211;sm-client-id default10<br />
16969 tty2 S     0:00  panel &#8211;sm-client-id default8<br />
16952 tty2 S     0:00  magicdev &#8211;sm-client-id=default12<br />
16933 tty2 S     0:00  enlightenment –clientId default2<br />
16927 tty2 S     0:00  gnome-smproxy &#8211;sm-client-id default </span></p>
<p>Using the -l option with the ps command shows more detailed information in the process entry. This includes the parent PID (PPID), the size, the UID, the status, and the priority of a process. For example, the ps -l command might return output such as</p>
<p><span style="color: #ff0000;">$ ps -l<br />
F   S UID PID   PPID C PRI NI ADDR SZ  WCHAN TTY  TIME     CMD<br />
100 S 0   511   1    0 60  0  –    549 wait4 tty1 00:00:00 login<br />
100 S 0   7062  511  0 70  0  –    808 wait4 tty1 02:34:59 bash<br />
100 R 0   17115 7062 0 73  0  –    627 –     tty1 00:00:00 ps </span></p>
<p>The PPID column shows the process that started each process. This is useful if you need to identify child processes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icalvyn.com/introduction-to-linux-processes-part-1/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Text-processing utilities in Linux</title>
		<link>http://www.icalvyn.com/text-processing-utilities-in-linux/</link>
		<comments>http://www.icalvyn.com/text-processing-utilities-in-linux/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 16:14:46 +0000</pubDate>
		<dc:creator>calvyn</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Operating System]]></category>

		<guid isPermaLink="false">http://www.icalvyn.com/?p=2002</guid>
		<description><![CDATA[Text processing is different than word processing. In word processing, text is edited and manipulated in a &#8220;What-You-See-Is-What-You-Get&#8221; (WYSIWYG) environment. This enables you to produce printed copies of the text, complete with features such as graphics and tables. Linux stores files in plain-text format. This allows you to use different processing, or filtering, utilities on [...]]]></description>
			<content:encoded><![CDATA[<p>Text processing is different than word processing. In word processing, text is edited and manipulated in a &#8220;What-You-See-Is-What-You-Get&#8221; (WYSIWYG) environment. This enables you to produce printed copies of the text, complete with features such as graphics and tables.</p>
<p>Linux stores files in plain-text format. This allows you to use different processing, or filtering, utilities on the text. These utilities let you format, analyze, and manipulate text in many different ways. For example, you can format pages and paragraphs, check spelling, add page numbers and headers, and count the lines, words, and characters that a file contains.</p>
<p><strong>Text-processing utilities</strong></p>
<p style="text-align: center;"><img class="aligncenter" src="http://img181.imageshack.us/img181/9839/linux1d.jpg" alt="text processing utilities" /><br />
<img src="http://img178.imageshack.us/img178/6530/linux2y.jpg" alt="text processing utilities" /></p>
<p>The general command syntax used for text-processing commands is</p>
<blockquote><p>command [option ] filename(s)</p></blockquote>
<p><strong>Reading files</strong><br />
To work with files, you need to know what information they contain. One way of doing this is to use the cat command to display the contents of a file on your terminal screen. This command provides a number of options.</p>
<p><strong>Options for the cat command </strong></p>
<p style="text-align: center;"><img class="aligncenter" src="http://img179.imageshack.us/img179/3176/linux3optionforcat.jpg" alt="text-processing utilities" /></p>
<p><strong>Viewer commands </strong><br />
A quicker way of viewing the contents of a file is by using viewer commands, which display the information at the start or end of a file. Examples of viewer commands include head and tail.</p>
<p>By default, the head command displays the first 10 lines of a file, and the tail command displays the last 10 lines of a file. Additional options can be used with these commands to view more specific areas of a file. For example, you can use the -n option with the commands to specify the number of lines they must display.</p>
<p><strong>Pager commands </strong><br />
If a particular file is longer than one screen, it may scroll past too quickly for you to read it. You can scroll through documents at your own pace by using pager commands, which display documents one screen at a time. Examples of pager commands include less and more.</p>
<p>The more command is the original pager command and derives from the Berkeley version of UNIX. It enables you to move through a document in a forward direction only.</p>
<p>The less command was developed to replace the more command and provides a wider range of options for viewing files.</p>
<p><strong>Pager command options </strong></p>
<p style="text-align: center;"><img src="http://img246.imageshack.us/img246/6425/linux4pager.jpg" alt="pager command option" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.icalvyn.com/text-processing-utilities-in-linux/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Understanding disk quotas in Linux</title>
		<link>http://www.icalvyn.com/understanding-disk-quotas-in-linux/</link>
		<comments>http://www.icalvyn.com/understanding-disk-quotas-in-linux/#comments</comments>
		<pubDate>Thu, 30 Jul 2009 00:35:09 +0000</pubDate>
		<dc:creator>calvyn</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Operating System]]></category>

		<guid isPermaLink="false">http://www.icalvyn.com/?p=1994</guid>
		<description><![CDATA[After talk about special character on linux command last week, now let understand on disk quota here. In Linux, a system of disk quotas enables the system administrator to restrict disk usage by individuals and groups. Quotas can specify the maximum amount of total disk space allotted to a user or group The maximum number [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">After talk about <a title="linux special character command" href="http://www.icalvyn.com/special-characters-on-the-linux-command-line/" target="_blank">special character on linux command</a> last week, now let understand on disk quota here. In Linux, a system of disk quotas enables the system administrator to restrict disk usage by individuals and groups.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://img200.imageshack.us/img200/1892/bostonpen01.jpg" alt="linux" width="525" /></p>
<p style="text-align: justify;">Quotas can specify</p>
<ul style="text-align: justify;">
<li>the maximum amount of total disk space allotted to a user or group</li>
<li>The maximum number of files a user or group can create</li>
</ul>
<p style="text-align: justify;">You assign quotas by partition, so an individual or group who creates files on two partitions may have a different quota for each partition, or a quota for only one of the two partitions.</p>
<p style="text-align: justify;"><strong>User and group quotas </strong><br />
User quotas and group quotas are independent of each other – so the value of the group quota is not the sum of the values of the users&#8217; quotas in a group. When a user attempts to create a file, Linux first checks if there is a group quota for the user&#8217;s group. If a group quota for the group to which the user belongs has already been filled, the user can&#8217;t create the file, regardless of the status of the user&#8217;s quota. To create the file, the user must change groups. Every file that an individual user creates counts towards the quota of the user&#8217;s group. If the user isn&#8217;t part of a quota-restricted group, or if group quotas aren&#8217;t switched on for a partition, the user can create files on the partition as long as the user&#8217;s quota isn&#8217;t filled.<span id="more-1994"></span></p>
<p style="text-align: justify;"><strong>Hard and soft limits </strong><br />
When you set quotas, you can specify both a hard and a soft limit. When a user exceeds a soft limit, a warning is issued, but the user can continue to create files for the duration of a grace period. The default grace period is seven days, but the administrator can change this period. At the end of the grace period, the user must reduce their disk usage so that they don&#8217;t exceed the soft limit. The soft limit acts as a warning to the user that they are approaching a hard limit. When the user reaches a hard limit, they can no longer create files at all.</p>
<p style="text-align: justify;"><strong>Viewing quotas</strong><br />
The quota command checks the file system in the /etc/fstab directory for quotas and reports them. As a root user, you can use the quota command to view the quotas of any user or group on a system. Users can check their own quotas and the quotas of any groups to which they belong. The syntax for viewing quotas is</p>
<blockquote style="text-align: justify;"><p>quota option who</p></blockquote>
<p style="text-align: justify;">In the syntax, who can be either a username or a group name.</p>
<p style="text-align: justify;">The following options are used with the quota command:</p>
<ul style="text-align: justify;">
<li>g checks a group quota</li>
<li>u checks a user quota</li>
<li>q checks which quotas have been filled</li>
</ul>
<p style="text-align: justify;">Users can use the -g option and the -u option together, to check both their user and group quotas.</p>
<p style="text-align: justify;">The repquota command reports quotas and provides a summary of disk usage for a specified file system. So you can see how many files a user or group owns in a file system and how much space they occupy. The syntax for using the repquota command is</p>
<blockquote style="text-align: justify;"><p>repquota options file_system</p></blockquote>
<p style="text-align: justify;">The following table shows the repquota command options.</p>
<p style="text-align: justify;"><strong>Options for the repquota command </strong></p>
<p style="text-align: justify;"><img class="aligncenter" src="http://img151.imageshack.us/img151/8858/dq1s.jpg" alt="disk quotas in linux" /></p>
<p style="text-align: justify;">As for the quota command, the root user can use the repquota command to view all quotas in the system, whereas other users can view only their own user and group quotas.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icalvyn.com/understanding-disk-quotas-in-linux/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Special characters on the Linux command line</title>
		<link>http://www.icalvyn.com/special-characters-on-the-linux-command-line/</link>
		<comments>http://www.icalvyn.com/special-characters-on-the-linux-command-line/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 16:04:11 +0000</pubDate>
		<dc:creator>calvyn</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Operating System]]></category>

		<guid isPermaLink="false">http://www.icalvyn.com/?p=1992</guid>
		<description><![CDATA[Specially defined characters are essential for many of the Linux shell&#8217;s powerful features, such as filename completion and command substitution. The shell interprets these characters in a different way from other, regular characters on the command line. However, if you want to disable these characters, you can use a process called quoting. Filename completion characters [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Specially defined characters are essential for many of the Linux shell&#8217;s powerful features, such as filename completion and command substitution. The shell interprets these characters in a different way from other, regular characters on the command line. However, if you want to disable these characters, you can use a process called quoting.</p>
<p style="text-align: justify;"><strong><span style="text-decoration: underline;">Filename completion characters </span></strong></p>
<p style="text-align: justify;">Filename completion characters are metacharacters that enable you to abbreviate filenames or directory names. This saves time and lets you process files selectively, even if you don&#8217;t know their full names or locations.</p>
<p style="text-align: justify;">Commonly used filename completion characters are included in the table below.</p>
<p style="text-align: center;"><strong>Filename completion characters</strong><br />
<img class="aligncenter" src="http://img223.imageshack.us/img223/2914/sc1t.jpg" alt="special characters on linux command line" /></p>
<p style="text-align: justify;">The * character (asterisk) is the most frequently used file completion character. You can use the string b*, for example, to match all the filenames beginning with the letter &#8220;b&#8221;. You can also use multiple asterisks to define a file. For example, *xx*.gif retrieves any filename that contains &#8220;xx&#8221; anywhere in its name and that has the .gif extension.<span id="more-1992"></span></p>
<p style="text-align: justify;">The ? character (question mark) represents any single character, so the string ??? refers to all files with a three-letter name. This special character is more restrictive than the asterisk, because it requires the character to be present. For example, the code file?.txt signifies all files that begin with &#8220;file&#8221;, include one additional character, and have the .txt extension. So the filename &#8220;file1.txt&#8221; matches, but &#8220;file.txt&#8221; and &#8220;file01.txt&#8221; don&#8217;t.</p>
<p style="text-align: justify;">Using [] characters (square brackets) allows for a more selective approach to retrieving files. The string [abc] will find files a, b, and c only. You can include a hyphen between characters inside the brackets to match a continuous range of characters. To specify the characters 0 through 9, for example, it is a lot easier and less time-consuming to type [0-9] rather than [0123456789]. If the brackets precede an asterisk, as in [0-9]*, filenames starting with any numbers between 0 and 9 are found. The pattern *[0-9] will match filenames ending with numbers between 0 and 9. Inserting an exclamation mark inside the brackets, as in [!b], will invert the pattern, matching any characters or ranges not specified in the brackets but ignoring those that are.</p>
<p style="text-align: justify;">The $ (dollar sign) is used to identify shell variables at the command line. Variables are values that have been associated in memory with some kind of identifier. Variables have many uses in Linux. To give a simple example, a variable with the identifier PATH contains the list of directories within which the shell can search for executable files. To view this list, you invoke the following command:</p>
<blockquote style="text-align: justify;"><p>echo $PATH</p></blockquote>
<p style="text-align: justify;">If you entered the command echo PATH, it would print the literal string &#8220;PATH&#8221;, rather than the value of the PATH variable, on your terminal.</p>
<p style="text-align: justify;">The ~ character (tilde) enables you to refer quickly and easily to your home directory, no matter where in the file system you might be. Say that your current working directory is /usr/local/bin and you have a file called &#8220;usernames&#8221; in your own home directory, which you want to edit with vi. Rather than having to type the complete path to the file, you can just issue the command</p>
<blockquote style="text-align: justify;"><p>vi ~/usernames</p></blockquote>
<p style="text-align: justify;"><strong><span style="text-decoration: underline;">Quoting special characters </span></strong></p>
<p style="text-align: justify;">There are occasions when you might want to suppress the special meanings of metacharacters. A special character must be quoted in order to represent its own literal meaning rather than its special meaning to the shell. Quoting causes the shell to overlook the unique capabilities of special characters and negate parameter expansion. This mechanism uses the following quote symbols:</p>
<ul style="text-align: justify;">
<li>\ (backslash)</li>
<li>&#8221; (double quotes)</li>
<li>&#8216; (single quotes)</li>
<li>` (backquote)</li>
</ul>
<p style="text-align: justify;">The backslash is also known as the bash shell escape character. This is because it turns off or &#8220;escapes&#8221; the special meaning of the character that follows it. For example, as we have already seen, the following command returns the value of the PATH environment variable:</p>
<blockquote style="text-align: justify;"><p>echo $PATH</p></blockquote>
<p style="text-align: justify;">However, the following command will return the literal output &#8220;$PATH&#8221;, because the backslash negates the special meaning of the dollar sign:</p>
<blockquote style="text-align: justify;"><p>echo \$PATH</p></blockquote>
<p style="text-align: justify;">If a line itself ends with a backslash, it acts as a continuation character for the line and the newline character is ignored.</p>
<p style="text-align: justify;">Single quotes negate the translation of all special characters. They prevent the substitution of alternative values for the characters. For example, the following command will output a list of single-character filenames:</p>
<blockquote style="text-align: justify;"><p>ls ?</p></blockquote>
<p style="text-align: justify;">However, this command will attempt to list the file with the literal name &#8220;?&#8221;:</p>
<blockquote style="text-align: justify;"><p>ls &#8216;?&#8217;</p></blockquote>
<p style="text-align: justify;">Double quotes cause most metacharacter special meanings to be ignored. The exceptions to this rule are the dollar sign, backquote, and backslash. So double quotes have the effect of canceling the process of filename generation by the shell, but still allow the expansion of shell variables and command substitution. The dollar sign and backquote continue to function as special characters when included between double quotes. The backslash character only does so when it&#8217;s followed by a dollar sign, backquote, double quote, backslash, or a newline character. In these circumstances, the backslash itself is removed and the special meaning of the following character is ignored. This makes it possible to quote a double quote between double quotes if it is preceded by a backslash. For example, the commands echo&#8221;\&#8221;" or echo\&#8221; output a double quote character by suppressing the special meaning of the embedded double quote.</p>
<p style="text-align: justify;">The backquote is still often used for command substitution, although the $() combination (a dollar sign and brackets) is generally preferred. The shell interprets the text between a pair of backquotes as a command before translating the rest of the command line. The output of the command replaces the original backquoted text.<br />
In the following code, the double quotes disable the date command:</p>
<blockquote style="text-align: justify;"><p>&gt; echo &#8220;date&#8221;<br />
date</p></blockquote>
<p style="text-align: justify;">However, the backquotes in this command enable command substitution to occur:</p>
<blockquote style="text-align: justify;">
<p style="text-align: justify;">&gt;echo &#8216;date&#8217;<br />
Thu Jun 10 17:18:56 IST 2004</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.icalvyn.com/special-characters-on-the-linux-command-line/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Why use the Linux shell?</title>
		<link>http://www.icalvyn.com/why-use-the-linux-shell/</link>
		<comments>http://www.icalvyn.com/why-use-the-linux-shell/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 16:01:45 +0000</pubDate>
		<dc:creator>calvyn</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Operating System]]></category>

		<guid isPermaLink="false">http://www.icalvyn.com/?p=1990</guid>
		<description><![CDATA[Most PC users communicate with the operating system on their machines using a graphical user interface (GUI), such as those used in Microsoft Windows 2000 or Mac OS 9. Linux has its own GUIs, most notably GNU Network Object Model Environment (GNOME) and the K Desktop Environment (KDE). GUIs provide buttons, menus, icons, and all [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Most PC users communicate with the operating system on their machines using a graphical user interface (GUI), such as those used in Microsoft Windows 2000 or Mac OS 9. Linux has its own GUIs, most notably GNU Network Object Model Environment (GNOME) and the K Desktop Environment (KDE). GUIs provide buttons, menus, icons, and all the other point-and-click features that have simplified modern computing so greatly. However, it is a mistake to assume that GUIs are always the best way to communicate with an operating system. Although GUIs certainly provide simplicity, they tend to obscure some of a computer&#8217;s capabilities from the user. This is where a shell comes in.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://img40.imageshack.us/img40/7628/linuxshell.jpg" alt="linux shell" /></p>
<p style="text-align: justify;"><strong><span style="text-decoration: underline;">Advantages of using a shell </span></strong></p>
<p style="text-align: justify;"><strong>Greater control </strong><br />
A shell is a program that acts as an interface between the user and the operating system, just as a GUI does. However, a shell works without graphics – when you use one, you issue instructions to the operating system by typing in commands. In fact, the shell is often referred to as a command interpreter.</p>
<p style="text-align: justify;">This may seem like a return to basic computing, but a command-line interface lets you exercise a degree of control over the operating system that would otherwise be lacking. There are a number of reasons for this:<span id="more-1990"></span></p>
<ul style="text-align: justify;">
<li>with a GUI, only the options provided by the interface are available to the user</li>
<li>lack of space on a screen can limit the number of options that a GUI displays</li>
<li>no standard methods exist within GUIs for performing standard command-line tasks, such as linking commands in sequences, redirecting output from one destination to another, or collecting commands into scripts</li>
</ul>
<p style="text-align: justify;">A disadvantage of using a command-line interface is that the user needs to learn a wide variety of sometimes cryptic commands and their associated options. However, the commands are more powerful and adaptable than their GUI counterparts, because they can be extended and fine-tuned through the use of options. An expert user of a command-line interface can issue complex commands very quickly. Techniques also exist to link multiple commands together with pipes and redirections, so that the output of one command becomes the input of another. Linux can interpret commands issued using the shell more quickly than GUI commands. This is because shell commands are nothing more than simple ASCII text. Some shells even enable you to define your own commands.</p>
<p style="text-align: justify;"><strong>Automation of common tasks </strong><br />
A shell has another advantage over a GUI in that it keeps a history list of recently issued commands. This enables a user to step back and forth through this list, reusing commands at any point. In addition, a shell enables you to string commands together to form a shell script. These scripts work in a similar way to batch files, issuing multiple commands as one. You can use them to automate common tasks that would otherwise require you to issue several, consecutive commands.</p>
<p style="text-align: justify;"><strong>Speed and efficiency </strong><br />
In hardware terms, a shell is a more attractive proposition than a GUI. Shells are much less resource-intensive than GUIs – they require less memory, for example. This means that a command issued in the shell will run more quickly and efficiently than the same command run in a GUI. It also means that a shell supports Linux&#8217;s multitasking environment, in which multiple tasks run simultaneously, more comfortably than a GUI, in which the GUI itself competes for CPU resources.</p>
<p style="text-align: justify;"><strong><span style="text-decoration: underline;">Shell evolution</span></strong></p>
<p style="text-align: justify;"><strong></strong>Since its creation as a derivative of UNIX, Linux has given rise to a number of shells, which have evolved along with the operating system itself. When a new shell is developed, it doesn&#8217;t spell the end for all previous shells. Many different Linux shells are available, and each has particular strengths. The one you use depends on your own preferences and on the task you wish to undertake.</p>
<p style="text-align: justify;">The default shell in most Linux installations is the Bourne Again shell, or /bin/bash. It is a successor to the Bourne shell, or /bin/sh, which was an early and less powerful Linux shell. The Bourne Again shell was created and is distributed by the Free Software Foundation. It offers features such as command-line editing and filename completion. It is an ideal first shell for Linux newcomers. In addition, bash supports the syntax used by another Linux shell called the C shell, or /bin/csh, which increases its flexibility.</p>
<p style="text-align: justify;">You can find out which shell you&#8217;re running at any time by typing the command echo $SHELL at the shell prompt. The default shell is specified in the /etc/passwd file and can be changed there for each user.</p>
<p style="text-align: justify;">Since we are talking about Linux here, you might want to know how to <a href="http://www.icalvyn.com/mounting-linux-file-systems/">mount linux file system</a> also understand on <a href="http://www.icalvyn.com/linux-files-types/">Linux File Types</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icalvyn.com/why-use-the-linux-shell/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Mounting Linux file systems</title>
		<link>http://www.icalvyn.com/mounting-linux-file-systems/</link>
		<comments>http://www.icalvyn.com/mounting-linux-file-systems/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 04:33:43 +0000</pubDate>
		<dc:creator>calvyn</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Operating System]]></category>

		<guid isPermaLink="false">http://www.icalvyn.com/?p=1987</guid>
		<description><![CDATA[After talking on the Linux File Types in the previous entries, is time to learn the basic on mounting linux file systems. For the data contained on hard disks, disk partitions, network drives, and removable media to be accessed under Linux, it is necessary to attach – or mount – the devices containing the data [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">After talking on the <a href="http://www.icalvyn.com/linux-files-types/">Linux File Types</a> in the previous entries, is time to learn the basic on <strong>mounting linux file system</strong>s. For the data contained on hard disks, disk partitions, network drives, and removable media to be accessed under Linux, it is necessary to attach – or mount – the devices containing the data to the Linux directory structure. The reason for this is that Linux treats every device or partition as a separate and independent file system. It also views all data as though it were in a subdirectory of the root (/) directory, regardless of the kind of device on which it is stored – even when it is kept on a separate computer.</p>
<p><img class="aligncenter" src="http://img32.imageshack.us/img32/6471/cdmainfull.jpg" alt="disk drive" width="525" /></p>
<p>It is an important part of the role of the Linux system administrator to ensure that file systems are mounted correctly, whether at boot time or manually, to ensure that all required data is available at the expected locations.</p>
<p><strong>Advantages of mounting Linux file systems and devices </strong></p>
<p>Devices are mounted at predetermined directories below the root file system. These are usually, although not always, special directories created for the purpose. The file systems that belong under the /var, /home, and /usr directories, for example, are kept on separate partitions or devices from the root file system. Network machines are frequently configured so that the /home data for all machines is actually stored on a single Network File System (NFS) server, which is then mounted under the /home directory on each individual machine. This enables users to access their own home directories in the usual locations, regardless of which computers they are actually logged on at.<span id="more-1987"></span></p>
<p>Because all devices and file systems appear below the root directory, the transition from one device or file system to another is entirely seamless. So a user can access a file on an NFS server over a network as though the file were on the local hard drive.</p>
<p>Linux makes it easy to expand the space available to overloaded file systems by mounting new partitions. For example, say the directory /home/project is filling up with so much data that it threatens to take over the hard drive on which it is stored. The system administrator can easily move the data from the existing /home/project to an empty disk partition with more available space, and remount the new partition at /home/project. To users, there won&#8217;t be a difference between the old configuration and the new one – they still access their files under /home/project, even though the files are now stored on a completely different hard drive.</p>
<p>It is important to mount file systems in the correct order. This is sometimes necessary to ensure that the mount point required by a given file system exists and is available when the mount command is issued. Taking the /home/project example again, the project data exists on one disk partition and all the remaining /home data is on another, including the /home/project directory under which the /home/project partition is to be mounted. Clearly, if an attempt is made to mount the /home/project partition before the /home partition, this will result in an error, as the /home/project directory doesn&#8217;t yet exist. The correct order is to mount the /home partition first, followed by the /home/project partition.</p>
<p>It is also important to be aware when mounting devices under a given directory that any files previously available under that directory will be hidden while the device is mounted. So any files that still remain in the /home/project directory of the /home partition will become invisible as soon as the /home/project partition is mounted in that directory. Furthermore, the disk space those files occupy will remain unavailable to the system until the project partition is unmounted. You should therefore check what already exists in a directory before you use it as the mount point for some other file system, to avoid duplicating files or wasting disk space.</p>
<p><strong>File system mounting management </strong></p>
<p>To assist in the management of file system mounting, a special directory called /mnt exists in most Linux distributions. This directory contains dedicated directories for mounting specific devices such as CD-ROM, floppy disk, and zip disk drives. This is a convenient way to ensure that such devices have a suitable mount point available to them at all times.</p>
<p><strong>Removable media</strong></p>
<p>It is impossible to access the data on removable media without mounting them first. To use a floppy disk drive, for example, you need to issue the mount command before the disk contents will be visible to the system.</p>
<p>Similarly, when you have finished using any kind of removable medium, it is very important to unmount the device using the umount command before removing the disk from the drive. This is because Linux improves efficiency by often storing information in memory buffers rather than writing it directly to the disk. If a removable disk is removed without being unmounted first, there is a high probability of data loss, just as there is from a hard drive if you shut down the system by turning off the power without running the proper shutdown procedure.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icalvyn.com/mounting-linux-file-systems/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

