01 Linux介绍
- POSIX标准:统一Unix、Linux等。。。接口
- 类Unix
- Linux内核版本 & 发行版本
- GNU: GNU is Not Unix
02 目录结构介绍
FHS标准:
- /:根目录
- /bin:工具
- /home:用户家目录
- /lib /usr/lib /usr/local/lib:库函数
- /usr/include: 头文件
03 文件权限说明
文件分类
- 普通文件 -
- 目录文件 d => directory
- 设备文件 b => block c => char??? /dev
- 链接文件 l
- 管道文件
文件权限
- /etc/group:用户组id
- /ect/passwd:用户id&组id
04 命令使用方式和技巧
查看帮助文档
- –help
- man
- printf
- man printf == man 1 printf
- man 3 printf
- history
05 常用命令:ls
- ls -alh
- ls *.c
- ls ?.png
- ls [a-f].c
- touch *.c 更改所有.c文件的时间为当前
- touch *.c
06 常用命令:重定向、more、管道
重定向
- ls > test.txt
- ls >> test.txt
more分屏显示
- cat /usr/include/stdio.h
- more /usr/include.h => q退出
管道
- 一个命令的输出作为另一个命令的输入
- cat stdio.h | more
- ls | grep std
07 常用命令:clear、cd、pwd
clear or ctrl + l
cd
- cd:切换到/home/username
- cd ~:切换到/home/username
- cd -:切换到上一个进入的目录
- cd …:切换到上一级目录
08 课堂答疑:管道、目录
09 上午知识点回顾
- cd ~/share/cmd => /home/Yolanda/share/cmd
10 常用命令:mkdir、rmdir、rm
- mkdir -p 递归创建目录
- rmdir 只能删除空文件夹
- rm 删除文件
- rm -r 删除文件夹
- rm -f 忽略提示
- rm -i 交互式删除,二次确认
11 ln
- 建立链接文件
- 链接文件分为软链接和硬链接
- 软链接相当于Windows的快捷方式
硬链接:ln 源文件 链接文件
- ln 1.txt abc.txt
- 特点:两个文件,改其中一个,同步更改另一个文件,均独立占内存,删除其中一个文件,不会影响另一个文件
- 硬链接只能链接普通文件,不能链接目录
软链接:ln -s 源文件 链接文件
- ln -s 1.txt abc.txt
- ls -l第一个字符为l,表示为软链接,-s表示soft
- 特点:软链接文件大小固定,不随源文件大小变化,软链接依赖源文件存在
- 删除源文件,软链接文件打开为空
- 普通文件&目录都可以创建软链接
12 grep
- cat 1.txt 查看文件内容
- cat 1.txt 2.txt 可显示多个文件内容
- cat 1.txt 2.txt > abd.txt 将两个文件写入另一个文件
grep 搜索
- grep Yolanda test.txt 在文件中查找字符串
- grep Yolanda test.txt -n 查找结果显示行号
- grep a test.txt -i 忽略大小写
- grep a test.txt -v 反选,显示不包含a的行
- grep “1 2 3” 查找关键字若包含空格,需使用单引号/双引号,否则只接受一个关键字
grep搜索内容可以是正则表达式
- grep ^a test.txt -n: 查找以a开头的行
- grep ke$ test.txt: 查找以ke结尾的行
- grep [0-9]abc[0-9] test.txt
- grep .abc. test.txt
13 find、cp、mv、file
find
find 路径 -name 关键字:按文件名递归查找
- 支持通配符
- 支持正则表达式
find 查找路径 -size +/-大小:按文件大小查找
- find /tmp -size 2M 等于2M
- find /tmp -size +12k -size -5M:查找大于12k小于5M的文件
find 路径 -perm 0xxx:按权限查找
- find ./ -perm 0777
cp
- cp a.c c.c 拷贝文件
- cp -r abc/ cba 拷贝文件夹
- -v显示进度
- -f不提示
- -i交互式
mv
- -v -i -f 同上
可用于重命名
- mv a.c c.c
- mv a.c /tmp/c.c
file 获取文件类型
- file hello => executable / ASCII test / empty
14 tar、gzip
tar打包/解包不压缩
打包
- tar -参数 打包文件名 需要打包的文件(支持通配符)
- -c: creat 创建压缩包
- -v: 显示进度
- -f: file
- cv顺序无关,f必须在最后
- tar -cvf aaa.tar a.c b.c c.txt hello.py
- tar -cvf aaa.tar *
解包
- tar -参数 解包文件名 解包路径(默认当前路径)
- tar -xvf aaa.tar 解包到当前路径
- tar -xvf test.tar -C …/cmd 解包到指定路径
gzip 压缩/解压
- gzip [-r] test.tar => test.tar.gz
- gzip -d aaa.tar.gz => aaa.tar
打包压缩/解压解包
- tar -czvf xxx.tar.gz 所需文件(czv顺序无关)
- tar -xzvf test.tar.gz
15 tar、bzip2
bzip2 压缩/解压
- bzip2 [-z] test.tar => test.tar.bz2
- bzip2 -d test.tar.bz2 => test.tar
打包压缩/解压解包
- tar -cjvf test.tar.bz2 所需文件
- tar -xjvf test.tar.bz2
16 zip、unzip
- zip -r 目标文件(不含扩展名) 源文件
- zip -r myzip .
- unzip [-d 解压路径] myzip.zip
17 which
- 查看命令位置
- which ls
- which sudo
- which gcc