linux基础知识总结

            接触Linux大概一个星期左右,自己对Linux也只是初识,只装了Ubuntu,其他的还没有试过,只是看了点书和视频,因此总结让知识稍微有些秩序。

1.用户与用户组

        Linux是多用户多任务的操作系统,这意味着多人可以同时使用一台主机。因为每个用户的个人喜好与隐私问题,文件的所有者就显得尤为重要。将用户分为不同的组别当然是为了方便管理。因此用户与文件之间的关系就有三种:(1)User:表示该用户是文件的所有者。(2)Group:表示该用户和文件的所有者在同一用户组。(3)Others:除了以上两种的其他用户。此外,Linux中还有一个特殊root账户,相当于Windows中的管理员账户,对所有文件具有所有权。

    由于只是自己一个人在自己的机器上使用,对这一部分就没有深入了解。因为linux是针对多用户的,所以权限尤为重要,重点说下文件权限。

2.文件权限

2.1 Linux文件属性

         在终端下执行"ls -l"查看当前目录的文件,l参数用于显示文件的属性,以下是一个例子及对应的属性说明:

—————————————————————————————————————————————

  -rw-rw-r--          1             jerry         jerry             100       6 月 28 11:40   hello.c

【用户权限】【连接数】【所有者】【用户组】【文件大小】【修改日期】【文件名】

—————————————————————————————————————————————

注:文件大小的单位是B

        开头的那一串"-rw-rw-r--"共有10个字符,第一个表示文件的类型,常见的有:[-]代表文件,[d]代表目录,[l]代表链接文件, [b]代表设备等。后面的九个分为三组,分别代表User,Group,Other这三类用的权限,[r]代表读权限,[w]代表写权限,[x]代表执行权限,[-]就代表没有权限。因此,上面这个例子代表文件的所有者jerry及同组的用户对该文件可读,可写。其他用户则只能读。所有的用户都没有执行权限。

2.2 文件权限的意义

        如上所述,用户对于文件有r(read),w(write),x(execute)这三种权限。在Linux中“一切皆文件”,因而有时候这是令人迷惑的,尤其是对目录来说。以下对目录的这三个权限再做具体的说明:

        r:表示用户可以查看该目录下的内容,即可以使用“ls”命令

        w:表示用户可以修改该目录下的内容,包括增加,删除,重命名等

        x:表示用户可以进入该目录,即可以使用“cd”命令

        而对于我们通常所说的的“文件”来说,“r”和“w”容易明白,而“x”则令人费解,难道文本文件也可以执行吗?在这一点上,Linux和Windows有很大的区别。在Windows下,可执行文件通常都是以“.exe”结尾的。而在Linux下,文件是否可执行与后缀名没有关系,而仅与是否具有x权限有关。不过无论是Linux还是Windows,可执行的只能是二进制文件。因此,虽然在Linux下文本文件加上x权限也可以执行,不过系统只认识二进制的机器语言,因此只可能报错而不会有任何效果。

        为了验证这一点可以做一个简单的实验,用gcc编译一个C语言文件,默认会得到一个“a.out”文件,将其重命名为“a.txt”,然后执行“./a.txt”,将会发现程序依然能够执行。

2.3 文件权限的更改

        Linux下要更改文件的权限,可以用以下三个命令:

        改变所有者:chown      user      filename

        改变用户组:chgrp       group   filename

        改变权限:chmod,有以下两种用法:

       (1)数字法:

        三个权限对应的数字为r:4,w:2,x:1,三类用户的权限分别就是这三个数字的和,比如说上面的那个例子“ -rw-rw-r-- ”化为数字即是:664,要给三个用户都加上执行权限的话,就用“chmod 775 hello.c”

        (2)符号法:

        chmod        u/g/o/a       +/-/=          r/w/x        filename            

        以上“u”表示user,“g”表示group,“o”表示others,“a”表示all

        “+”表示增加权限,“-”表示去除权限,“=”表示设置权限为

        “rwx”当然就是文件的三个权限,可以只写一个,也可以写多个

        依旧是上面的那个例子,给hello.c所有用户加上执行权限,那么命令就是“chmod a+x hello.c”

        ps:以上命令可以加上“-R”参数来进行递归变更

2.4 文件的默认权限:umask

        以上已经说明了关于文件权限的基本知识,那么当我们新建一个文件的时候,权限是怎样的呢?这就涉及到文件的默认权限:umask。在终端下输入umask,会得到一串数字,像在我的机器上是“0002”,后三个数字即是文件的默认权限,不过要注意的是,这是文件默认不具有的权限。亦即“002”代表others不具有w权限。还需要注意的是对于文件和目录这里仍是不同的。文件默认不具有x权限,即最大权限为“-rw-rw-rw-”,而目录访问需要x权限,因此默认最大权限为“-rwxrwxrwx”。所以在我的机器上umask为“002”,分别创建一个文件和一个目录后,结果如下:

        drwxrwxr-x.            2         jerry     jerry          4096          8月 31 11:30               new

        -rw-rw-r--.               1         jerry     jerry             6             8月 31 11:29              new.txt

        若要设置umask,直接在后面加上设置的数字即可,比如“umask 022” 

        ps:umask加上“-S(大写)”参数可以直接显示文件权限,不过不区分文件与目录,如我的机子上就显示“u=rwx,g=rwx,o=rx”,仍需留意文件默认没有x权限。

时间: 2024-08-31 07:18:28

