[Linux]入门笔记

2019-02-28  本文已影响0人  胖三斤66

以下所有内容均摘抄自 Linux达人养成计划 I

1. 发展历史

Unix ⋙ Minix ⋙ Linux

Minix 是某个教授为了教授 Unix 操作系统而开发的操作系统,开源并了解操作系统较好的平台。

查看某网点服务器的 OS :www.netcraft.com

2. Linux 与 Windows 不同

约定俗成的扩展名

3. 分区和挂载(回头好好学习)

磁盘分区是使用分区编辑器再磁盘上划分几个逻辑部分。碟片一旦划分成数个分区,不同类的目录与文件可以存储在不同的分区中

分区类型:

上面的分区模式称为 MBR。还有一种新的分区模式 GPT,它解决了 MBR 中的一些限制。 GPT 分区模式和 MBR 分区模式

格式化,又称为逻辑格式化,他是指根据用户选定的文件系统(如 FAT16、FAT32、NTFS、EXT2 等),在磁盘的特定区域写入特定数据,在分区中画出一片用于存放文件分配表、目录表等用于文件管理的磁盘空间。 简单理解,格式化就是重新将分区划分为若干个等大小(大小是由文件系统决定的)的数据块(block),并创建文件分配表、目录表用于文件管理磁盘。显示的效果就是清空了分区的数据然后再重新整理分区

总之,格式化作用就是(重新)指定分区的文件系统类型

硬盘设备文件名: /dev/....


Linux 中目录作为挂载点(见下图),所谓挂载就是把一个目录挂在某一个硬盘分区(如 /dev/sda1)上的过程。官方点的说法,挂载就是给每个分区分配挂载点。挂载更广的定义是为物理设备分配挂载点

物理设备如果不进行挂载,就没法使用。

必须分区:

推荐分区(即不必需但最好这样):

Linux 文件系统结构示例图与挂载点的理解

4. 安装

安装日志

virtualbox 连网 :https://cizixs.com/2017/03/09/virtualbox-network-mode-explained/

5. 常用命令

5.1 命令基本格式

命令提示符

家目录:对于 root 用户,家目录为 /root ;对于一般用户,家目录为 /home/<username>/

命令格式

ls 命令

ls 命令

ls -a 可以看到隐藏文件,隐藏文件的文件名是以 . 开头。隐藏文件的意义在于表示该文件是系统文件,一般情况都不需要去操作它,隐藏起来避免误操作。


# ls
# ls -l
# ls -l /etc/
# ls -lh

需要注意的是,ls -l 中会显示文件的权限信息。

ls -l 命令所展示的内容详解

上面的解读:该文件的类型是一个文件,其所有者拥有读写权限,其所有者所在的用户组只拥有读权限,其他用户只拥有读权限。

Linux 文件类型有 7 种:文件、目录、软链接文件、块设备文件、字符设备文件、套接字文件和管道文件


ls -i 显示出文件的唯一编号(相当于文件的 id)

6. 常见目录的作用

根目录下的常见目录的作用:

7. Shell

shell、用户、内核的关系

举例子,用户想要给内核传递计算机命令,首先会在命令行界面(这也是 shell)输入命令;然后,shell 按照 ASCII 码表把命令翻译成机器语言 (即 01) 后;然后,shell 将翻译好的机器语言传给内核;然后,内核调用硬件处理指令;当硬件处理完返回结果给内核;接着,内核将结果返回给 shell,此时结果还是机器语言;接着,shell 将结果按照 ASCII 码表翻译;最后,将翻译结果返回给用户。

shell 的作用:合起来就是起到一个命令行解释器的作用

  1. 接收用户输入的命令,即命令行界面。
  2. 用户与内核中间的翻译官:把命令翻译成机器学习,再传递给内核;内核的结果返回给 shell,shell 进行翻译后返回给用户。
shell 类型

Linux 使用的是 B shell,Unix 使用的是 C shell。使用 echo $SHELL 查看当前使用的 shell 类型

[root@localhost home]# echo $SHELL  // 查看当前使用的 shell 类型
/bin/bash
[root@localhost home]# sh  // 切换成 sh 类型的 shell
sh-4.1# exit
exit
[root@localhost home]# csh  // 切换成 csh 类型的 shell
[root@localhost /home]# exit
exit

7.2 shell 脚本执行

shell 脚本最大的优势:可以调用系统命令

#!/bin/bash
# the first program hello.sh

echo "hello"  # 直接调用系统命令

第一行的代码 #!/bin/bash 作用是标记这是一个 shell 脚本。在纯 shell 语言填写的脚本,加不加都能正常运行。但是如果脚本包含其他语言,不加也会无法执行。所以要求加上且写在第一行。

两种执行脚本的方法

8. 用户和用户组

用户可以同时属于多个组,但是只能属于一个主要组,多个附属组。

密码单独存放的原因:用户组/用户普通信息和密码信息的敏感度不同,造成了两者读取权限要求不同。故此,划分为两个文件存放是满足两者读取权限要求

如果需要暂时暂停除了 root 之外,所有普通用户登陆系统(如系统维护时),则创建一个 /etc/nologin 文件即可实现。

创建用户并赋予 sudo 权限

# groupadd developer
# useradd -g developer hhx
# passwd hhx
# visudo

visudo 打开 /etc/sudoers 文件,并增加一行 %developer ALL = (ALL) ALL 让整个组都具有 sudo 权限或者 hhx ALL=(ALL) ALL 仅让该用户有 sudo 权限

上一篇 下一篇

猜你喜欢

热点阅读