本系列文章由@

uid=hpw" style="padding:0px; margin:0px; color:rgb(255,0,0); text-decoration:none">超人爱因斯坦出品,转载请注明出处。

        文章链接:

         http://hpw123.net/a/Linux/Linuxjichu/2014/1021/70.html

作者:超人爱因斯坦    个人站点:http://www.hpw123.net

邮箱: 424346976@qq.com

CSDN:http://blog.csdn.net/u010283694

这篇文章主要是介绍Linux,让大家认识Linux是什么,着重解说其文件夹树及文件权限;

嘿嘿。開始之前呢,再说些废话,不要嫌烦哦,大家或许都还没实用过Linux系统吧,那么刚装好一个系统后。是不是也得像windows装好后还得装驱动啥的。好吧,假设是第一次玩ubuntu14.04。建议大家先看看这两篇文章。Ubuntu
14.04 LTS使用全攻略之中的一个:系统安装和基本配置
 Ubuntu
14.04 LTS使用全攻略之二:经常使用软件安装和系统具体设置
 相信大家会有非常大收获的。特然认为Linux so easy,后期会写一些关于Linux各种编程环境搭建的博客,比方C++编程用什么IDE。安卓开发环境怎么搭建,Eclipse怎么安装,OpenCV怎么配置等等



好了,让我们进入主题吧:



一.Linux是什么



   1.百科

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

 (2)Linux常见版本号:Debian,Mandrake,Ubuntu,Red Hat Linux,SuSE,Linux Mint,Gentoo,Fedora Core,centos

   2.基本思想

Linux的基本思想有两点:第一,一切都是文件;第二,每一个软件都有确定的用途。

当中第一条具体来讲就是系统中的全部都归结为一个文件,包含命令硬件软件设备、操作系统进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,非常大程度上也是由于这两者的基本思想十分相近。

    3.特性

    (1)全然免费

    (2)全然兼容POSIX1.0标准

哈哈,一头雾水了吧,这什么东东啊,点击百度百科:POSIX

其使得能够在Linux下通过对应的模拟器执行常见的DOSWindows的程序。这为用户从Windows转到Linux奠定了基础。很多用户在考虑使用
         Linux时,就想到曾经在Windows下常见的程序能否正常执行,这一点就消除了他们的疑虑,爽吧。

    (3)多用户。多任务

Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。

多任务则是如今电脑最基本的一个特点,
         Linux能够使多个程序同一时候并独立地执行

    (4)良好的界面

(1) 现今主流的桌面环境有KDEgnomeXfceLXDE等,除此之外还有AmbientEDE,IRIX
Interactive Desktop,MezzoSugarCDE 
     等。

(2) Linux同一时候具有字符界面和图形界面。在字符界面用户能够通过键盘输入对应的指令来进行操作。它同一时候也提供了类似Windows图形界面
        的X-Window系统。用户能够使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,能够说是一个Linux版的Windows。

    (5)支持多种平台

Linux能够执行在多种硬件平台上,如具有x86、680x0、SPARCAlpha处理器的平台。此外Linux还是一种嵌入式操作系统,能够执行在
        上电脑
机顶盒游戏机上。2001年1月份公布的Linux
2.4版内核已经可以全然支持Intel 64位芯片架构。同一时候Linux也支持多处理器技术。多个处  
      理器同一时候工作。使系统性能大大提高。

二.用户。用户组



(1)文件全部者

           Linux有这么多用户。还分什么用户组,有什么用呢?

嘿嘿,因为Linux是个多用户,多任务的系统,因此可能经常会有多人同一时候使用这台主机来进行工作的情况发生,为了考虑每一个人的隐私权以      及每一个人喜好的工作环境,因此。这个”文件全部者"的角色就显得相当重要了呢。

比如你将你的Email情书转存成文件后,放在你自己的主目录
       中,你总不希望被别人看见自己的情书吧?这个时候你就把改文件设置成仅仅有文件全部者才干查看与改动这个文件的内容,那么即使其它人知道有      这个相当“有趣“的东东,只是因为你设置了适当的权限,呵呵。你懂得。

