Linux--基础
Linux的基本目录
Linux把所有的硬件设备抽象成文件。
设备 | 文件名 |
---|---|
IDE设备 | /dev/hd[a-t] |
SCSI设备 | /dev/sd[a-z] |
标准软驱 | /dev/fd[0-7] |
软raid设备 | /dev/md[0-31] |
文件权限说明有10个横杠组成,文件类型(1)+文件属主权限(2~4)+文件属组权限(5~7)+其他人权限(8~10)
修改文件及目录权限 | |
---|---|
chown | change owner,变更文件或目录的拥有者或所属群组 |
chgrp | change group,变更文件或目录的所属群组 |
chmod | change mode,变更文件或目录的权限 |
Linux中有多种安装文件格式
文件格式 | |
---|---|
DEB | 这种最简单了,如果是Ubuntu的话,就像Windows一些,双击,一路NEXT下去,就OK |
RPM包 | 这种软件包就像windows的EXE安装文件一样 |
以bin结尾的安装包 | 这种包类似于RPM包,安装也比较简单 |
tar.gz(bz或bz2等)结尾的源代码包 | 这种软件包里面都是源程序,没有编译过,需要编译后才能安装 |
相关文章链接:http://blog.csdn.net/caicai0328/article/details/7996472
解压缩文件 | |
---|---|
tar -cvfz | 压缩文件 |
tar -xvfz | 解压文件 |
删除文件命令常用格式:rm -rf 强制递归删除文件或者目录,跟Windows里的强制删除是一样的。
文件系统(引用):Windows的文件结构是多个并列的树状结构
,最顶部的是不同的磁盘(分区),如:C,D,E,F等。Linux的文件结构是单个的树状结构
.可以用tree进行展示。
Linux下磁盘分区和目录的关系如下(引用):
- 任何一个分区都必须挂载到某个目录上。
-目录是逻辑上的区分。分区是物理上的区分。 - 磁盘Linux分区都必须挂载到目录树中的某个具体的目录上才能进行读写操作。
- 根目录是所有Linux的文件和目录所在的地方,需要挂载上一个磁盘分区。
相关文章链接:http://www.iteye.com/topic/816268
文件系统常用命令 | |
---|---|
fdsk | 磁盘分区 |
mkfs | make file system,建立各种文件系统 |
fsck | file system check,检查文件系统并尝试修复错误 |
df | disk free,显示磁盘的相关信息 |
du | disk usage,显示目录或文件的大小 |
Linux进程的四大要素(引用)
- 一段供进程执行的程序,该程序可以被多个进程执行。
- 独立的内核堆栈。
- 进程控制快(task_struct:有了这个数据结构,进程才能成为内核调度的一个基本单位接受内核的调度。同时,这个结构还记录着进程所占用的各项资源。
- 独立的存储空间:即拥有专有的用户空间,除了前面的内核空间还有用户空间。
线程:只有前三条,没有第四条。
相关文章链接:1、http://www.cnblogs.com/geneil/archive/2011/11/25/2263497.html
2、http://kenby.iteye.com/blog/1014039
进程管理 | |
---|---|
ps | process status,报告程序状况,-aux |
top | 交互式地显示,管理执行中的程序,按K键杀死进程 |
kill | 杀死进程,预设的信息为SIGTERM(15),可将指定程序完成任务后终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。 |
关于内核态和用户态(引用)
核心态可以执行特权指令,但用户态只能执行非特权指令.这是如何实现的呢?
Linux将内核程序和用户程序分开处理,分别运行在用户态和核心态。
以32位x86架构为例,虚拟空间共4G,高地址的1G为系统程序运行的核心栈,低地址的3G空间为用户程序运行的用户栈。Linux进程的4GB地址空间,3G-4G部分大家是共享的,是内核态的地址空间,这里存放在整个内核的代码和所有的内核模块,以及内核所维护的数据。
用户运行一个程序,该程序所创建的进程开始是运行在用户态的,如果要执行文件操作,网络数据发送等操作,必须通过write,send等系统调用,这些系统调用会调用内核中的代码来完成操作,这时,必须切换到Ring0,然后进入3GB-4GB中的内核地址空间去执行这些代码完成操作,完成后,切换回Ring3,回到用户态。
这样,用户态的程序就不能 随意操作内核地址空间,具有一定的安全保护作用。
关于内核线程
ps命令列出来的线程, 如果被”[]”括起来了, 这就是内核线程
用户管理命令 | |
---|---|
su | 变更用户身份 |
useradd | 建立用户帐号 |
su和su -的区别:su-继承root的环境变量,su不继承。
uname:获得Linux的版本信息
管道是一种两个进程间进行单向通信的机制。 通过管道通信的两个进程,一个进程向管道写数据,另外一个从中读数据。写入的数据每次都添加到管道缓冲区的末尾,读数据的时候都是从缓冲区的头部读出数据的。
还没有评论,来说两句吧...