建站

linux学习笔记整理 linux入门基础必看

gena2.0

linux学习笔记整理

操作系统分类:当前主流操作系统分为windows、linux、unix
操作系统以及分支:
Windows:winser2000、winser2003、winxp、win7、win8、win10等
Linux:
Linus(linux内核发明人) ---> Linux
linux 又叫做 GUN/Linux
Unix分支:
System(Bell Lab)
AIX(IBM)
Solaris(SUN)
HP-UX(HP)
BSD:(BSRG)Berkeley System Distribution
NetBSD
OpenBSD
FreeBSD
GNU:GNU is Not Unix
GNU组织所遵循的协定是GPL :General Public License
GPL协议比较严格,只要参考使用GPL协定的源码就必须将所有源码开源
Richard Stallman 是 GNU组织创立者
Linux主要发行版:slackware、debian、redhat
slackware及其分支:
suse:sles、opensuse (基于slackware 二次开发的系统)
debian及其分支:
ubuntu:mint(ubuntu基于debain二次开发的系统,mint是基于Ubuntu二次开发的)
redhat及其分支:
rhel:
fedora:
centos:
GNU:GPLv2、GPLv3、LGPL
Apache:apche开源协定
BSD:bsd开源协定
自由软件是指:自由使用、自由学习和修改、自由分发、自由创建衍生版
Linux哲学思想
1、一切皆文件:把几乎所有的资源包括硬件设备都组织为文件格式
2、由众多单一目的的小程序组成:一个程序只实现一个功能,而且要做好、组合小程序完成复杂任务
3、尽量避免跟用户交互:目标,实现脚本编程,以自动完成某些功能
4、使用纯文本文件保存配置信息:目标,一款实用的文本编辑器既能完成系统配置工作

 

程序运行模式:
用户空间:user space、us
内核空间:system space
pos:portable operating system
POSIX标准(可移植操作系统接口) 该标准的出现实现了相同源代码在不同平台的移植
API:编程接口
运行程序格式:
windows:exe 、dll
linux:elf、so
程序=指令+数据
指令:只读
数据:读写
程序:算法+数据结构

LINUX基础
运行图形程序:
GNOME环境 #startx &
KDE环境#startkde &

终端概念:用户与主机交互,必须用到的设备
物理终端:直接接入本机的显示器键盘,console
设备文件:/dev/console
虚拟终端:附加在物理终端上的以软件方式实现的终端,(centos 默认启动6个虚拟终端,默认登录的是虚拟终端,物理终端是在刚开机启动的时候使用)
设备文件:/dev/tty#
图形终端:附加在物理终端上的以软件方式实现的终端,但额外会提供桌面环境
模拟终端:图形界面下打开的命令行接口,基于ssh协议或telnet协议等远程打开的界面
设备文件:/dev/pts/#

查看当前的终端设备:tty

交互式接口:启动终端后,在终端设备附加一个交互式应用程序
GUI:
X protocol,window manager,desktop
Desktop:GNOME(C,gtk)、KDE(C++,QT)、Xfce(轻量级桌面)
CLI:shell程序
sh(bourn)
csh
tcsh
ksh(korn)商业程序
bash(融合csh和ksh)(bourn again shell),GPL
zsh
显示当前使用的shell:echo $shell
显示当前系统使用的所有shell:cat /etc/shells
命令提示符:prompt ,命令提示符的环境变量:$PS1
管理员:#
普通用户:$
命令:
输入命令,回车:提请shell程序找到键入的命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来,表现为一个或多个进程
在shell中可执行的命令有两类:
内建命令:有shell自带的,而且通过某命令形式提供
外部命令:在当前系统的某文件系统路径下有对应的可执行程序文件
区别内部或外部命令:type COMMAND

