Select Page
Basic Linux Commands List

Basic Linux Commands List

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.

RESTART SERVICES:

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.)
bandmin
chkservd
cpanel
crond
exim
httpd
mysql
named
proftpd

CRON INFO:

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.)
crontab -e

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. :P )

  • /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

Delete MRTG

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.

/scripts/pkgacct2 username
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.

/scripts/restorepkg username
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

crontab -e
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.

kill -9
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)

killall
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.

How To install vsftpd on CentOS 6

How To install vsftpd on CentOS 6

The first two letters of vsftpd stand for “very secure” and the program was built to have strongest protection against possible FTP vulnerabilities.

Step One—Install vsftpd

You can quickly install vsftpd on your virtual private server in the command line:

We also need to install the FTP client, so that we can connect to an FTP server:

sudo yum install ftp

Once the files finish downloading, vsftpd will be on your VPS. Generally speaking, the virtual private server is already configured with a reasonable amount of security. However, it does provide access to anonymous users.

Step Two—Configure VSFTP

Once VSFTP is installed, you can adjust the configuration.

Open up the configuration file:

sudo vi /etc/vsftpd/vsftpd.conf

One primary change you need to make is to change the Anonymous_enable to No:

anonymous_enable=NO

Prior to this change, vsftpd allowed anonymous, unidentified users to access the VPS’s files. This is useful if you are seeking to distribute information widely, but may be considered a serious security issue in most other cases. After that, uncomment the local_enable option, changing it to yes.

local_enable=YES

Finish up by uncommenting command to chroot_local_user. When this line is set to Yes, all the local users will be jailed within their chroot and will be denied access to any other part of the server.

chroot_local_user=YES

Finish up by restarting vsftpd:

sudo service vsftpd restart

In order to ensure that vsftpd runs at boot, run chkconfig:

chkconfig vsftpd on

Step Three—Access the FTP server

Once you have installed the FTP server and configured it to your liking, you can now access it.

You can reach an FTP server in the browser by typing the domain name into the address bar and logging in with the appropriate ID. Keep in mind, you will only be able to access the user’s home directory.

ftp://example.com

Alternatively, you can reach the FTP server through the command line by typing:

 ftp example.com

Then you can use the word, “exit,” to get out of the FTP shell.

Source : Digitalocean

How To Setup Virtual Host (Server Block) For Nginx On Ubuntu 14.04

How To Setup Virtual Host (Server Block) For Nginx On Ubuntu 14.04

Here’s a brief tutorial that shows you how to create a virtual host or server block on Nginx web server. Virtual Host is a term used with Apache2 to host multiple websites on a single web server.

Nginx on the other hand calls it Server Block. So to Nginx it’s called Server Block and Apache2, it’s called Virtual Host. So instead of running a single website on a single web server, virtual hosting allows for one web server to host multiple websites with different domain names in separate containers.

That’s what this short guide is going to show you. Websites hosted in virtual environments will need separate root directories to host each website content. Each website also will have its own configurations files which control how the website functions and that’s the beauty of implementing virtual hosting with web servers.

To get started with implementing virtual server blocks on Nginx, continue below.

 

Install Nginx on Ubuntu 14.04

First install Nginx web server. To do that on Ubuntu 14.04, run the commands one

sudo apt-get update && sudo apt-get install nginx

Creating Virtual Directory

The next step is to create separate virtual directories for each website. Since Nginx default path is at /var/www/, we’re going to be creating our directories in there.

Create a virtual directory for a website called myblog.com

sudo mkdir -p /var/www/html/myblog.com/vhost

Content for myblog.com domain will live in the /var/www/html/myblog.com/vhost directory. You can create as many you like, just keep them separate.

The next thing is granting the appropriate ownership to Nginx webserver. To change the ownership of the directory to Nginx, run the commands below.

sudo chown -R www-data:www-data /var/www/html/myblog.com/vhost

Next, change the permissions on the directory so Nginx can function correctly.

sudo chmod -R 755 /var/www/html

Creating a test page
Now you can create a test index page and place it in the vhost folder of myblog.com to verify if the virtual host is working since there’s nothing there. Copy and page the code below into a new file called index.html

This is my test page

Configuring the virtual host
The next step is defining the virtual host perimeter in its configuration file. Virtual host configuration files are used to control how the virtual webserver functions and operates.

In this file is where you define the document root directory, control access rights, define the server name, admin email address and more. The configuration file is very important.

When you install Nginx on Ubuntu, a default configuration file with the basic settings is created. This file is there to verify that Nginx is working after you browse to the host.

So, we’re going to make a copy of the default configuration file to create the myblog.com domain configuration file. To do that, run the commands below.

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/myblog.com

Next, open the new configuration file for myblog.com and define the configurations for the myblog.com virtual site.

sudo vi /etc/nginx/sites-available/myblog.com

Configure the file

[....]
server {
listen 80 default_server;
#listen [::]:80 default_server ipv6only=on;
root /var/www/html/myblog.com/vhost;
index index.html index.htm;
server_name myblog.com;
}
[....]

This is the basic configuration just to confirm that the virtual host is up. For more detailed configuration of Nginx, do a search on this site for Nginx configuration.

Save the file.

Finally, run the commands below to enable the site by creating a symbolic link to the sites-enabled directory.

sudo ln -s /etc/nginx/sites-available/myblog.com /etc/nginx/sites-enabled/myblog.com

Run the commands below to remove the default enabled site to prevent duplicate entry for the default IP/Port

sudo rm /etc/nginx/sites-enabled/default

Restart Nginx and test the site

sudo service nginx restart

If you’re running this test locally, create a host entry on your local computer for myblog.com with IP address of the server.

Do this for as many virtual websites as you wish, just make sure to define the unit IP addresses.

How To Install phpMyAdmin in Ubuntu 14.04 / 12.04

How To Install phpMyAdmin in Ubuntu 14.04 / 12.04

phpMyAdmin is the best option for managing MySQL databases through web interface. Its very easy to use and provides almost all the option to work with your MySQL server. It also provides an easy way to configure mysql replication with few steps.

Step 1: Install Apache2, PHP and MySQL

 

We assume you already have installed LAMP setup on your system. If you do not have installed, Use following command to install it. Below command will install Apache2, PHP5 and MySQL server in your ubuntu system.

$ sudo apt-get install apache2 php5 mysql-server

 

Step 2: Install phpMyAdmin

 

After installing LAMP stack, lets install phpMyAdmin using below given command in your Ubuntu system

$ sudo apt-get install phpMyAdmin

 

Step 3: Configure Apache2 for phpMyAdmin

 

After installation of phpMyAdmin it creates an configuration file for apache2. Edit apache2 main configuration file /etc/apache2/apache2.confand add following line at the end of file.

  Include /etc/phpmyadmin/apache2.conf

 

After updating above entry, restart apache2 service using following command

$ sudo service apache2 restart

 

Step 4: Access phpMyAdmin in Browser

 

You phpMyAdmin installation has been completed successfully. Open you favorite web browser and open below url to access phpMyAdmin

 http://test.selva070.me/phpmyadmin/

 

If you are accessing from remote system, change localhost to system ip address.

phpMyAdmin-Login-Screen