ls背后发生了什么 Down the 'ls' Rabbit Hole - - 博客频道 - CSDN.NET
FROM LS(1)
TO THE KERNEL AND BACK AGAIN.
Too often sysadmins are afraid to dive into the source code of our core utilities to see how they really work. We're happy to edit our scripts but we don't do the same with our command line utilities, libraries, and kernel. Today we're going to do some source diving in those core components. We'll answer the age-old interview question, "What happens when you type ls
at the command line and press enter?" The answer to this question has infinite depth, so I'll leave out some detail, but I'll capture the essence of what is going, and I'll show the source in each component as we go. The pedants in the crowd may find much to gripe about but hopefully they'll do so by posting further detail in the comments.
REQUIREMENTS
It'll be helpful if you install the source on your machine for the software we'll be looking at. Below are the commands I used to get the source for the needed packages on Ubuntu 9.10, and similar packages are available for your Linux distribution.
apt-get install linux-source apt-get source coreutils apt-get source bash apt-get source libc6 apt-get install manpages-dev
I'm using linux-source
version 2.6.31.22.35
, coreutils
(for the code to ls
) version7.4-2ubuntu1
, bash
version 3.5.21
, and libc6
version 2.10.1-0ubuntu18
, and finallymanpages-dev
to get the programmer's man
pages.
Read full article from ls背后发生了什么 Down the 'ls' Rabbit Hole - - 博客频道 - CSDN.NET
No comments:
Post a Comment