linux相关总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux相关总结相关的知识,希望对你有一定的参考价值。

一.在linux的世界里,有问题问man,相当于java的api。其用法是man 你不会的命令
二.Linux系统有7个运行级别(runlevel):常用的是3和5
  运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
  运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
  运行级别2:多用户状态(没有NFS),没有网络服务
  运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
  运行级别4:系统未使用,保留
  运行级别5:X11表示控制台,进入图形界面
  运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
三.启动过程
  1.内核引导
    接通电源Bios自检,按照BIOS中设置的启动设备(通常是硬盘)来启动,操作系统接管硬件以后,首先读入 /boot 目录下的内核文件。  
  2.运行init
    init 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程, 系统中任何进程都不会启动。init 程序首先是需要读取配置文件 /etc/inittab
  3.RunLevel
    许多程序需要开机启动。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。
    init进程的一大任务,就是去运行这些开机启动的程序。
    但是,不同的场合需要启动不同的程序,比如用作服务器时,需要启动Apache,用作桌面就不需要。
    Linux允许为不同的场合,分配不同的开机启动程序,这就叫做"运行级别"(runlevel)。
    也就是说,启动时根据"运行级别",确定要运行哪些程序。 
    Linux系统有7个运行级别(runlevel):
    运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
    运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
    运行级别2:多用户状态(没有NFS)
    运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
    运行级别4:系统未使用,保留
    运行级别5:X11控制台,登陆后进入图形GUI模式
    运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
  4.系统初始化
    在init的配置文件中有这么一行: si::sysinit:/etc/rc.d/rc.sysinit 它调用执 了/etc/rc.d/rc.sysinit,而rc.sysinit是一个bash shell的脚本,它主要是完成一些系统初始化的工  作,rc.sysinit是每一个运行级别都要首先运行的重要脚本,它主要完成的工作有:激活交换分区,检查磁盘,加载硬件模块以及其它一些需要优先执行任务  
  5.建立终端
    rc执行完毕后,返回init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。
    init接下来会打开6个终端,以便用户登录系统。在inittab中的以下6行就是定义了6个终端:
  技术分享
  6.用户登录系统
    一般来说,用户的登录方式有三种:
    (1)命令行登录
    (2)ssh登录
    (3)图形界面登录
  技术分享
四.VIM编辑器
  1.增减行号的命令:增加行号:set nu,去掉行号:set nonu
  2.三种模式
    ①一般模式:以 vi 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中,你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整    行』来处理档案内容, 也可以使用『复制、贴上』来处理你的文件数据。
    删除光标当前行,dd
    删除光标(含)后多少行,d数字d
    撤销上一步,u
    复制光标当前一行,yy
    复制一段(从第几行到第几行),y数字y
    箭头移动到目的行粘贴,p
    删除一个字母
    x,相当于del
    X,相当于Backspace
    删除一个词,dw
    复制一个词,yw
    移动到行头,shift+^
    移动到行尾,shift+$
    移动到页头,数字1+shift+g
    移动到页尾,shift+g
    移动到目标行,数字N+shift+g
  ②编辑模式:在一般模式中可以进行删除、复制、贴上等等的动作,但是却无法编辑文件内容的! 要等到你按下『i, I, o, O, a, A, r, R』等任何一个字母之后才会进入编辑模式。  注意了!通常在 Linux 中,按下这些按键时,在画面的左下方会出现『INSERT 或 REPLACE 』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下  『Esc』这个按键即可退出编辑模式。
    i当前光标前
    a当前光标后
    o当前光标的下一行
  ③指令模式:在一般模式当中,输入『 : / ?』3个中的任何一个按钮,就可以将光标移动到最底下那一行。在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号,等的动作则是在此模式中达成的!
  :q    //quit退出vi编辑器
  :w   //write保存修改的内容
  :wq  //保存并退出
  :q!  //强制退出,当对文本内容作了修改而不想要保存时
  :w!  //强制保存,当没有文本的写权限时
  w
  q
  ! 感叹号强制执行
  替换
  :%s/old字符/new字符/g
  /
  查找,/被查找词,n是查找下一个,shift+n是往上查找
  ?
  查找,?被查找词,n是查找上一个,shift+n是往下查找
五Linux用户与用户组
1.用户
新增用户:useradd 用户名
对用户设置密码:passwd 新建用户名,之后根据提示输入密码
用户存在否:id 用户名
查看当前用户:whoami/who am i
切换用户:su - username名字 切换用户
删除用户:userdel
修改用户:usermod(讲完后面的用户组知识点后再回来讲解)
usermod -g 用户组 用户名
2.用户组:每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。
新增组:groupadd 组名
删除组:groupdel 组名
修改组:groupmod 组名
groupmod -n 新组名 老组名
六.文件与目录结构
1.目录结构
技术分享
树状目录结构
/bin:是Binary的缩写, 这个目录存放着最经常使用的命令
/boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件,自己的安装别放这里
/dev:Device(设备)的缩写,该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
/etc:所有的系统管理所需要的配置文件和子目录。
/home:存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/lib:系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
/opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
/root:该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/selinux:这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙
/srv:service缩写,该目录存放一些服务启动之后需要提取的数据。
/sys: 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
/tmp:这个目录是用来存放一些临时文件的。
/usr: 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。
/var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
 
cd~回到当前用户的家目录
cd-回到上一次所在的目录
 
2.文件属性
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组
从左到右的10个字符表示:
以三个为一组,且均为『rwx』 的三个参数的组合。
其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,
如果没有权限,就会出现减号[ - ]而已。从左至右用0-9这些数字来表示:
第0位确定文件类型,
第1-3位确定属主(该文件的所有者)拥有该文件的权限。---User
第4-6位确定属组(所有者的同组用户)拥有该文件的权限,---Group
第7-9位确定其他用户拥有该文件的权限 ---Other
技术分享
作用到文件:
[ r ]代表可读(read): 可以读取,查看
[ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
[ x ]代表可执行(execute):可以被系统执行
作用到目录:
[ r ]代表可读(read): 可以读取,ls查看目录内容
[ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
[ x ]代表可执行(execute):可以进入该目录
技术分享
3.文件权限类
chmod
改变文件或者目录权限
文件: r-查看;w-新增修改;x-执行文件
目录: r-列出目录内容;w-在目录中创建和删除;x-进入目录
删除一个文件的前提条件:该文件所在的目录有写权限,你才能删除该文件。
  

以上是关于linux相关总结的主要内容,如果未能解决你的问题,请参考以下文章

Linux相关命令总结

Linux 学习总结-linux 文件系统及相关命令

Linux TCP队列相关参数的总结

linux设备驱动归纳总结内核的相关基础概念

linux相关总结

Linux的相关总结