码迷,mamicode.com
首页 > 系统相关 > 详细

Linux基础(一)

时间:2016-05-12 00:04:18      阅读:350      评论:0      收藏:0      [点我收藏+]

标签:基础知识   linux文件权限管理   

第一部分:计算机

1,计算机硬件的五大单元:

(1)输入单元:包括键盘,鼠标,扫描仪,手写板等。

(2)中央处理器(CPU):含有算术逻辑,控制,记忆等单元。

(3)输出单元:显示器,打印机。

2,计算机的处理过程:

技术分享

    接收用户输入的指令与数据,经过中央处理器的数据与逻辑单元运算处理后,以产生或存储成有用的信息。

第二部分:环境变量的概念和功能

1,环境变量的概念:

    Linux是多用户的操作系统。多用户意味着每个用户登录之后都有专门的运行环境,而这个环境是由一组变量定义的,所以称为环境变量。用户可以对自己的环境变量进行修改以达到对环境的要求。

2,环境变量的功能:

    环境变量可以帮我们达到很多功能,包括主文件夹的变换,提示符显示,执行文件查找的路径等。环境变量是和Shell紧密相关的,它可以通过Shell命令来设置。环境变量又可以被所有当前用户运行的程序所使用。对于bash来说,可以通过变量名来访问相应的环境变量。

3,常见的环境变量:

    在shell环境中,有多少环境变量呢?我们可以通过env和export这两个命令来查询。

例如,用env来查询所有的环境变量:

技术分享

HOME:代表用户的主文件夹。用cd~或者cd命令就可以回到用户的主文件夹了。

SHELL:告知我们目前这个环境使用的shell是哪个程序。Liunx默认使用的是/bin/bash。

HISTSIZE:与历史命令有关,也就是说我们曾经执行过的命令会被系统记录下来,而记录的条数就是用这个变量来设置的。

MAIL:指当前用户的邮件存放目录,当我们使用mail这个命令在收信时系统会去读取的邮件信箱文件。

PATH:指定命令的搜索路径,也就是执行文件查找的路径,目录与目录之间用冒号分隔,由于文件的查找是依序由PATH的变量内的目录来查询的,所以目录的顺序也很重要。

LANG:和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。

HOSTNAME:指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的。

PS1:命令基本提示符,对于root用户是#,对于普通用户是$。

PS2:附属提示符,默认是“>”。

技术分享

RANDOM:“随机数”变量,目前大多数的distributions都会有随机数生成器,那就是/dev/random这个文件。我们可以通过这个随机数文件相关的变量($RANDOM)来随机取得随机数。在BASH环境下,RANDOM变量的内容介于0—32767之间。所以只要echo $RANDOM时,系统就会主动随机取出一个介于0—32767的数值。万一想要使用0—9之间的数值,利用declare声明数值类型就可以像下面一样:

技术分享

Linux环境变量名,Linux 共享库环境变量,该环境变量主要用于指定查找共享库(动态链接库)时除了默认路径之外的其他路径。(该路径在默认路径之前查找)

移植程序时的经常碰到需要使用一些特定的动态库,而这些编译好的动态库放在我们自己建立的目录里,这时可以将这些目录设置到LD_LIBRARY_PATH中。

4,修改和查看环境变量的命令:

echo:显示某个环境变量值 echo $PATH

export:自定义变量转成环境变量。设置一个新的环境变量export HELLO="hello" (可以无引号)

env:显示所有环境变量

set:显示本地定义的shell变量(所有变量,包括环境变量和自定义变量)

unset:清除环境变量 unset HELLO

readonly:设置只读环境变量 readonly HELLO

5,其他变量:

$:它本身也是个变量,代表目前这个shell的线程代号。就是PID(Process ID)。用echo $$命令,出现的数字就是你的PID号码。

技术分享

?:关于上个执行命令的回传码,在bash里,这个命令很重要,这个变量是上一个执行命令所回传的值。当我们执行某个命令时,这些命令都会回传一个执行后的代码。一般来说,如果执行成功,会回传一个0,执行过程发生错误时会回传“错误代码”。一般用非0值代替。

