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]
例:[root@192 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]...
例:[root@192 etc]# echo "hello world"
hello world
tty : print the file name of the terminal connected to standard input
打印出连接到标准输入终端的文件名
tty [OPTION]...
例:[root@192 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 : #用来修改bash的环境变量(针对的是本地环境变量,可对子shell进程生效)
export [-fn] [name[=word]] ...
例:
# [root@localhost ~]# fistname=Archlinux #name=valua
# [root@localhost ~]# echo $fistname #取得变量存储空间中的数据
# Archlinux
# [root@localhost ~]# declare -x fistname #将权限继承
# [root@localhost ~]# bash #切换之子bash
# [root@localhost ~]# echo $fistname #
# Archlinux
pwd: print name of current/working directory #显示工作目录
SYNOPSIS:pwd [OPTION]... #常用 pwd 不跟选项
例:[root@192 etc]# pwd
/etc
history:#shell进程会在其会话中保存此前用户提交执行过的命令
SYNOPSIS:history [-c] [-d 偏移量] [n]
或 history -anrw [文件名]
history -ps 参数 [参数...]
例:[root@192 ~]# 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...]
例:[root@192 ~]# shutdown -r +10 hello
Shutdown scheduled for 三 2016-12-28 00:49:18 CST, use 'shutdown -c' to cancel.
[root@192 ~]#
Broadcast message from root@192.168.1.100 (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]
例:[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:以系统为准,把硬件时间调整为与系统时钟相同;
5.获取命令帮助
#type COMMAND 可以查看命令是否为内部命令
内部命令:
help COMMAND
例:[root@192 ~]# help cd
cd: cd [-L|[-P [-e]]] [dir]
Change the shell working directory.
...
外部命令:
(1) 命令自带简要格式的使用帮助
# COMMAND --help
例:[root@192 ~]# 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,存储常发生变化的数据的目录;
cacheApplication cache data #程序缓存数据
libVariable state information #数据的变化情况
localVariable data for /usr/local #可变的local 数据
lockLock files #锁文件
logLog files and directories #日志和目录文件
optVariable data for /opt #变化的opt数据
runData relevant to running processes #与运行过程有关的数据
spoolApplication spool data
tmpTemporary 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设备提供一种统一模型的的接口;
转载于:https://blog.51cto.com/670597669/1886814