Linux文件目录及权限

摘要:
ls命令罗列出了终端当前目录下的所有文件及目录。如果我们需要检查Linux系统中这些隐藏文件怎么办?在linux中每个文件有所有者、所在组、其它组的概念。Linux下使用对目录权限的管理,不能一个用户进入到另外一个用户的目录。,如下图所示:注意:不能使用shitailong开修改jiesen的目录权限。

一、Linux下的文件目录

简介:linux的文件系统是采用级层式树状目录结构,在此 结构中的最上层是根目录“/”,然后在此目录下再创建 其他的目录。深刻理解linux文件目录是非常重要的,如下图所示:

Linux文件目录及权限第1张

将来你用哪个用户登录,你就会在那个用户的目录下面。为了大家再进一步加深对Linux的文件目录的理解,下面再附上一张对应目录作用的解释:

Linux文件目录及权限第2张

简单演示:

Linux文件目录及权限第3张

bin:目录下面的文件:

Linux文件目录及权限第4张

在这里大家可以使用上面的命令,进入到其他的目录下面看看,里面的文件。(只是简单的看看哦,不要随意修改。)

总结:常用命令

ls:显示当前目录下面的所有文件。

Linux文件目录及权限第5张

ls 命令罗列出了终端当前目录下的所有文件及目录。当然,所有这些目录中都可能还有子目录和文件。我们想知道这些目录下面还有哪些目录和文件可以使用 -R 参数将它们都显示出来。

:ls -r

Linux文件目录及权限第6张

ls 命令还有许多参数,可以获得更加详细的信息。比如 -1 参数。它可以使目录内的文件和目录每行只显示一个。

Linux文件目录及权限第7张

另外还有一个问题是我们的 Linux 系统中也会有隐藏文件,这点与 Windows 系统很像。除用户自己的文件之外,有一些文件是由系统、或应用程序使用并修改的。在默认情况下将它们隐藏确实对“用户本身”是一种保护。如果我们需要检查 Linux 系统中这些隐藏文件怎么办?

Linux文件目录及权限第8张

注意:以“.”开头的文件和目录名称,它们都是隐藏的。同样,用蓝色显示出来的是目录,隐藏的目录。

另外这样看好像很乱不是吗?我们可以把 -1 和 -a 参数结合使用

Linux文件目录及权限第9张

这样是不是整齐一点了,如果有人想想在 Windows 中可以用列表显示文件及目录的详细信息一样,我们可以使用 ls -l

Linux文件目录及权限第10张

clear清屏

Linux文件目录及权限第11张

如果想看自己现在是在哪个目录下面,可以使用pwd命令,这个命令非常有用!!!当你不知道自己现在是在哪里,可以使用它。

Linux文件目录及权限第12张

关于ls的命令大家可以参考:http://man.linuxde.net/ls

find命令的使用:

Linux文件目录及权限第13张

解释:注意之间的空格,/表示root目录,-name表示文件的名字。

注意:这样会查找的很慢,因为它是从根目录开始的,所以以后尽量从一个目录下面查找,这样可以缩短查找的范围。

Linux文件目录及权限第14张

grep命令的使用:

Linux文件目录及权限第15张

解释:-n显示行号 guozheng表示要查询的关键字 hello.cpp表示要在那个文件中查找。

cd /表示:回到根目录下面

cd ../表示:回到上一级目录

cd 表示:回到该用户所在的目录下面

Linux文件目录及权限第16张

Linux文件目录及权限第17张

需求:有时我需要把查找的信息或者统计的信息保存到另外一个文件,提供给别人。

重定向命令:

ls -l > a.bak 列表的内容写入文件a.bak中(覆盖写)

ls -al >> aa.bak列表的内容追加到文件aa.bak的末尾

Linux文件目录及权限第18张

注意:这个命令非常有用,作用就是把统计的信息保存到a.bak文件中。

Linux文件目录及权限第19张

二、Linux中的文件所有者、所在组和其它组

在讲解Linux中的用户和组的问题,我们先看一下Windows中的用户和组,如下图所示:

Linux文件目录及权限第20张

Linux文件目录及权限第21张

好了,我们来看看Linux中的用户和组的概念。

简介:

