Unix操作系统基础教程 Part1

本文还有配套的精品资源,点击获取 menu-r.4af5f7ec.gif

简介:本教程深入讲解Unix操作系统的基础知识,包括其设计哲学、命令行工具、文件与目录管理、shell脚本编写、进程管理、网络功能和文本处理工具。通过阅读PDF文件,读者将逐步掌握Unix的基本概念和操作,为深入学习Unix打下坚实基础。 Unix教程基础篇Part1

1. Unix系统概述与设计哲学

Unix系统是IT行业中不可或缺的操作系统之一,其设计理念和哲学对现代操作系统的发展产生了深远影响。本章节将首先概述Unix系统的发展历史和基本特性,然后深入探讨其核心的设计哲学。

1.1 Unix系统的发展历史

Unix的历史可以追溯到1969年,当时由AT&T的贝尔实验室开发,最初是作为多用户多任务的操作系统。随着时间的推移,Unix系统经历了多次重大的发展和变革,形成了多个分支版本,如System V、BSD、Linux等。每个版本都保留了Unix的核心特点,同时也引入了新的特性和创新。

1.2 Unix系统的核心特性

Unix系统的核心特性包括:

  • 简单性 :Unix系统的设计哲学是简单而实用,尽量避免不必要的复杂性。
  • 模块化 :Unix系统将功能分解为多个小的、可以独立工作的程序,这些程序通过标准的接口进行通信。
  • 可移植性 :Unix系统的设计允许它在不同的硬件平台上运行。
  • 网络友好 :Unix系统从一开始就支持网络,它的许多应用程序都是围绕网络通信设计的。

1.3 Unix的设计哲学

Unix的设计哲学可以用几个简单的原则来概括:

  • 一个程序只做一件事 :Unix系统鼓励每个程序只做一件事,但做得很好。
  • 组合性 :通过组合简单的程序来完成复杂的工作。
  • 透明性 :系统的设计应该尽量透明,便于用户理解和使用。
  • 最小权限原则 :程序和用户在默认情况下应该只有完成任务所必需的最小权限。
  • 沉默是金 :程序应该在正常运行时不输出信息,只在遇到错误时输出信息。

这些原则不仅适用于Unix系统的设计,也对软件开发和系统管理产生了深远的影响。在接下来的章节中,我们将详细探讨Unix命令行工具的使用和Shell脚本编写等内容,这些都是基于Unix设计哲学的具体实践。

2. Unix命令行工具

Unix系统之所以强大,很大程度上归功于其强大的命令行工具。这些工具为用户提供了丰富的功能,从简单的文本处理到复杂的系统监控,无不体现着Unix的设计哲学:提供简单、小巧、专门的工具,通过组合这些工具完成复杂的工作。在本章节中,我们将深入探讨Unix命令行工具的基础知识、常用命令行工具,以及一些高级命令行技巧。

2.1 命令行基础知识

在深入学习具体的命令行工具之前,我们需要了解命令行的基础知识,包括shell的种类和选择、命令行结构和语法。

2.1.1 shell的种类和选择

Unix系统中常见的shell有bash、zsh、ksh等。每个shell都有其特点和适用场景。例如,bash是大多数Linux发行版的默认shell,它稳定、成熟且拥有广泛的用户群体。zsh则以其强大的功能和自动完成功能而受到高级用户的喜爱。用户可以根据自己的喜好和需求选择合适的shell。

# 列出当前系统中安装的所有shell
cat /etc/shells

# 使用chsh命令切换默认shell
chsh -s /bin/zsh
2.1.2 命令行结构和语法

命令行的基本结构通常包括命令、选项和参数。命令是用户希望执行的操作,选项用于修改命令的行为,参数则是命令操作的对象。

# 示例:ls命令列出当前目录下的所有文件
ls [options] [arguments]

2.2 常用的命令行工具

Unix提供了大量的命令行工具,用于处理文件、目录、系统监控等。我们将介绍一些常用的命令行工具,包括文件处理工具和系统监控工具。

2.2.1 文件处理工具

文件处理工具是日常工作中最常用的命令行工具之一。这里我们介绍 cat grep find ls mkdir rm

# 使用cat查看文件内容
cat filename

