Linux(一)基础入门及基础命令

一、计算机操作系统及组成

  • CPU(Central Processing Unit):运算器、控制器、寄存器、缓存;
  • 存储器:内存、RAM
    • RAM(Random Access Memory):随机存储,掉电不会保存数据
    • 内存速度要远远大于硬盘的读写速度
  • Input:输入指令,提供数据;
  • Output:输出指令,数据加工的结果;
1.1 程序

组成:指令 + 数据(算法 + 数据结构)
最小存储单元:1字节(1Byte)= 8bits (1个Cell)
1GB = 1024MB; 1MB = 1024KB; 1KB = 1024Bytes;
内存中的每一个存储单元都有地址;
数据 和 内存 都存在内存中

解释:32位CPU最多使用4GB内存原因:
232=1024 * 1024 * 1024 * 4 Byte
= 1024 * 1024 * 4 KB
= 1024 * 4 MB
= 4 GB

二、Linux三大发行版本

linux遵循GPL协议发展至今,发行版数量种类众多,其中最主要的三大发行版:Debian系列、Slackware系列、Redhat系列

  • Debian:ubuntu
  • Slackware:S.u.S.E
  • redHat:centOS、Fedora
    具体详细的发行版的演化可访问:Linux发行时间表 进行查看

解释:

  • GPL(General Public License):强开源约束授权
    GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。
    这也就是为什么我们能用免费的各种linux,包括商业公司的linux和linux上各种各样的由个人,组织,以及商业软件公司开发的免费软件了。
  • BSD(Berkeley Software Distribution):
    对于使用了BSD协议的代码:
    1.如果在发布的代码中有源代码,则需要在源代码中带有BSD协议
    2.如果发布的是二进制库,则需在类库和版权说明中包含原来代码中的BSD协议
    3.不可以用原开源代码的作者或者机构做市场推广
  • Apache2.0
    1.需要给代码的用户一份Apache Licence
    2.如果你修改了代码,需要再被修改的文件中说明。
    3.在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。
    4.如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。

三、Linux基础及基础命令

3.1 远程连接
  • ssh(secure shell):
    • ~]# ss -tnl :查看系统是否监听于tcp协议的22号端口
3.2 确保防火墙处于关闭状态
  • ~]# iptables -L -n :查看当前防火墙状态
  • ~]# iptables -F :清空当前防火请设置(关机不保存)
    • centOS7:
      • ~]# systemctl disable firewalld.service 禁用防火墙
      • ~]# systemctl stop firewalld.service 停止防火墙
    • centOS6:
      • ~]# service iptables stop 禁用
      • ~]# chkconfig iptables off 停止
3.3 Linux终端类型

概念:终端是一种字符型设备,分为多种类型,简称:tty

  • 物理终端:console
  • 虚拟终端(tty):
  • 伪终端(pty):使用远程telnel到主机
  • 串行终端(/dev/ttySn):使用计算机串行端口连接的终端设备
  • 图形终端
3.4 命令行接口

[root@node1 ~]# COMMAND

  • root:当前登录用户
  • node1:当前主机的主机名,完整格式:node1.root.com
  • ~:当前用户所在目录,也称为工作目录:相对路径
  • #:命令提示符
    • #:管理员,root;拥有最高权限,能执行所有操作
    • $:普通用户,非root用户;不具有管理权限,不能执行系统管理类操作

注意:请使用非管理员账户登录,执行管理操作临时切换管理员账号,操作完及时退回普通用户

3.5 关机命令

centOS7:

  • ~]# systemctl poweroff 关机
  • ~]# systemctl reboot 重启
    其他:
  • ~]# poweroff 关机
  • ~]# reboot 重启
3.6 查看ip命令
  • ~]# ifconfig
    在这里插入图片描述
  • ~]# ip addr list
    在这里插入图片描述
3.7 linux的哲学思想
  1. 一切皆文件:把几乎所有资源 统统抽象为文件格式;包括硬件设备,甚至通信接口等;

    open(). read(). write(). close(). delete(). create()

  2. 由众多功能单一的程序组成;一个程序只做一件事,并且做好;

    组合小程序完成复杂任务

  3. 尽量避免跟用户交互;

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

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