(2)用户组概念

           那么用户组呢?为何要配置文件还有所属的用户组呢?

额,事实上用户组最实用功能之中的一个就是当你在团队开发资源的时候。举例技术哪家强?如果主机上有两个竞争关系团体project1、project2,
        两个团体组员分别为class1、class2,另一人是老师teacher,当然老师能够看两个团体的资料内容,两个竞争团队肯定是相互保密的啊,怎么         办呢?这时用户组权限就实用了啊,组内能够相互查看。组外不可查看,每一个用户都能够被多个用户组支持。即老师同一时候是两个组的成员,一切都
      被攻克了吧

      用户的概念:自己可见,其它人不可见,当然神(root)除外

      用户组的概念:组内成员可见,其它人不可见,增加一个用户组,开启用户组读、写、运行等权限。组内成员就读、写、运行了

(3)其它人的概念

这个就不用多说了吧。除了自己,用户组成员。另一个天神(root)

(4)用户身份与用户组记录的文件

普通情况下一般用户和神(root)的相关信息都记录在/etc/passwd这个文件里。个人password记录在/etc/shadow这个文件里。用户组信息记         录在/etc/group内,千万别删这三个文件啊。会要命的。

三.Linux文件权限

(1)Linux文件属性

上图啦(图来自网络。在windows下写的,就没打开我的ubuntu)

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDI4MzY5NA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

找一个文件夹打开终端输入ls -al ubuntu直接ll就好,会出现类似上面画面

d rwx r-x r-x
2 root root 4096 2011-12-03 bin
文件权限 连接数 文件全部者 文件所属用户组 文件大小 文件最后改动的时间 文件名称
文件类型 文件全部者权限 文件所属用户组权限 其它人权限

权限rwx-分别为读,写,运行,无权限







   文件类型:

       [d] 文件夹

       [-] 文件

       [l] 连接文件

       [b] 设备文件中面的可供存储的接口设备

       [c] 设备文件中面的串行port设备。如键盘,鼠标(一次性读取设备)

第二列表示有多少文件名称连接到此节点(i-node)

每一个文件都会将它的权限与属性记录到文件系统的i-node中,只是我们使用的文件夹树却是势使用文件名称来记录。因此每一个文件名都会连接到一个i-node,这个属性记录的就是有多少不同过的文件链接到同样的一个i-node(这个以后说)。

(2)文件夹与文件的权限意义(注意不太一样的呢)

 
      (1)权限对文件的意义

文件是实际含有数据的地方,包含一般文本文件,数据库内容文件,二进制可运行文件等

                r(read):可读取此文件的实际内容。如读取文本文件的文字内容等。

                w(write):能够编辑。新增或者是改动文件的内容(但不含删除该文件)

                x(execute):该文件具有能够被系统运行的权限

                注:在Windows以下一个文件是否具有运行的能力是通过“扩展名”来推断的,比如exe,bat,com等。可是在Linux下,我们的文件能否被运行则是由是否具有“x”这个权限来决定的哦,而跟文件名称没有绝对的关系。

 
      (2)权限对文件夹的意义

               文件是存放实际数据的所在,文件夹基本的内容是记录文件列表。文件名称与文件夹由强烈的关联

                r(read contents in directory):便是具有读取文件夹结构列表的权限,你能够查询该文件夹下的文件名称数据,即ls能够将文件夹的内容列表列出来哦

                w(modify contents of directory):具有更改文件夹结构列表的权限

              (1)文件夹下能够新建新的文件或文件夹(子文件夹)

              (2)删除已经存在的文件与文件夹(不论该文件的权限怎样)

              (3)将已存在的文件或文件夹进行重命名

              (4)转移该文件夹内的文件,文件夹位置

               x(access directory):代表的是用户是否能进入该文件夹成为工作文件夹的用途,那么工作文件夹是什么东东啊,事实上它就是你眼下所在的文件夹,变换文件夹的命令是cd(change directory)