技术分享

第三部分:Linux文件类型

1,普通文件(regular file)第一个字符为[ - ]

    ①纯文本档(ASCII):这是Linux系统中最多的一种文件类型,称为纯文本档。是因为内容为我们人类可以直接读到的数据,例如数字、字母等等。

    ②二进制文件(binary):你的Linux中的可执行文件(scripts, 文字型批处理文件不算)就是这种格式的。

    ③数据格式文件(data):有些程序在运作的过程当中会读取某些特定格式的档案,那些特定格式的档案可以被称为数据文件 (datafile)。一般用cat看到的都是乱码。

2,目录(directory):第一个字符为[ d ]

3,连接文件(link)第一个字符为[ l ]

4,设备和设备文件:

    ①块设备文件,即一些存储文件,如硬盘、软盘等,第一个字符为[ b ]

    ②字符设备文件,即一些串行端口的接口文件,如键盘、鼠标等,第一个字符为[ c ]

5,套接字(sockets)第一个字符为[ s ]

    还被称为数据接口文件,这种类型的文件通常被用在网络上的数据连接。我们可以启动一个程序来监听客户端的请求,而客户端就可以通过数据接口文件来进行数据通信。

6,管道(FIFO,pipe)第一个字符为[ p ]

    FIFO也是一种特殊的文件类型,他主要的目的解决多个程序同时访问一个文件所造成的错误问题,first-in-first-out。

主:在Linux里,一切皆文件!

第四部分:Linux文件权限管理:

1,文件访问者的分类:

文件所有者(user):Liunx是一个多用户,多系统的系统,user就是为考虑保护隐私权和每个人喜欢的工作环境而存在的。当你不希望别的用户看见你文件的内容时,就把该文件设置成只有文件所有者才能查看和修改这个文件的内容。

用户组(group):用户组最有用的功能之一就是在团队开发资源的时候,所有用户有共享的资源,又有各自独立的资源。Linux中所有组名都记录在/etc/group中。

其他人(others):只有通过系统中某个用户组或者文件所有者的允许才能进入访问。

2,文件访问权限的种类:

(1)基本权限:

读(r/4):Read对文件来说,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限。

写(w/2):Write对文件来说,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限。

执行(x/1):execute对文件来说,具有执行文件的权限;对目录来说,具有进入目录的权限。

“—”:表示不具有该项权限。

(2)特殊权限:

suid (s/4)只能应用在可执行文件上,允许任意用户在执行文件时以文件拥有者的身份执行。

sgid (s/2)只能应用在可执行文件上,使任意用户在执行可执行文件时,将以拥有组成员的身份执行。

粘着位 (t/1)只能应用在目录文件上,将使用户在目录中执行删除时,只能删除自己拥有的对象。

3,登录Linux系统可以用两种身份:

普通用户(自己):从普通用户切换到root用户用命令su,再输入个人密码就切换成功了。

超级用户(root):root可是万能的天神,他可以到达任何想去的地方,使用一定要小心。root的相关信息都记录在/etc/passwd这个文件夹里。个人密码记录在/etc/shadow文件夹里。

第五部分:Linux扩展名:

    严格来说,在Linux中没有文件扩展名,一个文件能否被执行只与‘x‘有关,当权限中有x时,代表这个文件可以被执行,但不一定能执行成功。

我们利用Linux扩展名来来了解这个文件。

.sh : 脚本或者批处理文件(scripts)

.Z .tar .tar.gz .zip .tgz :经过打包的压缩文件。

.html .php :网页相关文件。


本文出自 “Stand out or Get out” 博客,请务必保留此出处http://jiazhenzhen.blog.51cto.com/10781724/1772374

Linux基础(一)

标签:基础知识   linux文件权限管理   

原文地址:http://jiazhenzhen.blog.51cto.com/10781724/1772374

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!