从六个方面熟悉 Ubuntu Linux
高频命令
每条命令都要敲过一遍
👋man [command]
1 💬使用者在shell环境中可以操作的命令或可运行文件‼️
2 💬系统核心可呼叫的函数与工具等
3 💬一些常用的函数(function)与函式库(library),大部分为C的函式库(libc)
4 💬装置文件的说明,通常在/dev下的文件
5 💬配置文件或者是某些文件的格式‼️
6 💬游戏
7 💬惯例与协议等,例如Linux文件系统、网络协议、ASCII code等等的说明
8 💬系统管理员可用的管理命令‼️
9 💬跟kernel有关的文件
👋clear 💬 清屏
👋type [command] 💬 查看命令的具体配置信息
⌨️硬件
⬇️计量单位
锁存器 latch 能够存储 1位 的电路信息;
256位寄存器 register 是由 256个锁存器排列而成,为了节省电路一般通过矩阵排列;
字节 byte 是由8个寄存器排列组成;
内存 RAM 可以由 256个字节排列而成;
pow(2,8)= 256;
1024byte = 1KB、1024KB = 1MB、1024MB = 1GB
⬇️存储设备与文件系统
磁盘分区完毕后还需要进行格式化,之后操作系统才能够使用这个分割槽,每种操作系统能够使用的文件系统并不相同。
windows 98 以前的微软操作系统主要利用的文件系统是 FAT 、FAT16
windows 2000 以后的版本有所谓的 NTFS 文件系统
Linux 的正统文件系统则为 Ext2,Linux second extended file system 这一个
操作系统的文件数据除了文件实际内容外, 通常含有非常多的属性,例如 Linux 操作系统的文件权限(rwx)与文件属性(拥有者、群组、时间参数等)。文件系统通常会将这两部份的数据分别存放在不同的区块,权限与属性放置到 inode 中,至于实际数据则放置到 data block 区块中。另外,还有一个超级区块 (superblock) 会记录整个文件系统的整体信息,包括 inode 与 block 的总量、使用量、剩余量等。
👋uname 💬 查看操作系统 Kernel 版本
👋lsb_release 💬 查看操作系统版本信息
🧵磁盘-文件系统
df 列出文件系统的整体磁盘使用量
Du 评估文件系统的磁盘使用量
windows98 FAT/16
windows 2000 NTFS
linux EXT2
📃文件系统
⬇️FHS文件目录标准:Filesystem Hierarchy Standard
可分享的 不可分享
static 不变的 /usr 自研 /etc 配置
/opt 三方 /boot 开机
variable 可变动的 /var/spool/news 新闻等 /var/lock 程序
⬇️磁盘上内容的分类
(-)标准文件,如文本(ASCII)文件、二进制文件(Binary)、特殊格式文件(如数据文件)
(d)目录 directory
( l )快捷方式
(b)设备文件,如存储设备、IO设备
(s)数据接口文件,如HTTP监听程序(socket)
(c)数据传输文件,主要解决异步资源锁问题(FIFO、pipe)
⬇️目录划分
/ 💬根目录
/boot 💬 Linux Kernel 和开机管理程序
/sbin 💬 开机过程中需要的执行文件,如 fsck, ifconfig, init 等
/bin 💬 基础执行文件,如 cat、chmod、mkdir 等
/lib 💬 开机需要的函数库
/etc 💬 配置文件
/etc/passwd 💬 使用者账号
/etc/shadow 💬 使用者密码
/etc/group 💬 群组
/dev 💬 计算机必需的硬件
/dev/sd+ 💬 为SCSI, SATA, U盘, Flash闪盘等接口的磁盘文件名
/dev/hd+ 💬 为为 IDE 接口的磁盘文件名
/media 💬 计算机中可拆卸硬件
/root 💬 系统用户资料
/home 💬 当前用户资料
/srv 💬 网络服务的数据目录
/tmp 💬 运行时临时目录
/opt 💬 三方软件安装目录
/usr 💬 自有软件安装目录
/var 💬 运行时文件
/var/run 💬 当前正在运行的程序
👋mkdir 💬 创建目录
👋touch [path] 💬 创建文件
👋rmdir 💬 删除空目录
👋rm 💬 删除目录或文件
-r 强制删除
-i 会有二次确认
👋mv 💬 移动或者重命名文件/目录
👋cp 💬 复制文件/目录
👋chgrp [new] [path] 💬 修改群组名,其必须存在于 /etc/group
👋chown [new] [path] 💬 修改拥有者,其必须存在于 /etc/passwd
👋chmod [xyz] [path]💬 修改权限
通过xyz权重修改权限,它们分别为read(4)write(2)excute(1)之合;
👋which 💬 查找命令所在目录(./ -> $PATH)
👋whereis 💬 更快地查找文件路径
👋locate 💬 更快地查找文件路径(从linux内置的索引数据库查找)
👋find [path] [keyword] 💬 查找文件路径
👋file [path] 💬 简单介绍某个文件/目录是什么
👋ls [path] 💬 罗列当前磁盘内容
-l 💬 按行展示详细 [权限] [链接档个数] [拥有者账号] [群组名称] [bytes] [最后时间]
-a 💬 展示目录下的所有内容,包含隐藏的 [.] [..]
权限具体内容为
内容类型
r、read:目录是否暴漏、文件内容是否可以读取
w、write:目录(及其内容)是否可以删除修改、文件内容是否可以编辑
x、excute:用户是否能够进入目录、文件是否可以被执行
权限具体分布为:[拥有者] [群组] [其他用户]
拥有者的权限
群组的权限
其他访客的权限
👋cat [path] 💬 从头打印短文件
👋nl [path] 💬 从头打印短文件,并显示行号
👋tac [path] 💬 从末尾打印短文件
👋less [path] 或是 more [path] 💬 翻页阅读文件
按键 space 下翻页
按键 b 上翻页
👋basename 💬 返回内容名称
👋dirname 💬 返回内容路径
👋pwd 💬 返回当前目录
👥用户
📃Shell Script
操作系统的核心 (kernel) 在管理整个计算机硬件的其实是,这个核心是需要被保护的! 所以我们一般使用者就只能透过 shell 来跟核心沟通,以让核心达到我们所想要达到的工作。Bash(/bin/bash)是 Unix shell的一种,在1987年由布莱恩·福克斯为了GNU计划而编写。1989年发布第一个正式版本,原先是计划用在GNU操作系统上,但能运行于大多数类Unix系统的操作系统之上,包括Linux与Mac OS X v10.4都将它作为默认shell。
命令别名 alias [simple]=‘complete command’
查看当前所有别名 alias
取消别名 unalias
🧵正规表示法
正规表示法就是处理字串的方法,他是以行为单位来进行字串的处理行为, 正规表示法透过一些特殊符号的辅助,可以让使用者轻易的达到『搜寻/删除/取代』某特定字串的处理程序。
👋echo $PATH 💬 返回环境变量的目录
当我们运行命令时,系统会优先依据环境变量定义的目录中搜索可执行文件
📶网络
👋ifconfig 💬查看本机网络信息
.Z compress 程序压缩的文件
.gz gzip 程序压缩的文件
.bz2 bzip2 程序压缩的文件
.tar tar 程序打包的数据,并没有压缩过
.tar.gz tar 程序打包的文件,其中并且经过 gzip 的压缩
.tar.bz2 tar 程序打包的文件,其中并且经过 bzip2 的压缩
📃Vim 程序编辑器
vim [文件] 打开文件
iconv -f 原编码 -t 期望编码 [文件] 切换编码
一般模式 打开后就是一般模式;或者在其他模式下按 esc 进入;
编辑模式 按下 i 按键进入;
命令模式 按下 : 进入;ctrl f/b 下/上翻页
数字 0 / home 到这一行的最前面字符
$ / end 到这一行的最后面字符
gg 移动到第一行
G 移动到最后一行
L 移动到本页最后一行
H 移动到本页第一行
/关键词 文本搜索
x X 向后向前删除文本
dd 删除行
数字 + yy 复制行
p 删除行
:q 离开 q! 强制离开不保存
:w 保存 w! 强制保存