1.seq 用于产生一个整数到另一个整数之间所有的整数,如:seq 3 5
输出:3
4
5
注:如果参数为一个整数,则输出1至这个数之间的所有整数
2.tee [-a] file 从标准输入设备读取内容并显示在标准输出设备,另外保存至文件
在没有参数-a的时候,如果文件不存在则创建,如果存在则覆盖
在有参数-a的时候,如果文件不存在则创建,如果存在则追加
echo 123 | tee s.txt 123会被保存在s.txt,并输出到屏幕
ls "*" 2>&1 | tee.s.txt 错误信息也会保存在s.txt
3.软件源(软件更新服务器地址)
在ubuntu中,软件源文件为:/etc/apt/sources.list。
第三方软件的源,存放存/etc/apt/sources.list.d/目录下,以.list结尾的文件分别独立存储
更新后使用:apt-get update更新下软件源
软件源文件规则为:
每一行的开头为:deb或deb-src,分别表示通过deb文件进行安装和通过源文件进行安装
deb或deb-src后为一个url,之后为2-5个用空格分隔的字符串,代表URL之后的目录
如:deb https://apt-mo.trafficmanager.net/repos/dotnet/ trusty main
打开https://apt-mo.trafficmanager.net/repos/dotnet/,并进入dists目录,可以发现有个trusty目录,进入trusty目录可以发现有个main目录
4.直接安装deb文件
dpkg -i xxxxxxxx.deb
5. export [-options] var=value
设置或删除环境变量。
-n:删除
-f:声明变量为一个函数
export Name=xxxx
export -n Name
$Name或echo $Name可以显示变量
6.source 或.命令
读取shell,并依次执行里面的语句,与直接执行shell的区别在于,直接执行会建立子shell,而且source会在当前shell执行,子shell新建的环境变量不会传递到父shell中。
source aosp.sh或 . aosp.sh
7.在linux中长久的设置环境变量有两个地方:/etc/profile或~/.bashrc
设置完成后可用source 重新执行即可
8.linux shell中有几个特殊的变量:
$$ Shell本身的PID(ProcessID)
$! Shell最后运行的后台Process的PID
$? 最后运行的命令的结束代码(返回值)
$- 使用Set命令设定的Flag一览
$* 所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
$@ 所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。
$# 添加到Shell的参数个数
$0 Shell本身的文件名
$1~$n 添加到Shell的各参数值。$1是第1参数、$2是第2参数…。
9.&&和||
当在执行一个命令时,命令会有返回值,保存在$?中当$?==0时表示执行成功,$?==1时表示执行失败
有时候后一条命令是否执行,需要根据前一条命令是否执行成功来决定。
当前一条执行成功才执行后一命令时可写为:command1 && command2 && command3
当前一条执行失败才执行后一命令时可写为:command1 || command2 || command3
10.单引号、双引号、反斜杠(\)
单引号开始后会忽略之后的所有特殊字符,直到另一个单引号
双引号开始后也会忽略之后的大部分字符,直到另一个双引号,但有不会忽略$,也就是还会继续解释$
如:
x=10
echo $x输出10
echo '$x'输出$x
echo "$x"输出10
反斜杠通常用来转义,但如果放到行尾最后一个字符则表示续行,即下一行跟这一行是连着的,中间没有分隔
11. 查看哪些进程打开了指定端口port(对于守护进程必须以root用户执行才能查看到)
lsof -i:port
12. 查看哪些进程打开了指定端口port,最后一列是进程ID(此方法对于守护进程作用不大)
netstat -nap|grep port
13. 查看端口号对应的系统服务名称
cat /etc/services
14. 启动|停止|重启系统服务
sudo /etc/init.d/service start|stop|restart
15.链接
ln [参数] 源文件或目录 目标文件或目录
链接分为软链接与硬链接
软链接加参数 -s