Linux入坑手册(鸟哥的私房菜)

Linux入坑手册(鸟哥的私房菜)

  • CentOS安装部署
    • CentOS下载
      • 杂项(base的特性)
    • Linux文件目录及文件管理
      • Linux文件权限
      • Linux属性和权限修改
      • Linux文件及其相关操作
      • 执行文件的路径变量:$PATH
      • 文件与目录的查看:ls
      • 复制cp
      • 删除rm
      • 移动 重命名 mv
      • 文件内容查看
      • 文件默认权限 umask
      • 文件隐藏属性
      • 特殊权限
      • 观察文件类型:file

首先一个奖励自己入坑Liunx,一个装x小技巧,黑客帝国代码雨教程:

CentOS安装部署

CentOS下载

CentOS官网地址:跳转
ps:生产环境一定需要使用英文版本!
安装信息摘要:

  • 本地化:
    • 日期和时间 ——>亚洲/上海
    • 键盘——>汉语
    • 语言支持——>简体中文
  • 软件
    • 安装源
      • 最小安装(不带GUI) 【生产环境中不推荐使用GUI】
      • 带GUI的服务器
      • 更多
  • 系统
    • 安装位置
      • 分区
        • 实验环境 -原则:没有规定
          • 方案1(最简):只划分一个: / 目录
          • 方案2(相对规范):
            / :最后分,剩余空间给根
            swap :交换分区,虚拟内存,当内存耗尽时,把硬盘当作内存使用,生存环境 8G-16G
            /boot : 存放启动文件 1G
            /home :
            /data :
        • 生产环境 -原则:严格按照运维规范
    • KDUMP
      • kdump是一个内核崩溃存储机制。捕获系统信息。
    • 网络
    • 主机名
      业务环境:
      IP:网络工程师分配
      主机名:严格按照运维规范
    • 用户
      root:满足足够的密码复杂强度 大小写字母·数字·特殊字符 避免暴力破解
      尽量每一个业务线使用不同的密码
      最后安装:
      协议确定 1 2 q yes

    杂项(base的特性)

    ESC+. 引用上一个命令的最后一个参数 =!$
    在linux中”#“ 表示注释
    history :查看历史命令
    ctrl+R :可以搜索调用历史命令
    !S :搜索最近以s开头的命令
    创建临时别名 alias ll=‘ls -la’
    取消临时别名 unalias =ll
    在同一命令下别名优先使用,所以取消别名的方式是在命令前加
    永远别名 在/etc/bashrc 中 添加 alias ll =‘ls -la’
    type ll :显示命令本质

Linux文件目录及文件管理

linux目录按照的是FHS(filesystem hierarchy standard)标准。

  • bin 放置普通用户命令
  • sbin 放置管理员使用的命令
  • dev 设备文件 /dev/zero /dev/nill dev/random
  • root root用户的home
  • home 普通用户家Base目录
  • proc 进程文件夹 虚拟文件系统 反映出内核的信息
  • usr 系统目录 相当于windows的system
    • /usr/local 软件安装的目录,相当于C:program
    • /usr/bin 普通用户使用的程序
    • /usr/bin 管理员使用的应用程序
    • /usr/lib 库文件Glibc 32bit
    • /usr/lib64 库文件Glibc 64bit
  • boot 启动相关的文件
  • etc 配置文件
  • tmp 临时文件
  • var 存放数据库 日志 邮件

Linux文件权限

文件类型权限由10个字符组成,第一个字符代表文件类型。

剩余9个字符每3个一组,分别表示文件所属者权限、文件所属组用户权限、和其他人权限。
权限表示有:

ps:(Linux目录超级重要)

在Linux中比较绕的是rwx在目录和文件的权限意义并不相同,在文件中r表示具有读取文件的权限,x表示文件可执行,因为在Linux中和windows中不同的是windows程序可否能被执行取决于文件后缀,但是Linux中文件能否被执行取决于文件是否拥有x(执行)权限。w表示可以对文件进行相应的写入、修改、增加、编辑,但是不具备删除文件本身的权限。对于rwx权限来说,只要是针对与文件内容而言。和文件本身的存在没有关系。
在目录中rwx的意义和文件的意义截然不同。r权限表示可以查看目录列表,w表示可以对目录结构调整包括对目录文件的删除。x表示能否进入目录中,x权限对于目录是相当重要的,x权限相当于一把钥匙,目录就是一个抽屉。没有x权限就无法打开目录,即使有rw权限也无法对目录操作。

