目录

  • 一、目录结构
  • 二、启动流程
  • 三、运行级别
  • 四、全局配置文件
    • 1、系统初始化
    • 2、文件系统
      • 插播一个vim文件显示行号的知识点
    • 3、用户系统(灰常重要)
      • (1)用户信息
      • (2)用户密码
      • (3)群组信息
      • (4)群组密码
      • (5)sudoer列表
    • 4、shell
      • (1)查看自己的shell环境
      • (2)可用shell列表
      • (3)用户选项
    • 5、系统环境
      • (1)环境变量
      • (2)查看版本信息
    • 6、网络
    • 7、用户配置文件
  • 五、环境变量
  • 六、软件管理

一、目录结构

cd /来到根目录下ls一下可以看到所有的文件

/bin:
bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。/boot:
这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。/dev :
dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。/etc:
etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。/home:
用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。/lib:
lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。
几乎所有的应用程序都需要用到这些共享库。/lost+found:
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。/media:
linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。/mnt:
系统提供该目录是为了让用户临时挂载别的文件系统的,可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。/opt:
opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。
如安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。/proc:
proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件
这个目录是一个虚拟的目录,它是系统内存的映射,可以通过直接访问这个目录来获取系统信息。
这个目录的内容不在硬盘上而是在内存里,也可以直接修改里面的某些文件
比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all/root:
该目录为系统管理员,也称作超级权限者的用户主目录。/sbin:
s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写
这里存放的是系统管理员使用的系统管理程序。/selinux:
这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙
但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。/srv:该目录存放一些服务启动之后需要提取的数据。/sys:
这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。
sysfs 文件系统集成了下面3种文件系统的信息:
针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。
该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。/tmp:
tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。/usr:usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。/usr/bin:
系统用户使用的应用程序。/usr/sbin:
超级用户使用的比较高级的管理程序和系统守护程序。/usr/src:
内核源代码默认的放置目录。/var:
var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西
习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。/run:
是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。
如果系统上有 /var/run 目录,应该让它指向 run。

二、启动流程


按开机键————加载BlOS( BIOS即基本输入输出系统,做固件检测 )硬件信息,自检,并根据配置信息取得第一个可启动的设备————读取并执行第一个启动设备内MBR(MBR,即主引导记录,是对IBM兼容机的硬盘或者可移动磁盘分区时,在驱动器最前端的一段引导扇区)的boot loader。(grub等)————根据boot loader的设置加载kernel,kernel开始检测硬件,并加载驱动(kernel接手BIos的工作)———— boot loader加载虚拟文件系统,并加载启动过程中需要的内核模块(USB,RAID,LVM,ScSI)————启动第一个进程init———— init启动终端getty————运行x windows系统(桌面环境)

三、运行级别

运行级别即run level,Linux通过不同的run level来使用不同的服务启动系统, run level可以分为以下七种;

四、全局配置文件

1、系统初始化

2、文件系统


使用vim看一下,输入指令vim /etc/fastab

退出输入指令:q再按回车

插播一个vim文件显示行号的知识点

不显示行号输入指令:set number就可以了

想要永久显示行号则先回到终端输入指令:vim ~/.vimrc
将上述指令添加进去,保存退出,以后打开的文本就会一直有行号啦

3、用户系统(灰常重要)

(1)用户信息

可以先到家目录下看看这个系统有几个用户,一看,我这个系统有一个用户

但是在终端使用vim /etc/passwd指令查看用户信息的时候发现不止一个,而是44个

我在其中

第一部分:ubuntu是用户名
第二部分:x是密码占位符,出于安全考虑将密码放在etc/shadow文件里了,这里就用x替代了
第三部分:1000是UID
(UID(User Identify)用户ID,相当于身份证一样,在系统中是唯一的。一般由整数表示的,范围是0~65535)
第四部分:1000是GID
(用户组ID,一般也是由一个整数表示的,范围是0~65535,当添加账户时,默认情况下会同时建立一个与用户同名且UID和GID相同的组。)
第五部分:ubuntu,,,是用户说明
第六部分:/home/ubuntu:用户家目录
第七部分:/bin/bash是用户的shell解析

