linux &&shell
1.文件目录树 一切皆文件
绝对路径 相对路径
2.基本命令
查看文件less more cat
3.压缩与解压缩
ZIP
压缩文件: zip -r hh world/ 将目录world压缩为hh,生成hh.zip文件
解压缩: unzip hh.zip 即可解压
TAR
压缩文件 : tar zcvf hh.tar.gz haha / 将haha文件呀压缩为hh.tar.gz的格式
解压缩 : tar zxvf hh.tar.gz 将hh.tar.gz解压缩为hh文件夹
压缩文件 : tar jcvf hh.tar.bz2 haha / 将haha文件呀压缩为hh.tar.gz的格式
解压缩 : tar jxvf hh.tar.bz2 将hh.tar.gz解压缩为hh文件夹
4.重定向
0 1 2
stdin stdout stderr
< > 2>
>>(append)
管道 |
cat files.txt | uniq 将文件中的内容筛选不同名输出
cat files.txt | uniq | grep txt 文件中的每行筛选不同名且文中含有txt排序输出
cat a.c | wc -l 输出文件a.c的行数 根据wc 的参数决定
5.权限
Chmod +rwx -filename
6.进程 ps
ps aux | less
ps aux | grep vim 显示所有的进程
查看进程号
kill pid 杀死进程
7.查找
Locate
find path -type f 查看路径下的文件
find path -type d 查看路径下的目录
find path -type f -exec ls -l ‘{}’ ’;’ -exec ‘;’ 可以写一些命令 {}代替前面的结果
如查看当前目录下所有的文件,文件内容中含有hello
find . -type f -exex grep hello ‘{}’ ‘;’
8.网络操作
ssh
Rsync
9.下载:apt-get install 软件
卸载: apt-get purge 软件名 配置文件也已并清空
apt-get remove 软件名
10.SHELL脚本
1.指定解析器
第一行制定解析器
#!/usr/bin bash
2.语句及命令,可以单个罗列命令,也可以放在函数中
3.位置参数 $# 代表参数个数
4.脚本不在当前shell执行,而是开了新的终端
不开启新的终端 source a.sh
5.循环控制
取命令的值 `ls` 取ls的结果
11.通配符
# 通配符#
# ? 任意单个字符
# * 任意0个或多个字符
# [ ] 匹配方括号中的任意一个字符,如[abc] 则匹配abc中的一个
# [ - ] "-"代表范围,例如:[a-z] 则匹配任意一个小写字母; [0-9] 则匹配任意一个0-9之间的数据,但是注意[0-10]不可以,不能超过9
# [^] 逻辑非. 例如: [^0-9]匹配任意一个非数字字符
将fish设置默认的shell
echo "/usr/local/bin/fish" | sudo tee -a /etc/shells
chsh -s /usr/local/bin/fish
|