1.一切皆文件
2.使用纯文本文件保存软件配置信息
3.功能单一的小程序组合完成复杂任务
bash -n 脚本名称
只能大致的测试出一些明显语法错误
bash -x 脚本名称
写大段脚本时常用
pwd:printing working directory
ls
-l:长格式
文件类型:
-:普通文件
d:目录文件
b:块文件(block)
c:字符串文件(character)
l:符号连接文件(symbolic link files)
p:命令管道文件(pipes)
s:套接字文件(socket)
文件权限:9位,每三位一组:rwxr--r--:rwx(读、写、执行)(属主),r--(属组),r--(其它)
文件硬连接的次数
文件的属主(owner)
文件的属组(group)
文件大小(size),单位是字节
时间戳(timestamp):最近一次被修改的时间
访问:access
修改:modify,文件内容发生改变
改变(属性或者元数据改变):change,metadata,元数据(属性数据)
-h:文件大小单位换算 ls -l -h
-a:显示以.开头的隐藏文件(-A:不包含.和..)
-d 查看目录
.:表示当前目录(英文句号)
..:表示父级目录
-i:index node,inode(索引节点)
-r:逆序显示文件
-R:递归显示(recursive)
COMMAND --help
命令手册:manual
man COMMAND
man分章节:
1:用户命令
2:系统调用
3:库调用
4:特殊文件(设备文件)
5:文件格式(配置文件的语法)
6:游戏
7:杂项:(Miscellaneous)
8:管理命令(/sbin , /usr/sbin , /usr/local/sbin)
whatis 显示命令在手册哪个章节
man手册中命令解释:
<>: 必须给出的选项
[]: 可以省略
...:可以出现多次
|:多选一
{}:分组,无特殊意义
SYNOPSIS:用法说明,包括可用的选项
DESCRIPTION:命令功能详尽说明,可能包括每个选项的意义
OPTIOND:说明每个选项的意义
FILES:此命令相关的配置文件
EXAMPLES:使用示例
SEE ALSO :另外参照
翻屏:
向后翻一屏幕:SPACE
向前翻一屏幕:b
向后翻一行:ENTER
向前翻一行:k
查找:
/KEYWORD:向前查找
n:下一个
N:前一个
q:退出
?KEYWORD:向后查找
-w:将系统时间同步到硬件时间
-s:将硬件时间同步到系统时间
在线手册/文档:
info COMMAND
file 命令
rootfs:根文件系统
FHS:Linux
/boot:放系统启动相关的文件,如内核、initrd、grub(bootloader)
/dev:设备文件
设备文件:(字体黄色,背景黑色为特殊文件作为访问设备的入口)
块设备:随机访问,数据块
字符设备:线性访问,按字符为单位
设备号:主设备号(major)和次设备号(minor)
/etc:配置文件存放文件夹
/home:用户家目录,每个用户的家目录默认为/home/USERNAME
/root:管理员的家目录
/lib:库文件及内核模块文件目录
/lib/modules:内核模块
库文件:静态库
动态库(win:.dll linux:.so(shared object))
/media:挂载点目录,移动设备
/mnt:挂载点目录,额外的临时文件系统
/opt:可选目录,第三方程序的安装目录
/proc:伪文件系统,内核映射文件
/sys:伪文件系统,跟硬件设备相关的属性映射文件
/tmp:临时文件,/var/temp
/var:可变化的文件,会随系统使用时间增大
/bin:可执行文件,用户命令
/sbin:管理命令
/usr: universal shared read-only
/usr/bin
/usr/sbin
/usr/lib
/usr/lib
/usr/local:
/usr/local/bin
/usr/local/sbin
/usr/local/lib
文件夹及文件命名规则:
1.长度不能超过255个字符
2.不能使用/当文件名
3.严格区分大小写
相对路径:与当前位置有关
绝对路径:从根目录开始
使用操作系统干些什么?
文件管理
运行程序
内存管理
设备管理
软件管理
进程管理
网络管理
目录管理
ls
cd
pwd
文件创建和删除
mkdir:创建空目录(路径最后的那个目录才是创建的)
-p:一次性创建多层的目录
-v:详细信息:创建多层的目录展示每层的创建情况
eg:/mnt/test/x/m,y
mkdir -pv /mnt/test/x/m /mnt/test/y
mkdir -pv /mnt/test/{x/m,y}
rmdir:-p 删除一脉单承的目录
命令行展开:
/mnt/test/
a_b,a_c,d_b,d_c
(a+d)(b+c) = ab + ac + db + dc
mkdir -pv /mnt/test/{a,d}_{b,c}
touch:改变时间戳
-a
-m
-t
-c
stat:展示文件或文件系统状态
tree:查看目录树
ASCII:
128个不同字符:
7位二进制
计算机存储数据基本单位:字节8位
nano;简单的文本编辑器
-i 交互式,询问是否删除
-f 强制删除
-r 递归删除目录及文件
-rf 直接删除目录不提示
rm -rf / 删除根目录及其所有目录文件,所有文件会被清空,无法重启系统,绝对致命!!!
cp SRC DEST
-r 递归复制一个目录及目录下所有文件
-R 递归复制一个目录及目录下所有文件
-i
-f
-p
-P 保持复制的链接而不拷贝链接指向的文件
-a 归档复制,常用于备份 (archive)
cp file1 file2 file3(only file3 is destination)
一个文件到一个文件
多个文件到一个目录
cp /etc/{passwd,inittab,rc.d/rc.sysinit} /temp 复制三个文件到/temp/
移动文件
mv SRE DEST
mv -t DEST SRC
mv file1 file2(file1 被重命名为 file2)
-d DIRECTORY... 创建目录
install SRC(文件) DEST 复制文件
install -t DEST(文件) SRC
目录管理总结:ls cd pwd mkdir rmdir tree
文件管理总结:touch cat file (查看文件内容类型) rm cp mv nano
日期时间:date hwclock clock cal
文本处理命令:cat,more,less,head,tail,cut,sort,uniq,grep
对于Linux系统而言,文本文件行结束符是$
windows的文本行结束符是“$+回车”
查看文本类:
cat tac more less head tail
cat:链接并显示
-n
-E
tac:从最后一行开始显示
head:查看前n行(默认10行)
tail:查看后n行(默认10行)
-n
tail -f :查看文件尾部,不退出,等待显示后续追加至此文件的新内容
分屏显示:
more,less
处理文本类:
cut,join,sed,awk
讲cut之前:
data