# 使用grep搜索文件中的文本
grep 'pattern' filename

# 使用find查找文件
find / -name filename
2.2.2 系统监控工具

系统监控工具对于维护系统性能和稳定性至关重要。我们将介绍 top ps htop df du free

# 使用top命令实时监控系统状态
top

# 使用ps查看当前运行的进程
ps aux

# 使用htop交互式地查看和管理进程
htop

2.3 高级命令行技巧

随着用户对命令行的熟练程度提高,他们可能会寻求更高级的命令行技巧,以提高工作效率。

2.3.1 文本流处理

文本流处理工具如 sed awk cut sort uniq 可以帮助用户对文本数据进行复杂的处理。

# 使用sed进行文本替换
sed 's/old/new/g' filename

# 使用awk提取列数据
awk '{print $1, $3}' filename

# 使用sort和uniq进行排序和去重
sort filename | uniq
2.3.2 命令行效率提升

命令行效率提升可以通过命令别名、命令历史和自动补全来实现。

# 设置命令别名
alias ll='ls -l'

# 使用历史记录
history

# 自动补全
# 按Tab键自动补全命令或文件名

在本章节中,我们介绍了Unix命令行工具的基础知识、常用的命令行工具,以及一些高级命令行技巧。通过这些内容,读者可以更好地理解和使用Unix命令行工具,提高工作效率和系统管理能力。在接下来的章节中,我们将继续深入探讨Unix系统中的其他重要主题。

3. 文件与目录管理

3.1 文件与目录的创建和删除

在Unix系统中,文件和目录的创建与删除是日常管理任务的一部分。掌握这些基本操作对于任何系统管理员来说都是必不可少的技能。

3.1.1 文件创建、编辑和删除

文件的创建、编辑和删除是管理文件系统的基础操作。

touch, vim, rm
  • touch 命令用于创建空文件或更新现有文件的时间戳。
  • 语法: touch [选项] 文件名
  • 参数说明:
    • -a :仅修改访问时间
    • -m :仅修改修改时间
    • -c :如果文件不存在,不创建新文件
  • vim 是一个强大的文本编辑器,支持代码编写、文本编辑和文件管理。
  • 语法: vim 文件名
  • 执行逻辑说明:启动vim编辑器,加载文件进行编辑,保存退出。
  • rm 命令用于删除文件或目录。
  • 语法: rm [选项] 文件名
  • 参数说明:
    • -r :递归删除,用于删除目录及其内容
    • -f :强制删除,忽略不存在的文件,不显示警告
# 创建一个名为testfile的空文件
touch testfile

# 使用vim编辑器打开并编辑testfile文件
vim testfile

# 删除testfile文件
rm testfile
3.1.2 目录的创建和管理

目录的创建和管理是组织文件系统的重要手段。

mkdir, rmdir
  • mkdir 命令用于创建新目录。
  • 语法: mkdir [选项] 目录名
  • 参数说明:
    • -p :创建多级目录
  • rmdir 命令用于删除空目录。
  • 语法: rmdir [选项] 目录名
  • 参数说明:
    • -p :删除目录及其上级空目录
# 创建名为mydir的目录
mkdir mydir

# 创建多级目录结构
mkdir -p mydir/dir1/dir2/dir3

# 删除mydir目录及其所有内容
rm -r mydir
3.2 文件与目录的权限管理

文件和目录的权限管理是保证系统安全和数据保护的关键。

3.2.1 文件权限的查看和修改

文件权限的查看和修改是系统安全设置的基础。

chmod
  • chmod 命令用于改变文件或目录的权限。
  • 语法: chmod [选项] 模式 文件名
  • 参数说明:
    • 模式 :可以是符号表示法或数字表示法
    • -R :递归修改目录及其内容的权限
# 查看testfile文件的权限
ls -l testfile

# 修改testfile文件的权限为755
chmod 755 testfile

# 查看修改后的权限
ls -l testfile
3.2.2 用户和组的管理

用户和组的管理是Unix系统权限管理的重要组成部分。

chown, chgrp
  • chown 命令用于改变文件或目录的所有者。
  • 语法: chown [选项] 用户名:组名 文件名
  • 参数说明:
    • -R :递归改变目录及其内容的所有者
  • chgrp 命令用于改变文件或目录的组。
  • 语法: chgrp [选项] 组名 文件名
  • 参数说明:
    • -R :递归改变目录及其内容的组