(3)Linux文件种类与扩展名

          前面也强调过,Linux中一切皆文件。不论什么设备在Linux下都是文件,不仅如此,连数据通信的接口也是专门的文件负责呢,所以。你会了解到,Linux的文件种类真的非常多呢。那么问题就来了,除了前面提到的一般文件(-)文件夹文件(d)之外,还有那些种类的文件呢?

  • 文件种类
        普通文件(regular
file)
           1.纯文本文件(ASCLL)
           2.二进制文件(binary)
           3.数据格式文件(data)
        文件夹(directory)
        连接文件(link)事实上就是Windows系统下的快捷方式吧
        设备与设备文件(device)
            1.块设备文件(block)就是一些存储数据,以提供系统随机訪问的接口设备,如硬盘
            2.字符设备文件(character) 就是一些串行port的接口设备,如键盘鼠标等
            3.套接字(sockets)数据接口文件,通常被用在网路上的数据连接,如WIFI数据通信
            4.管道(FIFI,pipe)主要目的在解决多个程序同一时候訪问一个文件所造成的错误问题
  • Linux文件扩展名
            哈哈。这么多种类,那么问题就来了?怎么辨别。扩展名是啥了啊,通常通过ll命令查看文件属性,文件权限的第一个字母标识的就是文件种类
            事实上Linux文件是没有扩展名的,尽管如此,我们仍然希望能够有扩展名来了解该文件是什么东东呢
            *.sh 脚本文件或批处理文件(scripts)
            *Z, *.tar, *.tar.gz, *.zip, *.tgz
经过打包的压缩文件
            *.html, *.php 网页相关文件
            基本上Linux系统上的文件名称真的是让你了解文件可能的用途而已,真正的运行与否仍然须要权限的规范才行

四.Linux文件夹



   FHS定义出根文件夹底下应该要有以下这些次目彔的存在才好:

底下是几个在Linux其中也是很关键的文件夹呢:

     另外要注意的是,由于根文件夹与开机有关,开机过程中仅有根文件夹会被挂载, 其它切割槽则是在开机完毕后才会持续的进行挂载的行为。

就是由于如此。因此根文件夹下与开机过程有关的文件夹(例如以下)不能与根文件夹切割:

  • /etc:配置文件
  • /bin:重要运行档
  • /dev:所须要的装置档案
  • /lib:运行档所需的函式库不核心所需的模块
  • /sbin:重要的系统运行文件

/usr的意义与内容:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDI4MzY5NA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

/var的意义与内容:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDI4MzY5NA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

假设我们将整个文件夹树以图标的方法来显示。并将较为重要的档案数据列出来的话,那举文件夹树架构有点像这样呢:





 
--------------------------------超人爱因斯坦于2014年10月21日更新


ok,今天的内容大概就是这些。假设有什么写的不正确的,求大神指正。我们下篇文章见:)


