Trick question (I don't ask
too many, I hope ... and those that I do ask are designed to be thought provoking):
What does the x bit in permission strings mean?
Most delegates who've done a bit of Unix or Linux before will tell me it's the
exexcutable bit - says whether a file can be run as a program direct from the command line, and
for a plain file they are correct. But for a directory, it means
Access of should I say
Axess?
One a directory, the
r setting still means "readable" but without the
x set on, I can only read the file names - I cannot access the full details of each file, nor can I delve deeper into the directory.
To illustrate this, I temporarily turns the "x" off on one of my directories and did some directory listings:
[trainee@easterton ~]$ chmod a-x dbn
[trainee@easterton ~]$ ls dbn
dbn/ac_20090716 dbn/mediawiki-1.14.0.tar.gz
dbn/apache-tomcat-5.5.27.tar.gz dbn/mysql-5.1.34-linux-i686-glibc23.tar.gz
dbn/httpd-2.2.11.tar.gz dbn/palace_of_westminster.jpg
dbn/jdk-6u14-linux-i586.bin dbn/php-5.2.9.tar.gz
dbn/latmjdemo.war dbn/somewhere_else
dbn/mediawiki-1.13.5.tar.gz
[trainee@easterton ~]$ ls -l dbn
total 0
?--------- ? ? ? ? ? dbn/ac_20090716
?--------- ? ? ? ? ? dbn/apache-tomcat-5.5.27.tar.gz
?--------- ? ? ? ? ? dbn/httpd-2.2.11.tar.gz
?--------- ? ? ? ? ? dbn/jdk-6u14-linux-i586.bin
?--------- ? ? ? ? ? dbn/latmjdemo.war
?--------- ? ? ? ? ? dbn/mediawiki-1.13.5.tar.gz
?--------- ? ? ? ? ? dbn/mediawiki-1.14.0.tar.gz
?--------- ? ? ? ? ? dbn/mysql-5.1.34-linux-i686-glibc23.tar.gz
?--------- ? ? ? ? ? dbn/palace_of_westminster.jpg
?--------- ? ? ? ? ? dbn/php-5.2.9.tar.gz
?--------- ? ? ? ? ? dbn/somewhere_else
and as you can see, you're able to see what's there, but not do much more.
Is this used / useful? There
are places within the operating system that you'll find one just one of r and x on a directory, but advise for newcomers on our
Linux Basics course is that - for a directory - you should normally treat them as a pair.
(written 2009-07-21, updated 2009-07-23)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
A101 - Web Application Deployment - Linux -An Introduction For Users [73] vi - full circle - (2004-10-04)
[74] pushd and popd - (2004-10-05)
[152] Aladdin, or careful what you wish. - (2004-12-15)
[249] An easy way out - (2005-03-17)
[430] Linux commands - some basics - (2005-08-31)
[431] File permissions of Linux and Unix systems - (2005-08-31)
[593] Finding where the disc space has gone - (2006-02-06)
[659] Web Application Components - (2006-03-28)
[679] More or less on the edge of the page - (2006-04-11)
[703] Copying files and preserving ownership - (2006-04-28)
[710] Linux training Glasgow, Python programming course Dundee - (2006-05-05)
[711] THE home directory or MY home directory - (2006-05-06)
[749] Cottage industry or production line data handling methods - (2006-06-07)
[984] Cardinal numbers and magic numbers - (2006-12-14)
[1012] Moving files between Windows / DOS and Linux / Unix - (2006-12-30)
[1013] Copy multiple files - confusing error message from cp - (2006-12-30)
[1068] ls -l report, Linux / Unix - types and permssions - (2007-02-06)
[1259] Where am I and how did I get here? - (2007-07-05)
[1287] Work and play at Well House Manor - Football and Shell Shortcuts - (2007-08-02)
[1288] Linux run states, shell special commands, and directory structures - (2007-08-03)
[1366] awk - a powerful data extraction and manipulation tool - (2007-09-25)
[1408] Wireless hotel tips - FTP and Skype connections failing - (2007-10-26)
[1438] Copy and paste / cut and paste and other vi techniques - (2007-11-20)
[1527] Selecting file names in a shell - one word or another - (2008-02-02)
[1651] ls command - favourite options - (2008-05-23)
[1764] Yank and Push - copy and move in vi - (2008-08-21)
[1803] FTP passive mode - a sometimes cure for upload hangs - (2008-09-20)
[1893] Some Linux and Unix tips - (2008-11-18)
[1897] Keeping on an even keel - (2008-11-21)
[1902] sstrwxrwxrwx - Unix and Linux file permissions - (2008-11-23)
[1904] Ruby, Perl, Linux, MySQL - some training notes - (2008-11-23)
[2201] Running straight from the jar, but not from a tar - (2009-05-26)
[2203] Always use su with minus. And where do programs come from? - (2009-05-27)
[2299] How much space does my directory take - Linux - (2009-07-20)
[2479] Accidentally typed ci rather than vi? - (2009-10-27)
[2494] Making Linux Politically correct - (2009-11-06)
[2636] Linux - useful tips including history and file name completion - (2010-02-15)
[2831] Recording (a macro) in vi - (2010-06-27)
[3179] Oops - I typed ci not vi, and have lost my file ... - (2011-02-21)
[3256] Displaying a directory or file system tree - Linux - (2011-04-22)
[3791] The Kernel, Shells and Daemons. Greek Gods in computing - (2012-07-01)
[3819] Packing a tar, jar or war file - best practise - (2012-07-26)
Some other Articles
Extracting real data from an exported file in PHP or PerlTurning potential customers awaySee us at the West Wilts ShowMistaken identity?What does x on a linux directory mean?Melksham Carnival Parade - the peopleStanding on the corner, Melksham CarnivalVariable scope - what is it, and how does it Ruby?The dog is not in trouble