Linux系统的介绍及如何获取帮助?(学习笔记)

第一、Linux 基础

  CPU架构:

     x86

     x64 (amd64)

     m68000,m68k

     arm

     ultrasparc

     Power;PowerPC(aix) (IBM公司设计RISC的CPU)

     MIPS,ARM(多用在网关,机顶盒,便捷式设备的处理)

     alpha (HP公司的)

    POSIX:(Portable Operating System Interface)

    window和linux都遵循POSIX ,俗称的API

   硬件–> 驱动—>  kernel –》操作系统(API(SysCall,LibCall))    

   blob.png

       硬件部分

   blob.png

  Unix-like 开源协定:

     GPL:General Public License (强制开源)

     copyright,copyleft

     LGPL:lesser GPL (稍微)

     GPLv2,GPLv3

     FSF:Free

     BSD:

     Apache :只要不以原作者名义商业化,都可以不开源,商业用途

     ASF:Apache Software Foundation

     双线授权:

     Community : 遵循开源协定

     商业授权:

     Enterprise(企业版) (针对企业提供付费服务,维护)

     程序管理:

  相关开源协议的介绍

    http://www.awflasher.com/blog/archives/939


    https://www.oschina.net/question/54100_9455


  程序的组成部分:

     二进制程序(就是主程序)

     配置文件(定制化配置,以方便特定运行服务)

     库文件(为二次开发提供的接口)

     帮助文件:(使用说明)

  程序包管理器:

     1,程序的组成文件打包成一个或者几个有限文件

     2,安装:

     3,卸载

     4,查询

  各种系统安装包管理器

     Debian :dpkg,apt-get

     RedHat: rpm ,yum,dnf(yum升级版)

     S.u.S.E: rpm,zypper

     ArchLinux: port

     Gentoo: 边编译边安装

     LFS: Linux From Scratch (完完全全显示了系统编译-创建的过程)

     Kali:

    硬件资源的复用创建出了虚拟机

     CPU的复用:时序

     内存的复用:空间切片

     硬盘的复用:空间

     I/O的复用:时序

     网卡的复用 :时序

     ps:目前主流的虚拟化软件:vmware workstations;virtualbox 

  终端(terminal)用户界面

     gui:graphic user interface

     gnome ked 

     cli:command line interface

     bash ,ksh ,csh,

 终端分类、操作和切换:

    物理终端:控制台,console

    虚拟终端:6个 称为:tty

    ctrl+alt+F[1-6]

    图案终端:

    CentOS 6 

    Ctrl+Alt+F7

    CentOS 7 

    在相应的虚拟终端上启动

    串行终端:ttyS

    伪终端:pty

     远程连接:

     ssh协议:secure shell

     命令:ss -tnl

     查看系统是否监听于tcp协议的22号端口

     ]# ip addr list

     ]# ifconfig

    如果是远程安装的,需要远程连接,确保关闭防火墙

    ]# iptables -L -n # 查看防火墙是否关闭

    关闭防火墙

    CentOS 7 :

    ~]# systemctl disable firewalld.service

    ~]# systemctl stop firewalld.service

    

    CentOS 6:

    ~]# service iptables stop

    ~]# chkconfig iptables off

第二、Linux 重要思想:

  1,一切皆文件(硬件设备都是文件表示)

     物理终端:/dev/console

     虚拟终端:/dev/tty#[1-6]

     串行终端:/dev/ttyS#

     伪终端:/dev/pts/#

  2,有众多功能单一的程序组成:一个程序只做一件事,组合小程序完成复杂任务

  3,尽量避免跟用户交互

     目标:易于以编程的方式实现自动化

  4,使用文本文件保存配置信息

  CLI接口

     命令行[smile@www ~]#  

     prompt(提示符的解释) 相关环境变量是PS1

     #,管理员,$普通用户

     建议用非管理员用户登录,安全操作起见 执行管理操作,临时切换就行

  几个基础命令:

     tty:查看当前终端设备

     ifconfig或者ip addr list:查看活动接口的ip地址

     echo:回显

     ping 探测网络的目标地址和当前的主机之间的连通性

    

    关机命令:

     CentOS 7 

     ~]# systemctl poweroff

     ~]# systemctl reboot ; 重启

     

