Linux基础知识

shlamp 2016-12-10

Linux介绍:

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。

Linux也支持图形化用户界面,但是通常来讲,根据笔者的经验,一般作为项目的实际生产环境Linux都使用的是纯字符界面,目的很简单,减少不必要的资源开销,提高运行效率。另外,在Linux中一切皆文件,相信使用过Linux的人都有深刻的体会!

目录结构:

/#根目录

binsbinusrsyshomeetclibdevcgrouprootselinuxsrv等等#根目录下的一级目录

根目录下的bin和sbin,usr下的bin和sbin四个目录都是用来保存系统命令的,bin下的命令普通用户都能执行,sbin下的命令只有root超级用户能执行

根目录下的boot是用户启动数据目录

根目录下的dev是特殊文件保存目录

根目录下的etc系统配置文件目录

根目录下的lib是函数库目录

根目录下的sys和proc是内存过载点目录,不能操作此目录

根目录下的tmp是临时目录

根目录下的root是超级用户的主目录

根目录下的home存放普通用户的主目录等

Linux不同颜色的文件的区别(不同版本间可能存在区别):

蓝色文件----------目录

白色文件----------一般性文件,如文本文件,配置文件,源码文件等

浅蓝色文件--------链接文件,主要是使用ln命令建立的软连接文件

绿色文件----------可执行文件,可执行的程序

红色文件----------压缩文件或者包文件(或者有错误的文件)

命令提示符:

#--------超级用户(root)的提示符

$--------普通用户的提示符

~--------当前所在的目录(家目录下面的目录)

命令格式:

命令[选项][参数]#大多数命令均为该格式,选项和目录可以加也可以不加,如ls-l/etc/和ls-l和ls三种不同格式的命令

命令生效顺序:

第一顺序:执行用绝对路径或相对路径执行的命令。

第二顺序:执行别名。

第三顺序:执行Bash的内部命令。

第四顺序:执行按照$PATH环境变量定义的查找目录顺序找到的第一个命令。

Tab键补全功能:

使用Tab键可以自动补全文件名,也可以补全命令,如果有相同的开头字母,按两下会列出以输入字母开头的命令或文件名

创建文件连接(推荐使用软链接):

硬链接:除了名字和原文件可以不同,其他均相同,修改影响,删除一个不影响另一个,不能跨分区,不能针对目录使用

软链接:类似Windows快捷键,i节点不同,修改影响,删除原文件软链接会失效,查看权限(或其他信息)时应该查看原文件为准,创建时软链接时源文件一定要写成绝对路径

用户与用户组:

用户:使用操作系统的人

用户组:具有相同系统权限的一组用户

一个用户可以属于多个用户组,一个为主要用户组,其它为附属组

/etc/group存储当前系统中所有用户组信息,分为四组用冒号隔开信息:组名称/组密码占位符/组编号(0-499为系统预留用户组编号)/组中用户名列表

组中用户名列表如果为空,不一定没有用户,可能是只有一个和组名相同的用户名

/etc/gshadow存储当前系统中的用户组密码信息,分别为:组名称/组密码/组管理者/组中用户名列表

组密码为!时代表组密码为空,即没有密码

/etc/passwd存储当前系统中的所有用户信息,分别为:用户名/密码占位符/用户编号/用户组编号/用户注释信息/用户主(家)目录/shell类型

/etc/shadow存储当前系统中的用户密码信息,分别为:用户名/密码(单向加密密码)/等等

系统运行级别:

0关机

1单用户

2不完全多用户,不含NFS服务

3完全多用户,通常使用的级别

4未分配

5图形界面,如果未装图形界面则使用init5命令会报错

6重启

使用init命令来运行相应的系统级别

使用runlevel查询系统当前级别,35表示之前为3,现在为5,N表示没有级别

个人建议不要直接点击叉叉按钮关闭窗口,要使用logout命令(或者在命令行使用ctrl键+d)退出再关闭,否则会占用Linux用户数,Linux用户数一般允许256个左右

shell介绍:

shell是linux中的命令行解释器,把命令解析成电脑能懂的二进制语言,把结果解析成用户能懂的特定语言,通过shell向linux内核发送请求与用户交互等等

用户登录到Linux系统后,系统将启动一个用户shell。在这个shell中,可以使用shell命令或声明变量,也可以创建并运行shell脚本程序。

运行shell脚本程序时,系统将创建一个子shell。此时,系统中将有两个shell,一个是登录时系统启动的shell,另一个是系统为运行脚本程序创建的shell。

当一个脚本程序运行完毕,它的脚本shell将终止,可以返回到执行该脚本之前的shell。

从这种意义上来说,用户可以有许多shell,每个shell都是由某个shell(称为父shell)派生的。

shell主要有两种语法类型:Bourne和C,两种语法彼此不兼容;Bourne主要包括:sh、ksh、Bash、psh、zsh;C主要包括:csh、tcsh;常用的标准shell为Bash

shell脚本简单介绍:

shell中#表示注释,$表示调用,bash为Linux标准shell

#!/bin/bash#shell脚本的固定开头,如果不嵌入其他脚本语言可以省略,也能正常执行(建议所有shell脚本都必须写)

echo"helloshell!"#echo是shell脚本的打印(输出)语句,该句表示输出helloshell!

echo-e"\e[1;34mbash!\e[0m"#-e表示加入特殊选项,\e[1;表示颜色选择开始,\e[0m表示结束颜色选择,34m表示红色,linux支持30m-37m共八种颜色

如需系统学习shell脚本知识请参考专业书籍和资料,本文只做入门介绍。

本文说明:

本文主要介绍Linux基本知识,帮助Linux新人快速了解和入门Linux系统,如需进行更专业的学习或Linux系统专业人员请参考Linux相关的专业书籍和资料。Linux常用命令学习和查阅请参考:Linux常用命令参考与指南http://jsonliangyoujun.iteye.com/blog/2344117

原文永久地址:http://jsonliangyoujun.iteye.com/blog/2343963

相关推荐