Linux入门(二)

Linux常用的基础命令

1.发行版本

2.CISC、RISC

3.编译和反编译(GPL、LGPL、BSD)

4.程序包管理

5.文件系统初步

终端设备

虚拟终端

图形终端

串行终端

伪终端

Linux的哲学思想

6.开源协议GPL、LGPL、BSD、Apache

7.获取命令的帮助

help内建命令

man命令

info在线帮助文档

官方文档

搜索引擎

8.google的高级用法

Linux常用的基础命令

1.发行版本:

linux主要发行版:

debian:ubuntu,knopix

slackware:suse,opensuse

redhat:RHEL,fedora桌面版,centos

GNU/Linux ,GNU提供各种应用,

通常以源代码(文本)方式提供:

自由、灵活

编译器:源代码--->二进制

Unix主要发行版:

HP:HPUX

MAC OS

IBM:AIX

Linux基础:指令集是不同的

2.cpu架构

//主要分为CISC,RISC

CISC:{复杂指令集计算机}就是复杂指令集计算机,目前专指x86和x86_64两类

RISC:{精简指令集计算机}

X86-64:又叫AMD64,他的Intel版本叫做EM64T

现在基本上都是RISC,但是能够接受CISC的复杂指令,也就是说这两个趋于融合

x86 :

x64(amd64) :兼容x86

m6800,m68k:另外一种,机器的语言,

ultraparc ,solaris

arm:移动终端设备,最常用的CPU,设计上的,例如高通,华为,三星的

power //IBM的CPU,性能非常强悍,价格也非常高

powerpc //简装版的power

现在是可以在intel的cpu上安装mac的,早期的mac使用的是power

HP:alpha,hp-ux

交叉编译cross compile:告诉编译器,程序编译的时候,编译到另外一个平台

例如在x86的平台上,编写的软件,编译成在power上运行的软件

-----------------

|程序员

-----------------

| 库   |        | //库调用,把一些通用的system call封装

-----------------

|   kernel      | //system call

-----------------

{powerpc,x86,arm}

//但是不同的OS,使用的库是不同的,例如windows和linux的库是不同的

//posix:portable 可移植的 system interface,规范了API

//API:应用程序接口,程序员的编程接口,除非遵循了posix才是兼容来的

//ABI:应用二进制接口,

例如nginx在linux上编译,可以在linux上运行,在windows上编译,可以在win上运行 //因为都遵循posix

但是一旦编译完成后,就不兼容了

ABI 允许编译好的目标代码在使用兼容ABI的系统中,无需改动就能运行。

//编译好后,可以直接在遵循该api的其他的平台上运行

API 同样的代码可以在支持这个API的任何系统中编译,

//例如nginx可以在windows中编译,也可以在linux中编译

Unix类的系统:

Linux,BSD,AIX,......Unix-like

Unix类的系统;

API://这一类的系统,在一个系统上编译好的,也可以在另外一个系统上运行

ABI:

3.编译和反编译:

闭源:windows,不给你源代码,也不会让你轻易反编译成功(加壳,加密)

开源:提供源代码,//中间提供了漏洞,我是不保证的,

//你可以买我的服务,我保证你的。

//提供开源软件的人的收入:{提供该软件的服务支持,捐赠}

//很多大型公司,不必自己建立一个开发团队,捐赠来支持,作者的后续努力

GPL:general public license

只要遵循GPL协定,那么他的版权属于GPL

任何其他人,只要参考了GPL程序,就必须遵循GPL协定,必须开源和免费

copyright,copyleft使用

linux的内核是支持GPL协定的

//这样反而阻碍了GPL的发展

LGPL:lesser GPL更少要求的GPL协定

//调用我的库接口的话,可以不开源

//GPLv2,GPLv3

FSF:free software foundation基金会负责

BSD:

Apache://这两个都差不多

在做商业宣传的时候,只要不以原作者的名义做宣传就可以

ASF:apache software foundation基金会

双线授权:

社区版:遵循开源协议,GPL或者BSD

商业授权:商业版本,不开源

4.程序包管理:

程序的组成部分:

二进制程序

配置文件

库文件

帮助文件

程序包管理器:

x:

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

安装:把文件放到指定位置,

卸载:

//程序包管理器,是记录了安装的程序,以及生成的文件的所在地

debian:dpkg包管理器,apt-get

Redhat:RPM包管理器,yum,rpm//新版本叫做dnf