stallman: 

自由含义:自由学习和修改,自由使用;自由分发,自由创建衍生版

思考:文件是什么?众多文件如何组织起来?


     目录:路径映射

     文件:存储空间存储的一段流式数据,对数据可以做到按名存取

    文件系统:层级结构

     /: 原初节点,倒置树状结构

     文件路径表示: 相对路径(从当前位置出发)和绝对路径(从根位置出发)

     文件名使用法则:

     严格区分字符大小写;目录也是文件,同一个目录下,两个文件不能同名

     支持使用除“/"以外的任意字符

     最长不能超过255个字符

     basename:最右侧的文件或者目录名

     dirname:basename左侧的路径

    程序的组成部分:二进制程序文件,库文件,配置文件,帮助文件

     前两者一般都是二进制文件,后两个是文本文件

     库文件:不能独立执行,只能被调用时执行

     命令存放的目录:/sbin, /bin, /usr/bin, /usr/sbin, /usr/local/bin,/usr/loacl/sbin

    库文件: /lib,/lib64,/usr/lib,usr/lib64

   注意:并非所有的命令都有一个在某个目录里有一个对应的可执行文件


  命令可两类:

     shell自带的命令, 内置命令(builtin)

     独立的可执行程序文件,文件名即命令:外部命令

    命令语法的基本格式

     Command OPTIONS ARGUMENTS

    shell 程序是独特的程序,负责解析用户提供的命令

     环境变量: eg:HOME,PATH

     查看命令的类型:

     type COMMAND 

     OPTIONS: 指定命令运行的特性

     注意:1,有些命令的选项没有-,多个选项可以合并;2,–help,这种长选项不能合并;3,有些选项可以带参数,此称为选项参数

     ARGUMENTS:命令的作用对象,命令对什么生效

第三、如何获取帮助?

    

     内部命令:help COMMAND

     外部命令:使用手册 manual (man COMMAND)

     手册所在目录:/usr/share/man

     SECTION:

     NAME:功能性说明

     SYNOPSIS: 语法格式

     DESCRIPTION:描述

     OPTIONS:选项

     EXAMPLES:使用案例

     AUTHOR:作者

     BUGS:报告程序的BUG方式

     SEE ALSO:参考

    

     SYNOPSIS:

     []:可选内容

     <>:必须提供的内容

     a|b|c: 多选一

     ….同类内容可出现多个

    

  使用手册:压缩格式的文件,并有章节之分

     /usr/share/man1,man2,man3

     1,用户命令

     2,系统调用

     3,C库调用

     4,设备文件及特殊文件

     5,文件格式 (配置文件格式)

     6,游戏使用帮助

     7,杂项

     8,管理工具及守护进程

     查看命令有哪些章节

     whatis COMMAND,有依赖数据库: makewhatis(手动更新数据库)

  操作man手册的阅读方式

     空格:向文件尾部翻一屏

     b键:向文件首部翻一屏

     ctrl+d:向文件尾部翻半屏

     ctrl+u:

     回车键:向文件尾部翻一行

     k:向文件首部翻一行

     G:直到最后一行

     1G:直到文件首行

     #G:直到指定行

    -M 选项 : 到指定目录下面查找命令手册并打开

  info COMMAND: 获取在线帮助文档

    README:程序相关信息

    INSTALL:安装帮助

    CHANGES;版本更改信息

  google搜索:

     keyword filetype:pdf

     keyword site:domain.tld