运行命令:
命令格式:COMMAND [options…] [ARGUMENTS…]
选项:启用或关闭命令的某个功能
短选项:-c例如:-l,-h
多个短选项可命令使用:例如-l -h 可写作 -lh
长选项:--word例如:--long,--human-readable
参数:命令的作用对象
向命令提供数据:
多选项,以及多参数和命令直接都应该使用空白字符分开
文件系统:
文件有两类数据:元数据(metadata)、数据(data)
linux文件系统:
1、文件名严格区分字符大小写
2、文件名可使用除 / 意外的任意字符:不建议使用特殊字符
3、文件名长度最长不能超过255个字符
4、所有,以 . 开头的文件,均为隐藏文件
路径:
绝对路径:从跟目录起始的路径
相对路径:从当前位置起始的路径
当前位置的表示方式:直接使用下级目录 、./ 方式
当前目录:current directory 也称作working directory
pwd:printing working directory
LSB:Linux Standard Base

 

命令帮助
外部命令:都有一个可执行程序,位于文件系统某个目录下
which、whereis
shell程序搜寻可执行程序文件的路径定义在PATH环境变量中
echo $PATH

内部命令:help COMMAND
外部命令:
1、COMMAND --help
COMMAND -h
2、使用手册(manual)
man COMMAND
3、信息页
info COMMAND
4、程序自身的帮助文档
README、INSTALL、Changelog
5、程序官方文档
官方站点:Documentation
6、发行版的官方文档
7、google
内部命令帮助:
#help COMMAND

hash命令:查看 : hash 清除:hash -r
shell搜寻到的外部命令的路径结果会缓存至kv(key--value)存储中
history命令:
管理命令历史
登录shell时,会读取命令历史文件中记录下的命令:~/bash_history
登录进shell后新执行的命令只会记录在缓存中,这些命令会在用户退出时“追加”至命令历史文件中
history:
-a:追加本次会话新执行的命令历史列表至历史文件中
-d:删除历史中指定的命令
-c:清空命令历史
快捷操作:
!N:调用命令历史中低N条命令
!String:调用命令历史中最近一次以String开头的命令
!!:重复运行上一条命令
外部命令获取帮助:
1、--help:
2、man COMMAND:
whatis COMMAND:可以查看此命令存在的man手册
有些命令存在多个章节帮助手册,查看 指定(N) 章节的满手册:man N COMMAND
man手册页位置:/usr/share/man/man1 …… man8
man1:用户命令
man2:系统调用
man3:C库调用
man4:设备文件及特殊文件
man5:配置文件格式说明
man6:游戏相关
man7:杂项
man8:管理类命令
man命令的配置文件:/etc/man.config 配置文件中MANPATH 的值 就是man寻找帮助文档的路径
MANPATH /path/to/somewhere:指明新的手册文件搜索文职
#man -M /path/to/somewhere COMMAND:到指定位置下搜索COMMAND手册页,并显示
man手册中段落格式说明:
NAME:程序的名字及简要说明
SYNOPSIS:命令的简要使用帮助
DESCRIPTION:功能的详细描述
OPTOINS:选项
EXAMPLES:使用实例
AUTHOR:作者
REPORTING BUGS:报告BUGs的联系方式
SEE ALSO:阅读参考

SYNOPSIS中的符号说明:
[]:可选内容
<>:必选内容
a|b:二选一或者多选一
…:同一内容可出现多次
{}:辅助 多选一 做定界
man命令的操作方法:man是使用less编辑器,所以操作方法可以参考man less
Space、^V、^f、^F:向文件尾部翻屏
b,^B:向文件首部翻屏
d,^D:一次向文件尾部翻半屏
u,^U:一次向文件首部翻半屏
RETURN,^N,e,^E,j,^J:一次向文件尾部翻一行
y,^Y,^P,k,^K:一次向文件首部翻一行
q:退出
#:跳转至第 # 行
1G:回到文件首行
G:跳至文件尾部

文件搜索命令:
/KEYWORD:以KEYWORD指定的字符串为关键字,从当前位置向文件尾部搜索,不区分字符大小写
n:下一个
N:上一个
?KEYWORD:以KEYWORD指定的字符串为关键字,从当前位置向文件首部搜索,不区分字符大小写
n:跟命令搜索同方向,下一个
N:跟命令搜索反方向,上一个

3、info COMMAND
4、程序自身的帮助文档:/usr/share/doc/COMMAND-VERSION
5、程序官方文档
6、发行版的官方文档
7、搜索引擎:google、百度

历史上的今天:

(0)

本文由 格娜小屋 作者:子轩 发表,转载请注明来源!

关键词:,
gena2.0

热评文章