【Linux 学习】基础学习(大纲)

【Linux 学习】基础学习(大纲)

前言

记住:

  • 在 Linux 中,没有报错就是成功。
  • 在 Linux中,一些皆文件。

备注:linux命令有很多,如果都去学一遍需要很多时间。该篇文章仅为学习Linux搭建一个大概框架,当用到什么命令,就去文档中查询学习,这样学习会节省很多时间。

以后如果用到什么命令,就做笔记,归类起来。

一、系统目录结构

内容详情看:菜鸟教程 - Linux 系统目录结构

image

以下几个比较重要的目录:

  • /etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。
  • /home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
  • /opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
  • /root:该目录为系统管理员,也称作超级权限者的用户主目录。
  • /usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
  • /var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
  • /tmp:这个目录是用来存放一些临时文件的。

二、文件基本属性

内容详情看:菜鸟教程 - Linux 文件基本属性

Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。

image

从左至右用0-9这些数字来表示。

  1. 第0位确定文件类型,
  2. 第1-3位确定属主(该文件的所有者)拥有该文件的权限。
  3. 第4-6位确定属组(所有者的同组用户)拥有该文件的权限,
  4. 第7-9位确定其他用户拥有该文件的权限。

1.Linux 文件属主和属组

对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。

同时,在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。

在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组。

1.1 更改文件属性

下面命令用于修改不同用户对某文件或文件夹的权限。

  • chgrp:更改文件属组(change group,用于更改该文件属于什么用户组)
  • chown:更改文件属主,也可以同时更改文件属组(用于更改该文件属于什么用户)
  • chmod:更改文件9个属性(重要)(Linux文件属性有两种设置方法,一种是数字,一种是符号。)

三、文件与目录管理

内容详情看:菜鸟教程 - Linux 处理目录的常用命令

1.处理目录的常用命令

接下来我们就来看几个常见的处理目录的命令吧:

  • ls: 列出目录(list)
  • cd:切换目录(Change Directory)
  • pwd:显示目前的目录(Print Working Directory)
  • mkdir:创建一个新的目录(make directory)
  • rmdir:删除一个空的目录(remove directory)
  • cp: 复制文件或目录(copy)
  • rm: 移除文件或目录(remove)
  • mv: 移动文件与目录,或修改文件与目录的名称(move)

你可以使用 man [命令] 来查看各个命令的使用文档,如 :man cp。

2.Linux 文件内容查看

Linux系统中使用以下命令来查看文件的内容:

  • cat 由第一行开始显示文件内容
  • tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
  • nl 显示的时候,顺道输出行号!
  • more 一页一页的显示文件内容
  • less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
  • head 只看头几行
  • tail 只看尾巴几行

你可以使用 man [命令]来查看各个命令的使用文档,如 :man cp。

四、Linux 用户和用户组管理

内容详情看:菜鸟教程 - Linux 用户和用户组管理

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

每个用户账号都拥有一个唯一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。

实现用户账号的管理,要完成的工作主要有如下几个方面:

  • 用户账号的添加、删除与修改。
  • 用户口令的管理。
  • 用户组的管理。

1.Linux 系统用户账号的管理

  1. 添加新的用户账号使用useradd命令
  2. 删除帐号
  3. 修改帐号
  4. 用户口令的管理
扩展:

修改主机名命令。

# 修改主机名命令
hostname shengjava
# 切换到shengusertest用户,su代表super
su shengusertest
# 退出当前用户,返回到root用户命令。
exit

解释命令行前面的符号含义。

# [当前用户名@主机名 当前所在目录]管理员权限符号
[root@shengjava /]#

2.Linux 系统用户组的管理

  1. 增加一个新的用户组使用groupadd命令
  2. 删除一个已有的用户组,使用groupdel命令
  3. 修改用户组的属性使用groupmod命令
  4. 如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换,以便具有其他用户组的权限

3.与用户账号有关的系统文件

完成用户管理的工作有许多种方法,但是每一种方法实际上都是对有关的系统文件进行修改。

与用户和用户组相关的信息都存放在一些系统文件中,这些文件包括/etc/passwd, /etc/shadow, /etc/group等。

3.1 /etc/passwd 文件
  • /etc/passwd文件是用户管理工作涉及的最重要的一个文件。

Linux系统中的每个用户都在/etc/passwd文件中有一个对应的记录行,它记录了这个用户的一些基本属性。

3.2 /etc/shadow 文件
  • /etc/shadow中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生

由于/etc/passwd文件是所有用户都可读的,如果用户的密码太简单或规律比较明显的话,一台普通的计算机就能够很容易地将它破解,因此对安全性要求较高的Linux系统都把加密后的口令字分离出来,单独存放在一个文件中,这个文件是/etc/shadow文件。 有超级用户才拥有该文件读权限,这就保证了用户密码的安全性。

3.3 /etc/group 文件
  • /etc/group文件,用户组的所有信息都存放在/etc/group文件中。

将用户分组是Linux系统中对用户进行管理及控制访问权限的一种手段。每个用户都属于某个用户组;一个组中可以有多个用户,一个用户也可以属于不同的组。

4.批量添加用户

添加和删除用户对每位Linux系统管理员都是轻而易举的事,比较棘手的是如果要添加几十个、上百个甚至上千个用户时,我们不太可能还使用useradd一个一个地添加,必然要找一种简便的创建大量用户的方法。

共有六种方式批量添加用户,详情查文档。

五、Linux 磁盘管理

内容详情看:菜鸟教程 - Linux 磁盘管理

Linux磁盘管理好坏直接关系到整个系统的性能问题。

Linux磁盘管理常用三个命令为df、du和fdisk。

  • df:列出文件系统的整体磁盘使用量
  • du:检查磁盘空间使用量
  • fdisk:用于磁盘分区

六、Linux vi/vim

什么是 vim?

Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

基本使用:

# 打开并编辑test.txt文件
vim test.txt
# 此时按i就可以输入字符(i代表insert)
# 输入完后按Esc,左下角会出现一个冒号,此时输入wq,代表保存并退出

详情使用:菜鸟教程 - Linux vi/vim

七、linux yum 命令

yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

备注:使用命令行还有另外两种安装方式,相比之下使用yum安装是最简单的。(使用宝塔面板安装东西也非常简单)

详情使用查看:linux yum 命令