linux基础知识总结的相关文章

《树莓派渗透测试实战》——第1章 树莓派和Kali Linux基础知识

第1章 树莓派和Kali Linux基础知识 树莓派渗透测试实战Kali Linux的用户包括全球各地的安全专家.黑客们和研究者,是最受欢迎的渗透测试平台之一,主要用于安全和漏洞评估.攻击研究和风险测试.Kali Linux包含众多流行的开源工具,适用于渗透测试的方方面面.Kali Linux的前身是BackTrack 5 R3,然后逐渐进化到一套完整的Linux桌面系统. 树莓派电脑以超低价著称,它使用HDMI(高清晰度多媒体接口,High Definition Multimedia Inte

Linux基础知识99问(三)_unix linux

    三. 走进Linux殿堂:35问 20.安装Linux,对硬件有什么要求? Linux对硬件要求很低,可以运行在386以上CPU,8M以上内存的IBM PC机上.但由于设备厂商的支持力度不够,所以Linux倒是对很多新设备的支持不是很好,新设备的驱动程序总是慢一步. 21.安装Linux需要做哪些准备? 1) 收集系统资料:记录下内存大小,CDROM接口类型,SCSI卡型号,网卡型号,鼠标类型,显卡芯片组.时钟芯片.显存大小等相关信息: 2) 检查CMOS设置,关闭病毒开发,设置其从光驱

Linux基础知识99问(二)_unix linux

    二. Linux大观:7问 13.RedHat Linux 6.5和Linux 2.4哪个版本高? 最近许多报刊.网站都介绍了Linux的最新版 2.4怎样,怎样?而许多Linux初学者正在使用的是RedHat Linux 6.5版.哪个版本更高? 其实,这两个版本号是不同的!RedHat Linux是将Linux内核与Linux的一些常用配套软件.应用软件捆绑在一起的发行版,6.5是这个发行版的版本号.而Linux 2.4则是指Linux内核的版本. Linux核心是由linus维护的

Linux基础知识99问(一)_unix linux

1.什么是Linux? Linux是一个诞生于网络.成长于网络且成熟于网络的奇特的操作系统.1991年,芬兰大学生Linus Torvalds萌发了开发一个自由的UNIX操作系统的想法,当年,Linux就诞生了, 为了不让这个羽翼未丰的操作系统夭折,Linus将自已的作品Linux通过Internet发布.从此一大批知名的.不知名的电脑黑客.编程人员加入到开发过程中来,Linux逐渐成长起来. Linux一开始是要求所有的源码必须公开,并且任何人均不得从Linux交易中获利.然而这种纯粹的自由软

Linux基础知识99问(四)_unix linux

    四. Linux下的"神兵利器":15问 55.KDE是什么,有什么特点? KDE项目在1996年10月发起的,其目的是在X-Window上建立一个完整易用的桌面环境.KDE现在除了拥有KFM(类似于IE4.0).KPresenter(类似PowerPoint).KIllustrator(类似CorelDraw或 Illustrator)等重量级软件,还有体贴用户的GUI配置软件可以帮助用户配置Unix/Linux,使其深受使用者欢迎. 但由于KDE是基于由TrollTech公

Linux 基础知识(一) shell的&&和|| 简单使用

shell 在执行某个命令的时候,会返回一个返回值,该返回值保存在 shell 变量 $? 中.当 $? == 0 时,表示执行成功:当 $? == 1 时,表示执行失败.  有时候,下一条命令依赖前一条命令是否执行成功.如:在成功地执行一条命令之后再执行另一条命令,或者在一条命令执行失败后再执行另一条命令等.shell 提供了 && 和 || 来实现命令执行控制的功能,shell 将根据 && 或 || 前面命令的返回值来控制其后面命令的执行.       &&a

Linux基础知识之————shell学习总结之变量引用

http://blog.csdn.net/wirelessqa/article/details/19285173   http://www.cnblogs.com/barrychiao/archive/2012/10/22/2733210.html

Linux基础之正则表达式,用户、组管理命令介绍_Linux

通配符(Globbing) 通配符与元字符类似,通配符主要用于文件名的匹配,而元字符则主要用在字符串的匹配上: 下面介绍几种常用的通配符: * 表示匹配任意位数的任意字符 ? 表示匹配一位任意字符 ^ 表示取反,不包含的意思 [] 表示此区间内的任意一个字符 {} 表示一种集合 \ 转义字符,使具有特殊意义的字符失去原有意义 | 表示'或',匹配一组可选的字符 元字符 元字符是用来描述字符的特殊字符. 常用的元字符及意义如下: * 重复前面的字符0次或者多次 . 匹配任意字符一次 \+ 匹配前面

《UNIX/Linux 系统管理技术手册(第四版)》——第2章 脚本和shell 2.1 shell的基础知识

第2章 脚本和shell 好的系统管理员都要写脚本.脚本以标准和自动的方式履行系统管理员的繁杂事务,藉此把管理员的时间节省出来,以花在更重要和更有意思的任务上.从某种意义上讲,脚本也是一种低质量的文档,因为它们充当了一种权威提纲,提纲里列出完成特殊任务所需的步骤. 从复杂性来看,系统管理脚本的范围很广,小到一个脚本,简单得只封装几条静态命令,大到一个重要的软件项目,为整个站点管理主机配置和管理性数据.在本书里,我们所感兴趣的主要是系统管理员通常会碰到的较小的日常脚本项目.因此,对于较大项目才需要