linux历史和基础命令----宋轶聪

来源:互联网 发布:计算有多少闰年c语言 编辑:程序博客网 时间:2024/06/05 15:32

linux 简介


linux是什么?

linux是一套操作系统 OS(Openration System),是一类发行版的简称.同时又是内核.

由linus Torvalds于1991年在芬兰的赫尔辛基大学发布.

 

linux是一个与unix类似的操作系统,什么是UNIX?

UNIX是操作系统的始祖,于1969年贝尔实验室的一个项目要建立一套多用户、多任务、多层次的操作系统,后来这个项目进度太慢就搁浅了.

后由Ken Thompson与Dennis Rirthchie将一个程序"星际旅行"移植到PDP-7上,因其只支持单用户单任务的运行方式,

于是用汇编和B语言写出了简单的UNIX这套系统,后来硬件升级到PDP-11,在系统移植过程中十分复杂.于是就有了重写这套操作系统的想法,

为了重写这套操作系统Dennis Rirthchie开发了C语言,1973年UNIX被重写移植到PDP-11上,版本号为V3,可以说C语言的诞生就是为了重写UNIX系统.

之后UNIX在BeL Lan延续出了V4-V10的各个版本.

在1975年左右六版时,UNIX开始走出贝尔实验室.被应用到厂商和大学学习.被分成了两大流派:

  1. BSD家族 由伯克利大学发起后产生有名的产品Free BSD等.比爾·喬伊,在BSD基础上开发了SunOS,并最终创办了太阳计算机系统公司

  2. System V & SVR由各个厂商从AT&T购得源代码后自己发布的版本,有名产品AIX,HP-UX等.

他们都从UNIX发展而来,有的与UNIX完全相容,有的部分相容,所以我们称他们为类UNIX系统.

 

那么我们要学习的linux到底处在哪里呢?

linus的祖父在赫尔辛基大学做教授,借用这个条件,linus 10岁时就接触了电脑并能自由操作,当linus来到赫尔辛基读计算机时就已经自学成一名程序员了.当时大学中使用minix这套教学系统来学习.在学习之后linus就决定开发超出Minix标准的一个运行在I386上的操作系统。后来被人们称为 Linux,Linus 'Minix的缩写.

linux是一个套免费开放源代码的操作系统,这是linus发布时就定下的.也正因为这一规则,才使linux在今天得以如此的壮大.

linux除了开放源代码外,还是一个自由的操作系统.什么是自由软件,自由软件有什么特色呢?

自由软件 free software

凡事可以自由使用而不受任何限制的软件.称为自由软件.free是自由,而不是免费

这些自由软件的特点都是由基金会所提倡的.它的创办人是 Richard Stallman,

自由软件基金会创办后,首先成立了GNU计划,目标是希望能开发一套完全自由,且与UNIX相容的操纵系统.

但不要像商业版的UNIX那样昂贵.GNU 又是 GNU is Not Unix的缩写

GNU GPL通用公共授权

  • 自由的获得

  • 自由的使用

  • 自由的修订

  • 自由的发布 但必须把您享有的权利完全授予和要求下一个使用者使用和遵守.

传统的商业软件一般都是保护厂商的权利,称为 Copyright;

而GPL是确保使用者可以自由的使用软件的权利,因此,GNU通用公共授权又被称为Copyleft;

 

LINUX 的用途

internet网络服务器 WEB FTP MAIL等

企业服务器 数据库服务器 文件服务器等

分散式运算系统

嵌入式系统

手机 PDA

桌面系统

 

发布版本:

严格意义上来说linus所开发的是一个操作核心(kernel),只是操作系统中的一部分,好比汽车的引擎;而若让让这个核心完成各种我们所需要的功能还需要添加各种软件.

为此,很多厂商收集并整合linux核心

以及其上的应用软件经过编译优化后发布自己的版本.

其中最著名的就是RED HAT了 旗下产品

RHEL

REDHAT ==> FC

 

如何使用linux

linux系统给我们提供两种用户使用接口(User Interface);

分别是图形用户接口GUI(Graphics)和文字用户接口TUI(text);

文字界面又叫命令行CLI;

    顾名思义就是用户通过命令来控制linux执行工作,为了能解释我们输入的命令

    linux提供了一个叫做SHELL的解析器来负责解析命令;

   优点:效率高 缺点:学习曲线高.

图形界面

    和windows类似,linux的图形标准是X window

   优点:简单易用 缺点:效率低下

控制台:

   无论是图形还是命令行,我们都必须通过终端或主控制台才能与linux沟通;

   那么什么是控制台呢?

其实无非是键盘和显示器而已;

虚拟控制台

   linux提供12个虚拟控制台,每一个控制台都有一个名字叫tty1,tty2...tty12,其中1-6是文字,78图形

   在不同的控制台切换使用ctrl+alt+FN

演示: 切换控制台 并解释系统版本和内核版本

登录系统 介绍PS(prompt string) 远程登录SSH

登出系统 exit logout ctrl+D

简单的文件管理命令

命令语法格式: 命令 参数 目标对象

 

切换目录cd

在图形界面 我们用鼠标双击来进入一个目录,那么在命令行里该如何切换呢?