在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件 有所有者、所在组、其它组的概念。

1)所有者 (2)所在组 (3)其它组 (4)改变用户所在的组

  • 文件所有者

一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者。

用【ls –ahl 】命令可以看到文件的所有者。

Linux文件目录及权限第22张

你也可以用 【chown 用户名 文件名 】来修该文件的所有者。

Linux文件目录及权限第23张

Linux文件目录及权限第24张

我们使用gz普通用户创建的目录,默认属于该用户,如果我想改变该目录的所属用户,可以使用:chown 用户名 文件名

Linux文件目录及权限第25张

Linux文件目录及权限第26张

  • 用户所在组

当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组。 用【ls –ahl 】命令可以看到文件的所有组。 你可以通过【chgrp 组名 文件名】来修改文件所在的组。

使用:ls -ahl | more

Linux文件目录及权限第27张

修改该目录所在的组:chgrp root mysrc 可以改变该目录所在的组。

Linux文件目录及权限第28张

现在我把mysrc目录所在的组gz修改为root

  • 其他组

除开文件的所有者和所在组的用户外,系统的其它用 户都是文件的其它组。

  • 改变用户所在的组

在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的 管理权限可以改变某个用户所在的组:

usermod –g 组名 用户名 你可以 用

usermod –d 目录名 用户名 改变该用户登陆的初始目录

我知道你很晕不要紧,我们来看一个案例:(我们要把下面的用户添加到对应的组中)

Linux文件目录及权限第29张

step1:使用root身份创建对应的组

Linux文件目录及权限第30张

如何查看创建的组呢?使用:cat /etc/group

Linux文件目录及权限第31张

Linux文件目录及权限第32张

解释:policeman:组的名称 1001:改组的ID号是唯一的。

使用相同的命令创建土匪组。

Linux文件目录及权限第33张

step2:创建用户,并同时指定该用户属于哪个组

命令使用:

useradd -m 用户名

案例: useradd -m xiaoming 【 添加用户 xiaoming】 (特别提醒:这里一定要加上:-m 并且是小写的,否则创建好的用户你是登陆不上的。)

passwd 用户名 【修改密码】

案例: passwd xiaoming 【修改xiaomiing的密码】

userdel 用户名 【删除用户】

userdel xiaoming 【删除用户xiaoming】

userdel -r xiaoming 【删除用户以及用户主目录】

创建:施瓦辛格(Iamback)

Linux文件目录及权限第34张

Linux文件目录及权限第35张

查看Linux中的所有用户信息:cat /etc/passwd

Linux文件目录及权限第36张

解释:shitailong:表示用户的名字;x:表示加密后的用户的密码;1003:表示用户的ID;1002:表示用户所在组的ID;/home/shitailong:用户所在的主目录

step3:分配密码

为了好记,这三个用户默认密码是123456

Linux文件目录及权限第37张

step4:测试

Linux文件目录及权限第38张

现在:我想把施瓦辛格(Iamback)也移动到土匪组中,该如何办?

使用:usermod –g tufei iamback

Linux文件目录及权限第39张

现在金三角都在土匪组了。

三、文件权限的管理

ls -l中显示的内容如下:

-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc

10个字符确定不同用户能对文件干什么

第一个字符代表文件(-),目录(d),链接(l)

其余字符每3个一组(rwx) 读(r) 写(w) 执行(x)

第一组rwx : 文件拥有者的权限是读、写和执行

第二组rw- : 与文件拥有者同一组的用户的权限是读、写但不能执行

第三组r-- : 不与文件拥有者同组的其他用户的权限是读不能写和执行 可用数字表示为:r=4,w=2,x=1 因此rwx=4+2+1=7

1 表示连接的文件数(如果是文件夹也就是目录的话,表示:该目录下面的文件数)

root 用户

root 组

1213 文件大小(字节)

Feb 2 09:39 最后修改日期

abc 文件名

现在我用jiesen登陆创建文件:

Linux文件目录及权限第40张

Linux文件目录及权限第41张

例如:-rw-r--r--

Linux文件目录及权限第42张

现在我用shitailong用户进入到jiesen的目录下面,结果如下:

Linux文件目录及权限第43张

