Here are many common Linux commands that will be helpful to you, if you ever even use the command line interface in Linux. Most average users just use the graphical user interface instead which usually has many tools and front-ends to Linux common commands. This Linux tutorial on command commands will help even the average user in case X server crashes, fails, is not properly configured, etc. So continue reading for some of the more common Linux bash commands.
- ls Displays everything in the current directory
- ls -a Displays all files, including hidden
- ls -l Displays all files, along with the size and timestamp
- tar -zxpf Uncompresses tar.gz files
- tar -xpf Uncompresses .tar files
- gunzip Uncompresses .gz files
- cp /path/to/old /path/to/new Copies a file to a new file
- mv /path/to/old /path/to/new Moves a file to a new file, or rename
- mkdir Creates a directory
- rmdir Deletes a directory
- rm Deletes a file
- rm -rf Deletes a directory
- cd /path/to/dir Moves to a directory
- cd .. Move up one directory
- cd ~ Moves to your home directory
- cd – Moves to the previous directory
- pwd Displays the present working directory (the one you’re in)
- pico Edits a file
- ftp Connect to a FTP server
- lynx View a webpage
- df Displays the hard drive stats
- quota Displays your quota
- uptime Displays the uptime of the server
- uname -a Displays the operating system stats
- whoami Displays your info
- who Displays others connected to the server
- last Displays the last login
- whereis Tells where a file is located
- BitchX IRC Client
- mail Check your email
- ps -x Displays processes your running
- ps -a Displays all processes running
- ps -ux Displays running processes, with CPU/Memory usage
- kill pid# Kills a process
- kill -9 pid# Kills an eggdrop process
- killall proc_name Kills all running process of the same type
- whatis Description of commands
- man command Displays help on the command (manual)
- nano Same as Pico (Use yum install nano if it doesn’t first work)
- Top – gives an overall view of what is going on with the server including memory usage, serve load and running processes “q” to exit top
- sar -q gives a report of the process list, 1 minute and 5 minute average load every 10 minutes since midnight server time
- tar -zcf filename.tar.gz file Tars up the file or directory of your choice, replace filename.tar.gzwith the name you want your tar file to have…with the tar.gz extension on the end and replace file with the file or directory you want to tar up. Can also use a path/to/file for both.
- updatedb – Updates the locate/search DB.
service servicename restart
Stop a service:
service servicename stop
Start a service:
service servicename start
Status (doesn’t work on all):
service servicename status
On a RedHat CPanel server, here are the useful services: (CentOS, x10′s default OS for VPSs, is a stripped-down RedHat OS.)
Root crontab: (can be used by any user with crontab permissions to edit their crontab. If you are running this as “root” it will edit root’s crontab, and the same goes for any other user. When “bob” runs crontab -e, he will edit his own crontab and not root’s, though he can only edit his own crontab if he has permissions.)
To edit a users cron jobs: (run as a super-user, such as root. not available to regular users.)
crontab -u username -e
Replace username with the actual username of the client you want to edit.
(We’re still talking about RedHat [CentOS] that is running cPanel below. You can do most, if not all, of this from the WHM, so feel free to skip ahead a bit. )
- /scripts/adddns Add a Dns Entry
- /scripts/addfpmail Install Frontpage Mail Exts
- /scripts/addservlets Add JavaServlets to an account (jsp plugin required)
- /scripts/adduser Add a User
- /scripts/admin Run WHM Lite
- /scripts/apachelimits Add Rlimits (cpu and mem limits) to apache.
- /scripts/dnstransfer Resync with a master DNS Server
- /scripts/editquota Edit A User’s Quota
- /scripts/finddev Search For Trojans in /dev
- /scripts/findtrojans Locate Trojan Horses
- Suggested Usage:
- /scripts/findtrojans < /var/log/trojans
- /scripts/fixtrojans < /var/log/trojans
- /scripts/fixcartwithsuexec Make Interchange work with suexec
- /scripts/fixinterchange Fix Most Problems with Interchange
- /scripts/fixtrojans Run on a trojans horse file created by findtrojans to remove them
- /scripts/fixwebalizer Run this if a user’s stats stop working
- /scripts/fixvaliases Fix a broken valias file
- /scripts/hdparamify Turn on DMA and 32bit IDE hard drive access (once per boot)
- /scripts/initquotas Re-scan quotas. Usually fixes Disk space display problems
- /scripts/initsuexec Turn on SUEXEC (probably a bad idea)
- /scripts/installzendopt Fetch + Install Zend Optimizer
- /scripts/ipusage Display Ipusage Report
- /scripts/killacct Terminate an Account
- /scripts/killbadrpms Delete \”Security Problem Infested RPMS\”
- /scripts/mailperm Fix Various Mail Permission Problems
- /scripts/mailtroubleshoot Attempt to Troubleshoot a Mail Problem
- /scripts/mysqlpasswd Change a Mysql Password
- /scripts/quicksecure Kill Potential Security Problem Services
- /scripts/rebuildippool Rebuild Ip Address Pool
- /scripts/remdefssl Delete Nasty SSL entry in apache default httpd.conf
- /scripts/restartsrv Restart a Service (valid services: httpd,proftpd,exim,sshd,cppop,bind,mysql)
- /scripts/rpmup Syncup Security Updates from RedHat/Mandrake
- /scripts/runlogsnow Force a webalizer/analog update.
- /scripts/secureit Remove non-important suid binaries
- /scripts/setupfp4 Install Frontpage 4+ on an account.
- /scripts/simpleps Return a Simple process list. Useful for finding where cgi scripts are running from.
- /scripts/suspendacct Suspend an account
- /scripts/sysup Syncup Cpanel RPM Updates
- /scripts/ulimitnamed RH 6 only. Install a version of bind to handle many many zones.
- /scripts/unblockip Unblock an IP
- /scripts/unsuspendacct UnSuspend an account
- /scripts/upcp Update Cpanel
- /scripts/updatenow Update /scripts
- /scripts/wwwacct Create a New Account
rpm -e –nodeps `rpm -qa|grep mrtg`
Empty /tmp folder
rm -R -f /tmp/c*
rm -R -f /tmp/s*
rm -R -f /tmp/p*
rm -R -f /tmp/*_*
rm -R -f /tmp/*-*
netstat -n -p
Useful to see who is connected to your server, this also resolves hostnames to IP addresses and the -p switch shows you what each person connected is doing and provides a PID for it if there is one… useful if you need to kill something
find / -user username
Replace username with a username of one of your account to find all the files that belong to them. Also useful to add the |more switch so you can scroll one screen at a time. Ever have a client who seems to show a lot more files than are actually in their home directory? This is how you find those files and fix them. Common problem is cpmove files that don’t get properly deleted and get added to a users account.
Replace username with a user on your system. This should be done from the home directory. Useful for manually backing up an account if whm copy account doesn’t work. Then just move (mv) the file to a home directory accessible via the web and
chown user.user filename
and chmod to 750 or 755 and you can wget it from a different server if need be.
Once you’ve got the file and need to unpack it you use this command. The file should be in the /home directory to use this though. Remember folks…. username…. not cpmove-username.tar.gz
edit the crontab file and see what is set to run in there.
–help (add to end of the command following a single space)
Such as tar –help, similar to man it digs up info on any given command.
tail -10 filename
gives you the last 10 lines of a file. Can change the # to whatever you want.
cp -R FileOrDirectory path/to/destination
the -R allows you to copy an entire directory to somewhere else.
not just for eggdrops… it’s called a “hard kill” and handy for killing off any stubborn process that refuses to die.
whereis filename (use the * as a wildcard or for broader search)
can also use locate or find (although locate is faster)
not just for killing programs.. you can also killall to kill all processes being run by a user. Handy if you have an abuser eating up system resources.