今天是我开始了非图形界面linux的学习过程。虽然前面的人讲说学习linux要学习相关程序的安装和图形界面下的应用软件的配置工作。但是我只在windows下装了个Vitual machine workstation,然后装入师兄制作好的debian.
详解linux与win分区格式
win常用的分区格式有三种,分别是FAT16、FAT32、NTFS格式。在Linux操作系统里有Ext2、Ext3、Linux swap和VFAT四种格式。
FAT16:
作为一种文件名称,FAT(File Allocation Table,文件分配表)自1981年问世以来,已经成为一个计算机术语。由于时代的原因,包括Windows、MacOS以及多种Unix版本在内的大多数操作系统均对FAT提供支持。
这是MS-DOS和最早期的Windows 95操作系统中使用的磁盘分区格式。它采用16位的文件分配表,是目前获得操作系统支持最多的一种磁盘分区格式,几乎所有的操作系统都支持这种分区格式,从DOS、Windows 95、Windows OSR2到现在的Windows 98、Windows Me、Windows NT、Windows 2000、Windows XP都支持FAT16,但只支持2GB的硬盘分区成为了它的一大缺点。FAT16分区格式的另外一个缺点是:磁盘利用效率低(具体的技术细节请参阅相关资料)。为了解决这个问题,微软公司在Windows 95 OSR2中推出了一种全新的磁盘分区格式----FAT32。
FAT32:
这种格式采用32位的文件分配表,对磁盘的管理能力大大增强,突破了FAT16下每一个分区的容量只有2GB的限制。由于现在的硬盘生产成本下降,其容量越来越大,运用FAT32的分区格式后,我们可以将一个大容量硬盘定义成一个分区而不必分为几个分区使用,大大方便了对磁盘的管理。而且,FAT32与FAT16相比,可以极大地减少磁盘的浪费,提高磁盘利用率。目前,Windows 95 OSR2以后的操作系统都支持这种分区格式。但是,这种分区格式也有它的缺点。首先是采用FAT32格式分区的磁盘,由于文件分配表的扩大,运行速度比采用FAT16格式分区的磁盘要慢。另外,由于DOS和Windows 95不支持这种分区格式,所以采用这种分区格式后,将无法再使用DOS和Windows 95系统。
NTFS:
为了弥补FAT在功能上的缺陷,微软公司创建了一种称作NTFS的文件系统技术。它的优点是安全性和稳定性方面非常出色,在使用中不易产生文件碎片。并且能对用户的操作进行记录,通过对用户权限进行非常严格的限制,使每个用户只能按照系统赋予的权限进行操作,充分保护了系统与数据的安全。Windows 2000、Windows NT、以及Windows XP都支持这种分区格式。
Ext2:
Ext2是GNU/Linux系统中标准的文件系统。这是Linux中使用最多的一种文件系统,它是专门为Linux设计的,拥有极快的速度和极小的CPU占用率。Ext2既可以用于标准的块设备(如硬盘),也被应用在软盘等移动存储设备上。
Ext3:
Ext3是Ext2的下一代,也就是保有Ext2的格式之下再加上日志功能。Ext3是一种日志式文件系统(Journal File System),最大的特点是:它会将整个磁盘的写入动作完整的记录在磁盘的某个区域上,以便有需要时回溯追踪。当在某个过程中断时,系统可以根据这些记录直接回溯并重整被中断的部分,重整速度相当快。该分区格式被广泛应用在Linux系统中。
Linux swap:
它是Linux中一种专门用于交换分区的swap文件系统。Linux是使用这一整个分区作为交换空间。一般这个swap格式的交换分区是主内存的2倍。在内存不够时,Linux会将部分数据写到交换分区上。
VFAT:
VFAT叫长文件名系统,这是一个与Windows系统兼容的Linux文件系统,支持长文件名,可以作为Windows与Linux交换文件的分区。
Linux内核的命名机制:
num.num.num
其中第一个数字是主版本号,第二个数字是次版本号,第三个数字是修订版本号.如果次版本号是偶数,那么该内核就是稳定版的;若是奇数,则是开发版的.头两个数字合在一齐可以描述内核系列.如稳定版的2.6.0,它是2.6版内核系列.
LINUX系统中,共有7个运行级别,含义如下:
0 停机。不要把系统的默认级别设置为0,否则系统不能正常启动。
1 但用户模式。用于root用户对系统进行维护,不允许其他用户使用主机。
2 多用户模式。在该模式下不能使用NFS。
3 完全多用户模式。主机作为服务器时通常在该模式下。
4 未分配使用。
5 图形登陆的多用户模式。用户在该模式下可以进行图形界面的登陆。
6 重新启动。不要把系统的默认级别设置为6,否则不能正常启动。
Linux的目录里都装些啥
我就在Linux的根目录下运行ls -l(列目录命令)
/bin
bin是binary的缩写。这个目录沿袭了UNIX系统的结构,存放着使用者最经常使用的命令。例如cp、ls、cat,等等。
/boot
这里存放的是启动Linux时使用的一些核心文件。
/dev
dev是device(设备)的缩写。这个目录下是所有Linux的外部设备,其功能类似DOS下的.sys和Win下的.vxd。在Linux中设备和文件是用同种方法访问的。例如:/dev/hda代表第一个物理IDE硬盘。
/etc
这个目录用来存放系统管理所需要的配置文件和子目录。
/home
用户的主目录,比如说有个用户叫wang,那他的主目录就是/home/wang也可以用~wang表示。
/lib
这个目录里存放着系统最基本的动态链接共享库,其作用类似于Windows里的.dll文件。几乎所有的应用程序都须要用到这些共享库。
/lost+found
这个目录平时是空的,当系统不正常关机后,这里就成了一些无家可归的文件的避难所。对了,有点类似于DOS下的.chk文件。
/mnt
这个目录是空的,系统提供这个目录是让用户临时挂载别的文件系统。
/proc
这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里。
/root
系统管理员(也叫超级用户)的主目录。作为系统的拥有者,总要有些特权啊!比如单独拥有一个目录。
/sbin
s就是Super User的意思,也就是说这里存放的是系统管理员使用的管理程序。
/tmp
这个目录不用说,一定是用来存放一些临时文件的地方了。
/usr
这是最庞大的目录,我们要用到的应用程序和文件几乎都存放在这个目录下。其中包含以下子目录;
/usr/X11R6
存放X-Window的目录;
/usr/bin
存放着许多应用程序;
/usr/sbin
给超级用户使用的一些管理程序就放在这里;
/usr/doc
这是Linux文档的大本营;
/usr/include
Linux下开发和编译应用程序需要的头文件,在这里查找;
/usr/lib
存放一些常用的动态链接共享库和静态档案库;
/usr/local
这是提供给一般用户的/usr目录,在这里安装软件最适合;
/usr/man
man在Linux中是帮助的同义词,这里就是帮助文档的存放目录;
/usr/src
Linux开放的源代码就存在这个目录,爱好者们别放过哦!
/var
这个目录中存放着那些不断在扩充着的东西,为了保?usr的相对稳定,那些经常被修改的目录可以放在这个目录下,实际上许多系统管理员都是这样干的。顺带说一下系统的日志文件就在/var/log目录中。
Linux 下的三大软件安装方式
1.通过RPM软件包来安装
说起RPM(REDHAT Package Management)标准的软件包,大家可能都会想起大名鼎鼎的REDHAT公司,正是RPM软件包发行方式的出现,使Linux中的应用软件安装变得简单。如果用户想安装按RPM方式发行的软件,只需简单地输入命令“rpm -ivh xxx.rpm”即可。
2.Tar.gz(Tgz)软件包的安装
以Tar.gz为扩展名的软件包,是用Tar程序打包并用Gzip程序压缩的软件包。要安装这种软件包,需要先对软件包进行解压缩,使用“tar -zxfv filename.tar.gz”可以对软件包进行解压缩,解压缩所得的文件在以Filename为名的目录中。进入该目录,可以看到解压缩出来的文件了。
LINUX的启动顺序
LINUN启动顺序:
poweron --BIOS自检--LILO/GRUB调用---KERNEL 调用--INIT***---MIGGETTY--LOGIN
init调用其配置文件/etc/inttab;inittab从上到下按顺序启动,调用rc.sysinit ---rc?.d(rc?.d下的文件都是init.d下的符号链接)---其中有一个xinetd的超级进程---调用/etc/xinetd.conf配置文件---从配置文件中知道读/etc/xinetd.d文件----结束后调用Miggetty
几种常见shell简介
Linux系统提供多种不同的Shell以供选择。常用的有Bourne Shell(简称sh)、C-Shelll(简称csh)、Korn Shell(简称ksh)和Bourne Again Shell (简称bash)。
退出登录
不论你是root用户还是普通用户,只需简单地执行exit命令就可以退出登录。
关闭机器
在Linux系统中,普通用户是无权关闭系统的!只有root用户才能够关闭它。当然如果你是按关机按钮则别当别论。我们可以通过以下几种方法实 现:
1) 按下CTRL+ALT+DEL组合键,这样系统将重新启动!
2) 执行reboot命令,这样系统也将重新启动!
3) 执行shutdown -h now命令,这样系统将关闭计算机!
4) 执行halt命令,可以关闭计算机。
注意千万不要随意采用硬关机、重启动键等方式关闭系统,那样会导致Linux文件系统遭受破坏!
虚拟控制台
虚拟控制台的选择可以通过按ALT键加上F1-F6六个功能键来实现。例如,用户登录后,按一下ALT+F2组合键,用户又可以看到“login:”提示 符,这其实就是第二个虚拟控制台,而这时再按下ALT+F1组合键,用户则又可以回到第一个虚拟控制台。
linux shell指的是一种程序,用户能通过键盘键入指令来操作计算机。shell执行用户输入的命令,并在显示器上显示执行的结果。这种交互都是基于文本的。
shell命令基本规则
一般格式:命令名[选项][参数][参数]...
如何获得命令的帮助:
1. 命令-h 或 命令--h
2. man命令
3. info info是GNU的超文本帮助系统
4. help命令
目录访问
ls 短格式列出当前目录的子对象
ls -a 短格式列出当前目录的子对象,包括“.”,“..”
ls -l 长格式列出当前目录的子对象
ls -F 列出当前目录的子对象,并通过符号来表示不同的文件类型
ls -R 递归列出所有子对象
察看目录所占磁盘容量
du 目录名
改变工作目录:
cd
cd ~user 到user用户的主目录
cd .. 到当前工作目录的父目录
创建文件
touch 文件名
目录的创建
midir 目录名
rmdir 或 rm 解释-f 与 -R选项
访问文件:
find命令
find . -name “*.c”
cat 列出文件内容(不分页显示)
more分也显示,可下翻但不可上翻
less分也显示,可下翻但可上翻 ,q键退出阅读状态
复制命令
cp fiel1 file2
移动或改名
mv
删除文件或目录
rm f
查看一个文件有多少行
wc -l usr.bin
查看一个文件有多少字节
wc -c usr.bin
查看文本文件的内容
cat usr.bin
而 more则分屏显示 more 1.c
whoami,whereis,which,id
//whoami:确认自己身份.
//whereis:查询命令所在目录以及帮助文档所在目录.
//which:查询该命令所在目录(类似whereis)
//id:打印出自己的UID以及GID.(UID:用户身份唯一标识.GID:用户组身份唯一标识.每一个用户只能有一个唯一的UID和GID.)
eg: whoami //显示你自已登陆的用户名
whereis bin 显示bin所在的目录, 将显示为:/usr/local/bin
which bin
grep,find grep:文本内容搜索;find:文件或者目录名以及权限属主等匹配搜索
eg: grep success * /*查找当前目录下面所有文件里面含有success字符的文件
kill 可以杀死某个正在进行或者已经是dest状态的进程
eg; ps ax
passwd 可以设置口令
history 用户用过的命令
eg: history //可以显示用户过去使用的命令
chmod 命令 权限修改 用法:chmod 一位8进制数 filename
eg: chmod u+x filenmame //只想给自己运行,别人只能读
//u表示文件主人, g 表示文件文件所在组. o 表示其他人 ;r 表可读,w 表可写,x 表可以运行
chmod g+x filename //同组的人来执行
clear,date命令 clear:清屏,相当与DOS下的cls;date:显示当前时间.
mount 加载一个硬件设备
用法:mount [参数] 要加载的设备 载入点
eg: mount /dev/cdrom
cd /mnt/cdrom //进入光盘目录
su 在不退出登陆的情况下,切换到另外一个人的身份
用法: su -l 用户名(如果用户名缺省,则切换到root状态)
eg:su -l netseek (切换到netseek这个用户,将提示输入密码)
用户管理
改变身份。如果不指定用户名,则默认将用户身份换至root。从root身份切换到其他任何身份都不需要口令。
su [username]
添加用户
例:adduser -c "MyW" -d /home/workman -g root workman
设置用户口令
例:passwd workman
安装和卸载软件
安装rpm软件
例:rpm -Uvh kdevelope-3.1-1.i386.rpm
卸载rpm软件
例:rpm -e kdevelope
配置、编译、安装、卸载源码发布的软件包。
./configure
make
make install
make clean
卸载源码发布的软件包
make uninstall
文件的打包和解包2
解tar包
例:tar -xvzf gaim-0.77.tar.gz
tar -jxvf XXX.tar.bz2
eg: tar -zxvf nmap-3.45.tgz //将这个解压到nmap-3.45这个目录里
生成tar包
例:tar cvf - /etc | gzip-9c > backup.tar.gz
生成rar包3
rar a test.rar file1.txt
rar a test.rar dir1
解rar包
rar x test.rar
解zip 包
unzip lumaqq_p3.zip
基本命令:
安装和登录命令:login、 shutdown、 halt、 reboot 、mount、umount 、chsh
文件处理命令:file、 mkdir、 grep、dd、 find、 mv 、ls 、diff、 cat、 ln
系统管理相关命令: df、 top、 free、 quota 、at、 lp、 adduser、 groupadd kill、 crontab、 tar、 unzip、 gunzip 、last
网络操作命令:ifconfig、 ip 、ping 、 netstat 、telnet、 ftp、 route、 rlogin rcp 、finger 、mail 、nslookup
系统安全相关命令: passwd 、su、 umask 、chgrp、 chmod、chown、chattr、sudo、 pswho
学习方向:
一、内核源码学习。我现在没时间也没精力来干着件事,大学时曾经读过UNIX的一些源码,我觉得即使你不分析它,读一遍对每个人都是有好处的。
二、系统管理、SHELL界面、图形外挂等。就系统管理、用户管理、文件管理等来说,LINUX跟UNIX很相象,很多的命令跟UNIX也差不多。在目前,这是我的学习方向。
三、应用开发。就目前而言,在易用性、应用系统多样化方面等,LINUX跟它的竞争对手WINDOWS相比还有一定的差距,我本人的工作性质的关系,基本上不作在LINUX上开发应用的尝试。采用的是拿来就用的原则。
四、应用集成。根据自己的工作环境,尝试将一些LINUX的应用集成到工作中,与公司中其它的各种系统、应用形成一个整体,进行统一的管理。这也是我的学习重点。
vi command mode模式下的最基本应用:
w filename
储存正在编辑的文件为filename
wq filename
储存正在编辑的文件为filename,并退出vi
q!
放弃所有修改,退出vi (刚开始进入了不知道怎么退出,汗)
接着的学习:
vi编辑器是所有Unix及Linux系统下标准的编辑器,
1、vi的基本概念
基本上vi可以分为命令行模式command mode和插入模式Insert mode。
只有在insert mode下才可以做文字的输入,按esc可以从insert mode进入command mode;
2、vi的基本操作
a) 进入vi
在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面;进入vi之后,是处于command mode,要切换到Insert mode才能够输入文字。
b) 切换至插入模式Insert mode编辑文件
在command mode下按一下字母「i」就可以进入Insert mode,这时候你就可以开始输入文字了。
c) Insert 的切换
您目前处于Insert mode,能一直输入文字,如果发现输错了字,想用光标键往回移动,将该字删除,就要先按一下ESC键转到command mode再删除文字。
d) 退出vi及保存文件
在命令行模式command mode下,按一下:冒号键。例如:
: w filename (输入 「w filename」将文章以指定的文件名filename保存)
: wq (输入「wq」,存盘并退出vi)
: q! (输入q!, 不存盘强制退出vi)
回复上一次操作
「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。
从插入模式到命令模式后,按了:,然后可以的操作有下面的:
B) 跳到文件中的某一行
「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。
C) 查找字符
「/关键字」:先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。
「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。
从gdb中回到命令行模式:敲入quit
如果要使用gdb进行调试必须要使用gcc -g -o filename filename.c有-g命令来编译文件;
这是我刚装完虚拟机和相应的内核后所做的事。初级学习,很多基本的操作看了下。
^_^
xxhuxx 于 2007-03-21 21:27:29发表:
:0L 感谢楼主对学习日志的分享,本来也想自己写的,但是总是懒得动手。很不错。
pighomelid 于 2007-01-12 23:45:45发表:
不错啊
呵呵 支持了1
athlonxpgzw 于 2007-01-12 19:33:13发表:
不错 顶一个
cxqcxq0177 于 2007-01-12 16:05:40发表:
不容易,坐下沙发,喝杯咖啡