举个例子:
比如说一个目录的权限为:drwxrwxr– root root … 首先这是一个目录并且属于root用户、root用户组中,没有任何疑问root用户拥有全部权限。假如我们有一个用户为:q,它不是目录的拥有者、也不属于root用户组,它只拥有一个:r权限。理论上它可以查看目录的目录结构,也就是目录里面的文件列表(通过ls -a),但是实际上它并不能这样,因为它并不具有x权限,所以连目录也无法进入。由此可以看出来要想对目录进行操作 最少需要x权限。
如果为drwxrwx-wx root root … 此时q,可以进入目录也可以删除和添加文件在目录中,但是没有查看目录文件列表的权限。举个例子 r就是一盏灯,x就是一把钥匙。目录就是一个抽屉。用钥匙打开抽屉 虽然我们没有灯无法清楚的看到里面的结构,但是仍然可以对抽屉里面的东西霍乱一抹拿出来扔掉。这边还有需要注意的是如果没有r权限的话tab键是不会自动补齐的。

Linux属性和权限修改

修改用户组:chgrp 这个命令的是change group的缩写,用于修改文件和目录的用户组。在修改时一定要确保在/etc/group中存在所要修改的用户组名,否则将会报错。

修改文件拥有者:chown 是change owner的缩写。和chgrp一样在修改用户的时候必须确保修改的用户必须在/etc/passwd中存在。负责会报错。而且chown不仅可以更改所属用户,而且还可以更改用户组,两者也可以同时更改。

更改文件或目录的权限:chmod 权限 文件名
权限这边有两种方式:数字表示法和字符表示法
数字表示法:简单点就是用
r:4
w:2
x:1
4+2+1=7 则7表示拥有rwx全部权限。
字符表示方法:在一般用户来说不常用但是在编写shell的时候是非常好用的简单介绍一下。
我们用u表示用户、用g表示用户组、用o表示其他 分别是 user、group、others三种身份。
+表示加、-表示除去、=表示设置。

chmod a+x,g-r,o= ./1.txt 这句话的意思就是给1.txt这个文件的用户加上执行权限,用户组除去读取权限,其他用户权限清空。

还有特别重要的是这三个命令如果需要对目录里面的所有文件都适用所修改的权限的话需要加入参数-R。

Linux文件及其相关操作

常用的操作命令有:

  • cd 切换目录

    ——————————————————-
    在每一个目录中都存在 . 和 . . 这两目录其中第一个代表当前目录,第二个代表上一层目录。在根目录也一样存在。所以根目录上面还有父目录然不是,仔细观察根目录的 . 和 . . 所有属性是完全相同的所以它们代表的是同一个目录。

  • pwd:显示当前命令
    上面咱已经唠过嗑了,就是查看当前工作目录。-P效果和上面一样。
  • mkdir:建立新的目录
  • rmdir:删除文件空目录
    rmdir [-p] 目录名称
    -p 就是递归删除。
    当然rmdir只能删除空的目录。如果是有文件的就需要 rm -r 目录名。

    执行文件的路径变量:$PATH

    P A T H 为 系 统 变 量 主 要 存 放 的 是 常 用 系 统 程 序 文 件 路 径 , 而 且 每 一 个 用 户 的 PATH为系统变量主要存放的是常用系统程序文件路径,而且每一个用户的 PATHPATH值是不同的。
    而且程序执行和 P A T H 值 的 路 径 有 关 系 。 本 目 录 ( . ) 处 于 安 全 考 虑 不 建 议 将 其 加 入 到 PATH值的路径有关系。本目录(.)处于安全考虑不建议将其加入到 PATH.PATH变量中。

文件与目录的查看:ls

复制cp

举个小栗子:

