dll:Dynamic Link Library
.so:shared object
认证:Authentication
授权:Authorization
审计:Audition(日志)
prompt,命令提示符:
命令:
magic number:魔数
shebang
#!/bin/bash
目录
目录::文件,路径映射
路径:从指定起始点到目的地所经过的位置
路径是 实现层次化文件管理的机制
文件系统:file system
倒置树状结构
绝对路径,相对路径
working directory 工作目录,current directory 当前目录
FHS 文件系统层级结构标准
!问题:文件名是不是文件的数据?
ls:list 列出,列表
-l:长格式
文件类型:
-:普通文件(f)
d:目录文件
b:块设备文件(block)
c:字符设备文件(character)
l:符号连接文件(sysmbolic link file)
p:命令管道文件(pipe)
s:套接字文件(socket)
文件权限:9位,每3位一组,每一组:rwx
文件硬链接的次数
文件的属主(owner)
文件的属组(group)
文件大小(size),单位是字节
时间戳(timestamp)最近一次被修改的时间
访问:access
修改:modify 文件内容发生了改变
改变:change,metadata 元数据
-h:做单位转换
-a:显示以. 开头的隐藏文件
. 表示当前目录
.. 上级目录
-d:显示目录自身属性
-i:index node,inode 索引节点号
-r:逆序显示
-R:递归(recursive)显示
pwd:printing working directory
cd:change directory
家目录,主目录,home directory
cd ~USERNAME:进入指定用户的家目录
cd -:在当前目录和前一次所在的目录之间来回切换
命令类型:
内置命令(shell内置),内部,内建
外部命令:在文件系统的某个路径下有一个与命令名称相同的可执行文件
!问题:什么是变量?
什么是堆?什么是栈?
环境变量:命名的内存空间
变量赋值:
e.g NAME=jerry
PATH:那个冒号分割的一堆路径
o(1):衡量一个程序执行速度的一种标准
在一个列表中查询一个数据的速度随着列表长度变化而发生变化的比例或者叫函数趋势。
type:显示指定命令属于哪种类型
printenv:显示环境变量
hash:键值数据库 cache is king 缓存可以实现系统加速
时间
date:时间管理
Linux时间实现方式:rtc
ntp:network time protocol
硬件时钟
软件时钟
hwclock
-w:将系统时间写到硬件中
-s :将硬件时间写到系统中
获得命令的使用帮助
内部命令:
help COMMAND
外部命令:
COMMAND --help
命令手册:manual
man COMMAND
whatis COMMAND
man的章节:
用户命令(/bin,/usr/bin,/usr/local/bin) ---User Commands
系统调用 ---System Calls
库用户--- C Library Functions
特殊文件(设备文件)---Devices and Special Files
文件格式(配置文件的语法) ---File Formats and Conventions
游戏---Games et. Al.
杂项---Miscellanea
管理命令(/sbin,/usr/sbin,/usr/locacl/sbin)---System Administration tools and Deamons
< >:必选
[ ]:可选
. . . :可以出现多次
| :多选一
{ }:分组,没有特殊意义
MAN:
NAME:命令名称功能简要说明
SYNOPSIS:用法说明,包括可用的选项
DESCRIPTION:命令功能的详尽说明,包括每一个选项的意义
OPTIONS:说明每一个选项的意义
FILES:此命令相关的配置文件
BUGS:
EXAMPLES:使用示例
SEE ALSO:另外参照
翻屏:
向后翻一屏:SPACE
向前翻一屏:b
向下翻一行:ENTER
向上翻一行:k
查找:
/KEYWORD 向前
n:下一个
N:前一个
?KEYWORD 向后
n:下一个
N:前一个
退出:q
在线文档:
info COMMAND
文件系统
rootfs:根文件系统
FHS: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:binary 可执行文件,用户命令
/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、严格区分大小写
文件管理、目录管理、运行程序、设备管理、软件管理、进程管理、网络管理
目录管理
ls、cd、pwd
mkdir:创建空目录
-p:parent
-v:verbose 显示详细信息
e.g :命令行展开
mkdir -pv /mnt/test/{x/m,y}
a_b,a_c,d_b,d_c
{a,d}_{b,c}
# tree:查看目录树
rmdir:remove directory 删除目录,只能删除空目录
-p
文件管理
touch:创建文件,修改文件时间戳
-a、-m、-t、-c
创建文件,也可以使用文件编辑器
stat:显示文件或文件系统的状态信息
ASCII:美国标准信息交换代码
字符翻译标准:BG18030,GBK,GB2312,Unicode
nano
rm:删除文件
-i:管理员才有的默认选项,避免误操作
-f:force 强行删除
-r:删除目录的时候,地柜删除以下的所有文件
cp:copy
e.q:cp SRCFILE DEST
cp file1 file2 file3
cp命令只有最后一个出现的才是目标
一个文件到一个文件
多个文件到一个目录
cp命令默认只复制文件,不能复制目录
-r 递归
-f force 强行复制,如果目标文件存在直接覆盖
-i interactive 如果目前存在,提示是否覆盖
-p preserve 保留文件的属主,属组和时间戳
-a archive 保留所有属性,归档复制,常用于备份
-P 保持链接
-L 复制链接指向的文件
mv:move 用于移动文件
mv SRC DEST
mv -t DEST SRC
install :copy files and set attributes
-d DIRECTORY
总结:
目录管理:ls、cd、pwd、mkdir、rmdir、tree
文件管理:touch、stat、file、rm、cp、mv、nano
日期时间:date clock hwclock,cal
查看文本:cat、tac、more、less、head、tail
cat:连接并显示
-n 显示行号
-E show ends 显示每一行的行节数符
-A show ALL
tac:倒叙显示
Ctrl+c
more:向后翻
less:
head:查看前n行
tail:查看后n行
-n
-f:查看文件尾部,不退出,等待显示后续追加至此文件的新内容
文本处理:
cut、join、sed、awk
database:数据库
关系型数据库:
表:二维表
文本文件:
cut:
-d:指定分隔符,默认是空格
-f:指定要显示的字段
-f 1,3
-f 1-3
e.g cut -d:-f1 /etc/passwd
sort:文本排序,默认是根据字符在ASCII码表中的次序升序排列的
-n:按数值大小排列
-r:reverse 逆向
-t:字段分隔符
-k:以哪个字段为关键字进行排序
-u:排序后相同行只显示一次
-f:ignore-case 忽略字符大小写,相邻且重复的行认定为重复行,隔行重复不算在内
uniq:report or omit repeated lines
-d:onely print duplicate lines,只显示重复的行
-D:all-repeated
-c:count 显示某一行重复的次数
wc:文本统计 word count
-l:只显示行
-w:只显示单词数
-c:只显示字节数
-m:只显示字符数
-L:表示最长的一行包含多少字符
tr:字符处理,转换或删除字符
tr [OPTION]... SET1 [SET2]