轻松学习之Linux教程二 一览纵山小:Linux操作系统具体解释的更多相关文章

  1. SpringMVC轻松学习-环境搭建(二)

    基于spring2.5的采用XML配置的spring MVC项目 注:本项目全部基于XML配置.同时,集成了hibernate.采用的是:spring MVC+hibernate+spring的开发架 ...

  2. Flask框架的学习与实战(二):实战小项目

    昨天写了一篇flask开发环境搭建,今天继续,进行一个实战小项目-blog系统. blog系统很简单,只有一个页面,然而麻雀虽小五脏俱全.这里目的不是为了做项目而做项目,这篇文章本意是通过这次练习传达 ...

  3. 程序员Linux教程初窥入门-刘志敏-专题视频课程

    程序员Linux教程初窥入门-313人已学习 课程介绍        程序员Linux教程初窥入门主要针对初级入门程序员的课程,也是为后期学习其他课程的一个基础,Git.Maven.Jenkins.R ...

  4. 轻松学习LINUX系列教程推出

    本系列多媒体教程已完成的博文: 1.轻松学习Linux之入门篇 http://chenguang.blog.51cto.com/350944/449214 2.轻松学习Linux之本地安装系统 (分区 ...

  5. 轻松学习Linux之Shell文件和目录属性详解

    轻松学习Linux之Shell文件和目录属性详解 轻松学习Linux之理解Sitcky 轻松学习Linux之理解umask 轻松学习Linux之理解SUID&SGUID 本系列多媒体教程已完成 ...

  6. 轻松学习Linux之用户账户管理及实例

    Linux用户管理基础 (下载清晰视频:http://down.51cto.com/data/158699) 轻松学习Linux之用户账户管理的实例-跨硬盘移动数据 (此处视频不清楚下按下面地址下载清 ...

  7. 轻松学习Linux之Shell的常用过滤器

    下载高清视频: http://down.51cto.com/data/157818    大小3:MB      时长: 7分钟 更多内容见: Linux爱好者的圣诞大餐-轻松学习Linux系列多媒体 ...

  8. 轻松学习Linux之本地安装系统

    1.安装Linux前的准备工作(详细讲解了系统分区,及类型) 2.轻松学习Linux之用光驱安装 3.轻松学习Linux之用光驱安装(之二) 4.硬盘安装Linux系统 本文出自 "李晨光原 ...

  9. Linux进程间通信IPC学习笔记之同步二(SVR4 信号量)

    Linux进程间通信IPC学习笔记之同步二(SVR4 信号量)

随机推荐

  1. BasicAuth和OAuth

    参考资料 百度百科BasicAuth 维基百科OAuth BasicAuth基本授权 BasicAuth又叫HttpAuth,它非常简单.例如你访问一个页面时,会弹出用户名密码框 它的优点是:简单,只 ...

  2. map reduce相关程序

    Test_1.java /** * Hadoop网络课程模板程序 * 编写者:James */ import java.io.IOException; import java.text.DateFor ...

  3. VSCode调试Html中的脚本 vscode前端常用插件推荐,搭建JQuery、Vue等开发环境 vsCode 添加浏览器调试和js调试的方法总结 VS Code - Debugger for Chrome调试js

    一.背景 使用Visual Studio Code写了一个简单的Html页面,想调试下其中script标签里的javascript代码,网上查了一通,基本都是复制粘贴或者大同小异的文章,就是要安装De ...

  4. Web - TCP与UDP的差别

    是否面向连接:TCP面向连接.UDP面向非连接. 传输可靠性:TCP可靠.UDP不可靠. 应用场合:TCP经常使用于传输大量数据,UDP经常使用于传输少量数据. 速度:TCP传输速度较慢,而UDP速度 ...

  5. MySQL Cluster 具体配置文件(config.ini)

    ########################################################################### ## MySQL CLuster 配置文件 ## ...

  6. 修改oracle数据库的编码为utf-8

    1.查看数据库字符集 ? 数据库服务器字符集select * from nls_database_parameters,其来源于props$,是表示数据库的字符集. 客户端字符集环境select * ...

  7. Maven install 报错: Failed to execute goalorg.apache.maven.plugins:maven-gpg-plugin:1.4:sign (sign-art

    执行 Maven install 时报错: Failed to execute goalorg.apache.maven.plugins:maven-gpg-plugin:1.4:sign (sign ...

  8. python3 functools partial 用于函数的包装器详解

    一.partial 的作用: partial 用于对一个已有函数进行包装,达到功能的定制的目的. 二.例子: 假设我们要完成两个功能,第一个功能是完成两个数相加,第二个功能是给一个自增一下 1.传统方 ...

  9. 解决maven构建webapp index.jsp报错问题

    今天早上想用maven 构建一个webapp 然后index.jsp华华丽丽的报错了  当时我的心情是一万头草泥马奔过啊,为啥你给我创建的webapp 还会报错啊!!!!!! 然后百度了一下,各种说少 ...

  10. xpages的combobox提前输入值

            之前的文档已经提到怎么在combobx手动输入.哪我们如何能够在combobox默认获取值呢?下面有几个种方法请大家參考 1)获取当前数据库某视图的某列值 @DbColumn(&quo ...