从上面我们可以看到我们用root身份将zhaobo用户家目录的111(文件拥有者和用户组都为:zhaobo)文件分别通过加入-p参数和不加参数,分别复制到了根目录下并分别保存为333和222文件。观察其文件属性可以看出在不加参数直接使用cp复制时,它的文件相应的属性发生改变。这边需要注意的是**cp的源文件与目标文件权限不同时,目标文件的拥有者通常会是命令操作者本身。**所以文件222的文件拥有者和用户组都变成了root,相应的权限也变成了默认权限。但是333文件和源文件完全相同。这就是加入-p和不加入的区别。加入-p时,备份的时候文件虽然复制过去,但是文件的相关属性没有变化,自个文件仍然时自个的。

删除rm

rm则是删除命令,可以删除文件和文件夹
参数:
-f:不警告
-i:交互模式
-r:递归删除,常用于删除目录。

移动 重命名 mv

mv [-f i u] 源文件 目标文件
-f:不警告
-i:交互模式
-u:(update)更新
mv不仅可以用来移动文件 当然也可以用来重命名文件,实际上linux中是又rename这个命令的。详细可以输入man rename查看。

basename 获取文件名
dirname 获取路径名
每一个文件名长度 可以达到255字符

文件内容查看

stat 查看文件或目录详细内容
[root@localhost /]# stat /tem
stat: 无法获取’/tem’ 的文件状态(stat): 没有那个文件或目录
[root@localhost /]# stat /tmp
文件:/tmp
大小:4096 块:8 IO 块:4096 目录
设备:fd00h/64768d Inode:139 硬链接:17
权限:(1777/drwxrwxrwt) Uid:( 0/ root) Gid:( 0/ root)
环境:system_u:object_r:tmp_t:s0
最近访问:2021-08-20 11:53:23.677193036 +0800
最近更改:2021-08-20 11:53:23.059188273 +0800
最近改动:2021-08-20 11:53:23.059188273 +0800
创建时间:-

文件默认权限 umask

在平时我们通过touch创建文件时我们可以发现虽然我们没有指定文件的权限是多少但是我们创建完后所有文件都会具有相同的权限:-rw-r–r– 这个权限就是默认权限。那么默认权限是否可以被更改,答案是可以的。我们可以通过umask对默认权限进行修改。我们看看这个命令:

咦~,0022 什么意思来越离谱了对不。哈哈哈!其实是这样的,第一个数字代表特殊权限,这个我们后面在说,后面3哥数字分别就是:所属用户、用户组、其他。umask是说减去所有权限的值。所有权限基础是有rwx的权限。反过来数字表示就是权限为7.而上面022就表示所属用户的权限并没有限制仍然是rwx,而用户组的权限减去2,2代表的是w也就是写入的权限。所有用户组的默认权限应该是r-x,其他用户也一样。我们再看效果。

咦~,不对呀,创建的目录(2)的权限没错,但是文件(1)不是说其他和用户组的权限是r-x吗!,怎么只有r权限!我们在上面也说过x这个权限相当特殊。在文件中表示执行,在目录中表示进入的钥匙。实际上默认情况下文件的基础权限只有6,也就是只有写和读的权限。所以减去写的权限,文件的默认权限就只剩下读了。而目录的减去写的权限,当然就还要读和进入的权限。(这边很绕口,需要慢慢品尝)。

文件隐藏属性

额!没错就是隐藏属性。虽然9个权限已经很头疼了但是模板法就是这么麻烦!开始:

chattr [+-=] [ASacdistu] 文件目录名+   在之前的基础上加上-    在之前的基础上减去=    原有的值替换成现在的新值-A 若文件存取时,时间atime不发生改变,-S 一般非同步写入磁盘的文件加上-S参数后,会同步写入磁盘保证数据的安全性。-a  加上后文件只能增加数据,不能删除, 不能更改-c 加上后文件保持文件将自动压缩文件,读取文件将自动解压文件。-d  当dump程序执行时候,加上-d可使文件不会被dump备份-i  可使文件不能被删除、改名、设置链接、写入、新增数据-s  物理删除-u  逻辑删除

来源:没有命中注定

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年7月13日
下一篇 2021年7月13日

相关推荐