suse:rpm包管理,zypper前端工具

archlinux:port包管理

有专门的包转换工具,但是一般作者都会提供两种格式的包

Gentoo:安装很难,很多需要编译的

LFS:linux from scratch//从零构建linux

一本书,编译安装指南,拼凑成一个发行版本

//每一个程序运行的时候,都需要独占硬件,后来为了让多个程序同时运行

//把计算机的各种资源切割了,

CPU复用:按照时序,时间片

内存:空间切割复用

硬盘:空间复用

IO:时序复用

//从这个角度来说,OS其实就是一个虚拟机

虚拟化软件程序:

vmware workstation:

virtualbox:SUN公司的

miscrosoft:Hyper-V

使用cobbler安装linux //教师内部网络

CD/DVD使用物理驱动器:自动检测

只要网卡设置为桥接网卡,会自动连接cobbler

全程自动安装:

root:mageedu

终端:terminal

centos7使用

localectl set-locale LANG=zh_CN.utf8=zh_CN.gb2312

locale //查看字符集

使用cobbler实现linux自动安装:

http://blog.csdn.net/liangliangdetianxia/article/details/37605787

http://www.osyunwei.com/archives/7606.html

5.文件系统初步

硬盘大小:120G以上

网卡:桥接

vmware :编辑-->虚拟网络编辑器-->编辑需要桥接的网卡

终端:terminal

用户界面:

GUI:GNome KDE

bash,zsh,csh,tcsh,ksh

ssh协议:secure shell:

ss -tnl

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

ip addr list

ifconfig //查看ip地址

1.启动或者关闭防火墙:

centos7 :

systemctl stop/start   firewalld.service

systemctl disable/enable  firewalld.service

centos6:

service iptables stop/start

chkconfig iptables on/off

iptables -F

2.查看自己的shell

echo $SHELL

3.终端设备:

多任务,多用户

物理终端:控制台,console//只在系统启动的时候用

//当系统启动之后,就会虚拟出多个虚拟终端

虚拟终端:tty,pts{xshell使用,图形界面右键terminal} //默认驱动6个虚拟终端

ctrl+alt+f{1,2,,,6}

图形终端://可以启动多个

Centos 6:

ctrl+ALT+F7 //图形终端

centos 7:

在哪个虚拟终端启动,即位于哪个虚拟终端

串行终端{ttys}:

伪终端{pty}:例如通过ssh,telnet连接近来的

桌面右键:Konsole也是伪终端

4.linux的哲学思想之一:一切皆文件

表现之一:硬件设备也通过文件表示

物理终端:/dev/console

虚拟终端:/dev/tty{1-6}

图形终端:tty7

串行终端:/dev/ttyS#

伪终端:/dev/pts/#{xshell,右键}   //#代表一个数字

tty //查看自己使用的tty

注意:在启动设备之后,在其上关联一个用户接口程序

即可实现与用户交互

启动GUI:startx

-------------

|1|2|3|....   //应用程序,其中shell是必须的

-----------

|库       |     //有的程序,不调用库,直接交互内核

----------------|

|内核           |

----------------|

|硬件           |

-----------------

//用户通过shell去管理其他程序

shell{库{内核{硬件}}}

5.[[email protected] ~]#   //prompt:提示符

~ 用户家目录 //工作{current,working}目录

root 主机名

MT  主机名

# 管理员

$ 普通用户

建议使用非管理账号登录,然后切换

echo $PS1 //查看命令提示符

ctrl +c //终止

//命令写完了,但是不想执行该命令,也可以使用ctrl+C

6.常见命令

systemtl poweroff //CentOS 7的命令

poweroff //断电

systemctl reboot

reboot

shutdown

halt

自由:

自由学习和修改:自由使用:自由分发:自由创建延伸板

debian之后又ubuntu,RHEL之后有CentOS,但是无能为力因为GPL

Linux的哲学思想:

1.一切皆文件

把所有的资源统统抽象为文件形式,包括硬件设备,甚至通信接口等

对文件的操作:open(),read(),write(),close(),delete(),create()

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

组合小程序,完成复杂任务

3.尽量避免和用户交互

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

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

7.文件是什么,众多文件如何有效组织起来

目录:路径映射

文件:磁盘上的一段数据流 对数据可以做到按名存取 //右边界

文件系统:由目录映射的各种路径,是一种层级结构,有索引

