Linux的哲学思想

1;一切皆文件:

把所有组资源统统抽象为文件形式;包括硬件设备,甚至通信接口等;open( ) ;read( );write( ); close( ); delete( ); create

2; 有众多单一的程序组成

组合小程序完成复杂任务

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

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

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

完整的OS:

Kernel+Application 内核+应用

狭义上的OS: kernel

现在市面流行的linux全程GNU/Linux

OS的接口类型主要有两种:

GUI:Graphic User Interface 图形用户界面

GNome:c, gtk

KDE: c++, qt

CLI:Command Line Interface 命令行界面

bash

zsh

sh

......

操作系统的功能:

驱动程序

进程管理

安全

网络功能

内存管理

文件系统

.......

API: Application Program Interface

程序员面对的编程接口

POSIX: Portable Operating System

ABI: Application Binary Interface

程序应用者面对运行程序的接口

主流发行版

发行版是指由第三方将开源的kernel源码文件及GUN的开源Appliction源码文件编译成计算机可以执行的二进制文件并公开发行的版本。

|-- Debian

|   |-- Knopix

|   `-- Ubuntu

|       `-- mint

|-- Redhat

|   |-- Fedora

|   `-- RHEL

|       `-- CentOS

`-- Slackware

`-- S.u.S.E

|-- OpenSUSE