# 查看testfile文件的所有者和组
ls -l testfile

# 改变testfile文件的所有者为username
chown username testfile

# 改变testfile文件的组为groupname
chgrp groupname testfile

# 查看改变后的所有者和组
ls -l testfile
3.3 高级目录管理

高级目录管理涉及链接文件的创建、管理以及文件系统的挂载和卸载等操作。

3.3.1 链接文件的创建和管理

链接文件是Unix系统中特殊的文件类型,允许一个文件拥有多个入口点。

ln
  • ln 命令用于创建硬链接或符号链接。
  • 语法: ln [选项] 源文件 目标链接
  • 参数说明:
    • -s :创建符号链接
    • -f :强制覆盖已存在的链接
# 创建一个硬链接
ln sourcefile hardlinkfile

# 创建一个符号链接
ln -s sourcefile softlinkfile
3.3.2 文件系统的挂载和卸载

文件系统的挂载和卸载是Unix系统中对存储设备进行管理的基本操作。

mount, umount
  • mount 命令用于挂载文件系统。
  • 语法: mount [选项] 设备文件 挂载点
  • 参数说明:
    • -t :指定文件系统类型
  • umount 命令用于卸载文件系统。
  • 语法: umount [选项] 挂载点
  • 参数说明:
    • -f :强制卸载
# 查看当前挂载的文件系统
mount

# 挂载一个设备文件到挂载点
mount -t ext4 /dev/sda1 /mnt/data

# 卸载文件系统
umount /mnt/data

总结

本章节介绍了Unix系统中文件与目录管理的基本概念和常用命令。通过掌握 touch vim rm mkdir rmdir chmod chown chgrp ln mount umount 等命令,可以有效地进行文件和目录的创建、编辑、删除、权限管理、链接创建和文件系统挂载等操作。这些技能对于任何Unix系统管理员来说都是核心能力,是进行日常管理和维护的基础。通过实践这些命令,可以进一步熟悉Unix系统的文件结构和权限控制,为后续的学习和工作打下坚实的基础。

4. Shell脚本编写

Shell脚本是Unix系统中自动化任务和批量处理的重要工具。本章节将深入探讨Shell脚本的基础知识、编程要素以及实践应用,帮助读者掌握编写高效、可维护的Shell脚本的技巧。

4.1 Shell脚本基础

4.1.1 脚本的结构和执行

Shell脚本的基本结构包括脚本头、变量定义、函数定义以及命令执行块。脚本头通常指定脚本使用的Shell解释器,例如 #!/bin/bash 。变量定义和函数定义用于存储重用的代码,命令执行块则是脚本实际执行的指令序列。

脚本的编写规范

Shell脚本的编写应遵循一定的规范以保证代码的可读性和可维护性。例如,使用有意义的变量名,保持代码的缩进和格式,以及在复杂脚本中使用注释来解释代码的目的和逻辑。

#!/bin/bash

# 这是一个示例脚本,用于展示Shell脚本的基本结构

# 变量定义
greeting="Hello, World!"

# 函数定义
function print_greeting() {
  echo $greeting
}

# 命令执行块
print_greeting
脚本的调试和运行

在Shell脚本编写完成后,需要进行调试以确保其按预期工作。可以使用 bash -x script_name.sh 命令来逐步执行脚本并显示每条命令的执行细节。运行脚本通常通过在命令行中输入 ./script_name.sh 来完成。

$ bash -x script_name.sh
+#!/bin/bash
+greeting='Hello, World!'
+function print_greeting() {
+echo 'Hello, World!'
+}
+print_greeting
+Hello, World!

4.2 Shell脚本编程要素

4.2.1 变量和参数传递

变量的定义和使用

在Shell脚本中,变量无需声明类型即可使用。变量名通常使用大写字母,而变量值通过等号连接。在引用变量时,需要在变量名前加上美元符号($)。

#!/bin/bash

# 变量定义
VARIABLE="Hello"

# 变量使用
echo $VARIABLE
参数的接收和解析