/dev/pts/2  //一级一级映射的关系,所有的文件都从属于 /

/   原始起点:根目录

第二层:子目录,

第三层:

倒置的树状结构

文件系统:层级结构,有索引

/dev/pts/2

最左侧/:表示根目录

其他的/:表示路径分隔符

linux的路径分隔符 /

windows的分隔符  \

文件的路径表示:

绝对路径:从跟开始

相对路径:从当前位置开始

./当前目录

../ 父目录

pwd 查看路径

dirname 查看文件的绝对路径

basename 查看文件的名字

用户的家目录:

用户的起始目录:普通用户管理文件的位置

工作目录:随时变化

/etc/sysconfig/network-scripts/ifcfg-eno16777736

basename:ifcfg-eno16777736

dirname: /etc/sysconfig/network-scripts

小结:

1.物理终端console,图形终端tty7,伪终端pts,虚拟终端tty1-6,串行终端ttyS

2.dirname,basename

3.pwd

6.开源协议:

GPL,LGPL,BSD,Apache

代码的共产主义运动

BSD:

1.如果二次发布的产品中包含源代码,则在源代码中必须带有原来的

代码中的BSD协定

2.如果二次发布产品是二进制格式的,库或者程序,则需要在

发布的文档或者版权声明中,说明包含原来的代码中的BSD协定

3.不可以用开源代码作者或组织,以及保护的产品的名字做市场推广

文件系统、文件,目录:

倒置的树桩结构

目录:

文件:

文件名:严格区分大小写,路径分隔符 /

路径:

绝对路径:从跟开始

相对路径:从当前位置开始

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

二进制、库文件:可执行文件

//库文件,只能在被调用的时候执行。

配置文件,帮助文件:可被查看其内容的文件

人机交互界面:

GUI:

CLI:

{[email protected] workdir}#

Linux的基础知识:

命令的语法通用格式:

COMMAND OPTIONS ARGUMENTS

命令:发起一个命令,请求内核将某个二进制程序运行为一个进程

程序:-->进程

静态:-->动态(有生命周期)

命令本身是一个可执行的程序文件:二进制格式的文件,有可能会调用库文件,有可能会调用共享库文件

多数程序文件都存放在:/bin,/sbin,/usr/bin,/usr/sbin

普通命令:/bin,/usr/bin,/usr/local/bin

特权命令:/sbin,/usr/sbin,/usr/local/sbin

共享库:/lib,/lib64,/usr/{lib,lib64},/usr/local/{lib,lib64}

32bit库,64bit库

命令必须遵循特定的规范,格式规范

.exe,.si,ELF(Linux)

file /bin/ls   //查看遵循的命令格式

注意:并非所有的命令,都有一个在某目与之对应的可执行程序文件

命令分类:

由shell程序的自带的命令:内置命令(builtin)

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

1.PATH变量

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

环境变量:PATH //自左往右,找到就挺停

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

查看命令类型:

type type //查看是否为内置命令

which type //找不到路径,因为他是shell内置的命令

2.OPTIONS :指定命令的运行特性

ls -l /var/

选项的两种表现形式:

短选项:- //可以合并

例如:-l,-d

长选项:-- //不可合并

例如:--help,--human-readable

注意:有些选项可以带参数,此称为选项参数

短选项的参数:一般空格分割

长选项:一般 = 等于

如果同一命令同时使用多个短选项,多数可合并:-l,-d

ls -l -d /var

ls  -ld /var

3.arguments

命令的作用对象:

注意:不同的命令的参数,有些命令可同时带多个参数

多个之间以空白符分割

例如: ls -ld /var  /etc

7.获取命令的使用帮助(man)

内部命令:内建命令

help COMMMAND //help type

//修改LANG可以修改帮助信息

外部命令:

(1) 命令自带简要格式的帮助

COMMAND  --help //ls --help

(2) 使用手册

位置:/usr/share/man

man 命令即可

whatis  localectl //查看该文件的帮助信息

SECTION:

NAME:功能说明

SYNOPSIS:语法格式

DESCRIPTION:描述

OPTIONS:选项

EXAMPLES:使用示例

AUTHOR:作者

BUGS:报告程序bug的方式

SEE ALSO:参考

...

SYNOPSIS:语法格式

[] 可选内容

《 》 必须提供的内容//小于和大于

a|b|c  多选一

...同类内容可出现多个

{} 辅助性的标识

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

/usr/share/man

