Archive for the ‘Linux’ Category

Linux – SCP multiple files / directories

It is possible to copy multiple source files / directories using secure copy, however it is not possible to copy to multiple destinations.

To do so you can use the following code:

$ scp -rp <source_filename1> <source_directory1> <destination>


Linux – FTP files from Windows environment

In order to ftp files from a windows environment to a linux/unix environment then you will need to use the ftp command as follows:

$ cd /destination/folder
$ ftp <windows_server_name>
NAME (<windows_server_name>:<username>):  <username>
ftp> prompt
ftp> bin
ftp> cd /source/folder
ftp> mget *.*
(alternatively list filenames)
ftp> quit

Categories: Commands, Linux Tags: , ,

Linux – Break file into smaller files. Put file back together again.

If for instance you were wanting to break a large file down so that it can be written to a CD you can use the split command with the -bytes flag.

split [option] [input] [output]

For example you wish to break a 10G file into 10 files of 1G size:

$ split -bytes=1G /path/to/large/file /path/to/output/file/prefix


$ split -b1G /path/to/large/file /path/to/output/file/prefix

To put the file back together you need to cat the files back together:

$ cat prefix* > newfilename

Further Reading

Linux – Command Cheat Sheet

July 22, 2011 5 comments

A quick Linux cheat sheet, for those handly little commands you use all the time but sometimes your brain freezes up and a quick reference would be good to have:

File Commands

ls                       -list directory
ls -al                   -formatted listing with hidden files
ls -ltr                  -formatted listing ordered by time
cd dir                   -change to directory
cd -                     -go to directory in previously
cd                       -go to home directory
pwd                      -show current directory path
mkdir dir                -make directory dir
rm file                  -delete file
rm -r dir                -delete directory dir
rm -f file               -force remove file
rm -rf dir               -force remove directory dir
cp file1 file2           -copy file1 to file2
cp -r dir1 dir2          -copy dir1 to dir2; create dir2 if it doesn’t exist
mv file1 file2           -rename/move file1 to file2 if file2 is an existing dir, moves file1
into dir file2
ln -s file link          -create symbolic link link to file
touch file               -create or update file
cat > file               -places standard input into file
more file                -output the contents of file
head file                -output the first 10 lines of file
tail file                -output the last 10 lines of file
tail -f file             -output the contents of file as it grows, starting with the last 10 lines

Process Management

ps                       -display your currently active processes
top                      -display all running processes
kill pid                 -kill process id pid
killall proc             -kill all processes named proc
bg                       -lists stopped or background jobs; resume a stopped job in the background
fg                       -brings the most recent job to foreground
fg n                     -brings job n to the foreground

File Permissions

chmod octal file         -change the permissions of file to octal, which can be found separately for user, group, and world by adding:
● 4 – read (r)
● 2 – write (w)
● 1 – execute (x)
chmod 777                -read, write, execute for all
chmod 755                -rwx for owner, rx for group and world For more options, see man chmod.
chown user:group file    -change the owner and group for a file


ssh user@host            -connect to host as user
ssh -p port user@host    -connect to host on port port as user
ssh-copy-id user@host    -add your key to host for user to enable a keyed or passwordless login


grep pattern files       -search for pattern in files
grep -r pattern dir      -search recursively for pattern in dir
command | grep pattern   -search for pattern in the output of command
locate file              -find all instances of file
find . file              -find file within current directory
find / file              -find file within whole system

System Info

date                      -show the current date and time
cal                       -show this month’s calendar
uptime                    -show current uptime
w                         -display who is online
whoami                    -who you are logged in as
finger user               -display information about user
uname -a                  -show kernel information
cat /proc/cpuinfo         -cpu information
cat /proc/meminfo         -memory information
man command               -show the manual for command
df                        -show disk usage
du                        -show directory space usage
du -sk | sort -n          -show sum of each directory space usage sorted by number in KB
free                      -show memory and swap usage
whereis app               -show possible locations of app
which app                 -show which app will be run by default


tar cf file.tar files     – create a tar named file.tar containing files
tar xf file.tar           extract the files from file.tar
tar czf file.tar.gz files – create a tar with Gzip compression
tar xzf file.tar.gz       – extract a tar using Gzip
tar cjf file.tar.bz2      – create a tar with Bzip2 compression
tar xjf file.tar.bz2      extract a tar using Bzip2
gzip file                 – compresses file and renames it to file.gz
gzip -d file.gz           – decompresses file.gz back to file


ping host                 – ping host and output results
whois domain              – get whois information for domain
dig domain                – get DNS information for domain
dig -x host               reverse lookup host
wget file                 download file
wget -c file              continue a stopped download


Install from source:
make install
dpkg -i pkg.deb           – install a package (Debian)
rpm -Uvh pkg.rpm          – install a package (RPM)


Ctrl+C                    – halts the current command
Ctrl+Z                    stops the current command, resume with fg in the foreground
or bg in the background
Ctrl+D                    log out of current session, similar to exit
Ctrl+W                    erases one word in the current line
Ctrl+U                    erases the whole line
Ctrl+R                    type to bring up a recent command
!!                        - repeats the last command
exit                      log out of current session

Linux – Curl command

July 19, 2011 2 comments

The curl command is used to retrieve/send documents/files from/to the server using any of the following protocols: (HTTP, HTTPS, FTP, GOPHER, DICT, TELNET, LDAP or FILE). It is designed to work without any form of interactivity. It can perform a shed load of functions including but not limited to user authentication, cookies, FTP upload etc

In my case I wanted to action a script via HTTP with user authentication. This can be done in curl by issuing the following:

$ curl --user username:password

It’s also possible to user curl in the same way you would post a form in html by using the –data flag:

$  curl --data "variable1=<variable"

So for example you have the following form…

<form method="POST" action="submit.cgi">
 <input type=text name="username">
 <input type=text name="birthyear">
 <input type=submit name=press value="OK">

and are passing username, year of birth, etc… it would be something like:

$ curl --data "username=kerrirobberts&birthyear=1986&submit=ok"

Further Reading

There are many more commands that curl can perform, these can be found in the following more detailed articles:

Linux – Shutdown

July 19, 2011 4 comments

If you want to shutdown a server from the box without it coming back up again you can issue the shutdown command with the -h flag as shown below:

$ shutdown -h now
Broadcast message from root (pts/1) (Fri Jul  8 15:11:33 2011):
The system is going down for system halt NOW!

This should only be issued by the root user and will terminate all sessions to the box. To restart the box you will need to manually switch it back on. The shutdown -r now command is preferred, as this will bring the box down and restart. Use the -h command with caution and only when necessary.

Shutdown restart

If you wish to shutdown the server and for it to come back up again you will need to issue the -r flag for a restart:

$ shutdown -r now
Broadcast message from root (pts/1) (Mon Jul 11 09:59:27 2011):
The system is going down for reboot NOW!

Shutdown commands

The output of a shutdown –help is as follows:

Usage:    shutdown [-akrhfnc] [-t secs] time [warning message]
-a:      use /etc/shutdown.allow
-k:      don't really shutdown, only warn.
-r:      reboot after shutdown.
-h:      halt after shutdown.
-f:      do a 'fast' reboot (skip fsck).
-F:      Force fsck on reboot.
-n:      do not go through "init" but go down real fast.
-c:      cancel a running shutdown.
-t secs: delay between warning and kill signal.
** the "time" argument is mandatory! (try "now") **

Further reading

These are the two commands that I use most often. For further flags for the shutdown command you can take a look at the following links (links open in a new window):

Linux – kill process by UID

To kill all processes by a userid issue the following command:

$ pkill -u <uid>