Shell脚本可以接收命令行参数,这些参数通过特殊变量 $1 , $2 , ... $n 来访问,其中 $0 是脚本名称。参数解析通常用于决定脚本的行为或数据处理方式。

#!/bin/bash

# 脚本名称:script_name.sh
# 使用方法:./script_name.sh param1 param2

# 参数接收和解析
param1=$1
param2=$2

echo "Parameter 1: $param1"
echo "Parameter 2: $param2"

4.2.2 流程控制

条件语句

Shell脚本中的条件语句主要有 if case 等。 if 语句用于基于条件的判断,而 case 语句则用于处理多个可能的模式匹配。

#!/bin/bash

# 条件语句示例
VARIABLE="Hello"

# if语句
if [ "$VARIABLE" = "Hello" ]; then
  echo "The variable is Hello"
fi

# case语句
case $VARIABLE in
  "Hello")
    echo "Variable is Hello"
    ;;
  "World")
    echo "Variable is World"
    ;;
  *)
    echo "Variable is something else"
    ;;
esac
循环语句

循环语句在Shell脚本中用于重复执行一系列命令。常见的循环语句包括 for while until

#!/bin/bash

# 循环语句示例
# for循环
for i in {1..5}; do
  echo "Number $i"
done

# while循环
counter=1
while [ $counter -le 5 ]; do
  echo "Counter $counter"
  ((counter++))
done

4.3 Shell脚本的实践应用

4.3.1 文件和目录操作脚本

文件的读写操作

Shell脚本可以进行文件的读写操作,这对于日志处理、数据备份等任务非常有用。 cat echo read 等命令常用于文件操作。

#!/bin/bash

# 文件读写操作示例
# 创建一个新文件并写入内容
echo "Hello, World!" > new_file.txt

# 读取文件内容
cat new_file.txt

# 追加内容到文件
echo "This is an appended line." >> new_file.txt

# 使用read读取文件的每一行
while read line; do
  echo $line
done < new_file.txt
目录的搜索和处理

Shell脚本可以搜索和处理目录中的文件。 find grep 等命令常用于文件搜索和文本处理。

#!/bin/bash

# 目录搜索和处理示例
# 查找当前目录及子目录中所有的txt文件
find . -type f -name "*.txt"

# 在文件中搜索特定文本
grep "Hello" new_file.txt

4.3.2 系统管理脚本

系统状态检查

Shell脚本可以用来检查系统状态,如磁盘空间、内存使用情况、进程状态等。

#!/bin/bash

# 系统状态检查示例
# 检查磁盘空间使用情况
df -h

# 检查内存使用情况
free -m

# 检查特定进程是否运行
pgrep -lf "process_name"
定时任务的设置

Shell脚本常用于设置定时任务,如每日备份、系统状态报告等。 crontab 是Unix系统中设置定时任务的工具。

#!/bin/bash

# 定时任务设置示例
# 打开当前用户的crontab文件
crontab -e

# 添加定时任务,每天凌晨1点执行脚本
0 1 *** /path/to/your/script.sh

在本章节中,我们介绍了Shell脚本的基础知识、编程要素以及实践应用。通过具体的代码示例和解释,我们展示了如何编写和运行Shell脚本,以及如何使用条件语句和循环语句来控制脚本的逻辑流程。此外,我们还探讨了文件和目录操作以及系统管理脚本的应用场景,包括文件的读写操作、目录的搜索和处理、系统状态检查以及定时任务的设置。通过这些实践应用,读者可以更好地理解Shell脚本在自动化任务和系统管理中的作用。

5. 进程管理和任务控制

5.1 进程的基本概念

在Unix系统中,进程是执行中的程序实例,是系统进行资源分配和调度的基本单位。理解进程的基本概念对于系统管理和故障排查至关重要。

5.1.1 进程的生命周期

进程的生命周期从创建开始,到执行,再到终止结束。在Unix系统中,进程的创建通常是通过 fork() 系统调用实现,该调用会复制当前进程并创建一个新的子进程。子进程随后可以通过 exec() 系列函数加载新的程序代码并执行。进程终止则是通过 exit() 系统调用完成,这将释放进程占用的所有资源。

5.1.2 进程的状态和属性