既然要切换,就要知道切换到什么地方,先来了解一下linux的目录结构

Linux和UNIX的文件系统是一个以”r;/ ”r;为根的阶层式的树状文件结构,/ 因此被称为根目录。所有的文件和目录都置于根目录/ 之下。根目录/下面有/bin,/home,/usr等子目录。在早期的UNIX系统中,各个厂家各自定义了自己的UNIX系统的文件系统构成,比较混乱。

 为了避免在Linux也产生同样的问题,在Linux面世不久,就开始了对Linux文件系统进行标准化的活动,于1994年推出了名为FSSTND(Filesystem Standard)的Linux文件系统层次结构标准。之后,FSSTND标准吸引了UNIX社团的开发人员,他们把FSSTND扩大到UNIX系统,FSSTND就变为FHS (Filesystem Hierarchy Standard)。

cd

 cd 回到家目录

 cd / 目的目录

 cd - 上次工作目录

 cd . 当前目录

 cd ..上级目录

相对路径和绝对路径

 

我在哪?pwd

tree 以树状结构显示

ls  介绍颜色的用处

为什么会有颜色 因为有参数

长参数 短参数

如何查看文件的详细属性

  文件类型

-普通文件 d目录  b块 c字符 l连接 p管道 s套接字

如何查看隐藏文件 ls -a

没有颜色时 我们该怎么办? ls -F

常用组合 ls -lthr

系统为我们定义的常用组合 ll l.

自定义 alias lt='ls -lthr'

学会查看文件的属性后,我们来学习怎么查看文件内容

cat -n 打印行号

cat -b 同上,但排除空行

 

分屏查看 more 和 less

more 只能向下

less 上下均可

   more 和 less 的搜索功能

/ 向下搜

? 向上搜

n 下一个

N 上一个

 

head 查看文件头

-n X 指定行数

默认10行

tail 查看文件尾

-n X 指定行数

-f 时时监控文件变化

rev 左右颠倒

tac 上下颠倒

 

文件拓展名:

在linux中没有拓展名的概念 需要用file命令来识别

# file install.log

    install.log: UTF-8 Unicode text

 

建立自己的目录和文件

mkdir 建立目录

mkdir -p  建立多级目录

touch 建立文件

touch -d 20080808 修改文件日期

touch -d 1215  修改文件时间

指定时间的修改方法

linux里没有记录文件的创建时间

# stat big_file

   Access: 2009-05-02 12:13:00.000000000 +0800 访问时间 cat

   Modify: 2009-05-02 12:13:00.000000000 +0800 内容修改时间 echo >>

   Change: 2009-05-02 17:41:55.000000000 +0800 属性修改时间 chmod

touch -m -t 200809101112.13 bigfile

 

我自己试了一个

[root@zjtest upload]# stat fortest

  File: `fortest'

  Size: 4               Blocks: 16         IO Block: 4096   regular file

Device: 802h/2050d      Inode: 1553680     Links: 1

Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)

Access: 2010-04-03 18:28:36.000000000 +0800

Modify: 2010-04-03 18:28:25.000000000 +0800

Change: 2010-04-03 18:28:25.000000000 +0800

 

 

 

 

修改文件内容

echo "abcd" >> file_name

vim 编辑器的增删改存

gedit

复制文件 cp src  dest

-r 包含子目录和文件

-a 保持文件权限 包含子目录和文件 保持文件连接

-f 强制覆盖 不提示

删除文件 rm -r 递归删除

-f 强制删除 不提示

移动改名 mv old  new

-i 提示

-f 强制覆盖 不提示

 

 

课后练习


1.以文本模式安装RHEL,预留10G空间

2.将vimtutor改成中文,跟随练习至第六章结束

3.练习简单文件管理命令:

  • cd

  • pwd

  • touch

  • mkdir

  • echo

  • cp

  • mv

  • rm

  • more

  • less

  • head

  • tail

  • cat

  • file

  • stat

  • alias

1.

 cd /etc/rc.d/init.d

 echo $PWD

 pwd

看看两个结果是否一致? 再切换到系统其它目录,在做后两步的测试..了解pwd的作用

2.

 建立多级目录/root/dir1/dir2 并且进入dir2目录中

 # echo "0000" > file1

 # cp -f file1 ../

 # cp -f file1 ../

 cp: overwrite `../file1'? y

 # cat ../file1

 0000

  # 通过man cp命令的找到-f参数的含义,思考为什么还会有提示?

 # echo "111" > file1

 # /cp file1 ../

 # cat ../file1

 111

 # 为什么这次不会提示? 再把dir1及其子目录全部删除

 

4.分别使用more和less以及分屏查看,测试这两个命令查看方式差异在哪里,有什么不同?

5.使用命令 # tree -L 1 -d /

  看输出结果,结合112这本书的P129页图,了解/下每个目录的通常都存放哪些类型的文件

6.定义一个ls命令的别名lt ,具备以下功能:长列表格式,按时间排序,将最近时间的文件排在最后输出,并且把文件的大小用人性化的单位表示

结合 man 命令查看每个命令的手册

原创粉丝点击