man1,man2

1:用户命令,普通用户可以运行的命令

2:系统调用,

3:C库调用

4:设备文件及特殊文件

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

6:游戏使用帮助

7:杂项

8:管理工具及守护进程

1   Executable programs or shell commands

2   System calls (functions provided by the kernel)

3   Library calls (functions within program libraries)

4   Special files (usually found in /dev)

5   File formats and conventions eg /etc/passwd

6   Games

7   Miscellaneous (including macro packages and conventions),

e.g. man(7), groff(7)

8   System administration commands (usually only for root)

9   Kernel routines [Non standard] ///内核例行公式,惯例

注意:并非每个COMMAND在所有章节下都有手册

whatis  COMMAND //查看帮助章节

whatis :是查询数据库进行的

makewhatis  //更新数据库

mandb //在centos7上更新,man数据库

5.man命令打开手册之后的操作方法

翻屏:

空格  b //一个屏幕,上下

ctrl + d 向尾部翻半屏

ctrl + u 回翻

回车 或者 j:一行

k:向上

G:最后一行

3G:跳转到指定行

文本搜索:

/keyword  向下搜索,当前位置,不区分大小写

?keyword  向上搜索,当年位置,无大小写

n :与 查找命令方向相同

N:与查找命令方向相反

man -M /PATH/TO/SOMEWHERE :到指定目录下去查看命令手册并打开之

6.info COMMAND

获取命令的在线文档

7.很多应用程序会自带帮助文档:

/usr/share/doc/APP-VERSION

README:程序的相关的信息

INSTALL:安装帮助

CHANGES:程序随着版本更新,发生的改变

8.官方文档

主流发行版官方文档

http://www.redhat.com/doc

9.程序官方的文档

官方站点上的“Document ”

Google

centos filetype:pdf //查看所有的pdf文档

10.搜索引擎:

google

zabbix site:baidu.com

zabbix  filetype:pdf

书籍的出版社:

O‘Reiley

Wrox

机械工业出版社、电子工业、人邮、清华大学、水利水电

写书要像老外一样具有责任感:

8、google的高级用法

1.centos filetype:pdf,ps,dwf, kml, kmz, doc,xls,ppt,rtf,swf,all(所有上面的文档格式)。

2.大熊猫  -百科  //空格 -排除关键词

3.大熊猫  +百科  //必须出现

4.~搜索  //类似搜索

5.国家*匹夫* //统配

6.奥运会 2014 OR 2016 //或者and,or,not

7.手机 价格2000..5000

搜索结果中会出现价格是2000元至5000元的手机相关信息

8.zabbix site:baidu.com

9.视频教程 inurl:video  //在URL中出现video

10.出国留学 intitle:美国 //在网页标题中出现

11.related:baidu.com //和百度相关的网站

小结:

1.BSD随便商用,得说是BSD的,但是不能说我的名字

2.帮助 //  whatis ls ;makedb 更新数据库

help 内建命令

--help

man COMMAND

info COMMAND //在线帮助文档

/usr/share/doc

该软件的在线帮助信息

google

3.打开手册之后的使用方法

整个屏幕:空格| b

半个屏幕:ctrl + d/u

一行:j/k

定行:#G

4.google的高级用法

aa +/-

fietype:pdf

zabbix 论文 or 设计

时间: 2024-11-09 11:03:13

Linux入门(二)的相关文章

小白Linux入门 二

CPU中有计算单元 控制单元.它通过桥接芯片与存储器进行匹配 其中北桥是高速 南桥是低速 包括IDE USB等 通过中断控制器进行相应输入设备 例如鼠标等 Unics-> unix bell实验室 这个设备版权 linux->是芬兰一个大学生开发 类Unix系统 不涉及版权

kali Linux 入门(二)

九.软件安装 1.apt install --软件名称-- -y 2.apt install packge_name----库安装 3.apt install kali-linux-all -y----安全工具安装 4.翻译软件安装:apt install goldendict 5.办公软件安装: apt install libreoffice apt install ./onlyoffice_desktopeditors_amd64.deb----本地安装包安装 http://www.only

Linux入门篇(二)——文件

这一系列的Linux入门都是本人在<鸟哥的Linux私房菜>的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解 Linux Distribution是Ubuntu而不是书本上推荐的CentOS,建议装双系统,不要使用虚拟机. 代码在github上:Linuxpractice 其他内容: Linux文件 一.Linux的文件权限与目录配置 Linux提供了多用户,多任务环境操作的实现: 文件可存取访问的身份:owner,group,other: 权限:read,write,

