美文网首页
第一周:Linux初体验之基础知识

第一周:Linux初体验之基础知识

作者: 还没帮马里奥再闯一关 | 来源:发表于2020-12-20 19:19 被阅读0次

按系列罗列linux的发行版,并描述不同发行版之间的联系和区别

  • linux内核与发行版之间的联系和区别

从技术上说,李纳斯.托瓦兹开发的linux只是一个内核,内核准确的说是一个提供设备驱动、文件系统、进程管理、网络通信等功能的系统软件,内核并不是一套完整的操作系统,它只是操作系统的核心,一些组织或厂商将Linux内核与各种软件和文档打包起来,并提供系统定制界面和系统配置、设定和管理工具,增加易用性,就构成了不同的Linux发行版本。
所有发行版的核心--内核都系出同门;都需要遵循通用性公开许可证(GPL协议)
发行版的本质区别如下表,不同的发行版本采用了不同的包管理工具。

  • Linux的各种发行版特点


    image.png

安装centos7.6操作系统,创建一个自己名字的用户名,并可以正常登陆,主要步骤截图

第一步,新建虚拟机,按照步骤操作即可,此处省略了一些默认配置截图,只列出重要的步骤

image-20201220125628002.png image-20201220125721355.png

CD里面一定要放入ISO镜像文件,保证虚拟机加电后可以读取iso文件

image-20201220125851473.png
选择Install Centos Linxu 8 进行安装
image-20201220125924439-1608440648301.png
选择语言,默认英语即可
image-20201220130041803.png
选择语言结束后,进入到此页面,按照个人需要定制即可(更正security policy应该是配置代理,而非安全法规,囧)
image-20201220130959652.png
image-20201220131432216.png
安装完成,reboot
image-20201220131922265.png
大功告成,本人选择的是最小安装,无图形桌面
image-20201220132152311.png
3.配置环境变量,实现执行history的时候可以看到自己的执行命令时间
vim /etc/bashrc #编辑全局配置文件,将HISTIMEFORMAT="%Y-%M-%D %H:%M:%S:" 添加至配置文件
#history中设置显示命令的执行时间
HISTTIMEFORMAT="%Y-%M-%D %H:%M:%S:"
export HISTTIMEFORMAT
#设置历史命令记录数
export HISTSIZE=10000
#记录历史文件大小
export HISFILESIZE=4500
#不同终端执行的命令都存储在一个文件中
export HISTCONTROL=/root/.commandline_warrior
#忽略重复命令
export HISTCONTROL=ignoredups
#多个终端同时操作时,避免命令覆盖,采用追加方式
shopt -s histappend
#命令操作记录实时保存
PROMPT_COMMAND=`history -a`
保存退出
source /etc/bashrc

4.总结linux的哲学思想

  • 一切皆文件,可以理解linux下所有的资源都可以抽象成为文件,这里面包含硬件设备,通信接口等,这样可以设计统一的访问控制操作,比如对文件的操作只有open(), read(), write(), close(), delete(), create())接口,提高内核源码的精简及操作易用性。
  • 由众多的单一功能的程序组成,某个程序只完成单一功能,配合其它程序共同完成复杂的任务
  • 避免交互式操作,使任务自动化成为可能,可利用脚本等实现自动化任务
  • 所有的配置信息均使用文件文本信息保存,使得程序更具有丰富的特性功能表现
  • 提供机制,而非策略,机制就是”提供什么功能“,策略就是“实现什么功能”,再基于linux开源的思想,为设计者提供了广阔的空间使其更好的实现它。

5.总结linux常用命令使用格式,并用实例说明。例如echo、screen、date、ifconfig、export等命令

Linux的命令格式一般都采用如下格式,可以借助man或这- -help 这样的帮助指令可以查看到某个命令的具体用法

命令....选项....参数即COMMAND+[选项]+[参数]这样的格式,

echo的命令用法

man echo    #查看echo 的具体用法
   -n     do not output the trailing newline
   -e     enable interpretation of backslash escapes
   -E     disable interpretation of backslash escapes (default)
   --help display this help and exit
   --version
          output version information and exit
   If -e is in effect, the following sequences are recognized:
   \\     backslash
   \a     alert (BEL)
   \b     backspace
   \c     produce no further output
   \e     escape
   \f     form feed
   \n     new line
   \r     carriage return
   \t     horizontal tab
   \v     vertical tab
   \0NNN  byte with octal value NNN (1 to 3 digits)
   \xHH   byte with hexadecimal value HH (1 to 2 digits)

使用echo输出命令替换后的内容使,格式可能往往发生了变化,如果我们在脚本中想要打印某个指令的原格式输出信息的时候,可能会采用第二种方式。(加引号字符串保留原格式输出,不加双引号字符串的单词作为字符输出)

[root@nn ~]# echo `ip addr`
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:0c:29:be:84:75 brd ff:ff:ff:ff:ff:ff inet 10.0.0.10/24 brd 10.0.0.255 scope global noprefixroute eth0 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:febe:8475/64 scope link valid_lft forever preferred_lft forever
[root@nn ~]# echo "`ip addr`"
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:be:84:75 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.10/24 brd 10.0.0.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:febe:8475/64 scope link 
       valid_lft forever preferred_lft forever

-n 不换行输出

[root@nn ~]# echo 123
123
[root@nn ~]# echo -n 123
123[root@nn ~]# 

-e #启用反斜杠转义的解释

[root@nn ~]# echo -e "1\t2\t3\n4\t5\t6"
1   2   3
4   5   6

screen的命令用法

man screen
NAME
       screen - screen manager with VT100/ANSI terminal emulation

SYNOPSIS
       screen [ -options ] [ cmd [ args ] ]
       screen -r [[pid.]tty[.host]]
       screen -r sessionowner/[[pid.]tty[.host]]
.......

相关文章

网友评论

      本文标题:第一周:Linux初体验之基础知识

      本文链接:https://www.haomeiwen.com/subject/fhymiktx.html