惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Last Week in AI
Last Week in AI
H
Help Net Security
博客园 - 叶小钗
V
Visual Studio Blog
阮一峰的网络日志
阮一峰的网络日志
博客园 - 三生石上(FineUI控件)
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Microsoft Azure Blog
Microsoft Azure Blog
G
Google Developers Blog
腾讯CDC
MongoDB | Blog
MongoDB | Blog
宝玉的分享
宝玉的分享
P
Proofpoint News Feed
GbyAI
GbyAI
Microsoft Security Blog
Microsoft Security Blog
A
About on SuperTechFans
博客园 - 司徒正美
人人都是产品经理
人人都是产品经理
T
The Blog of Author Tim Ferriss
Martin Fowler
Martin Fowler
月光博客
月光博客
博客园 - 聂微东
酷 壳 – CoolShell
酷 壳 – CoolShell
Vercel News
Vercel News

博客园 - tony

The fastest way going abroad... Love is meeting the requirments, too... Fight back and hold back... Section 14: The UNIX File System Section 13: Interactive Use of the Shell Section 12: Customizing the UNIX Shell Section 11: The Execution Environment Section 10: Editing Text with EMACS Section 9: Interaction and Job Control Section 8: Process Control and Multitasking Section 7: Pipelines and Filters Section 6: Redirecting Input and Output Section 5: Working with Files and Directories Section 3: Logging In and Logging Out Section 2: Accessing a UNIX System Section 1: What Is UNIX? An overview about our Martch work... Obesession... Oh,,,CHANEL...
Section 4: The UNIX Shell
tony · 2005-03-31 · via 博客园 - tony

The shell is perhaps the most important program on the UNIX system, from the end-user's standpoint. The shell is your interface with the UNIX system, the middleman between you and the kernel.

CONCEPT: The shell is a type of program called an interpreter. An interpreter operates in a simple loop: It accepts a command, interprets the command, executes the command, and then waits for another command. The shell displays a "prompt," to notify you that it is ready to accept your command.

The shell recognizes a limited set of commands, and you must give commands to the shell in a way that it understands: Each shell command consists of a command name, followed by command options (if any are desired) and command arguments (if any are desired). The command name, options, and arguments, are separated by blank space.

CONCEPT: The shell is a program that the UNIX kernel runs for you. A program is referred to as a process while the kernel is running it. The kernel can run the same shell program (or any other program) simultaneously for many users on a UNIX system, and each running copy of the program is a separate process.

Many basic shell commands are actually subroutines built in to the shell program. The commands that are not built in to the shell require the kernel to start another process to run them.

CONCEPT: When you execute a non built-in shell command, the shell asks the kernel to create a new subprocess (called a "child" process) to perform the command. The child process exists just long enough to execute the command. The shell waits until the child process finishes before it will accept the next command.

EXERCISE: Explain why the exit (logout) procedure must be built in to the shell.

EXPLANATION: If the logout procedure were not built in to the shell, the kernel would start a new child process to run it. The new process would logout, and then return you to the original shell. You would thus find yourself back where you started, without having logged out.

Unlike DOS, the UNIX shell is case-sensitive, meaning that an uppercase letter is not equivalent to the same lower case letter (i.e., "A" is not equal to "a"). Most all unix commands are lower case.

Entering shell commands

The basic form of a UNIX command is: commandname [-options] [arguments]

The command name is the name of the program you want the shell to execute. The command options, usually indicated by a dash, allow you to alter the behavior of the command. The arguments are the names of files, directories, or programs that the command needs to access.

The square brackets ([ and ]) signify optional parts of the command that may be omitted.

EXAMPLE: Type the command

ls -l /tmp

to get a long listing of the contents of the /tmp directory. In this example, "ls" is the command name, "-l" is an option that tells ls to create a long, detailed output, and "/tmp" is an argument naming the directory that ls is to list.

Aborting a shell command

Most UNIX systems will allow you to abort the current command by typing Control-C. To issue a Control-C abort, hold the control key down, and press the "c" key.

Special characters in UNIX

UNIX recognizes certain special characters as command directives. If you use one of the UNIX special characters in a command, make sure you understand what it does. The special characters are: / < > ! $ % ^ & * | { } ~ and ;

When creating files and directories on UNIX, is is safest to only use the characters A-Z, a-z, 0-9, and the period, dash, and underscore characters.

The meaning of the other characters, and ways to use them, will be introduced as the tutorial progresses.

Getting help on UNIX

To access the on-line manuals, use the man command, followed by the name of the command you need help with.

EXAMPLE: Type

man ls

to see the manual page for the "ls" command.

EXAMPLE: To get help on using the manual, type

man man

to the UNIX shell.