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)

修改文件及目录权限
chownchange owner,变更文件或目录的拥有者或所属群组
chgrpchange group,变更文件或目录的所属群组
chmodchange mode,变更文件或目录的权限

Linux中有多种安装文件格式

文件格式
DEB这种最简单了,如果是Ubuntu的话,就像Windows一些,双击,一路NEXT下去,就OK
RPM包这种软件包就像windows的EXE安装文件一样
以bin结尾的安装包这种包类似于RPM包,安装也比较简单
tar.gz(bz或bz2等)结尾的源代码包这种软件包里面都是源程序,没有编译过,需要编译后才能安装

相关文章链接:http://blog.youkuaiyun.com/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磁盘分区
mkfsmake file system,建立各种文件系统
fsckfile system check,检查文件系统并尝试修复错误
dfdisk free,显示磁盘的相关信息
dudisk usage,显示目录或文件的大小

Linux进程的四大要素(引用)

  • 一段供进程执行的程序,该程序可以被多个进程执行。
  • 独立的内核堆栈。
  • 进程控制快(task_struct:有了这个数据结构,进程才能成为内核调度的一个基本单位接受内核的调度。同时,这个结构还记录着进程所占用的各项资源。
  • 独立的存储空间:即拥有专有的用户空间,除了前面的内核空间还有用户空间。

线程:只有前三条,没有第四条。
相关文章链接:1、http://www.cnblogs.com/geneil/archive/2011/11/25/2263497.html
2、http://kenby.iteye.com/blog/1014039

进程管理
psprocess 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的版本信息

管道是一种两个进程间进行单向通信的机制。 通过管道通信的两个进程,一个进程向管道写数据,另外一个从中读数据。写入的数据每次都添加到管道缓冲区的末尾,读数据的时候都是从缓冲区的头部读出数据的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值