(2)用户密码

此时如上使用指令vim /etc/shadow是看不到内容的,毕竟密码不是你想看就能看的

使用sudo(sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具)

输入sudo vim /etc/shadow指令能看到,但自己的密码也是加密过的

(3)群组信息

使用指令vim /etc/group可以查看组信息
创建一个用户的时候往往会默认创建一个组
68行表示他这个组还有个附属用户

(4)群组密码

使用指令sudo vim /etc/gshadow查看,一般是空的,不设置

(5)sudoer列表

使用指令:sudo vim /etc/sudoers查看
比较重要的就是19-26行

你也可以自己给加权限,输入完以后保存并退出

进入test1用户su -text1
如果密码忘记了可以 求助超管身份,重新设定密码

然后使用sudo命令就可以执行了

好了,现在尝试自己创建一个用户并给他赋予权限:

sudo -i            #进入管理员身份
useradd -m tsxt2   #创建一个叫tsxt2的用户
passwd tsxt2       #设置密码


此时在超管环境下切换到tsxt2的用户来,输入一个安装命令,会发现它是没有这个权限的

su - tsxt2
sudo apt vim


回到超管身份,修改的它的权限,使用指令usermod
展开学必看

usermod -G sudo tsxt2   #修改权限,看不懂看上面链接里的内容先学习一下
su - tsxt2              #来到tsxt2用户界面
sudo apt update         #安装一个东东

此时会发现可行了

4、shell

学习资料1

(1)查看自己的shell环境

以下这两种输入方式都是可以的,看一下shell的环境信息,我用的是bash,有些是zsh

(2)可用shell列表

使用指令 cat /etc/shells可以看到许多shell支持的环境

(3)用户选项

使用指令vim /etc/profile查看

学习资料2
学习资料3

5、系统环境

(1)环境变量

使用指令cat /etc/environment可以看到信息,当你使用which指令的时候其实它就是在这些环境信息里找的

(2)查看版本信息

6、网络



如何改主机名

cat /etc/hostname  #先看你现在的主机名是什么
sudo vim /etc/hostname   #修改一下


再执行一下指令sudo hostname qyt,再打开一个终端的时候就会发现名字变了

7、用户配置文件

$ZDOTDIR/ .zshenv
$ZDOTDIR/ .zprofile
$ZDOTDIR/ .zshrc
$ZDOTDIR/ .zlogin
$ZDOTDIR/ .zlogout

五、环境变量

环境变量是作用在整个系统中的变量,很多软件工作的时候都需要读取环境变量的值来确定其工作方式,比如cd

环境变量命名通常使用大写字母。$符后面加上环境变量的名称,系统将不会直接调用这个变量的字符串。

相关命令:env export

常见环境变量:PATHHOMESHELLLANGHISTSIZB

六、软件管理

1、源码安装:

git clone XXXX
cd XXX
make
make instal1

2、软件包管理系统

apt-get intstall *
apt-get remove *
apt-get update *
apt-get upgrade *
apt-cache search *