第四、Linux文件系统


     1,文件名严格区分大小写

     2,文件名可以使用除/以外的任意字符

     3,文件名长度不能超过255字符

     4,以.开头的文件是隐藏文件

     .是当前目录

     ..是上一级目录

  常用命令:

     pwd:printing working directory (显示路径

     cd:change directory 改变目录(就是改变路径

     直接cd或者cd~ 直接到家目录

     在bash中,~表示家目录

     cd ~USERHOME 切换到USERHOME的家目录

     cd – 和上一级来回切换

    

     $PWD:当前工作目录

     $OLDPWD:前次的工作目录

  ls:list 列出指定目录下的内容

     -a: 显示所有文件(包含隐藏文件

     -A:显示除.和..之外的所有文件

     -l:–long 显示出详细信息

     -h,–human-readable 对文件大小单位换算,换算大小可能不是非常精确

     -d,查看目录本身,不是目录内部内容

     -r:逆序显示

     -R:递归显示

    

  cat:catenate 查看文本文件 

     -n :显示行号

     -E:显示行结束符

     tac:反过来显示文本文件命令,和cat对比

    

     file :determin file type 确定文件类型

     查看文件类型

    

  echo :回显

     -n:不换行

     -e:执行转义字符

    

  单引号和双引号的区别

     单引号:强引用,变量引用不能被替换

     eg:'$SHELL' 还是$SHELL

     双引号:弱引用,变量引用能被替换

     eg:'$SHELL' 是SHELL

  shutdown :halt ,power-off,reboot

     OPTIONS:

     -h:halt

     -r:reboot

     -c:cancel

     TIME:

     now

     hh:mm

    

     wall: 向所有终端发出信息

  日期相关的命令

     Linux:系统启动时从硬件读取时间和日期:读取完以后,就不在与硬件相关

     还有就是和服务器时间同步时间

     系统时钟和硬件时钟

     date: 查看系统时钟

     显示日期:date [OPTION][+FORMART]

     %s:从1970年1月1日(Unix元年)0分0秒到现在所经过的秒数

     设置日期:date [MMDDhhmm[[CC]YY][.ss]]

     clock: 显示和设置硬件时钟

     -s: –hctosys 以硬件为准,同步系统时间

     -w: –sysyshc: 以系统为准,同步硬件时钟

    

     hwclock和clock同一个命令

    

     cal :查看日历

原创文章,作者:不忘初衷,如若转载,请注明出处:http://www.178linux.com/63341

(1)
不忘初衷不忘初衷
上一篇 2016-12-12
下一篇 2016-12-12

相关推荐

  • LVS –负载均衡基础

    一 负载均衡的五种解决方案 1 http重定向 HTTP重定向就是应用层的请求转发。用户的请求其实已经到了http重定向负载均衡服务器,服务器根据算法要求用户重定向,用户收到重定向请求后,再次请求真正的集群。 优点:简单 缺点:性能较差 2 DNS域名解析负载均衡 DNS域名解析负载均衡就是在用户请求DNS服务器,获取域名对应的IP地址时,DNS根据服务器直…

    Linux干货 2017-06-22
  • bash编程尾声

    数组 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间,相当于多个变量的集合。 数组名和索引     索引:编号从0开始,属于数值索引     注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引, bash4.0版本之后开始支持。  &nb…

    Linux干货 2016-08-25
  • KVM虚拟化平台部署及管理

    前言 KVM即Kernel Virtual Machine,最初是由以色列公司Qumranet开发。2007年2月被导入Linux 2.6.20核心中,成为内核源代码的一部分。2008年9月4日,Redhat收购了Qumranet,至此Redhat拥有了自己的虚拟化解决方案,之后便舍弃Xen开始全面扶持KVM,从RHEL6开始KVM便被默认内置于内核中。本文…

    Linux干货 2015-07-19
  • 进入linux世界的初步认识

    1、 描述计算机的组成及其功能.
    2、 按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别.
    3、 描述Linux的哲学思想,并按照自己的理解对其进行解释性描述.
    4、 说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述.
    5、 如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的.
    6、 请罗列Linux发行版的基础目录名称命名法则及功用规定.

    Linux干货 2018-02-25
  • N–25期 第九周作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash declare -i sumlogin=0 declare -i sumnologin=0 for i …

    Linux干货 2017-03-07
  • UID SGID与chmod 777的一些问题

    先来看问题 问题来了:echo的行为返回是对的还是vi是对的? 现场分析: vi 和 echo 都被设置为SGID权限。 abc文件所在的父目录权限是777 echo无法写abc文件,而vi是可以的 当时被问到这个问题时,我也是一征,怎么会这样。加之SUID,SGID在企业应用很少,如此这么久早忘了一干二净,只是赶紧去补课~,但经过30MIN后依然没有找到问…

    Linux干货 2016-08-08