`-- SLES

扩展:

RedHat:

认证考试:

RHCSA Red Hat Certified Engineer 红帽认证工程师

RHCE

RHCA

各发行版本

Gentoo发行版

  Gentoo是一种Linux发行版。Gentoo有一个使用Python编写而成的软件包管理系统(Portage),能对BSD端口全面兼容,并对其进行管理。采用Portage软件包管理机制,是一种可以针对任何应用和需要而自动优化和定制的特殊的Linux发行版。

  Gentoo 最初由DanielRobbins(前StampedeLinux和FreeBSD的开发者之一)创建。由于开发者对FreeBSD的熟识,所以Gentoo拥有媲美FreeBSD的广受美誉的ports系统——portage。

  优点:高度的可定制性,完整的使用手册,媲美Ports的Portage系统,适合“臭美”的高手使用^^

  缺点:编译耗时多,安装缓慢

  软件包管理系统:Portage (SRC)

  openSUSE发行版

  SUSE是德国最著名的Linux发行版,在全世界范围中也享有较高的声誉。SUSE自主开发的软件包管理系统YaST也大受好评。SUSE于2003年年末被Novell收购。openSUSE是Novell 公司发行的企业级 Linux 产品的系统基础。openSUSE 成为 Linux***和应用软件开发者的首选平台。

  优点:专业,易用的YaST软件包管理系统

  缺点:FTP发布通常要比零售版晚1~3个月

  软件包管理系统:YaST (RPM), 第三方APT (RPM) 软件库(repository)

  Fedora发行版

  Fedora 项目是由 Red Hat 赞助,由开源社区与 Red Hat工程师合作开发的项目统称。由RedHat公司提供收费技术支持和更新的Red Hat EnterpriseLinux,以及由社区开发的免费的FedoraCore。Fedora Core1发布于2003年年末,而FC的定位便是桌面用户。

  优点:拥有数量庞大的用户,优秀的社区技术支持,许多创新

  缺点:免费版(Fedora Core)版本生命周期太短,多媒体支持不佳

  软件包管理系统:up2date (RPM), YUM (RPM)

  Slackware发行版

  Slackware由PatrickVolkerding创建于1992年。算起来应当是历史最悠久的Linux发行版。曾经Slackware非常的流行,但是当Linux越来越普及,用户的技术层面越来越广(更多的新手)后,Slackware渐渐的被新来的人们所遗忘。

  优点:非常稳定、安全,高度坚持UNIX的规范

  缺点:所有的配置均通过编辑文件来进行,自动硬件检测能力较差

  软件包管理系统:Slackware Package Management (TGZ)

  Debian发行版

  Debian 使用 Linux 核心(操作系统的最重要部份),但大部份的基本工具则来自 GNU计划,因此我们称为GNU/Linux。最早由Ian Murdock于1993年创建。Debian系统分为三个版本分支(branch):stable,testing 和 unstable。截至2005年5月,这三个版本分支分别对应的具体版本为:Woody, Sarge和Sid。其中,unstable为最新的测试版本,其中包括最新的软件包,但是也有相对较多的bug,适合桌面用户。testing的版本都经过unstable中的测试,相对较为稳定,也支持了不少新技术(比如SMP等)。而Woody一般只用于服务器,上面的软件包大部分都比较过时,但是稳定和安全性都非常的高。

  优点:遵循GNU规范,100%免费,优秀的网络和社区资源,强大的apt-get

  缺点:安装相对不易,stable分支的软件极度过时

  软件包管理系统:APT (DEB)

Centos

如果你通过一家网站主机托管公司来运营网站,那么你的网站服务器由CentOS Linux来运行的可能性很大。红帽企业级Linux(RHEL)的这种低成本克隆版并不是严格意义上的商用版,但是由于它基于RHEL,你可以充分利用它的商用支持功能。

CentOS的全称是社区企业操作系统,它基本上是作为一个社区驱动的项目来运营的,使用RHEL代码,消除了红帽的所有商标,让Linux服务器操作系统可免费使用和发行。

2014年,红帽和CentOS宣布双方将展开合作,CentOS致力于消除面向社区创新的Fedora平台与商业部署的红帽企业级Linux平台之间的差距,任务重心发生了转变。

CentOS会继续交付一款面向社区的操作系统,它的使命是帮助用户开发和采用开源技术,Linux服务器发行版比更注重创新的Fedora更加一致、更加保守。

与此同时,CentOS仍将免费,由社区领导的CentOS项目提供支持,而不是通过红帽提供支持。CentOS在2015年12月发布了CentOS 7.2,该版本源自红帽企业级Linux 7.2。

Stallman:

自由含义:

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

软件程序:版本号;

major.minor.release 主版本号.次版本号.发行版本号

~]# uname -r 查看内核版本号

发行版本也有自己的版本号:

RHEL: 5.x, 6.x, 7.x

Fedora 23

Debian:8.x

OpenSuSE: 13.x

Linux基础:

CPU架构:

x86

x64 (amd64)

m68000, m68k   #摩托罗拉

arm

ultrasparc solaris

power aix

powerpc, ppc

MIPS

alpha hp-ux

...

linux授权方式

双线授权:

Community:遵循开源协定;

Enterprise:

程序的组成部分:

二进制程序;

配置文件;

库文件;

帮助文件;

安装虚拟机并安装操作系统:

虚拟机选择vmware workstation  #推荐

virtualbox

系统Centos 7.2

具体安装方法就不在累述,网上有N多教程

在这里只强调网络模式,选择“桥接”即可。

安装完成后即可登录

远程连接:

ssh协议:secure shell

~]# ss -tnl

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

~]# ip addr list

或 查看系统的IP地址

~]# ifconfig

inet x.x.x.x

确保防火墙处于关闭状态

~]# iptable -L -n

~]# iptables -L -n

查看当前防火墙运行的规则

~]# iptable -F

清理规则(仅对当前有效)

(centOS 7版本)

~]# systemctl disable firewalld.service

禁用防火墙

~]# systemctl stop firewalld.service

关闭防火墙

(centOS 6版本)

~]# service iptable stop

停止服务

~]# chkconfig iptable off

防止以后自动启动,关闭防火墙

终端设备:terminal (键盘 显示器)

多任务、多用户

物理终端,控制台:console

虚拟终端: 默认6个    ~]#tty  命令可查看

切换快捷键: ctrl+Alt+F[1-6]

图形终端:

CentOS 6 :

Ctrl+Alt+F7

CentOS 7:

在哪一个终端启动,即位于哪个终端

串行终端:  ttys

伪终端  :  pty

远程或者 图形界面 console 的命令行模式

linux 的哲学思想之一:

表现之一: 所有的硬件设备也通过文件来标识

物理终端: /dev/console  路径

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

串行终端: /dev/ttys#

伪终端  : /dev/pts/#

PS:在启动设备之后,在其上关联一个用户接口程序,即可实现与用户交互

查看终端设备:

~]# tty

[root@192 ~]# tty

/dev/pts/1

查看接口程序:

~]# echo $SHELL

[root@192 ~]# echo $SHELL

/bin/bas

启动GUI: 启动图形终端

在某一虚拟终端运行命令 startx & (第一次启动) &: 表示在后台运行

CLI 接口:

命令行接口:

[root@192 ~]#  xxx

root : 当前登录的用户

192 :当前主机的主机名,非完整格式:此处完整应为192.168.1.100

~ :用户当前所在的目录(current directory) 也称为工作目录(working directory) 为相对路径

#  : 命令提示符;

# : 代表管理员账号 root账号  拥有最高权限,能执行所有操作

$ : 代表普通用户账号  非root 账号,不具有管理权限

PS:生产环境建议使用非管理员账号登录,管理员权限太大,易造成误操作

需要管理操作时临时切换至管理员,操作完成即退回。

su - xx   #切换用户

几个基础命令

关机命令:

CentOS 7:

~]# systemctl poweroff

关机

~]# systemctl reboot

重启

* :

~]# poweroff

~]# halt

关机

~]# reboot

文件

目录:路径映射

文件:有边界的 在磁盘上的一段数据流,存储空间存储的一段流式数据

对数据可以做到按名存取。

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

/: 原初起点。  根目录

倒置树状结构

/dev/pst/0

最左侧/: 是根目录

其余/: 为路径的分割符

linux的路径分隔符是/

windows 是\

文件的路径表示

绝对路径: 从根开始表示的路径

相对路径: 从当前位置开始表示出的路径

文件名使用法则:

严格区分字符大小写:

目录也是文件,在同一个路径下,两个文件不能同名:

文件名支持使用除了 / 以外的任意字符:

最长不能超过255 字符:

/etc/sysconfig/network-scripts/ifcf-eno16777736

basename: 最右侧为基名

dirname:   basename 左侧的路径

[root@192 ~]# basename /etc/sysconfig/network-scripts/ifcfg-eno16777736

ifcfg-eno16777736

查看基名

[root@192 ~]# dirname /etc/sysconfig/network-scripts/ifcfg-eno16777736

/etc/sysconfig/network-scripts

dirname 路径

命令:

~]# basename /PATH/TO/SOMEFILE

SOMEFILE

~]# dirname /PATH/TO/SOMEFILE

/PAHT/TO

程序的组成部分:

二进制程序文件。库文件、配置文件、帮助文件

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

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

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

Linux基础知识

命令的通用格式

# COMMAND OPTIONS ARGUMENTS   #命令 选项 参数

COMMADN

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

程序--> 进程

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

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

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

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

管理命令 :/sbin /usr/sbin ,/usr/local/sbin

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

32bits的库: /lib ; /usr/lib ;/usr/local/lib

64bits的库: /lib64 ; /usr/bin64 ; /usr/local/lib64

PS: 并非所有的命令都有一个在某目录与之相对应的可执行文件

命令必须遵循特定格式规范: exe ,msi , ELF (Linux)

~]# file /bin/ls

file 查看文件的类型

命令分为两类:

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

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

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

环境变量:

PATH : 从哪些路径中查找用户键入的命令字符串所对应的命令文件

[root@192 ~]# echo $PATH

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

查看命令类型:

type COMMAND

[root@192 ~]# type type

type 是 shell 内嵌

OPTIONS :  选项

指明命令的运行特性:

选项有两种表现形式:

短选线: -c , -l ,-d

注意:有些命令的选项没有 -;

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

长选项: --word .例如:  --help, --human

长选项不能合并

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

ARGUMENTS : 参数

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

不同的命令参数,有些命令可以带多个参数,多个参数之间用空白字符分割。

获取命令的帮助:

内部的命令:

help COMMAND  #查看命令类型参考上文type命令

外部命令:

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

#COMMAND --help

(2)使用手册:manual

路径:/usr/share/man

# man COMMAND

SECTION :

name : 命令的功能行说明

SYNOPTION :语法结构

DESCRIPTION:描述

OPTION:选项

EXAMPLES:使用示例

AUTHR:作者

...

SYNOPSIS:

[]:可选内容

<>: 必给内容

a|b|c:多选一

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

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

/usr/share/man

man1. man2 ,man3....

1; 用户命令。 管理员和普通用户命令

2: 系统调用。 一般为开发人员使用

3: C库调用

4: 设备文件及特殊文件

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

6: 游戏使用帮助

7: 杂项

8: 管理工具及守护进程  (主要为管理员)

指定man 章节

~]# man CHAPTER COMMAND

例:[root@192 ~]# man 5 passwd  # 查看第五章节下的passwd说明

查看哪些章节下有该命令的说明:

~]# whatis COMMAND

例:[root@192 ~]# whatis passwd

sslpasswd (1ssl)     - compute password hashes

passwd (1)           - update user's authentication tokens

passwd (5)           - password file

PS:其执行过程是查询数据库进行的(新安装软件后可能无法查询)

手动更新数据库:

~]#makewhatis

man命令打开后的操作方法:

翻屏:

空格键: 向文件尾部翻一屏

B     : 向文件首部翻一屏

CTRL+D: 向文件尾部翻半屏

CTRL+U: 向文件首部翻半屏

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

K  :  向文件首部翻一行

G   :  跳转至最后一行

#G    : 跳转至指定行

1G    : 跳转至首行

文本搜索:

/keyword :从文件首部向文件尾部依次查找;不区分大小写

?keywoed :从文件尾部向文件首部依次查找

n:与查找命令方向相反

N:与查找命令方向相反

退出:

q:quit  退出

选项:

-M /PATH/TO/SOMEFILE : 到指定目录下查找命令手册并打开;

~]# man -M /usr/xx/xx

(3)info COMMAND

获取命令的在线文档:

(4)很多应用程序会自带帮助文档:/usr/share/doc/APP-VERSION

REDAME: 程序的相关信息

INSTALL: 安装帮助

CHANGELOG: 版本迭代时的改动信息:

(5)主流发行版本官方文档

http://www.redhat.com/doc

(6)程序官方的文档:

官方站点上的“Document”

(7) 搜索引擎

常用命令:

pwd: printing working directory

显示工作目录

cd:change directory

cd [/PATH/TO/SOMEDIR]

cd: 切换回家目录;

注意:bash中, ~表示家目录;

cd ~:切换回自己的家目录

cd ~USERNAME:切换至指定用户的家目录;

cd -:在上一次所在目录与当前目录之间来回切换;

相关的环境变量

$PWD:当前工作目录

$OLDPWD:上一次的工作目录

.

..

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

ls [OPTION]... [FILE]...

-a: 显示所有文件,包括隐藏文件;

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

-l: --long, 长格式列表,即显示文件的详细属性信息;

-rw-r--r--. 1 root   root     8957 10月 14 19:34 boot.log

-:文件类型,-, d, b, c, l, s, p

rw-r--r--

rw-:文件属主的权限;

r--:文件属组的权限;

r--:其它用户(非属主、属组)的权限;

1:数字表示文件被硬链接的次数;

root:文件的属主;

root:文件的属组;

8957:数字表示文件的大小,单位是字节;

10月 14 19:34 :文件最近一次被修改的时间;

boot.log:文件名

-h, --human-readable:对文件大小单位换算;换算后结果可能会非精确值;

-d:查看目录自身而非其内部的文件列表;

-r: reverse, 逆序显示;

-R: recursive,递归显示;

cat:concatenate

文件文本查看工具;

cat /etc/fstab

cat /etc/passwd

cat [OPTION]... [FILE]...

-n:给显示的文本行编号;

-E: 显示行结束符$;

tac:

文件文本查看工具;

tac /etc/fstab

tac /etc/passwd

tac [OPTION]... [FILE]...

-n:给显示的文本行编号;

-E: 显示行结束符$;

file:查看文件内容类型;

file [FILE]...

echo:回显

echo [SHORT-OPTION]... [STRING]...

-n: 不进行换行;

-e:让转义符生效;

\n:换行

\t:制表符

STRING可以使用引号,单引号和双引号均可用;

单引号:强引用,变量引用不执行替换;

~]# echo '$SHELL'

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

~]# echo "$SHELL"

注意:变量引用的正规符号

${name}

关机或重启命令:shutdown

shutdown [OPTIONS...] [TIME] [WALL...]

OPTIONS:

-h: halt

-r:reboot

-c:cancel

data : #查询或设置系统时钟

SYNOPSIS:date [OPTION]... [+FORMAT]

例:[root@192 ~]# date 022001011991.01

1991年 02月 20日 星期三 01:01:01 CST

#FORMAT:格式符

%F 完整日期格式,等价于 %Y-%m-%d

%T 时间,等于%H:%M:%S

%Y  年份

%m  日期-月

%d  日期-日

%H  时间=小时

%M  时间-分

%S  秒

%s: 从1970年1月1号(unix元年)0点0分0秒到命令执行那一刻经过的秒数;

...

设定日期时间:date [MMDDhhmm[[CC]YY][.ss]]

月-天-小时-分-年.秒

hwclock: query or set the hardware clock (RTC)  #查询或设置硬件时钟

SYNOPSIS: hwclock [function] [option...]

例:[root@192 ~]# date

1991年 02月 20日 星期三 05:02:12 CST

[root@192 ~]# hwclock -s      #以硬件时间为准,将系统时间调整与硬件时间相同

[root@192 ~]# date

2016年 12月 28日 星期三 01:12:29 CST

#显示或设定硬件时钟

-s, --hctosys:以硬件为准,把系统调整为与硬件时间相同;

-w, --systohc:以系统为准,把硬件时间调整为与系统时钟相同;

转载于:https://blog.51cto.com/670597669/1888194

linux初识到入门_系统相关推荐

  1. Linux零基础入门(一)初识Linux

    Linux零基础入门(一)初识Linux 前言 操作系统概述 一 操作系统概述 1 硬件和软件 2 操作系统 二 初识Linux 1 Linux的诞生 2 Linux内核 3 Linux发行版 三 虚 ...

  2. linux小菜鸟入门,《Linux菜鸟入门》初识linux基础(示例代码)

    初识linux 一  进入系统 1.用户 普通用户 : student 密码: student 超级用户 : 点击 not listed username :root   password: redh ...

  3. 安装linux系统的ppt课件,Linux系统安装与入门PPT演示课件

    <Linux系统安装与入门PPT演示课件>由会员分享,可在线阅读,更多相关<Linux系统安装与入门PPT演示课件(46页珍藏版)>请在人人文库网上搜索. 1.Linux系统入 ...

  4. 云计算基础之Linux系统配置及服务管理 第01章_系统部署

    第01章_系统部署 一.GNU/Linux 的历史 一)自由软件之父 理查德·斯托曼(Richard M. Stallman) 1984 GNU Copyleft OpenSource Free GP ...

  5. 【100天精通python】Day1:python入门_初识python,搭建python环境,运行第一个python小程序

    目录 专栏导读 1 初始python python 概述 python的应用领域 应用python的公司 2 搭建python 开发环境 2.1 安装python(以windows 系统为例)(1)下 ...

  6. linux 查看内存用量_正确计算linux系统内存使用率

    图中的例子很典型,就是:多数的linux系统在free命令后会发现free(剩余)的内存很少,而自己又没有开过多的程序或服务. 对于上述的情况,正确的解释是: linux的内存管理机制与windows ...

  7. delphi 监控文件变化_监控Linux文件变化,防止系统被黑

    运维服务器比较头疼的一个问题是系统被黑,沦为肉鸡或者矿机.除了加强安全基线配置,加强网络和端口加固,系统和应用bug修复,上IDS/IPS(入侵检测/防御系统)之外,另一个方面就是系统监控,一个完善准 ...

  8. 解压出来的文件md5会改变吗_监控Linux文件变化,防止系统被黑

    运维服务器比较头疼的一个问题是系统被黑,沦为肉鸡或者矿机.除了加强安全基线配置,加强网络和端口加固,系统和应用bug修复,上IDS/IPS(入侵检测/防御系统)之外,另一个方面就是系统监控,一个完善准 ...

  9. 自学 linux四月二十五_系统文件名和操作技巧

    文件类型 普通文件(regular file):就是一般存取的文件,由ls -al显示出来的属性中,第一个属性为 [-],例如 [-rwxrwxrwx].另外,依照文件的内容,又大致可以分为: 1.纯 ...

最新文章

  1. 5.fork和vfork
  2. 智能外呼系统相关资料总结
  3. 中科院教授:科技界已几乎沦为名利场...
  4. Eclipse报错:java.lang.ClassNotFoundException: ContextLoaderListener
  5. springboot定时发送短信_阿里大于可以发送定时短信
  6. leetcode组队学习——动态规划
  7. 电脑故障检测软件_硬核科普—常用电脑检测软件手把手教学!
  8. 人人都能学会的python编程教程12:函数的参数
  9. 为什么说传统分布式事务不再适用于微服务架构?
  10. 2022最新RTMP+HTTP直播地址汇总(亲测可用)
  11. linux ipp,Get Started with Intel® Integrated Performance Primitives
  12. 深度学习/自动驾驶数据集大集合(目标检测/图像分割/语义分割/图像分类/)
  13. android时间轴折线图,echarts时间轴折线图
  14. 钟茜的工作日志跟在这里
  15. 关于蓝桥杯第十二届H题杨辉三角(满分结果)
  16. 怎么判断机械表上满弦_机械表发条怎么上满 这些条件要满足
  17. SpringCloud-1-概念及实现模块间调用
  18. 【CV/Matlab系列】基于matlab的视频质量仿真评价系统设计【含Matlab源码】
  19. linux环境编程unp,linux网络编程之怎么配置好unp.h文件
  20. Vue脚手架安装常用命令

热门文章

  1. 域名绑定html网站吗,使用Coding搭建html纯静态网站后绑定域名+SSL证书
  2. 20190910:(leetcode习题)FizzBuzz
  3. 胡桂珍c语言期末考试题,C程序设计教程
  4. js日期格式化写法及获取当前日期年月日、上一月
  5. linux redhat命令大全
  6. 谷歌等质问IETF:IPv6的用户在哪里?
  7. HPC在石油勘探行业正面临三大考验
  8. SCPPO(二十五):从导数据看如何将一天过出多天的效果
  9. 网络中的哪些事儿(三)之我眼中的三层交换机
  10. 吴恩达斯坦福实验室发布MRNet数据集,包含1千多张标注膝关节核磁共振成像