无基础学Linux(4)——基本系统相关推荐

  1. 零基础学Linux内核之设备驱动篇(8)_设备模型

    零基础学Linux内核系列文章目录 前置知识篇 1. 进程 2. 线程 进程间通信篇 1. IPC概述 2. 信号 3. 消息传递 4. 同步 5. 共享内存区 编译相关篇 1. GCC编译 2. 静 ...

  2. python没基础可以学吗-无基础学python,能学会吗?

    推荐阅读: 无基础学python,能学会吗?答案既是肯定的,也是否定的. 为什么既肯定又否定呢?原因很简单. python是一门应用十分广泛的编程语言,相对于其他语言,它更适合新手学习. 但学习是要讲 ...

  3. linux需要什么基础,学linux需要什么基础?

    近几年来,随着计算机网络的发展,越来越多的人学习 linux.对于想要从事运维工作或者从事智能开发方面的同学来说,学习 linux 是必要的.linux 的学习并不简单,那么这篇文章 w3cschoo ...

  4. 零基础学Linux运维,看这一篇就够了(含30G自学教程笔记)

    作为一个10年老运维,在开始这篇文章之前,先送给大家一句话: 干啥不好,非要做运维,听人劝,吃饱饭,趁年轻,换行吧! 好了,不开玩笑了,回到正文中来. 当谈到运维职业发展情况时,很多人都会说运维做不长 ...

  5. linux学习需要什么基础,学linux需要什么基础?

    近几年来,随着计算机网络的发展,越来越多的人学习 linux.对于想要从事运维工作或者从事智能开发方面的同学来说,学习 linux 是必要的.linux 的学习并不简单,那么这篇文章 w3cschoo ...

  6. 学Linux选择什么系统比较好?

    Linux是一种免费使用和自由传播的类UNIX操作系统,其具有免费.开源.可靠.安全.稳定等特点,而且拥有众多发行版本.那么Linux中什么系统好?推荐使用:Debian.Ubuntu.CentOS, ...

  7. 无基础学python能干什么-为什么推荐你学Python?IT界大牛告诉你学会以后可以干什么...

    当今最热门的第三门语言是什么? 是樱花妹"亚撒西"(温柔)的日语? 还是长腿欧巴口中的韩语? No No No!都不是! 是硬核满满的编程语言. 你可不要小看编程语言,它可是中小学 ...

  8. 无基础学python需要多少小时-Python要学习多久能入门?精通需要多久?

    学习Python是大家进入编程世界的首选,在学习Python之前不少人都会关注学习时间和周期的问题,Python需要学多久可以入门?精通需要多长时间呢?为大家详细的介绍一下. 自学Python需要多久 ...

  9. linux 基础学,linux基础学习【1】

    2018.09.22 linux 发展历史 unix 免费 -> unix 收费-> 安德鲁教授 minix-> 芬兰学生linus linux linux基本操作 1.输入法调整 ...

最新文章

  1. php5.4.16执行shell脚本
  2. 【PAT (Advanced Level) Practice】1005 Spell It Right (20 分)
  3. 剪绳子python_Python剪绳子如何实现 Python剪绳子实现代码
  4. iheatmapr包:可交互的热图绘制方法
  5. C++学习笔记(14) static_cast 与 dynamic_cast
  6. jqGrid 操作一些总结(二)
  7. eix安装_U盘安装原版Windows 8.1
  8. 屏蔽KEmulator的内存查看功能
  9. Java实现复制文件(文件、文件夹)
  10. html中加载gif图片,使用CSS3实现动态加载gif图片的效果
  11. Java整合科大讯飞SDK实现语音转文字
  12. java的框架gwt介绍_GWT Portlets
  13. 数字图像处理艺术化效果——彩色图像转化为灰度图像(黑白照片)
  14. 莫名其妙把电脑机箱左边耳机孔弄出来声音
  15. CloudSim介绍与使用 云计算的建模与仿真
  16. 大数据分析与挖掘期末复习
  17. 微积分——什么是导数
  18. 计算机与我的工作 生活作文600字,我和电脑
  19. caffe刚开始训练准确率很高,经过几次训练就达到饱和的原因
  20. my97DatePicker选择年、季度、月、周、日

热门文章

  1. bps、pps、fps
  2. oracle调优 oracle培训
  3. 关系代数运算_关系代数
  4. php 活动网站,网页游戏的活动管理后台和管理后台
  5. 怎么备份VMware虚拟磁盘文件或移植到其他虚拟机
  6. 入坑slam,一位博士小姐姐的科研和成长分享(考研+读研+读博)
  7. 学C语言和英语水平的关系顶多不过半毛
  8. 绝对正确!解释“超键、候选键和主键”之间的关系
  9. python基础-BytesIO,StringIO
  10. web浏览器兼容性问题