关于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. C#基础知识之图解TCP IP》读书笔记

    一.网络基础知识 1. 计算机使用模式的演变 2.协议 协议就是计算机与计算机之间通过网络实现通信事先达成的一种“约定”.这种“约定”使那些由不同厂商的设备.不同的CPU以及不同的操作系统组成的计算机 ...

  2. Shiro(一)

    1 权限管理 1.1 什么是权限管理? 基本上涉及到用户参与的系统都要进行权限管理,权限管理属于系统安全的范畴,权限管理实现对用户访问权限的控制,按照安全规则或者安全策略控制用户可以访问而且只能访问自 ...

  3. CodeForces-598D(BFS,染色)

    链接: https://vjudge.net/problem/CodeForces-598D 题意: Igor is in the museum and he wants to see as many ...

  4. 【NOIP2016提高A组模拟9.17】小a的强迫症

    题目 分析 题目要求第i种颜色的最后一个珠子要在第i+1种颜色的最后一个珠子之前, 那么我们从小到大枚举做到第i种,把第i种的最后一颗珠子取出,将剩下的\(num(i)-1\)个珠子插入已排好的前i- ...

  5. MySQL报错:Cause: java.sql.SQLException: Incorrect string value: '\xE6\x9D\xA8","...' for column 'obj_value' at row 1

    1.插入MySQL表时,报错:Cause: java.sql.SQLException: Incorrect string value: '\xE6\x9D\xA8","...' ...

  6. 019:re_path函数详解

    re_path使用: 1.re_path和path的作用是一样的,只不过re_path在写url的时候可以使用正则表达式——功能更加强大: 2.使用正则表达式时,推荐使用原生字符串(即:已 r 开头的 ...

  7. JPA学习(二、JPA_基本注解)

    框架学习之JPA(二) JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中 ...

  8. 洛谷 P3049 Landscaping ( 贪心 || DP)

    题意 : 有n块土地,每块有A[i]泥土,现把其改造成B[i]泥土,有3种操作:(1)花费X向任意土地增加1泥土:(2)花费Y向任意土地减少1泥土:(3)花费Z*|i-j|把土地i的1泥土运到土地j. ...

  9. SQL Server 分割字符串和合并多条数据为一行

    分割字符串函数 create function f_split(@c varchar(2000),@split varchar(2)) returns @t table(col varchar(20) ...

  10. android系统时间格式转换工具类

    代码依旧非常简单,只不过因为这个方法极为常用,因此体现的还是封装的思想. package com.ctbri.weather.utils; import java.text.SimpleDateFor ...