结果可以进入到该目录下面,原因是jiesen目录的权限如下:

Linux文件目录及权限第44张

对照上面的分析:其他组的用户对jiesen目录有可读的权限。

Linux下使用对目录权限的管理,不能一个用户进入到另外一个用户的目录。

现在jiesen允许shitailong进入到自己的主目录下面,并且有可写权限该如何操作?,如下图所示:

注意:不能使用shitailong开修改jiesen的目录权限。只能有jiesen和root能修改。

Linux文件目录及权限第45张

这样设置的话等于是完全公开,其他组的用户也可以进入到该目录下面,所以我要该用户本身以及该用户所在的组可以进入,其他组的用户不允许进来。

Linux文件目录及权限第46张

然后,我用gz用户登录,看看能不能进入到jiesen目录中,结果如下:

Linux文件目录及权限第47张

注意:这里只是修改文件夹(目录的)权限,目录下面的文件权限没有修改。

补充:

改变权限的命令:

chmod 改变文件或目录的权限

chmod 755 abc : 赋予abc权限rwxr-xr-x

chmod u=rwx,g=rx,o=rx abc : 同上 u=用户权限 g=组权限 o=不 同组其他用户权限

chmod u-x,g+w abc : 给abc去除用户执行的权限,增加组写的权限

chmod a+r abc :给所有用户添加读的权限

改变拥有者(chown)和用户组(chgrp)命令

chown xiaoming abc : 改变abc的拥有者为xiaoming

chgrp root abc : 改变abc所属的组为root

chown root ./abc : 改变abc 这个目录的所有者是root

chown -R root ./abc : 改变abc 这个目录及其下面所有的文件和目 录的所有者是root

建议还是要多练习多敲命令。权限这部分确实很复杂,大家可以练习一下,如果遇到问题解决不了的,可以在评论区提出来,我会帮大家看看。

原文链接:https://www.linuxidc.com/Linux/2017-10/147455.htm

免责声明:文章转载自《Linux文件目录及权限》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇关于盐值加密NV triton启动方式说明下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Linux的PHP开发环境快速搭建

搭建的环境是LNMP: 1、安装MySQL 这个非常简单我用的是Ubuntu那么就用apt源,下载deb文件然后按照全新安装文档按顺序:a.加入apt库  b.更新apt库 c.安装 d.运行MySQL 下载: https://dev.mysql.com/downloads/repo/apt/ 文档: https://dev.mysql.com/doc/m...

Oracle 11g 卸载日志

f:appadminproduct11.2.0dbhome_2deinstall>deinstallChecking for required files and bootstrapping ...Please wait ...复制了 14 个文件复制了 611 个文件已复制 1 个文件。已复制 1 个文件。Location of logs C:Us...

Vue之项目搭建

  一、Vue自动化工具的安装 nvm:nodejs 版本管理工具。 也就是说:一个 nvm 可以管理很多 node 版本和 npm 版本。 nodejs:在项目开发时的所需要的代码库 npm:nodejs 包管理工具。 在安装的 nodejs 的时候,npm 也会跟着一起安装,它是包管理工具。 npm 管理 nodejs 中的第三方插件   1,安装nv...

CentOS使用root直接登录

CentOS使用root直接登录在最新版本的Linux发行版中预设不允许以root 账号登入图形用户桌面,因此一般使用者登入后,如果要以管理者权限下指令,可以在终端机以su root,暂时取得root权限; 如果/一定要以root登入图形界面,可以经由修改/etc/pam.d/gdm 以及 /etc/pam.d/gdm-passwd,把以下这行设定加上”#...

第一杯咖啡在Debian 上安装Java环境

blackdown 的jdk 总是比sun 慢了一拍,针对debian包更新太慢,非官方的java-package的生成的.deb不尽人意,一些常用的命令没有加入到path,本文主要参考debian java faq1、获取jdk.从sun的官方网站下载最新的jdk 1.5 update2, http://java.sun.com。注意,要下载解压版本。#...

c# 获取相对路径

c# 获取相对路径 一、获取当前文件的路径1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName获取模块的完整路径,包括文件名。2. System.Environment.CurrentDirectory获取和设置当前目录(该进程从中启动的目录)的完全限定目录。3. Sy...