好的那就开始学习Linux吧
用惯了Windows,刚开始学Linux真是一脸懵逼,然而我Windows也并没有很会用。
先放张祖师爷照片,毕竟第一篇博客。
首先呢,Linux是个多用户的操作系统,那就意味着每个用户登录系统后,都有自己专用的运行环境。那到底每个用户的运行环境是什么样的呢?就需要由环境变量来界定啦。
用户可以对自己的环境变量进行修改以达到对环境的要求。
Linux环境变量查看及修改的命令:
1.echo 显示某个环境变量值 echo $PATH
2.export 设置一个新的环境变量 export HELLO="hello" (可以无引号)
3.env 显示所有环境变量
4.set 显示本地定义的shell变量
5.unset 清除环境变量 unset HELLO
6.readonly 设置只读环境变量 readonly HELLO
环境变量和Shell紧密相关,它可以通过Shell命令来设置。 环境变量又可以被所有当前用户所运行的程序所使用。对于bash来说,可以通过变量名来访问相应的环境变量。
Linux中常见的环境变量:
1.PATH:指定命令的搜索路径
2.HOME:指定用户的主工作目录(即用户登陆到Linux系统中时, 默认的目录)
3.HISTSIZE:指保存历史命令记录的条数。
4.LOGNAME:指当前用户的登录名。
5.HOSTNAME:指主机的名称。
6.SHELL:指当前用户用的是哪种Shell。
7.LANG/LANGUGE:和语言相关的环境变量。
8.MAIL:指当前用户的邮件存放目录。
9.PS1:命令基本提示符,对于root用户是#,对于普通用户是$。
10.PS2:附属提示符,默认是“>”。
然后呢,在我的既定思维里,文件就是文件,设备就是设备,接口就是接口,该是什么就是什么,然而在Linux中,一切皆文件。
这样的设计化繁为简 ,使用户可以使用一个统一通用的访问资源的方式,着实厉害。
既然一切皆文件,那文件也得分类呀。Windows中的文件有扩展名,Linux也有,然而只是方便用户区分文件类型,你可以把它当作文件名的一部分,并没什么用。
所以Linux的文件到底是怎么分类的呢???
Linux文件类型:
1.普通文件(regular file)第一个字符为[ - ] 包括:
①纯文本档(ASCII):这是Linux系统中最多的一种文件类 型,称为纯文本档。内容是用户可以直接读到的数据, 例如数字、字母等等。
②二进制文件(binary): 你的Linux中的 可执行文件(scripts, 文字型批处理文件不算)就是这种格式的。
③数据格式文件(data):有些程序在运作的过程当中会读取某些特定格式的档案,那些特定格式的档案可以被称为数据文件 (data file)。一般用cat看到的都是乱码。
2.目录(directory): 第一个字符为[ d ]
3.连接文件(link:第一个字符为[ l ]
4.设备和设备文件 :
①块设备文件,即一些存储文件,如硬盘、软盘等,第一个字符为 [ b ]
②字符设备文件,即一些串行端口的接口文件,如键盘、鼠标等, 第一个字符为[ c ]
5.套接字(sockets)第一个字符为[ s ] 还被称为数据接口文件,这种类型的文件通常被用在网络上的数据连接。
6.管道(FIFO,pipe)第一个字符为[ p ] FIFO也是一种特殊的文件类型,其主要目的是解决多个程序同时访问一个文件所造成的错误问题,first-in-first-out。
既然一切皆文件,那么理论上来说一切都可以被访问,那就会有访问者。
Linux中的文件访问者有三类:
1.文件和文件目录的所有者:u--User
2.文件和文件目录的所有者所在的组的用户:g--Group
3.其他用户:o--Others
通常,用户都组合成用户组,一个用户能够授予所在用户组的其他成员的文件访问权限。
如果用户也将自己的文件向系统内的所有用户开放,在这种情况下,系统内的所有用户都能够访问用户的目录或文件。在这种意义上,系统内的其他所有用户就是other用户类。
有多种文件访问者,当然就会有不同的文件访问权限。
文件访问权限的种类
1.基本权限:
①读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
②写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
③执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限。
④" - "表示不具有该项权限。
2.特殊权限
①suid (s/4)只能应用在可执行文件上,允许任意用户在执行文件时以文件拥有者的身份执行
②sgid(s/2)只能应用在可执行文件上,使任意用户在执行可执行文件时,将以拥有组成员的身份执行
③粘着位(t/1)只能应用在目录文件上,将使用户在目录中执行删除时,只能删除自己拥有的对象
戛然而止哈哈哈哈哈哈,下回继续。