Linux历史 计算机基础
什么是发行版?
Linux内核属于GNU软件,对外免费试用,但是提供的都是源码,普通用户并没有能力自己把内核编译成最终可以使用的操作系统.
于是市面上就出现了专门从事将Linux源码编译成内核,并提供给别人使用的公司或者组织.其中有付费的商业公司(比如RedHat),也有免费的社区(比如CentOS).
交叉编译
程序源文件需要经过编译之后,才能被CPU所执行.而编译程序也需要运行在特定的平台上,通常,编译程序运行的平台就是程序源码最终执行的平台.
但是如果编译的平台和编译后的程序运行的平台不是一样的话,就称为交叉编译.
例如:在x86系列平台上编译一个C语言程序,但是编译时指定最终程序是运行在powerpc上的,则这个程序最终就可以运行在powerpc架构上,此时编译平台和运行平台不一致,就是交叉编译.
在比如手机上运行的软件,通常都是在pc机上进行编译的,但是最终的程序却是在arm架构的CPU上运行.
各种协议
GNU,LGNU:使用软件,就必须开放源码.
BSD
Apache:可以任意使用软件,并且做商业化,只要不声称是原作者即可.
双线授权:
软件作者开发一款软件,提供两种版本:
社区版:可以任意使用.
企业版:功能上比社区强,需要付费使用.
各种终端分类
物理终端:控制台
真正的连到服务器的终端,就是物理终端.物理终端通常只在系统启动时有用,在真正使用过程中,通常使用的是虚拟终端(tty).通常有六个虚拟终端.
伪终端:
xshell连接的界面,或者在桌面上开启的终端,称为伪终端(pty).
查看使用的终端类型:
tty命令
Linux文件命名规范
严格区分大小写.
目录也是文件,同一路径下的文件不能同名.
可以使用除了/之外的任意字符,最长不能超过255个字符.
basename命令:获取一个路径的最右侧的文件或者是目录名
dirname命令:获取一个路径除了basename之外的路径名.
例如:
basename /etc/sysconfig/network-scripts/ifcfg-eth0
dirname /etc/sysconfig/network-scripts/ifcfg-eth0
命令存放路径
普通命令:/bin,/usr/bin,/usr/local/bin
管理命令:/sbin,/usr/sbin,/usr/local/sbin
共享库路径
多个程序都需要使用到的程序,独立出来就是库文件.
32位的库:/lib,/usr/lib,/usr/local/lib
64位的库:/lib64,/usr/lib64,/usr/local/lib64
file查看文件的格式
file - determine file type
file FILE
应用程序.
[root@w ~]# file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
普通文本文件.
[root@w ~]# file a.txt
a.txt: ASCII text
和ls -l命令的显示结果相比,file命令能更细粒度的区分文件的类型.
比如:
ls -l命令只能区分普通文件和其他文件的大致类型.
但是普通文件又分为文本文件,程序文件,图片等等.
这些更细粒度的类型的区分,就只能使用file命令了.
命令分类
内置命令:bash自带的命令.通常并没有文件和这个命令对应.
外置命令:在文件系统中有一个可执行文件和这个命令对应.
外置命令查找的路径在环境变量中PATH中定义.
内置命令不需要在PATH中查找.
查看一个命令的类型:
type COMMAND
[root@w ~]# type cd
cd is a shell builtin # 内置命令
[root@w ~]# type iptables
iptables is /sbin/iptables # 外置命令
[root@w ~]# type chkconfig
chkconfig is /sbin/chkconfig
查看所有的内置命令:
man builtin
bash, :, ., [, alias, bg, bind, break, builtin, caller, cd, command, compgen, complete, compopt, continue, declare, dirs, disown, echo, enable, eval, exec, exit, export, false, fc, fg, getopts, hash, help, history, jobs, kill, let, local, logout, mapfile, popd, printf, pushd, pwd, read, read-only, return, set, shift, shopt, source, suspend, test, times, trap, true, type, typeset, ulimit,umask, unalias, unset, wait
命令的选项
短选项:使用-表示的,多个短选项可以合并.ls -ld /var
长选项:使用--表示的,长选项一般不能合并.
ls /var --human-readable
选项的参数:不同于命令参数,是选项所作用的对象或者是选项的特性.

浙公网安备 33010602011771号