和Linux大魔王愉快的玩耍(一)环境变量和文件类型

好的那就开始学习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)只能应用在目录文件上,将使用户在目录中执行删除时,只能删除自己拥有的对象

戛然而止哈哈哈哈哈哈,下回继续。

时间: 2024-10-14 11:14:17

和Linux大魔王愉快的玩耍(一)环境变量和文件类型的相关文章

Linux 常见环境变量、文件类型、权限管理

冯诺依曼体系 1输入设备->2存储器(内存)->3运算器->4控制器->5输出设备 Linux常见环境变量: (不同用户 相同环境变量名 但内容不同) 1. PATH 命令搜索路径 export PATH=$PATH:/2016_程序的路径 2. HOME用户主目录 3. HISTSIZE 历史命令 4. LOGNAME 当前用户的登录名 5. HOSTNAME 主机名称 6. SHELL 当前用户用的哪种Shell 7. LANG/LANGUGE 语言相关环境变量 8. MAIL

Linux环境变量设置文件

Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统是加载的环境变量.所以管理环境变量的文件也分为系统级和用户级的. 系统级: /etc/profile 此文件为系统的每个用户设置环境信息,当用户第一次登陆时,该文件被执行.并从 /etc/profile.d 目录的配置文件中搜集shell的设置.所以如果对 /etc/porfile 有修改,必须重启机器修改才会生效,此修改对每个用户都生效. /etc/bashrc

MPC8313ERDB在Linux从NAND FLASH读取UBoot环境变量的代码分析

[email protected] 一.故事起因 因为文件系统的增大,已经大大的超出了8MB的NOR FLASH,而不得不把内核,文件系统和设备树文件保存到NAND FLASH上.但是因为使用的是RAMDISK,而无法保存一些个别的配置和参数,最简单的需要就是设置系统的IP了,,, 要使用统一的RAMDISK,而实现LINUX启动之后,设置成不能的参数功能,比较方便的就是从UBOOT把这些参数传递过去,这个得到了大家的认证,我们可以直接添加启动参数,然后在内核里面读出来,这种方法比较方法,唯一不

linux下查看和添加PATH环境变量

linux下查看和添加PATH环境变量 $PATH:决定了shell将到哪些目录中寻找命令或程序,PATH的值是一系列目录,当您运行一个程序时,Linux在这些目录下进行搜寻编译链接. 编辑你的 PATH 声明,其格式为: PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N> 你可以自己加上指定的路径,中间用冒号隔开.环境变量更改后,在用户下次登陆时生效,如果想立刻生效,则可执行下面的语句:$ sourc

linux中的一些主要的环境变量

$HOME 当前用户的家目录$PATH 以冒号分隔的用来搜索命令的目录列表$PS1 命令提示符,通常为$符,但在blash中,你可以使用一些更复杂的值$PS2 二级提示符,用来提示后续的输入,通常为->字符$IFS 输入域分隔符.当shell读取输入时,他给出哟该来分隔单词的一组字符,通常是空格.制表符和换行符$0 shell脚本的名字$1 脚本的第一个参数,$2 脚本的第二个参数,以此类推$* 脚本的参数列表,各参数之间用环境变量IFS中的第一个字符分隔开[email protected] 是

linux学习笔记入门之环境变量和文件查找

环境变量与文件查找 一.环境变量 1.变量 要解释环境变量,得先明白变量是什么,准确的说应该是 Shell 变量,所谓变量就是计算机中用于记录一个值(不一定是数值,也可以是字符或字符串)的符号,而这些符号将用于不同的运算处理中.通常变量与值是一对一的关系,可以通过表达式读取它的值赋值给其它变量,也可以直接指定数值赋值给任意变量.为了便于运算和处理,大部分的编程语言会区分变量的类型,用于分别记录数值.字符或者字符串等等数据类型.Shell 中的变量也基本如此,有不同类型(但不用专门指定类型名),可

windows+linux下jdk安装及java环境变量配置

对于初学java的用户来说,可能第一件要做的事情就是安装jdk及配置环境,以下内容主要讲述windows及linux下jdk的安装以及环境变量的配置. 1.首先下载相应平台可用版本jdk安装文件,可以在oracle官网上下载windows.mac或者linux版本: 也可以到我的百度网盘下载:windows版本(jdk-8u20-windows-x64.exe).Linux版本(jdk-8u20-linux-x64.tar.gz) 2.下载之后,直接安装到电脑相应目录,windows直接双击按照

(转)Linux 中/etc/profile、~/.bash_profile 环境变量配置及执行过程

环境变量是和Shell紧密相关的,用户登录系统后就启动了一个Shell.对于Linux来说一般是bash,但也可以重新设定或切换到其它的 Shell.对于UNIX,可能是CShelll.环境变量是通过Shell命令来设置的,设置好的环境变量又可以被所有当前用户所运行的程序所使用.对于bash这个Shell程序来说,可以通过变量名来访问相应的环境变量,通过export来设置环境变量.下面通过几个实例来说明.1)etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被

1.5环境变量与文件查找(学习过程)

环境变量与文件查找 实验介绍 本节实验介绍环境变量的作用与用法,及几种搜索文件的方法.学会这些技巧高效地使用 Linux. 一.环境变量 1.变量 要解释环境变量,得先明白变量是什么,准确的说应该是 Shell 变量,所谓变量就是计算机中用于记录一个值(不一定是数值,也可以是字符或字符串)的符号,而这些符号将用于不同的运算处理中.通常变量与值是一对一的关系,可以通过表达式读取它的值赋值给其它变量,也可以直接指定数值赋值给任意变量.为了便于运算和处理,大部分的编程语言会区分变量的类型,用于分别记录