关于Linux中的目录配置标准

在查看docker、k8的运行日志,修改相关的运行记录的时候,学长总是能很快地找到目录,这个多多少少和Linux的FHS(File Hierarchy Standard)有关,有必要把常见的集中再整理整理。具体的规范有很多,先整理一点出来,一点点再添加。具体可以参考鸟叔的p152页。

查询日志

/var 目录通常存放常态性变动的文件,包括缓存,登录文件以及某些软件运行的时候所产生的文件,或者Mysql的数据文件等等。

  • 比如k8s的相关日志信息都存储在/var/log/upstart文件夹下。
  • 比如docker的 container 相关的信息都存储在 /var/lib 上

查询配置文件

系统的主要配置文件一般都放在这个文件夹中,不建议在这个文件夹中放可执行的文件。

  • 比如/etc/init.d/中存放着所有的服务的默认的启动脚本。

二进制文件

系统中存放二进制文件的目录比较多,但是 /bin 目录中存放的是单用户维护模式下还能够被操作的命令,在/bin目录下的命令可以被root与一般用户所使用,比如cat,bash,chown,chomod之类的命令。另外一个是/opt/bin 目录,这个目录中通常存放的是第三方软件(非distribution所提供的)所放置的目录。

关于文件权限

文件权限和用户权限的问题在平时操作中也是经常遇到的,比如有时候权限管理混乱,go get 的时候就总是permission denied,或者有的时候没有读写权限之类的,再好好整理一下。

其是这个问题主要是 ls -l 的时候,把所有的信息都解释清楚。
这里还要多说一点就是在使用linux命令的时候要学会使用man来查看,比如ls命令可以按照修改日期排序输出,可以按照文件大写排序输出等等

关于用户组与用户

通过用户组与用户的概念可以实现文件的隔离与共享。

用户的概念很好理解,就是不同的使用os的用户。用户组的概念是在用户的基础上的第二层抽象,一个用户可以分别属于多个用户组,一个用户组中可以有多个用户,不同用户组的文件是彼此隔离开的,同一个用户组内的成员可以共享这个用户组内的文件。

linux所有用户组的信息都存储在/etc/group中,通过groups命令就可以查看当前用户所支持的用户组。

/etc/group 文件中存储的内容是用户组的相关信息。/etc/group的文件内容格式: 组名:密码保存位置:组ID:组成员。以root用户组为例,即组名是root,密码保存位置为/etc/shadow,root组的GID为0,组下面的用户是root用户。

/etc/passwd的文件内容格式:注册名:口令:用户标识号:组标识号:用户名:用户主目录:命令解释程序 。以root用户为例。root是用户注册名,X表示密码保存在/etc/shadow,用户ID为0,所在用户组ID为0,用户名是root,home目录为/root,解释程序/bin/bash。

文件的权限

文件的具体权限一共有9种,owner,group以及others各有三种,分别是read,write以及execute权限。具体的信息通过权限字符串 -rwxrwxrwx来标记,可以通过三个二进制换算成10禁止的数字来表明文件的权限,具体的表述可以参考鸟叔p141,p146。

修改命令

chown -R 账号名称 dirname/filename 这个命令可以递归地修改文件或文件目录下的文件的所属用户。
chgrp -R 用户组名称 文件或目录 这个命令可以用来改变所属的用户组
chmod 可以用来改变文件的具体的读写权限。

