Linux操作系统第一篇
Linux是一种自由和开放源代码的类UNIX操作系统。定义Linux的组件是Linux内核,该操作系统内核由林纳斯·托瓦兹在1991年10月5日首次发布。严格来讲,术语Linux只表示操作系统内核本身,但通常采用Linux内核来表达该意思,Linux则常用来指基于Linux内核的完整操作系统,包括GUI组件和许多其他实用工具。由于这些系统工具和库主要由GNU计划提供,自由软件基金会提议将该组合系统命名为GNU/Linux。Linux是一个领先的操作系统,可以运行在服务器和其他大型平台之上,如大型机和超级计算机。世界上500个最快的超级计算机90%以上运行Linux发行版或变种,最快的前10名超级计算机运行的都是Linux操作系统。 Linux也广泛应用在嵌入式设备上,如手机、平板电脑、路由器、电视和电子游戏机等。在移动设备上广泛使用的Android操作系统就是创建在Linux内核之上。
Linux下的编程:
一.前景知识:
计算机由硬件,OS(operating system)和软件这三大部分组成。其中OS分为两大部分,一个是内核(kernel)(主要负责硬件的管理),另一个是外壳(shell)(用户通过shell控制硬件),软件分为系统软件和应用软件。Linux是免费的,是开源(开放源代码)的一种OS。它通过终端输入命令行来实现各种功能。
1.shell是与用户打交道的界面,常见的外壳程序在Unix有sh,bash,ksh,csh.因此,每个终端都会有个shell。
相关资料如下:
交互式模式就是shell等待你的输入,并且执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当你签退后,shell也终止了。
shell也可以运行在另外一种模式:非交互式模式。在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾,shell也就终止了。
shell的类型
在UNIX中主要有两大类shell
Bourne shell (包括 sh, ksh, and bash)
Bourne shell ( sh)
Korn shell ( ksh)
Bourne Again shell ( bash)
POSIX shell ( sh)
C shell (包括 csh and tcsh)
C shell ( csh)
TENEX/TOPS C shell ( tcsh)
Bourne Shell
首个重要的标准Unix Shell是1970年底在V7 Unix(AT&T第7版)中引入的,并且以它的创始科技部基础条件平台“国家气象网络计算应用节点建设”(2004DKA50730)资助者Stephen Bourne的名字命名。Bourne shell 是一个交换式的命令解释器和命令编程语言。Bourne shell 可以运行为login shell或者login shell的子shell(subshell)。只有login命令可以调用Bourne shell作为一个login shell。此时,shell先读取/etc/profile文件和$HOME/.profile文件。/etc/profile文件为所有的用户定制环境,$HOME/.profile文件为本用户定制环境。最后,shell会等待读取你的输入。
C Shell
Bill Joy于20世纪80年代早期,在Berkeley的加利福尼亚大学开发了C shell。它主要是为了让用户更容易的使用交互式功能,并把ALGOL风格的语法结构变成了C语言风格。它新增了命令历史、别名、文件名替换、作业控制等功能。
Korn Shell
有很长一段时间,只有两类shell供人们选择,Bourne shell用来编程,C shell用来交互。为了改变这种状况,AT&T的bell实验室David Korn开发了Korn shell。ksh结合了所有的C shell的交互式特性,并融入了Bourne shell的语法。因此,Korn shell广受用户的欢迎。它还新增了数学计算,进程协作(coprocess)、行内编辑(inline editing)等功能。Korn Shell 是一个交互式的命令解释器和命令编程语言.它符合POSIX——一个操作系统的国际标准.POSIX不是一个操作系统,而是一个目标在于应用程序的移植性的标准——在源程序一级跨越多种平台。
Bourne Again Shell (bash)
bash是GNU计划的一部分,用来替代Bourne shell。它用于基于GNU的系统如Linux.大多数的Linux(Red Hat, Slackware, Caldera)都以bash作为缺省的shell,并且运行sh时,其实调用的是bash。
POSIX Shell
POSIX shell 是Korn shell的一个变种. 当前提供POSIX shell的最大卖主是Hewlett-Packard。在HP-UX 11.0 , POSIX shell 就是/bin/sh,而bsh是/usr/old/bin/sh.
各主要操作系统下缺省的shell:
AIX 下是Korn Shell.
Solaris缺省的是Bourne shell.
FreeBSD缺省的是C shell
HP-UX缺省的是POSIX shell.
Linux是Bourne Again shell.
command命令来添加shell进程;
ps(process status)命令来查看运行状态;
contrl+c终止当前命令;
pwd(print working directory)打印当前工作目录;
change directory改变当前工作目录;
多个shell进程,最后一个运行的才起作用,可以通过exit命令退出shell,当退出最后一个shell时,OS将退出终端。
Linux下的管理员叫做root(根用户),所有的用户都由它创建,并由它指定shell,exec shell命令切换shell(不保留上一个shell),
2.Linux文件系统:
/称作根目录,可以点击菜单栏的查看更改视图,Unix下不分C,D,E,F盘,而是把每个盘都做了一个目录放在dev文件夹里,在Unix里严格区分大小写。
进程ID每次运行都不一样,每个终端的TTY号也是不一样的。
绝对路径和相对路径:
绝对路径:当前没有进入目录,只能一层一层的输入文件夹或文件的所在位置。
相对目录:相对当前目录而言,在进入目标目录时就不用再输入当前目录了。
cd或cd ~ 返回主目录;
cd ~用户名 进入该用户的主目录;
cd .. 返回上一级目录;
cd . 返回当前目录;
ls(list) 列出目录下的文件夹和文件;
date 查看系统时间;
telnet 连接到另一台计算机,Unix允许对计算机进行远程操作,用contrl+d或者logout登出;
passwd修改密码,不建议修改密码;
(注:passwd文件里的格式:soft01用户名:x密码:500用户ID:500组ID:注释:/home/soft01主目录:/bin/bash登录shell。)