linux成长笔录——week_1

Linux-基础入门

Week-1

1; 关于计算机的组成及功能:

计算机主要有硬件和软件两大部分组成:

硬件部分:主要是CPU, 内存 ,I/O设备

CPU :运算器和控制器,是一台计算机的大脑。负责数据处理和运算

运算器、控制器、寄存器、缓存组成

内存:RAM(Random Access Memory)

是计算机重要组成部分,是与CPU沟通的桥梁,主要用于存放CPU中的运算

数据。并与硬盘等外部存储器交换数据

I/O  :主要是对电脑进行数据的输入及对处理后数据的输出显示等。

Input:输入设备  下指令,提供数据等;

Output:输出设备  输出数据加工的结果;

...

软件部分:主要是操作系统和应用程序

操作系统:OS  kernel+Appiction

是运行于硬件之上的 管理和控制计算机硬件与软件资源.是用

户和计算机的接口,同时也是计算机硬件和其他软件的接口

内核:kernel

驱动底层硬件

将各底层硬件资源抽象成为简单资源

管理各程序的运行,将有限的资源分配给运行中的程序,

使各部分程序相安无事。

应用程序:Appliction:

指令+数据

2.Linux发行版

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

主流的Linux发行版主要有

|-- Debian            更新版本较快  默认采用GNOME桌面系统,简易华丽

|   |-- Knopix

|   `-- Ubuntu  版本迭代较快

|       `-- mint

|-- Redhat  主要在美国,大陆和台湾地区  稳定性较好

|   |-- Fedora  6个月的更新周期

|   `-- RHEL  需要付费

|       `-- CentOS  基于RHEL的二次开发

`-- Slackware  主要在欧洲使用

`-- S.u.S.E

|-- OpenSUSE