进程状态可以分为多种,如运行(R)、睡眠(S)、僵尸(Z)等。每个进程都有其属性,如进程ID(PID)、父进程ID(PPID)、进程状态(STATE)、CPU使用时间(TIME)等。这些属性可以通过 ps 命令查看。

5.2 进程管理工具

Unix系统提供了多种工具来管理和控制进程,这些工具对于日常的系统管理和性能优化非常有用。

5.2.1 进程的监控和控制

进程的监控可以使用 ps 命令来查看当前系统中的进程状态, top 命令则提供了实时的进程状态监控。进程的控制通常涉及信号的发送,例如使用 kill 命令发送信号来终止进程。

示例代码:使用 ps top 命令
$ ps aux | grep nginx
$ top

5.2.2 作业管理和任务调度

在Unix系统中,作业管理涉及前台和后台作业的切换。 jobs 命令列出当前会话中的所有作业, bg fg 命令分别用于将作业放到后台或前台运行。 crontab 用于设置定时任务,实现周期性的任务调度。

示例代码:使用 crontab 设置定时任务
$ crontab -e

5.3 高级进程管理

除了基本的进程管理,Unix系统还提供了一些高级的进程管理机制,如进程通信和系统资源限制。

5.3.1 进程通信机制

进程通信是操作系统提供的一种机制,允许进程之间交换信息。管道( | )和重定向( > < )是Unix中最常见的两种进程通信方式。信号(如 SIGTERM SIGKILL )用于进程间的通知和控制,进程可以通过信号处理函数响应不同的信号。

5.3.2 系统资源限制

系统资源限制是指对进程能够消耗的资源数量进行限制。 ulimit 命令用于查看或设置用户级别的资源限制,如文件大小、进程数量等。 cgroups (控制组)是一个内核特性,用于限制、记录和隔离进程组所使用的物理资源(如CPU、内存、磁盘IO等)。

通过以上章节内容的详细介绍,我们可以看到进程管理是Unix系统核心功能之一,对于系统的性能优化和稳定运行起着至关重要的作用。下一章节我们将深入探讨如何利用Unix系统提供的工具和特性,实现高效的系统管理和任务自动化。

本文还有配套的精品资源,点击获取 menu-r.4af5f7ec.gif

简介:本教程深入讲解Unix操作系统的基础知识,包括其设计哲学、命令行工具、文件与目录管理、shell脚本编写、进程管理、网络功能和文本处理工具。通过阅读PDF文件,读者将逐步掌握Unix的基本概念和操作,为深入学习Unix打下坚实基础。

本文还有配套的精品资源,点击获取 menu-r.4af5f7ec.gif