[转载]Ubuntu Linux 入门(二):安装 Ubuntu Linux

转载自http://terrychen.info/ubuntu-linux-beginners-guide-ubuntu-installation/ 在 Ubuntu Linux 入门(一):安装 Ubuntu Linux 前的准备工作一文中,我们已经为安装 Ubuntu Linux 做好了必要的准备,下面可以开始正式的安装过程了. 1. Wubi 安装过程 选择 Wubi 安装的朋友,请按照以下步骤安装: 使用 Virtual CloneDrive 和 Daemon Tools Lite等虚拟

linux入门基础知识及简单命令介绍

linux入门基础知识介绍 1.计算机硬件组成介绍 计算机主要由cpu(运算器.控制器),内存,I/O,外部存储等构成. cpu主要是用来对二进制数据进行运算操作,它从内存中取出数据,然后进行相应的运算操作.不能从硬盘中直接取数据. 内存从外部存储中取出数据供cpu运存.内存的最小单位是字节(byte) 备注:由于32的cpu逻辑寻址能力最大为32内存单元.因此32位cpu可以访问的最大内存空间为:4GB,算法如下: 2^32=2^10*2^10*2^10*2^2 =1024*1024*1024

Linux入门之VIM快捷使用

Linux入门之VIM快捷使用 简介: 文本编辑器,字处理器,类似nano 字符全屏编辑器,而sed 为行编辑器 来源: vi : Visual Interface vim: VI iMprpbed    (vi的增强版) 全屏编辑器,模式编辑器 vim模式: 1.编辑模式(命令模式) 2.输入模式 3.末行模式 模式转换: 1.编辑-->输出: i:在当前关标所在字符的前面,转为输入模式 a: 在当前关标所在字符的后面,转为输入模式 o: 在当前关标所在字符的下方,新建一行,并转为输入模式 I

Linux入门基础命令(四)

Linux入门基础命令(四)文件系统与目录结构: 1.文件和被组织成一个单根倒置树结构2.文件系统从根目录下开始,用"/表示"3.以.开头的文件为隐藏文件4.路径分割的 /5.文件有两类数据(元数据:metadata 数据:data)6.文件系统分层结构:LSB(Linux Standard Base)FHS:(Filesystem Hierarchy Standard)7.文件名最长255个字节8.包括路径在内文件名称最长4095个字节9.蓝色-->目录 绿色-->可执行

linux 入门教程

linux入门教程 搜索 Linux入门教程 前言 第一章 关于Linux的历史 第二章 图形界面还是命令窗口 第三章 Linux操作系统的安装 第四章 初步进入linux世界 第五章 Linux系统的远程登录 第六章 Linux文件与目录管理 第七章 Linux系统用户以及用户组管理 第八章 Linux磁盘管理 第九章 文本编辑工具vim 第十章 文档的压缩与打包 第十一章 安装RPM包或者安装源码包 第十二章 学习shell脚本之前的基础知识 第十三章 正则表达式 第十四章 SHELL 脚本

Linux入门介绍

Linux入门介绍 一.Linux 初步介绍 Linux的优点 免费的,开源的 支持多线程,多用户 安全性好 对内存和文件管理优越 系统稳定 消耗资源少 Linux的缺点 操作相对困难 一些专业软件以及游戏支持度不足 Linux的应用 网络服务器 关键任务的应用(金融数据库.大型企业网管环境) 学术机构癿高效能运算任务 手持系统(PDA.手机.导航系统) 个人办公使用 Linux的吉祥物/Logo 企鹅(英文名:Tux),由来:因为Torvalds在小时候被企鹅咬过,因此印象非常深刻 在Linu

Linux入门之磁盘管理(1)分区管理

Linux入门之磁盘管理(1)分区管理 无论是windows还是linux,目前支持的分区结构只有两种,一种是基于blos检查启动的mbr结构,另一种是基于uefi(统一扩展固件接口)的opt分区结构.当然,目前广泛的还是使用的mbr结构. linux中有很多不同的文件系统,当使用安装光盘安装的readhat类的linux系统默认一般支持的主要格式为ext类(ext2.ext3.ext4),当然这些是redhat或者centos5.6所使用的默认设备,且安装centos7时默认使用的分区格式为x