`-- SLES

同时比较流行的还有

Gentoo

Archlinux

这些发行版本均是GUN/Linux 。

3.Linux的哲学思想

1;一切皆文件:

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

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

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

组合小程序完成复杂任务

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

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

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

4.Linux系统上命令的使用格式:

常用格式

ifconfig :configure a network interface  #网络配置接口

ifconfig  [interface]

例:[[email protected] etc]# ifconfig   #不加参数可以显示所有的网卡信息

bridge0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500

inet 172.16.100.100  netmask 255.255.255.0  broadcast                172.16.100.255

echo :display a line of text    #回显一行文本

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

例:[[email protected] etc]# echo "hello world"

hello world

tty : print the file name of the terminal connected to standard input

打印出连接到标准输入终端的文件名

tty [OPTION]...

例:[[email protected] etc]# tty  #不加选型可直接查看当前所处终端

/dev/pts/1

#pty :伪终端ttys :串行终端tty[1,6]虚拟终端console:物理终端

startx:initialize an X session   # 初始化一个X 系统会话

startx [ [ client ] options ... ] [ -- [ server ] [ display ] options ... ]

例:运行该命令后若安装了图形桌面系统,则会切换到图形桌面。

#CentOS 6:

# Ctrl+Alt+F7

#CentOS 7:

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

#最小化安装系统后,需要安装图形桌面

# yum -y groupinstall Desktop

# yum -y groupinstall "X Window System"

export :

pwd: print name of current/working directory  #显示工作目录

SYNOPSIS:pwd [OPTION]...     #常用 pwd 不跟选项

例:[[email protected] etc]# pwd

/etc

history:#shell进程会在其会话中保存此前用户提交执行过的命令

SYNOPSIS:history [-c] [-d 偏移量] [n]

或 history -anrw [文件名]

history -ps 参数 [参数...]

例:[[email protected] ~]# history   #显示内存和文件中存储的历史命令

1  ping 192.168.0.5

2  ping www.baidu.com

3  ping 192.168.0.5

...

# -c: 清空命令历史;

# -d offset:删除指定命令历史

# -r: 从文件读取命令历史至历史列表中;

# -w:把历史列表中的命令追加至历史文件中;

# !#:再一次执行历史列表中的第#条命令;

# !!:再一次执行上一条命令;

# !STRING再一次执行命令历史列表中最近一个以STRING开头的命令;

shutdown: Halt, power-off or reboot the machine  #关闭电源或者重启机器

SYNOPSIS: shutdown [OPTIONS...] [TIME] [WALL...]

例:[[email protected] ~]# shutdown -r +10 hello

Shutdown scheduled for 三 2016-12-28 00:49:18 CST, use ‘shutdown -c‘ to cancel.

[[email protected] ~]#

Broadcast message from [email protected] (Wed 2016-12-28 00:39:18 CST):

hello

#OPTIONS:

-h: halt    关机

-r:reboot 重启

-c:cancel  取消

TIME:

now         立刻

hh:mm       #小时#分

+m          #分

+0      now

poweroff : halt, poweroff, reboot - Halt, power-off or reboot the machine   #重启,关机

SYNOPSIS:halt [OPTIONS...]

poweroff [OPTIONS...]

reboot [OPTIONS...]

例: poweroff -p --no-wall  #强制关机,并不发送通知

#optiuons

-f:force   强制

--no-wall 不发送通知

reboot: 同上

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

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

例:[[email protected] ~]# 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...]

例:[[email protected] ~]# date

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

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

[[email protected] ~]# date

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

#显示或设定硬件时钟

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

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

5.获取命令帮助

#type COMMAND 可以查看命令是否为内部命令

内部命令:

help COMMAND

例:[[email protected] ~]# help cd

cd: cd [-L|[-P [-e]]] [dir]

Change the shell working directory.

...

外部命令:

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

# COMMAND --help

例:[[email protected] ~]# ls --help

用法:ls [选项]... [文件]...

(2) 使用手册:manual

位置:/usr/share/man

~]# man COMMAND

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:管理工具及守护进行;

6.基础目录名称及作用规定

Filesystem Hierarchy Standard   #标准文件系统目录  即FHS

/bin:所有用户可用的基本命令程序文件;

/sbin:供系统管理使用的工具程序;

/boot:引导加载器必须用到的各静态文件:kernel, initramfs(initrd), grub等;

/dev:存储特殊文件或设备文件;

设备有两种类型:字符设备(线性设备)、块设备(随机设备);

/etc:系统程序的配置文件,只能为静态;

/home:普通的家目录的集中位置;一般每个普通用户的家目录默认为此目录下与用户名同名的子目录,/home/USERNAME;

/root:管理员的家目录;可选;

/lib:为系统启动或根文件系统上的应用程序(/bin, /sbin等)提供共享库,以及为内核提供内核模块

libc.so.*:动态链接的C库;

ld*:运行时链接器/加载器;

modules:用于存储内核模块的目录;

/lib64:64位系统特有的存放64位共享库的路径;

/media:便携式设备挂载点,cdrom, floppy等;

/mnt:其它文件系统的临时挂载点;

/opt:附加应用程序的安装位置;可选路径;

/srv:当前主机为服务提供的数据;

/tmp:为那些会产生临时文件的程序提供的用于存储临时文件的目录;可供所用户执行写入操作;有特殊权限;

/usr:usr Hierarchy,全局共享的只读数据路径;

bin, sbin

lib, lib64

include:C程序头文件;

share:命令手册页和自带文档等架构特有的文件的存储位置

local:另一个层级目录;

X11R6:X-Window程序的安装位置

src:程序源码文件的存储位置

/usr/local:Local hierarchy,让系统管理员安装本地应用程序;也通常用于安装第三方程序;

/var:/var Hierarchy,存储常发生变化的数据的目录;

cache Application cache data       #程序缓存数据

lib Variable state information   #数据的变化情况

local Variable data for /usr/local #可变的local 数据

lock Lock files                   #锁文件

log Log files and directories    #日志和目录文件

opt Variable data for /opt       #变化的opt数据

run Data relevant to running processes #与运行过程有关的数据

spool Application spool data

tmp Temporary files preserved between system reboots #系统重启时保存的临时文件

/proc:基于内存的虚拟文件系统,用于为内核及进程存储其相关信息;它们多为内核

参数,例如net.ipv4.ip_forward, 虚拟为net/ipv4/ip_forward, 存储                    于/proc/sys/,因此其完整路径为/proc/sys/net/ipv4/ip_forward;

/sys:sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径;

其主要作用在于为管理Linux设备提供一种统一模型的的接口;

时间: 2024-09-30 07:44:45

linux成长笔录——week_1的相关文章

linux成长之路(gcc编译器、静态库、动态库)

Jeremy Lin GCC简介 GCC(GNU Complier Collection)是GNU推出的功能强大.性能优越的多平台编译器套件,它包括了C.C++.Objective-C.Fortran.Java.Ada和Go语言的前端,也包括了这些语言的库,当前最新的版本是GCC 5.1.GCC可以在多种硬件平台上编译出可执行程序,其执行效率与一般的编译器相比平均效率要高20%-30%.GCC编译器能将C.C++语言源程序.汇程式程序和目标程序编译.连接成可执行文件,如果没有给出可执行文件的名字

我的Linux成长路---003 Linux发行版本

Linux发行版为许多不同的目的而制作, 包括对不同计算机结构的支持, 对一个具体区域或语言的本地化,实时应用,和嵌入式系统,甚至许多版本故意地只加入免费软件.已经有超过三百个发行版被积极的开发,最普遍被使用的发行版有大约十二个. 1.Linux常见的发行版本 Red Hat Linux Red Hat在1994年创业,当时聘用了全世界500多名员工,他们都致力于开放的源代码体系.Red Hat Linux是使用人数最多的Linux版本,它是一个符合大众需求的最优版本,在服务器和桌面系统中它都工

我的Linux成长路---002 Linux发展历史

1.Unix操作系统 Unix操作系统是美国贝尔实验室在20世纪60年代构思完成和实现,并在1970年首次发布.它因容易获取与可移植性高而广泛被学术机构和工商企业采用.复制和修改.它的设计对其他系统的作者影响很大. Unix是多用户多任务操作系统,支持多种处理器架构.它面对的是专业的计算机科研人员,界面是shell的命令行.Unix操作系统大部分是使用C语言开发的. 1973年,美国国防部为了通信需要,启动了一个计划研发了TCP/IP协议,这也标志着Internet的诞生. 2.GUN项目计划

我的Linux成长路---001 Linux学习初期计划

Linux学习初期计划 1.Linux基础 Linux历史.Linux版本.Linux安装.shell命令 2.Linux系统管理 用户管理.文件权限管理.磁盘管理.进程管理.自动化任务.安装程序... 3.Linux服务器 用Linux做DNS.DHCP.VPN.流媒体.FTP.Web.代理服务器.邮件服务器... 用Linux实现路由功能.NAT功能 4.Linux安全 网络安全.系统安全.入侵检测 5.mySQL数据库 6.Oracle数据库

linux成长之路(makefile快速入门)

Jeremy Lin 我想,对于很多像我这种长期使用widows系统的coder来说,可能都不知道什么是makefile.因为widows中的IDE(如VS)在默默地为你做这个工作,不过,当你进入unix/linux系统中,那makefile将是你不得不面对的问题,而且,会不会写makefile,也从一个侧面说明了一个人是否具有大型工程的能力.因为makefile关系到了整个工程的编译规则.一个工程中的源文件不计其数,它们按照类型.功能.模块分别存放在若干个目录中,makefile定义了一系列的

Linux成长之路-基础篇(1)

一.计算机组成及功能1.计算机的组成计算机组成指的是系统结构的逻辑实现,包括机器机内的数据流和控制流的 组成及逻辑设计等.主要分为五个部分:控制器,运算器,存储器,输入设备,输出设备.2.各组成部分的功能(1)运算器:运算器的主要功能是对数据进行各种运算.这些运算除了常规的加.减.乘.除等基本的算术运算之外,还包括能进行"逻辑判断"的逻辑处理能力,即"与"."或"."非"这样的基本逻辑运算以及数据的比较.移位等操作.(2)控制

linux成长1

1.常见Linux的发行版有哪些?并描述不同发行版之间的联系与区别答:目前市面上流行的版本有三大流派,slackware.debian.redhat 1) 联系:三大流派的发行版都是通过linux内核源代码开发,以及Linux的应用程序都可以自由获得,所以许多公司建立自己的团队,开发出属于自己的linux发行版. 2) 区别:a.软件包命令不同,软件命名的方式不同:b.搜索库的方式不同:c.启动系统服务不同:d.开机启动项方式不同:e.网络配置方式不同 2.打印显示当前时间,格式是:201812

Linux 成长之路 1

春雨 怅卧新春白袷衣,白门寥落意多为. 红楼隔雨相望冷,珠箔飘灯独自归. 远路应悲春晼晚,残霄犹得梦依稀. 玉珰缄札何由达,万里云罗一雁飞. -----------------------------------------------------Ready Go 一.练一练 1.统计/usr/bin目录下的文件个数 #ls /usr/bin/ | wc -l 2.去除当前系统上所有用户的shell,要求如下: 1)每种shell只显示一次, 2)按顺序进行显示: # cut -d: -f7 /

linux成长之路(QT Creator 流水帐)

Jeremy 1.使用QT Creator创建OpenCV项目 有点儿受不了在文本编辑器里面写opencv代码,一点儿补全都没有,写错了也不能立刻知道,所以只能屌丝地装个IDE来写代码.下面记录一些过程与知识点,以备查询- QT Creator是一个完整的C++集成开发环境(IDE),当前最新的版本是3.4.0,下载地址.具体安装步骤参看blog. 创建完工程后,会生成两个文件,一个是C++源代码文件main.cpp,另一个是项目文件text2.pro. (1)关于源码文件没啥多说的,就是mai