1UNIX操作系统概述 7 1.1 UNIX操作系统简介 7 1.2 UNIX系统组成 7 1.3 UNIX启动过程 8 1.4 UNIX用户登录过程 8 1.5 与UNIX有关的几个名词 9 第2章 UNIX基本常识 11 2.1 启动终端 11 2.2 登录 11 2.3 初始化文件 11 2.4 注销(退出UNIX系统) 12 第3章 UNIX文件系统 13 3.1 文件系统分类 13 3.2 文件类型 13 3.2.1 正规文件 13 3.2.2 目录文件 14 3.2.3 字符和块设备文件 15 3.2.4 套接字文件 15 3.2.5 命名管道文件 16 3.2.6 链接文件 16 3.3 树型目录结构 16 3.4 文件和目录的命名 18 3.5 UNIX文件存取权限 18 3.6 重定向与管道 21 3.6.1 UNIX重定向 21 3.6.2 UNIX管道 22 3.7 常用配置文件 22 3.7.1 /etc/passwd文件 22 3.7.2 /etc/group文件 22 3.7.3 /etc/hosts 23 3.7.4 /etc/services 23 3.8 文件系统管理 23 3.8.1 mount 23 3.8.2 umount 24 3.8.3 加载配置文件 24 3.8.4 fsck 25 第4章 UNX系统常用命令 27 4.1 UNIX命令基础 27 4.1.1 UNIX命令的一般格式 27 4.1.2 特殊功能键和字符 28 4.1.3 查看帮助信息 30 4.1.4 在后台运行程序 31 4.1.5 在指定时间执行指定程序 31 4.2 vi编辑器的最基本用法 32 4.2.1 vi简介 32 4.2.2 vi的启动和退出 33 4.2.3 vi的两种模式 33 4.2.4 vi的基本操作 34 4.2.5 vi的高级操作 36 4.3 目录操作命令 38 4.3.1 pwd 38 4.3.2 mkdir 38 4.3.3 cd 38 4.3.4 rmdir 39 4.4 文件操作命令 39 4.4.1 ls 39 4.4.2 cat 40 4.4.3 head 41 4.4.4 tail 41 4.4.5 more 41 4.4.6 cp 43 4.4.7 mv 44 4.4.8 rm 44 4.4.9 chmod 44 4.4.10 chown 46 4.4.11 chgrp 46 4.4.12 cmp 46 4.4.13 diff 47 4.4.14 wc 47 4.4.15 split 47 4.4.16 touch 48 4.4.17 file 48 4.4.18 pack 48 4.4.19 pcat 49 4.4.20 unpack 49 4.4.21 find 49 4.4.22 grep 51 4.4.23 pg 52 4.4.24 ln 52 4.4.25 sort 53 4.4.26 compress 53 4.4.27 uncompress 54 4.4.28 gzip 54 4.4.29 gunzip 54 4.4.30 tar 54 4.4.31 cpio 55 4.4.32 tee 56 4.5 状态信息命令 57 4.5.1 w 57 4.5.2 who 57 4.5.3 whodo 57 4.5.4 logname 58 4.5.5 whoami 58 4.5.6 whereis 58 4.5.7 which 58 4.5.8 date 58 4.5.9 cal 59 4.5.10 time 59 4.5.11 id 59 4.5.12 hostid 60 4.5.13 hostname 60 4.5.14 df 60 4.5.15 du 60 4.5.16 stty 61 4.5.17 tty 61 4.5.18 history 61 4.5.19 alias 61 4.5.20 echo 62 4.5.21 uname 62 4.5.22 clear 62 4.6 网络命令 62 4.6.1 arp 62 4.6.2 finger 63 4.6.3 wall 63 4.6.4 mesg 63 4.6.5 write 63 4.6.6 ping 63 4.6.7 netstat 64 4.6.8 telnet 64 4.6.9 ftp 64 4.7 进程管理命令 65 4.7.1 kill 65 4.7.2 ps 66 4.7.3 sleep 68 4.7.4 nice 68 4.7.5 shutdown 68 4.7.6 halt 69 4.7.7 poweroff 69 4.7.8 reboot 69 4.8 用户管理命令 69 4.8.1 su 69 4.8.2 groupadd 69 4.8.3 groupdel 70 4.8.4 useradd 70 4.8.5 userdel 70 4.8.6 passwd 71 第5章 shell的基础知识 72 5.1 什么是shell 72 5.2 别名化 73 5.3 shell变量 74 5.3.1 shell变量的存储机制 74 5.3.2 变量替换 74 5.3.3 命令替换 76 5.4 用户环境 76 5.5 两个重要的环境变量 77 5.6 shell启动文件 78 5.7 监控进程 78 第6章 附录 79 6.1 ftp命令参考 79 6.2 vi命令参考 80 6.3 find命令详解 85 6.3.1 Find命令形式 85 6.3.2 Find命令参数 85 6.3.3 Find命令举例 87 6.4 grep命令详解 99
本书从实质上、专业上讲解UNIX操作系统,深刻地剖析了UNIX系统的基本概念。内容包括UNIX的基本特性及高级性能,例如shell配置、目录管理、shell编程,编辑器的使用方法等。本书条理清晰、重点突出,为快速了解与掌握UNIX操作系统提供了极有价值的参考。 译 者 序 “旧时王榭堂前燕,飞入寻常百姓家”,可以说是目前Unix系统逐渐普及的生动写照。在短短的几年前,UNIX对于普通计算机用户来说还是一个可望而不可及的神秘世界,其应用仅限于那些高性能计算和大型计算的少数“特权”部门,比如石油、气象和高能物理等。而在近两年,这种情况发生了根本的变化。基于Intel CPU的PC机走入了千家万户,同时基于开放源码的类UNIX操作系统—Linux也迅速地为大众所接受,在这种情况下,每个人都能够接触计算机,继而接触Unix。但是我们如何接触Unix呢?很多人面对UNIX会觉得手足无措,甚至敬而远之,他们不敢轻易接触UNIX,这是因为UNIX中各种各样的命令、纷繁众多的参数、并不十分友好的操作界面以及UNIX的专业性像一扇厚厚的铁门一样将他们拒之门外。追究这种情况产生的根源,那就是没有一本适合他们、为他们着想的好书引导着他们走近UNIX,而本书的面世则彻底地改变了这种状况,因为本书的作者从构思到出书,再到中译版的问世,都是本着这样一个目的,那就是为各界同仁们敬上一把开启那一扇铁门的钥匙,继而引导读者畅游UNIX世界。不可否认的是,操作UNIX的确不如Windows方便随意,不过对于那些没有用过UNIX但又希望和计算机更亲密接触的人士,我禁不住要向你们推荐UNIX和这本书,因为UNIX让你了解计算机,而本书将让你了解UNIX,而这些的基础当然是阅读本书。那么,朋友,开始行动吧。另外,幸运的读者朋友们在享受这本书的同时,我们还需要对几位朋友表示敬意,他们都为推出这本精美充实的译著付出了汗水和劳动,其中刘宝旭、郭立生、蒋文保等都对本书的翻译和校对提供了极为有价值的意见和建议。在此让我们一起对这些热心的朋友表示诚挚的谢意。由于时间仓促,译者个人水平所限,疏漏之处在所难免,敬请读者指正。 2000年9月20日 前 言 Unix以最为灵活的操作系统而著称,但同时也是最难于掌握的系统之一。对初学者来说,Unix充满迷雾。这主要是因为初学者面对纷繁众多的命令而感到迷惑。开始学Unix的时候,非常易于迷失方向,因为这时候可能对Unix的工作细节一无所知。但是,一旦了解了Unix以后,你就会发现它的强大、通用和迷人之处,甚至可以用Unix完成几乎所有的工作。其实这也就是本书的目的所在。本书将详细地向读者介绍Unix系统,但并不是讲解一大堆的命令和程序。本书分三个阶段介绍UNIX,首先是一个入门指南,然后介绍基本使用方法,最后讲解特殊的应用程序。在第一部分中,将向读者介绍如何使用命令行界面和图形用户界面进行基本操作。在第二和第三部分中,集中介绍执行文件管理和shell操作等日常任务时用到的基本Unix特性。前三部分包含了要熟练使用Unix所必须了解的核心内容。比如说,配置shell和管理目录等。在第四和第五部分中,则包含了诸如shell编程,以及用户可以根据自己的需要选择的各种编辑器等专题。第一部分中主要介绍如何登录到系统等的基本操作。在本部分中,也将介绍两个流行的Unix GUI,即Motif和Open-Look。通过这一部分的学习,可以掌握登录、管理文件夹、启动程序以及使用两个GUI编辑文件。第二和第三部分包含了对于日常操作所必须要了解的内容。例如对文件结构的详细解释以及对shell的深入讲解。另外,在这两部分中,还将介绍如何管理文件和目录,以及建立、访问、拷贝和移动文件。读者还可以学习到如何配置Unix来满足自己的需求。Unix是一个多用户系统。每个用户都有自己的系统界面,并可以以任何方式对该界面进行配置。该界面称为shell,用户可以使用一些特殊的shell变量和命令来配置它。第四和第五部分着重介绍了几个特定的过滤器和编辑器。第四部分集中讲解了sed和diff等高级过滤器。然后又分别介绍了正则表达式和sort、uniq等数据过滤器。第五部分讨论了Vi、Ex和Emacs等编辑器。在本书中,使用了大量表格列出了每一种Unix特性所涉及到的命令。在每一章的末尾都会列出该章中所讨论到的命令。最后一章提供了所有这些命令的完整列表,以及对这些命令选项的详细解释。本书的出发点是向读者提供一种对Unix系统的实质性、专业性的介绍。UNIX系统是非常难于掌握的,而本书将针对一些常见的难点给予详细的介绍。本书将把重点放在系统的使用上,是指理解后的使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值