计算机与操作系统
计算机就是电脑,操作系统就是管理计算机硬件跟软件的计算机程序。
CPU:运算器,控制器,寄存器,缓存
储存器:内存,RAM(Random Access Memory)
Input:下指令,提供数据
Output:输出数据加工的结果
程序是由指令加数据组成, 指令和数据全部都存放在内存中。通常是算法家数据结构。
举例:内存的编制方式,32位cpu就是一次可以存取的最大数据为2^32,约为4GB内存。
Linux历史
1991年8月:Linus Torvalds成立Linux。Unix仅仅是工作在硬件之上的监控程序,他只是把底层硬件资源虚拟化,切分分给其他程序使用。Linux其实只是操作系统的内核kernel。GNU组件和其他程序是运行在Linux内核上的.
Linux发行版
为一般使用者预先整合好的Linux操作系统一级各种应用程序。一般使用者不需要重新编译直接安装就可以使用。
1. RedHat
开始是个人桌面版,后来开始做企业版,Redhat 9.0之后,变成两个分支: RHEL和Fedora Core。
CentOS是基于RedHat企业版(RHEL)的二次发行版。(其实是RHEL的山寨版)
Fedora也是RedHat企业版的分支
2. Debian
三大发行版中唯一以社区方式运作的。高手黑客用的多一点
Knopix: 以安全著称
Ubuntu是基于Debian的二次发行版
3. Slackware
最著名的是SuSE,还有OpenSUSE
其他版本
Gentoo, ArchLinux新贵
Linux的主要哲学思想
- 一切皆文件,包括硬件设备, 所有资源在Linux上都已以文件方式存在
- 开源,自由,分享
免费使用,让用户参与开发,用户测试,用户分享进步 - 组合小程序完成复杂任务:每个程序只实现小功能,借助不同程序之间的交互实现各种功能
- 文本文件保存配置信息:将程序的配置信息以文本文件的形式保存
- 尽量避免与用户交互:通过配置后,稳定运行,不需要过多人参与
Linux命令使用格式
COMMAND OPTIONS ARGUMENTS
无论指令,选项还是参数,一定注意大小写
Command:命令
Options:确认命令的运行特性(段选项 -c, 短选项:-help, -human)
Arguments:命令的作用对象,命令对什么生效
ifconfig
ifconfig是用于显示或配置网络设备的命令
-a: 显示当前使用所有接口
-s:显示网卡信息
tty
tty用来查看终端设备文件名
-version:显示版本信息并退出
startx
startx用来在某一个虚拟终端启动gui
export
export用来设置或显示环境变量
history
history查看命令的历史记录
-c:清空历史记录
-d:从指定的位置删除 history -d #
-r:从文件读取命令历史到历史列表中
-w:将历史列表中的命令追加到文件中
:显示最近#条的命令history
shutdown
关机或重启
-h关机后并关电源
-c停止目前正在执行的关机程序
-r重启
poweroff
关机
-f:强制关机
reboot
重启
hwlock
hwlock显示与设定硬件的时间
-s -hctosys 以硬件时间为准
-w -systohc 以系统时间为准
data
查看或修改系统时钟
显示: data [OPTION] ... [+FORMAT]
设定: data [MMDDHHmm[[CC]YY][.ss]]
可以分开显示
date +%Y 显示年
date +%T 显示当前时间
...
设定时间data [MMDDHHmm[[CC]YY][.ss]]
MM:月,DD日,HH小时,mm分钟 [CC]YY, 年, ss秒
cat
查看文本文件的内容,从第一行输出至最后一行
-n 显示行号
-A 显示特殊字符
tac命令, 从最后一行开始往第一行输出
pwd
print name of current working directory, 即打印当前的目录(光标所在目录的绝对路径),此命令无参数
cd
change directory, 改变目录
cd [绝对路径]:切换至绝对路径
cd .. 切换至上层目录
cd ~ 切换至家目录
cd - 切换至上次执行cd指令时所处目录
ls
列出所在目录下各种类型文件及目录
-l 列出文件或目录的详细属性(权限,,用户名,所属组,大小,最后修改日期)
-r 逆序排列
-R 递归列出子目录下所有文件
-h 将文件大小以人类可读形式显示
-d 只显示目录名
-a 列出所有文件及目录包含隐藏文件
-A 不显示"."和".."文件
-t 用文件和目录的更更改时间排序
file
file [FILE] ..... 查看文件内容类型
echo
echo [SHORT-OPTION] ... [STRING] ...
echo将参数写入标准输出
STRING可以使引号
单引号:强引用,变量引用不执行替换
~]# echo '$SHELL'
双引号:弱引用,变量引用会被替换
~]# echo "$SHELL"
变量引用的正规符号:${name}
-n:不换行
-e:让转义字符生效( \n 换行,\t 制表)
如何获取使用帮助
- help --help, man, info
- 自带文档(README, CHANGELOG, INSTALL), 官方文档
- Google
-Linux Kerenl: Documentation
man # KEYWORD (#代表章节)
控制命令:
Space向后翻一页, b向前翻一页
Enter向后翻一行, k向前翻一行
Ctrl+d向后翻半屏, Ctrl+u向前半屏
q退出
#G 跳至某行
/keyword
?keyword
n下一个搜索同方向
N下一个搜索反方向