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 02:45
下一篇 2016-12-12 10:47

相关推荐

  • linux基础操作-week6

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; # cp /etc/rc.d/rc.sysinit /tmp #vim /tmp/rc.sysinit 末行模式: :%s@^[[:space:]]\{1,\}@#&@g 匹配分析:  &nbs…

    Linux干货 2016-11-28
  • rsync+inotify实现实时同步案例

    随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐渐暴露出了很多不足,首先,rsync同步数据时,需要扫描所有文件后进行比对,进行差量传输。如果文件数量达到了百万甚至千万量级,扫描所有文件将是非常耗时的。而且正在发生变化的往往是其中很少的一部分,这是非常低效的方式。其次,rsync不能实时的去监测、同步数据,…

    Linux干货 2016-10-30
  • 简述Linux那些年–发展史

    Linux发展史 作者:任飞鹏          日期:2016-10-13 Linux简介: Linux同Windows一样,都是一套OS(操作系统)。Linux是一套开源的类Unix操作系统,可以免费使用和自由传播。是一个基于POSIX和UNIX的多用户、多任务、支…

    Linux干货 2016-10-19
  • FHS文件系统下个各目录功能

    FHS文件系统下个各目录功能 FHS文件系统的建立是为了让开发者和用户可以预测软件安装文件和文件夹的位置。对整个linux的文件系统系统做了以下的规范:     /bin:命令二进制文件的存放目录;     /boot:系统启动时一些文件存放的目录,包含引导linux的重要文件,…

    Linux干货 2016-10-18
  • Nginx专题: 从编译安装到URL重写

    Nginx专题: 从编译安装到URL重写 前言 环境介绍 Nginx介绍 编译安装Nginx 配置文件解释 main和event{}的配置 http{}的基本配置 配置Nginx 搭建一个基本的Nginx Web服务器 实现https 创建CA并签署Nginx证书 修改配置文件 测试https 实现URL Rewrite将不同浏览器的请求响应不同页面 URL…

    Linux干货 2016-04-04
  • Jumpserver 3.0 全新改版 更轻、更快、更便捷

               Jumpserver Wiki                       &…

    系统运维 2016-01-05