Chapter 10. Handling Files and Directories

Table of Contents
ls
cd
more
less
cat
touch
echo
mkdir
ln
cp
mv
rm
rmdir
Summary

Slackware Linux aims to the most Unix-like it can be. Traditionally, Unix operating systems have been command-line oriented. We do have a graphical user interface in Slackware, but the command-line is still the main level of control for the system. Therefore, it is important to understand some of the basic file management commands.

The following sections explain the common file management commands and examples of how they are used. There are many other commands, but these will help you get started. Also, the commands are only briefly discussed here. You will find more detail in the accompanying man pages for each command.

ls

This command lists files in a directory. Windows and DOS users will notice its similarity to the dir command. By itself, ls(1) will list the files in the current directory. To see what's in your root directory, you could issue these commands:

   $ cd /
   $ ls
   bin   cdr    dev  home  lost+found  proc  sbin   tmp  var
   boot  cdrom  etc  lib   mnt         root  suncd  usr  vmlinuz
   

The problem a lot of people have with that output is that you cannot easily tell what is a directory and what is a file. Some users prefer that ls add a type identifier to each listing, like this:

   $ ls -FC
   bin/   cdr/    dev/  home/  lost+found/  proc/  sbin/   tmp/  var/
   boot/  cdrom/  etc/  lib/   mnt/         root/  suncd/  usr/  vmlinuz
   

Directories get a slash at the end of the name, executable files get an asterisk at the end of the name, and so on.

ls can also be used to get other statistics on files. For example, to see the creation dates, owners, and permissions, you would look at a long listing:

   $ ls -l
   drwxr-xr-x   2 root     bin          4096 May  7  1994 bin/
   drwxr-xr-x   2 root     root         4096 Feb 24 03:55 boot/
   drwxr-xr-x   2 root     root         4096 Feb 18 01:10 cdr/
   drwxr-xr-x  14 root     root         6144 Oct 23 18:37 cdrom/
   drwxr-xr-x   4 root     root        28672 Mar  5 18:01 dev/
   drwxr-xr-x  10 root     root         4096 Mar  8 03:32 etc/
   drwxr-xr-x   8 root     root         4096 Mar  8 03:31 home/
   drwxr-xr-x   3 root     root         4096 Jan 23 21:29 lib/
   drwxr-xr-x   2 root     root        16384 Nov  1 08:53 lost+found/
   drwxr-xr-x   2 root     root         4096 Oct  6  1997 mnt/
   dr-xr-xr-x  62 root     root            0 Mar  4 15:32 proc/
   drwxr-x---x  12 root     root         4096 Feb 26 02:06 root/
   drwxr-xr-x   2 root     bin          4096 Feb 17 02:02 sbin/
   drwxr-xr-x   5 root     root         2048 Oct 25 10:51 suncd/
   drwxrwxrwt   4 root     root       487424 Mar  7 20:42 tmp/
   drwxr-xr-x  21 root     root         4096 Aug 24  1999 usr/
   drwxr-xr-x  18 root     root         4096 Mar  8 03:32 var/
   -rw-r---r---   1 root     root       461907 Feb 22 20:04 vmlinuz
   

Suppose you want to get a listing of the hidden files in the current directory. This command will do just that:

   $ ls -a
   .              bin   cdrom  home        mnt   sbin   usr
   ..             boot  dev    lib         proc  suncd  var
   .pwrchute_tmp  cdr   etc    lost+found  root  tmp    vmlinuz
   

Files beginning with a period (called “dot files”) are “hidden” when you run ls. You will only see them if you pass the -a option.

There are many more options that can be found in the online manual page. Don't forget that you can combine options that you pass to ls.