刚接触linux,是零基础学习,感觉有些东西很有趣,有些东西比较枯燥,所以它不好学。正因为不好学所以你才要去努力学好,给生活给爱好给工作添一道美丽的风景。
通过对电脑基础的了解和学习,知道一台电脑是怎么通过加电启动自检,怎么通过输入输出设备去工作,计算机如何处理你的输入指令,又怎么知道这个指令是那个类型呢?电脑的核心部件:cpu、主板、内存,输入输出设备:硬盘、显示器、键盘、鼠标等。电脑启动后通过读取ROM芯片(只读内存,"只读内存read-only memory,缩写为ROM"),这个芯片的开机程序开机程序叫bios计算机输入输出系统(Basic /Input/Output System)把信息传到南桥,南桥与设备连接,南桥把信息传到北桥,由北桥把信息传送给cpu,cpu经过分析运算知道这些设备是什么,有没有正常连接。然后通过bios设置的启动顺序,把控制权交给第一块存储设备,通过读取该设备的第一个扇区,大小为512字节,如果这512个字节的最后两个字节是0x55和0xAA,证明可以启动,反之不能。这个扇区被称为主引导记录(Master boot record,缩写MBR)。这个作用是告诉到那一个硬盘分区去找操作系统,然后控制权交给操作系统从而启动系统。linux中最流行的启动管理器是Grub,它的启动原理大致跟windows一样,先调入(system call系统调用)/boot目录下面的kernel(内核)。内核加载成功后,第一个运行的程序是/sbin/init。它根据配置文件(Debian系统是/etc/initab)产生init进程。这是Linux启动后的第一个进程,pid进程编号为1,其他进程都是它的后代。然后,init线程加载系统的各个模块,其实就是库(library)文件,应用程序接口(API:Application program interface)。比如窗口程序和网络程序,直至执行/bin/login程序,跳出登录界面,至此,linux启动完成。
linux学习原则是总分总形式,先有一个大的框架,然后去细分里边的东西,并学习掌握,最后再总结,做到学到知识、转换思维方式和做事的方式。
学习linux遵循的基本原则:
1、由目的单一的小程序组成,组合小程序完成复杂任务。
2、一切皆文件。
3、尽量避免捕获用户接口。
4、配置文件保存为纯文本格式。
开机启动项的调整可以开机按住ctrl+alt+insert,然后按住F2(电脑不一样,按键也不一样),需要速度非常快,你的电脑性能越好,bios闪的越快,时间更短,需要更快的操作。编程语言有机器语言、微码(汇编语言)(编译器)和高级语言。liunx演变有许多著名的发行(release)版本,redhat系列:centos、fedora、mandrila,debian系列:ubuntu、mint等。系统启动起来有两个接口,一个是GUI(Graphic user interface)接口,即图形用户界面,快捷切换是:ctrl+alt+F7,通过虚拟终端(terminal)来输入执行命令,切换多个用户:ctrl+alt+F1-F6。它有Gnome、KDE、XFace、X-window。另一个是CLI(Command line interface)接口,即命令行界面,它有bash、csh、zsh、ksh、tcsh等。通过命令行输入命令,传送到shell(壳),shell再传送到内核(kernel,内核是平台)进行解析执行。
一个小的linux系统只需要kernel、库、shell就可以装起来,这里有几个名词:Dll(Dynamic link library)动态链接库,So:(shared object)共享对象。
切换用户命令:su,直接su root这样也可以切换,但只是半切换,用户的环境变量还停留在上一个用户,因此,要完全切换必须用su -l加选项的格式来切换。
登录用户通过login来打印,这个登录过程是如何登录的呢?
用户密码遵循原则:
1、使用4种类别字符中至少3种
2、足够长,大于7位
3、使用随机字符串
4、定期更换
5、循环周期足够大
用户名:用户ID
认证机制:Authentication
授权:Authorization
审计:Audition(日志)
prompt:命令提示符
magic number:魔数 (如#!bin/bash)
命令格式:#command opitions....arguments....
命令 选项 参数
选项包括:短选项-,长选项--
短选项可以叠加使用,长选项不能叠加使用。
选项:是修改命令执行特性
参数:制定命令作用对象
命令类型:
内置命令:(shell内置)
外部命令:在文件系统的某个路径下有一个与命令名称相应的可执行文件。
type:显示指定属于那种类型
环境变量:命令的内在空间
变量赋值:name=jerry
printenv: 显示环境
clean: 清屏
PATH:使用冒号分割的一堆路径
hash:看缓存命令
一、list:ls 列出,列表,列出指定路径写的文件。
文件系统:(file system)
目录:(working directory,current directory)即文件,路径映射。
路径:指从指定起始点到目的地所经过的位置。分为绝对路径和相对路径,/bin/ls即绝对路径,相对路径只是针对你所在目录相对而言。查找一般是通过根目录一级级的往下找。
ls -l(长格式long)
文件类型:(常用文件类型)
-:普通文件(f)
d:目录文件
b:块设备文件(block)
c:字符设备文件(character)
l:符号链接文件(system link file)
p:命令管道文件(pipe)
s:套接字文件(socket)
文件权限:9位,每三位一组,每组(rwx,读 写 执行)
文件硬链接次数
文件的属主(owner)
文件的属组(group)
文件大小(size)单位字节
时间戳(timestamp)三个时间(访问(access),修改(modify),改变(change,metadata(元数据)表示根本),这里显示的是最后一次修改的时间。
-h:做单位转换。
-a:显示以.开头的隐藏文件。
. 表示当前目录。
.. 表示父目录。
-A:不显示另外目录。
-d:显示目录自身属性。
-i:indexnode,inode 显示文件缩影节点号
-r:逆序显示
-R:递归显示(recursive)执行很耗资源,建议少操作。
二、cd(change directory)
cd 回到用户家目录(home directory)
cd ~ username :进入指定用户家目录
cd - 在当前目录和前一次所在目录之间来回转换
cd ..返回父目录