计算机组成和功能
按照Von Neumann的理解 [1],计算机分为以下几部分:
输入 (Input Device, 用于提供给计算机待处理的数据)
e.g. 键盘,…
CPU (Central Processing Unit, 用于处理输入数据)
控制单元 (Control Unit, IR+PC, 存放当前系统状态)
运算逻辑单元 (Arithmetic/Logic Unit, 算数)
记忆 (存1和0的)
e.g. 硬盘,RAM, …
输出 (输出系统状态或运算结果等)
显示器,纸带, …
实际上的计算机需要其他辅助硬件组件,如供电模块,主板等。具体可参见Wikipedia [2]
[1] Von Neumann architecture, https://en.wikipedia.org/wiki/Von_Neumann_architecture
[2] Computer hardware, https://en.wikipedia.org/wiki/Computer_hardware
Linux发行版
debian
Knoppix
便携式OS, 提供较广的硬件支持
ubuntu (African word, "humanity to others", 更好的语言支持)
Mint 更注重用户体验,提供多媒体解码支持,等
Gentoo
有叫 Portage 的软件包管理系统
slackware (Goal: 方便使用,稳定)
openSUSE (Software und System-Entwicklung, 提供更好的开发者体验)
Arch
pacman 软件包管理系统
ABS, arch build system
Fedora
RHEL
CentOS (免费版,国内用得多
各发行版详细信息: http://distrowatch.com/
Linux发行版大图: https://en.wikipedia.org/wiki/Linux_distribution
Linux哲学思想并描述
-
一切皆文件
IO设备有对应文件,RAM有对应文件,就连进程都有对应文件(夹)。一切皆文件意味着OS运行更透明,定制更灵活
-
由众多功能单一程序组成
高复用性
减少重复开发
-
尽量避免与用户交互(自动化)
程序设计时避免用户交互,以后需要交互可再加。但若是开始就搞成需要用户交互,之后想自动化往往会变得很丑陋
-
使用文本文件保存配置信息
方便用简单脚本读写
高可读性
Linux系统上命令的使用格式, 常用指令
使用格式:
[path]command [parameters]
e.g. /bin/ls -l
[path]为命令所在路径名,若command在$PATH (echo "$PATH") 中可省略
ifconfig
查看本机网络接口信息(ip, MAC, etc)
[root@CentOS68 1]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:71:B3:79 inet addr:192.168.153.128 Bcast:192.168.153.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe71:b379/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:52659 errors:0 dropped:0 overruns:0 frame:0 TX packets:101141 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:11545520 (11.0 MiB) TX bytes:9622411 (9.1 MiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:10 errors:0 dropped:0 overruns:0 frame:0 TX packets:10 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:512 (512.0 b) TX bytes:512 (512.0 b)
echo
输出参数到标准输出
[root@CentOS68 1]# echo "PATH=$PATH" PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
tty
输出当前terminal
[root@CentOS68 1]# tty /dev/pts/0
startx
打开图形界面
[root@CentOS68 1]# startx & 就不试了
export
管理环境变量
[root@CentOS68 1]# export some_var=123 [root@CentOS68 1]# export -p | grep some_var #-p 显示所有 declare -x some_var="123" [root@CentOS68 1]# export -n some_var #-n 删除 [root@CentOS68 1]# export -p | grep some_var [root@CentOS68 1]#
pwd
显示当前路径
[root@CentOS68 ~]# pwd /root [root@CentOS68 ~]# cd .. [root@CentOS68 /]# pwd /
history
管理最近运行过的指令历史
[root@CentOS68 /]# history 1 help history 2 history [root@CentOS68 /]# history -d 1 #删除第一条历史记录 [root@CentOS68 /]# history 1 history 2 history -d 1 3 history [root@CentOS68 /]# history -c #清空加载的历史记录 [root@CentOS68 /]# history 1 history
shutdown
关机 重启等
[root@CentOS68 /]# shutdown -r 5 'System will shut down after 5min'& #五分钟后重启机器 [1] 4600 [root@CentOS68 /]# Broadcast message from root@CentOS68 (/dev/pts/0) at 10:33 ... The system is going down for reboot in 5 minutes! System will shut down after 5min [root@CentOS68 /]# shutdown -c shutdown: Shutdown cancelled [1]+ Done shutdown -r 5 'System will shut down after 5min' [root@CentOS68 /]# shutdown -r 5 'System will shut down after 5min'& [1] 4605 [root@CentOS68 /]# Broadcast message from root@CentOS68 (/dev/pts/0) at 10:34 ... The system is going down for reboot in 5 minutes! System will shut down after 5min [root@CentOS68 /]# shutdown -c 'no way' #取消 shutdown: Shutdown cancelled [1]+ Done shutdown -r 5 'System will shut down after 5min' [root@CentOS68 /]# Broadcast message from root@CentOS68 (/dev/pts/0) at 10:34 ... no way [root@CentOS68 /]#
poweroff / reboot
关机/重启
hwclock 管理硬件时钟 date 管理系统时钟 [root@CentOS68 /]# date Sun Sep 25 10:40:22 PDT 2016 [root@CentOS68 /]# date 09260940 #改系统时间 Mon Sep 26 09:40:00 PDT 2016 [root@CentOS68 /]# hwclock #不影响硬件时钟 Sun 25 Sep 2016 10:42:35 AM PDT -0.173872 seconds [root@CentOS68 /]# hwclock -s #设置系统时间为硬件时钟 [root@CentOS68 /]# date #变回来了 Sun Sep 25 10:42:47 PDT 2016 [root@CentOS68 /]# hwclock --set --date="9/22/16 09:00:00" #改硬件时钟 [root@CentOS68 /]# hwclock #硬件时钟变了 Thu 22 Sep 2016 09:00:05 AM PDT -0.094523 seconds [root@CentOS68 /]# date #不影响系统时间 Sun Sep 25 10:44:49 PDT 2016 [root@CentOS68 /]# hwclock -w #设置硬件时钟为系统时间 [root@CentOS68 /]# hwclock #变回来了 Sun 25 Sep 2016 10:44:59 AM PDT -0.266375 seconds
Linux帮助信息
内置命令: help <command>
外部命令:
<command> –help
man <command>
文档储存在/usr/share/man
压缩格式的文件,有章节之分
/usr/shared/man/man1, man2, …
1: 用户命令 (ls
2: 系统调用 (open, read
3: C库调用 (exec
4: 设备文件及特殊文件 (mouse, console
5: 文件格式 (/etc/crontab
6: 游戏使用帮助
7: 杂项 (ISO…
8: 管理工具 (arp
info <command>
在线文档
/usr/share/doc/command-version/
有时存有些许文档
Linux发行版基础目录命名法和功能规定
/ ├── bin #一般命令 ├── boot #开机相关 ├── dev #设备 ├── etc #配置 ├── home #一般用户home folder ├── lib #库 ├── lib64 #64位库 ├── media #挂载的移动存储 ├── mnt #其他挂载点 ├── opt #Optional软件 ├── proc #系统进程相关 基于内存的文件系统 ├── root #root用户home folder ├── sbin #系统命令 ├── srv #服务数据 ├── sys #设备相关 基于内存的文件系统 ├── tmp #临时文件 ├── usr #全局共享只读文件 │ ├── local #一般用于安装本地第三方文件 └── var #可变文件 ├── log #日志 ├── www #本地静态页面
原创文章,作者:b_stick,如若转载,请注明出处:http://www.178linux.com/49241