Linux常用命令
ps 当前正在运行的进程(静态快照)
-e 所有进程, 同-A
-f 显示进程间的关系
-a/A 显示所有进程
top 当前正在运行的进程(动态)
[-d] 秒数,更新时间
netstat 查看端口网络连接情况
-a 显示所有
-t TCP
-u UDP
-p 端口使用情况
ping IP 查看网络故障
-c ping次数
-w 多次ping时间间隔
-s 发送包大小
seq 产生连续序列
seq 1 10 产生连续的1到10
sort 排序
-t 分隔符
-k 按某列排序
-r 默认是升序,加-r变成降序
-u 去掉重复行
uniq 去掉重复
wc 统计文本
-c 列出行
-w 仅列出文字数
-m 字符数
finger 显示所有用户使用这台主机
finger username
id 显示用户有效ID
id username
tr str1 str2 替换str1为str2
abc | tr abc xyz //xyz
cut 纵向处理字符
-c 按字符形式处理
-b 按字节形式处理
-d 分隔符
-f 截取列数
history 查看历史
history n 最近n条历史命令
!number 执行number行命令
history -w 写入~/.bash_history
ftp [hostname | ip] 连接远程ftp服务器
get [remotefile] [localfile] 下载单个文件
mget [remotefiles]下载多个文件,默认目录/home
put localfile [remoter file] 上传单个文件
mput localfiles 上传多个文件
bye 断开连接
scp 基于ssh,主机间的copy
scp [可选参数] sourcefile targetfile
#从本地复制到远程
scp localfile remoteusername@remoteip:[remotefile|remotefolder] 需要输入远程主机密码
scp localfile remoteip:[remotefile|remotefolder] 需要输入远程用户名和密码
#从远程复制到本机
scp remoteusername@remoteip:[remotefile|remotefolder] localfile 需要输入远程主机密码
scp remoteip:[remotefile|remotefolder] localfile需要输入远程用户名和密码
#[可选参数]
-v 显示进度
-P 端口号
-C 压缩选项
tar 解压与压缩打包
-c 创建一个压缩文件指令
-x 解压一个文件指令
-v 查看进度
-z 如果有gzip压缩需要此参数
-t 查看压缩文件中文件
-f 指定解压或压缩文件名,该参数在所有参数的最后一个
brew mac包管理命令类似apt-get
brew install [组件名] 安装组件
brew unstall [组件名] 卸载组件
brew search [正则表达式] 搜索安装过的软件
brew update [组件名] 更新组件
brew info [组件名] 显示软件信息
brew deps [组件名] 显示包依赖
curl http命令工具
curl url 读取网页
curl -o xx.html url 保存网页
curl -x proxy:port -o xx.html url 使用代理下载网页
curl url get请求
curl -d [url参数] url post请求
awk字符处理工具
shell 脚本相关
echo -n -e
-n 不换行
-e 处理特殊字符
#添加颜色
echo -e "\033[30m 黑色字 \033[0m"
echo -e "\033[31m 红色字 \033[0m"
echo -e "\033[32m 绿色字 \033[0m"
echo -e "\033[33m 黄色字 \033[0m"
echo -e "\033[34m 蓝色字 \033[0m"
echo -e "\033[35m 紫色字 \033[0m"
echo -e "\033[36m 天蓝字 \033[0m"
echo -e "\033[37m 白色字 \033[0m"
echo -e "\033[40;37m 黑底白字 \033[0m"
echo -e "\033[41;37m 红底白字 \033[0m"
echo -e "\033[42;37m 绿底白字 \033[0m"
echo -e "\033[43;37m 黄底白字 \033[0m"
echo -e "\033[44;37m 蓝底白字 \033[0m"
echo -e "\033[45;37m 紫底白字 \033[0m"
echo -e "\033[46;37m 天蓝底白字 \033[0m"
echo -e "\033[47;30m 白底黑字 \033[0m"
#相关属性设置
\33[0m 关闭所有属性
\33[1m 设置高亮度
\33[4m 下划线
\33[5m 闪烁
\33[7m 反显
\33[8m 消隐
\33[30m -- \33[37m 设置前景色
\33[40m -- \33[47m 设置背景色
\33[nA 光标上移n行
\33[nB 光标下移n行
\33[nC 光标右移n行
\33[nD 光标左移n行
\33[y;xH设置光标位置
\33[2J 清屏
\33[K 清除从光标到行尾的内容
\33[s 保存光标位置
\33[u 恢复光标位置
\33[?25l 隐藏光标
\33[?25h 显示光标
nohup 后台执行命令,你退出帐户/关闭终端继续运行相应的进程 nohup 命令 &
1 标准输出 2 错误输出
2>&1 把错误输出重定向到标准输出,即输出到同一文件 > /etc/null 2>1& 忽略输出
$* 脚本所有参数,以空格分隔
$# 参数个数
$i(i=0,1,2...) 第i个参数
$$ 脚本进程ID
$? 命令退出状态,0表示正常退出
let 数值运算,等同于((1+2))
local 定义局部变量
#对于算术比较运算符:
eq : 等于 例如: 4 -eq 4 如果相等则为真,返回0,之后执行then后语句,反之返回1
ne : 不等于 例如: 4 -eq 4
le : 小于等于 例如: 3 -le 5
ge : 大于等于 例如: 5 -ge $num
lt : 小于 例如: 5 -lt $num
gt : 大于 例如: 5 -gt $num
#对于字符串比较:
-z :字符串是否为空串 例如: [ -z $str ] 如果为空串,则为真,返回为0
-n :字符串是否为非空串 例如: [ -n $str ]
= :2个字符串是否相同 例如: [ $str1 = $str2 ]
!= :2个字符串是否不相同 例如: [ $str1 != $str2 ] 如果2个字符串不同,则为真,返回0
#对于文件的判断:
-d filename :判断文件是否为目录 例如:[ -d /etc/passwd ] 如果为目录,则为真
-f filename :判断文件是否为文件 例如:[ -f /etc/passwd ]
-r filename :判断文件是否为可读 例如:[ -r /etc/passwd ]
-x filename :判断文件是否为可执行 例如:[ -x /etc/passwd ]
-w filename :判断文件是否为可写 例如:[ -w /etc/passwd ]
-L filename :判断文件是否为链接文件 例如:[ -L /etc/passwd ]
-e filename :判断文件是否为存在 例如:[ -e /etc/passwd ]
#逻辑运算符:
-a : 逻辑与 相当有and 例如:[ $a -gt 90 -a $a -lt 100 ]
-o : 逻辑或 相当有or 例如:[ $a -gt 90 -o $a -lt 100 ]
! : 逻辑非 例如:[ ! " $ a -gt 90" ]