|
自学Linux已经两个星期了(不算之前的水课),之前也学过一些Linux,但不像现在这种学习状态。这几天除了上课,我的首要任务就是学习Linux!
在这两个星期的学习中,通过看马哥教育的视频和鸟哥的私房菜,大致学到了这些东西:
1.计算机的基础知识
2.操作系统的相关知识
3.Linux命令行的常用命令
4.Linux用户的认识
一、计算机的基础知识
- 计算机的体系结构:运算器,控制器,存储器,输入输出
- 机算计上电后如何识别硬件部分?上电自检
- 前端总线:南桥北桥 固态硬盘 机械硬盘
- 什么事CPU的主频,什么是缓存
- 内核kernel,操作系统,API,shell之间的关系
- 内核功能:进程管理,内存管理,文件系统,网络功能,硬件驱动,安全机制
- 批处理系统是什么? jobs1$$$$$$$jobs2$$$$$$$$单进程
- GUI和CLI:图形交互界面和命令行交互界面
二、Linux操作系统相关知识
- GUN,GPL
- 操作系统的发展历史
- Linux的最新内核版本 www.kernel.org
- Linux的发行厂商release:Debian,RedHat,Ubuntu,CentOS,Fedora,Mandriva
- 开放源代码:自由获取,自由修改,自由学习
- 了解GPL, BSD, Apache三个开源协定(版权描述)的大体联系及区别
- 发行版:Fedora, RedHat(CentOS), SUSE, Debian(Ubuntu, Mint), Gentoo, LFS(Linux From Scratch)
Linux的基本原则:
1、由目的单一的小程序组成;组合小程序完成复杂任务;
2、一切皆文件;
3、尽量避免捕获用户接口;
4、配置文件保存为纯文本格式;
Linux文件系统
文件系统层级标准FHS(Filesystem Hierarchy Standard):Linux标准委员会规定了根文件目录标准
/boot: 系统启动相关的文件,如内核、initrd,以及grub(bootloader)
/dev: 设备文件
设备文件:
块设备:随机访问,数据块
字符设备:线性访问,按字符为单位
设备号:主设备号(major)和次设备号(minor)
/etc:配置文件
/home:用户的家目录,每一个用户的家目录通常默认为/home/USERNAME
/root:管理员的家目录;
/lib:库文件
静态库, .a
动态库, .dll, .so (shared object)
/lib/modules:内核模块文件
/media:挂载点目录,移动设备
/mnt:挂载点目录,额外的临时文件系统
/opt:可选目录,第三方程序的安装目录
/proc:伪文件系统,内核映射文件
/sys:伪文件系统,跟硬件设备相关的属性映射文件
/tmp:临时文件, /var/tmp
/var:可变化的文件
/bin: 可执行文件, 用户命令
/sbin:管理命令
/usr:shared, read-only
/usr/bin
/usr/sbin
/usr/lib
/usr/local:
/usr/local/bin
/usr/local/sbin
/usr/local/lib
命名规则:
1、长度不能超过255个字符;
2、不能使用/当文件名
3、严格区分大小写
三、Linux基础命令(重点)
命令类型:
内置命令(shell内置),内部,内建
外部命令:在文件系统的某个路径下有一个与命令名称相应的可执行文件
命令行展开{ }
1.man命令:
Linux的命令手册:manual
man COMMAND
NAME:命令名称及功能简要说明
SYNOPSIS:用法说明,包括可用的选项
DESCRIPTION:命令功能的详尽说明,可能包括每一个选项的意义
OPTIONS:说明每一个选项的意义
FILES:此命令相关的配置文件
BUGS:
EXAMPLES:使用示例
SEE ALSO:另外参照
翻屏:
向后翻一屏:SPACE
向前翻一屏:b
向后翻一行:ENTER
向前翻一行:k
查找:
/KEYWORD: 向后
n: 下一个
N:前一个
?KEYWORD:向前
n: 下一个
N:前一个
退出:q
获得命令的使用帮助:
内部命令:
help COMMAND
外部命令:
COMMAND --help
2.ls命令:
list 列表 目录
-l:长格式
文件类型:
-:普通文件 (f)
d: 目录文件
b: 块设备文件 (block)
c: 字符设备文件 (character)
l: 符号链接文件(symbolic link file)
p: 命令管道文件(pipe)
s: 套接字文件(socket)
文件权限:9位,每3位一组,每一组:rwx(读,写,执行), r--
文件硬链接的次数
文件的属主(owner)
文件的属组(group)
文件大小(size),单位是字节
时间戳(timestamp):最近一次被修改的时间
访问:access
修改:modify,文件内容发生了改变
改变:change,metadata,元数据
-h:做单位转换
-a: 显示以.开头的隐藏文件
. 表示当前目录
.. 表示父目录
-A
-d: 显示目录自身属性
-i: index node, inode
-r: 逆序显示
-R: 递归(recursive)显示
3.cd命令:change directory
家目录,主目录, home directory
cd ~USERNAME: 进入指定用户的家目录
cd -:在当前目录和前一次所在的目录之间来回切换
cd:回到家目录
4.type命令: 查看命令属于哪种类型
内置命令还是外部命令
5.date命令:时间管理
hwclock命令
cal命令: calendar
6.whatis命令:
查看命令手册的章节
分章节:
1:用户命令(/bin, /usr/bin, /usr/local/bin)
2:系统调用
3:库用户
4:特殊文件(设备文件)
5:文件格式(配置文件的语法)
6:游戏
7:杂项(Miscellaneous)
8: 管理命令(/sbin, /usr/sbin, /usr/local/sbin)
7.info命令:在线文档
8.file命令:查看文件类型
9.mkdir命令:创建空目录
10.rmdir命令:删除空目录
11.touch命令:修改文件时间或创建新文件
touch后面直接接文件,该文件的三个时间都会被更新为目前时间,如果文件不存在,则主动创建一个新的文件。
文件的三个时间参数:
modification time(mtime):该文件的内容数据更改时更新的时间
status time(ctime):文件的状态改变时更新的时间,像是权限与属性被更改了
access time:该文件被访问时更新的时间
-a:仅修改访问时间
-c:仅修改文件时间(ctime)
-m:仅修改mtime
-t:后面可接欲修改时间而不用目前的时间格式为YYMMDDhhmm
12.stat命令:
13.tree命令:查看目录树
14.nano命令:超简单文本编辑器
15.rm命令:移除文件或目录
-i:互动模式,在删除时询问用户是否操作
-f:强制(force)
-r:递归删除
16.cp命令:复制文件或目录
cp 源文件(source) 目标文件(destination)
cp除了单纯的复制之外,还可以创建连接文件(即快捷方式)
-r:递归持续复制,用于目录的复制行为
-i:若目标文件(destination)已存在,在覆盖时会询问操作的进行
-f:为强制(force)的意思
-p:连同文件的属性一起复制,而非使用默认属性(备份常用)
-a:归档复制,常用于备份
17.mv命令:移动文件与目录,或更名
18.install命令:复制文件和指定属性
-d:后面只有一个文件,创建目录
-m:复制后制定权限
19.cat命令:concatenate
cat:由第一行开始显示文件内容
tac:由最后一行开始显示文件内容
20.more:一页一页的显示文件内容
21.less:和more类似,但它比more更好的是可以往前翻页
22.head:只看头几行
23.tail:只看后几行
文本处理:
cut、join、sed、awk
database:数据库
关系型数据库:
表:二维表
文本文件:
Tom:23:male:2013/05/06
cut:
-d: 指定字段分隔符,默认是空格
-f: 指定要显示的字段
-f 1,3
-f 1-3
文本排序:sort
-n:数值排序
-r: 降序
-t: 字段分隔符
-k: 以哪个字段为关键字进行排序
-u: 排序后相同的行只显示一次
-f: 排序时忽略字符大小写
uniq:
-c: 显示文件中行重复的次数
-d: 只显示重复的行
文本统计:wc (word count)
-l
-w
-c
-L
字符处理命令:tr —— 转换或删除字符
tr [OPTION]... SET1 [SET2]
-d: 删除出现在字符集中的所有字符
tr ab AB
|
|
|