3.8 命令的通用格式

~]# COMMAND OPTIONS ARGUMENTS

  • COMMAND:命令(程序–>进程,静态–>动态(有生命周期))请求内核将某个二进制程序运行为一个进程
    • 命令本身是一个可执行的程序文件:二进制格式的文件,有可能会调用共享库文件;多数程序文件都存放在:
      • 普通命令:/bin /usr/bin /usr/local/bin
      • 执行命令:/sbin /usr/sbin /usr/local/sbin
    • 共享库:/lib /lib64 /usr/lib64 /usr/local/lib /usr/local/lib64
      • 32bits的库:/lib /usr/lib /usr/local/lib
      • 64bits的库:/lib64 /usr/lib64 /usr/local/lib64
    • 并非所有命令都有一个在某目录与之对应的可执行程序文件
    • 命令必须遵循特定格式规范:exe、msi、ELF(Linux)
    • 命令分类(两大类)
      • 由shell程序自带的命令:内置命令(builtin)
      • 独立的可执行程序文件,文件名即为命令名(外部命令)
    • shell程序是独特的程序,负责解析用户提供的命令
      • 环境变量:PATH:从哪些路径中查找用户键入的命令字符串所对应的命令文件
        • ~]# echo $PATH
        • 查找次序:自左至右
    • 查看命令类型
      • ~]# type COMMAND
  • OPTIONS:选项 指定命令的运行特性
    • 有些选项可以带参数,叫选项参数
    • 两种表现形式
      • 短选项:-C, 例如-r -n
      • 注意:
        • 有些命令没有前面的-
        • 如果同一命令同时使用多个短选项,多数可合并,例如:-d -l可写为 -dl
      • 长选项:–word, 例如:–help,–human-readable
      • 注意:
        • 长选项不能合并
  • ARGUMENTS:参数 命令作用的对象
    • 注意:不同的命令的参数不同;有些命令可同时代多个参数,多个之间以空白字符分割

解释:文件是什么?众多文件如何有效组织起来?
答:目录:路径映射; 文件:存储空间上的一段数据流,对数据可以做到按名存取; 文件系统:等次结构
/:原初起点
倒置的树状结构

  • /dev/pts/2
    - 最左侧 / :表示根目录
    - 其他的 / :表示路径分隔符
    - linux的分割路径是 / ,windows的是 \
  • 文件的路径表示
    - 绝对路径:从根目录开始表示的路径
    - 相对路径:从当前位置开始表示的路径
  • 文件名的使用规则
    - 严格区分字符大小写:file1,File1,FILE1
    - 目录也是文件,在同一路径下,两个文件不能同名
    - 支持使用除 / 外的任意字符
    - 最长不超过255个字符
  • 用户的家目录:home
    - 用户的起始目录:普通用户管理文件的位置;
  • 工作目录:/etc/sysconfig/network-scripts/ifcfg-eno12344422
    - basename:最右侧的文件或目录名
    - dirname:basename左侧的路径
