Bash and command line keyboard shortcuts

Shortcut keys for the bash and commad line interface.

Ctrl + A – Moves cursor to begining of line.

Ctrl + E – Moves cursor to end fo line.

Ctrl + K – Clears command line from cursor position till end of line.

Ctrl + U – Clears command line from cursor position till begining of line.

Ctrl + W – Clears first word to the left from cursor position.

Ctrl + Y – Paste any value previously deleted by Ctrl+K,Ctrl+U and Ctrl+W.

Tab Key – Auto compelte a partial typed command.

Ctrl + R – Followed by characters with search through the recent command history.

Crtl + D – Quits bash if used in a blank command line.

Ctrl + L – Screen refresh.

Ctrl + C – Kills current process.

Ctrl + Z – Suspend a process. Use command “bg” to execute the process in the background and “fg” to bring the process back to the foreground. The command “jobs” will list the available processes you can manipulate.

That’s it. Hope the commands help you. If i missed out anything please do comment.

-bash: /usr/bin/crontab: Permission denied

” -bash: /usr/bin/crontab: Permission denied “.

I was getting this error earlier today while trying to add cron jobs for my login on my SLES 10 box at work. Turns out that all users in SLES 10 by default have no access to cron.

The fix is to add the user to the “trusted” group in the group file (/etc/group). Let’s assume mu login is “elf”.

1. Make sure you are “root”.

2. #usermod -G trusted elf
This will add the user to the “trusted” group.

3. #id elf
Display groups the user belongs to. Make sure “trusted” is on the list too.
The output might look like this. “uid=502(danny) gid=502(users) groups=502(elf),11(trusted)”
4. #su – elf
Change user

5. #crontab -e
Add/Remove/Edit user cron jobs.

6. #crontab -l
List user scheduled cron jobs

Please do comment if you have an alternative way to accomplish this or if I made a mistake.

Screen | Linux Command

When you run commands and programs in a command prompt on Linux, the programs or commands only run while the command prompt session is open but as soon as the command prompt session is terminated for whatever reason, the commands or programs running within the command prompt session will also get terminated.

I use wget to download files from the internet using my putty console all the time. Imagine downloading a 500mb file and then suddenly putty crashes causing my session to terminate along with it. There goes my 500mb file download!! I so wished I had known about the “Screen” program then.

The screen program is a magnificent utility. Screen basically starts a session within the the session that you logged in with. So, if your putty session suddenly crashed don’t worry, the screen session would still be running in the background. Log in again to the server using putty and you should be able to retrieve the screen session you initiated earlier.

# screen

This starts a screen session.

# Ctrl + A followed by D

This will detach your screen session and return you to the original session you logged in with. Your screen session will now be running in the background.

# screen -r

This command will resume your previous screen session.

# Ctrl + A followed by Ctrl + \(back slash)
# exit

You could run either command above to end a screen session.

# Ctrl + A followed by “

This command will list all the available screen sessions running if there are.

Usefull Links:
O’REILLY Linux Command Directory

Inside Open Source

New Banner | Site Update

http://alanbernard.com/binations/Just put up my new banner curtosy of my best pal Alan Bernard. He’s got tallent and an upcoming star in art so make sure to check his site “http://alanbernard.com/binations/” for new stuff.

I had a post up about his Ts before. Check it out.

mkfifo | Linux Command

A short introdution to name pipes as I see them.

In the Linux world name pipes are typically used to permit communications between 2 unrelated processes. Name pipes are also known as FIFOs (first in, first out), normally used to establish a one-way flow of data.(half-duplex). Name pipes have a path name of a file associated with them, this is how calling process will reference the name pipes.

Name pipes are file system persistent objects. What this means is that name pipes are always available till the time they are explicitly deleted from the file system as they are represented by as standard files on the file-system. As for standard pipes that we religiously use in our day to day Linux life also known as anonymous pipes are process persistent objects meaning that the name pipes are removed as soon as the processes no longer use them.

What does mkfifo do

mkfifo is used to create a FIFOs(name pipe). “mkfifo test-pipe”, now we have a name pipe called “test-pipe”.

“ls > test-pipe”, this pipes the output of the ls command into the name pipe “test-pipe”.

“cat name-pipe | while read line i; do rm -f $i; done” this will delete the files passed. At this point the “test-pipe” will be empty. “cat test-pipe” will come up blank.

I’ve added a screen-shots of the above in action on the next page. Check it out.

I’m not a Linux guru yet, so guys if my information not accurate or if there is a better way to improve my example please feel free to comment.

read more

© 2008-2009 The Danesh Project
Powered by Wordpress and made by Guerrilla. Best viewed in Mozilla Firefox