关于linux中的目录配置标准以及文件基本信息的更多相关文章

  1. linux中的目录配置

    一.权限对文件的重要性 1.r(read):可读取此文件的实际内容,读取文本文件的文字内容等. 2.w(write):可以编辑,新增或者是修改该文件的内容. 3.x(execute):该文件具有可以被 ...

  2. linux中替换目录下的某个文件中包含的IP地址

    #!/bin/bash #set -x oldIP=172.17.39.135 newIP=172.17.98.115 homefile=/usr/local/ims/ filelist=`grep ...

  3. Linux中/proc目录下文件详解

    转载于:http://blog.chinaunix.net/uid-10449864-id-2956854.html Linux中/proc目录下文件详解(一)/proc文件系统下的多种文件提供的系统 ...

  4. Linux中VSFTP的配置

    配置VSFTP服务器: 1.安装VSFTP,可以参考Linux 中yum的配置来安装: yum installvsftpd.x86_64 -y 2.修改SELinux: setenforce 0 查看 ...

  5. Linux中redis安装配置及使用详解

    Linux中redis安装配置及使用详解 一. Redis基本知识 1.Redis 的数据类型 字符串 , 列表 (lists) , 集合 (sets) , 有序集合 (sorts sets) , 哈 ...

  6. Unix/Linux中/usr目录的由来

    在Linux系统中,有一个很重要的目录——/usr目录.关于这个目录名称的由来,网上主要有下面几种说法: user的缩写 User Shareable Read-only的缩写 Unix/User S ...

  7. Linux中 /boot 目录介绍 【转载】

    Linux中 /boot 目录介绍 转自:点击打开链接 一./boot/目录中的文件和目录 Linux系统在本地启动时,目录/boot/非常重要,其中的文件和目录有: (1)系统Kernel的配置文件 ...

  8. Linux中/proc目录下文件详解(转贴)

      转载:http://www.sudu.cn/info/index.php?op=article&id=302529   Linux中/proc目录下文件详解(一) 声明:可以自由转载本文, ...

  9. 在Linux中安装和配置OpenVPN Server的最简便方法!

    本文介绍了如何在基于RPM和DEB的系统中安装和配置OpenVPN服务器.我们在本文中将使用一个名为openvpn-install的脚本,它使整个OpenVPN服务器的安装和配置过程实现了自动化.该脚 ...

随机推荐

  1. jlink commander使用

    1.将JLink.exe拷贝到某个文件夹底下 2.建立bat文件,内容如下: JLink.exe -device Cortex-A7 -if JTAG -speed 4000 -jtagconf -1 ...

  2. DevExpress WPF v19.1新版亮点:Gantt/Map控件新功能

    行业领先的.NET界面控件DevExpress 日前正式发布v19.1版本,本站将以连载的形式介绍各版本新增内容.在本系列文章中将为大家介绍DevExpress WPFv19.1中新增的一些控件及部分 ...

  3. 九、爬虫框架之Scrapy

    爬虫框架之Scrapy 一.介绍 二.安装 三.命令行工具 四.项目结构以及爬虫应用简介 五.Spiders 六.Selectors 七.Items 八.Item Pipelin 九. Dowload ...

  4. NOIP2016提高A组五校联考4总结

    坑爹的第一题,我居然想了足足3个小时,而且还不确定是否正确. 于是,我就在这种情况下心惊胆跳的打了,好在ac了,否则就爆零了. 第二题,树形dp,本来差点就想到了正解,结果时间不够,没打完. 第三题, ...

  5. 容器"共享"宿主机的hosts文件(终极方案)

    0.背景 有时候制作docker镜像生成容器时需要宿主机的hosts文件共享到容器中.首先想的是通过挂载的方式共享hosts文件,但是实践时发现根本行不通,hosts文件在/etc/目录下,如进行挂载 ...

  6. 源码编译git-go

    2018.8.29 安装指定版本的git 一,安装 编译前准备: 依赖库 yum install curl-devel expat-devel gettext-devel openssl-devel ...

  7. 微信点餐系统(七)-微信授权获取openid:

    章节小结: 1.学会了微信授权的步骤,学会了微信授权的文档 2.学会了使用natapp内网穿透工具 3.加深了虚拟机的网络配置以及基本使用 4.学会了抓包购票工具fiddler的使用 5.微信授权步骤 ...

  8. [模板][快速排序&归并排序]

    不得不说,手写的快排真的好菜.(即使开了随机数...) 快速排序 #include<iostream> #include<cstdio> #include<cstring ...

  9. Java虚拟机之JVM调节参数

    -XX:+PrintGC 使用这个参数,虚拟机启动后,每次GC就会打印日志. -XX:+UseSerialGC 使用串行垃圾回收器. -XX:+PrintGCDetails 打印详细信息.包括各个区的 ...

  10. 测试常用shell语句——数值,数组类型;函数创建

    一.特殊类型的变量 shell下默认的变量类型为字符串类型 1,数值类型 如果进行数值运算,有这么几种方法 方法一: declare -i sum sum=+ echo $sum 方法二: sum=$ ...