3.9 获得命令的使用帮助
  • 内部命令:help COMMAND
  • 外部命令:
    • 命令自带简要格式的使用帮助 COMMAND --help
    • 使用手册:manual
      • 1 位置:/usr/share/man
      • 2 ~]# man COMMAND
        • SECTION:
          • NAME:功能性说明
          • SYNOPSIS:语法格式
          • DESCRIPTION:描述
          • OPTIONS:选项
          • EXAMPLES:使用示例
          • AUTHOR:作者
          • BUGS:报告程序bug的方式
          • SEE ALSO:参考
        • SYNOPSIS
          • []:可选内容
          • <>:必须提供的内容
          • a|b:多选一
          • …:同类内容可出现多个
      • 3 使用手册:压缩格式的文件,有章节之分
        • /usr/share/man
          man1:用户命令
          man2:系统调用
          man3:C库调用
          man4:设备文件及特殊文件
          man5:文件格式(配置文件格式)
          man6:游戏使用帮助
          man7:杂项
          man8:管理工具及守护进程
      • 4 ~]# man CHAPTER COMMAND
        • 注意:并非每个COMMAND在所有章节下都有手册
        • 查看:~]# whatis COMMAND
          其执行过程是查询数据库进行的
          手动更新数据库:~]# makewhatis
      • 5 man命令打开手册以后的操作方法
        • 翻屏:
          SPACE:向文件尾部翻一屏幕
          b:向文件首部翻一屏幕
          ctrl+d:向文件尾部翻半屏幕
          ctrl+u:向文件首部翻一屏幕
          ENTER:向文件尾部翻一行
          k:向文件首部翻一行
          G:跳转到最后一行
          n+G:跳转至指定行 n:数字
        • 文本搜索:
          • /keyword 从文件首部向尾部依次查找;不区分字符大小
          • ?keyword 从文件尾部向首部依次查找
            • n:与查找命令方向相同
            • N:与查找命令方向相反
        • 退出:~]# q
      • 6 选项:-M /PATH/TO/SOMEDIR:到指定目录下查找命令手册并打开之;
    • info COMMAND:获取命令的在线文档
    • 很多应用程序会自带帮助文档:/usr/share/doc/APP-VERSION
      • README:程序的相关信息
      • INSTALL:安装帮助
      • CHANGES:版本迭代时的改动信息
    • 官方文档
    • 搜索引擎
3.10 linux的常用基础命令
  • pwd(print working directory):显示工作目录
  • cd (change directory)
    • ~]# cd ~:切换回自己家目录
    • ~]# cd ~USERNAME:切换回指定用户的家目录
    • ~]# cd -:在上一个所在目录与当前目录间来回切换
      • $PWD:当前工作目录
      • $OLDPWD:上一次工作目录
  • ls (list ):ls [OPTION]…[FILE]…列出指定目录下的内容
    • ~]# ls -a :显示多有文件,包括隐藏文件
    • ~]# ls -A :显示除了. 和 … 外的所有文件
    • ~]# ls -l :–long,长格式系列,显示文件的详细信息
      • dr-xr-xr-x 5 root root 4096 2月 25 09:15 boot
        • d:文件类型:- d b c l s p
        • r-xr-xr-x:
          • 左:r-x 文件属主的权限
          • 中:r-x 文件属组的权限
          • 右:r-x 其他用户(非属主、数组)的权限
        • 5:表示文件被硬链接的次数
        • root:文件的属主
        • root:文件的数组
        • 4096:文件大小,单位:字节(Byte)
        • 2月 25 09:15:文件最近一次被修改的时间
        • boot:文件名
    • ~]# ls -h:–human-readable:对文件大小单位换算,换算后的值会非精确值
    • ~]# ls -d:查看目录自身而非其内部的文件列表
    • ~]# ls -r:逆序排列
    • ~]# ls -R:recursive 递归显示
  • cat:concatnate,文件文本查看工具
    • cat后接上多个文件,表示连接
    • cat -n FILE :给文本编号
    • cat -E FILE :显示行结束符
  • tac:文件文本查看工具
    • 文件内容逆序排列
  • file:查看文件内容类型
  • echo:回显命令,echo [SHORT-OPTION]…[STRING]…
    • echo -n:不进行换行
    • echo -e:让转义符生效
    • STRING 可以使用引号,单引号和双引号
      • 单引号:强引用,不替换变量
      • 双引号:弱引用,替换变量
      • 注意:变量引用的正规符号${name}
    • shutdown:关机并重启 shutdown [OPTIONS…] [TIME] [WALL…]
      • OPTIONS
        • -h:halt
        • -r:reboot
        • -c:cancel
      • TIME
        • now
        • hh:mm
        • +m
      • WALL
  • 日期相关命令
    • linux:系统启动时从硬件读取日期和时间信息;读取完成后,就不在与硬件相关联
    • date
      • date [OPTION]… [+FORMAT] 显示日期时间
      • date [-u|–utc|–universal] [MMDDhhmm[[CC]YY][.ss]] 设置日期时间
    • clock
    • hwclock
    • cal

协议

参考链接

https://blog.csdn.net/xiaoxiao133/article/details/83049959
https://wenku.baidu.com/view/70df4f7402768e9951e738dc.html
https://zhuanlan.zhihu.com/p/87855729

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值