web请求
- curl 请求curl “ip:port/xxx/shop/getShopList?city=340200&skuName=xxx”
- wget 下载
变量
- $# 是传给脚本的参数个数
- $0 是脚本本身的名字
- $1 是传递给该shell脚本的第一个参数
- $2 是传递给该shell脚本的第二个参数
- $@ 是传给脚本的所有参数的列表
- $* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个
- $$ 是脚本运行的当前进程ID号
- $? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误
@与*区别:
相同点:都是引用所有参数
不同点:只有在双引号中体现出来
#!/bin/sh
num=$#
name=$0
echo "number:$num"
echo "scname:$name"
echo $0
echo $1
echo $2
for ((i=0; i<$num; i++))
do
echo "$i"
done
echo "argume:$@"
for key in $@
do
echo $key
done
echo "-----------------"
for key in "$@"
do
echo $key
done
echo "-----------------------------"
for key2 in $*
do
echo $key2
done
echo "-----------------"
for key2 in "$*"
do
echo $key2
done
echo "show process id:$$"
cho
echo "show precomm stat: $?"
四剑客
- awk
- sed
- cut
快捷键
- 光标移到命令最前
home
或ctrl+a
- 光标移到命令最后
end
或ctrl+e
- 删除光标前面的所有命令
ctrl+u
工具
- json_reformat
RedHat系列中yum install -y yajl
Ubuntu系列中aptitude install yajl-tools
- 查看docker仓库中镜像有哪些tag
#!/bin/sh
repo_url=https://registry.hub.docker.com/v1/repositories
image_name=$1
curl -s ${repo_url}/${image_name}/tags | json_reformat | grep name | awk '{print $2}' | sed -e 's/"//g'
- 网桥管理工具bridge-utils
yum install bridge-utils -y
防火墙
CentOS7
firewall-cmd --zone=public --add-port=8080/tcp --permanent
#开放8080端口firewall-cmd --zone=public --remove-port=8080/tcp --permanent
#关闭8080端口firewall-cmd --reload
# 立即生效firewall-cmd --zone=public --list-ports
查看防火墙所有开放的端口systemctl stop firewalld.service
关闭防火墙systemctl startfirewalld.service
打开防火墙firewall-cmd --state
查看防火墙状态
CentOS6
待完善
用户
passwd user
修改用户密码- useradd 新建用户
- usermod 修改用户
- userdel 删除用户
所属用户、组
- 语法 chown [-cfhvR] [–help] [–version] user[:group] file…
- chown runoob:runoobgroup file1.txt 将文件file1.txt的拥有者设为runoob,组设为 runoobgroup
- chown -R runoob:runoobgroup * 将当前前目录下的所有文件与子目录的拥有者皆设为runoob,组设为runoobgroup:
查找文件
- 根据文件或目录名称搜索
- 语法 find [搜索目录][-name或者-iname][搜索字符]:-name和-iname的区别一个区分大小写,一个不区分大小写
eg:在/etc 目录下搜索名字为init的文件或目录
①find /etc -name init (精准搜索,名字必须为 init 才能搜索的到)
②find /etc -iname init (精准搜索,名字必须为 init或者有字母大写也能搜索的到)
③find /etc -name *init (模糊搜索,以 init 结尾的文件或目录名)
④find /etc -name init??? (模糊搜索,? 表示单个字符,即搜索到 init___)
解压缩
- .tar.gz
解压 tar -zxvf fileName
压缩 tar -zcvf 压缩包名.tar.gz 文件/目录 - zip
解压 unzip 压缩包文件
压缩 zip -q -r 压缩包名.zip 目录/文件 - rar
wget http://www.rarlab.com/rar/rarlinux-x64-5.3.0.tar.gz
tar -xzvf rarlinux-x64-5.3.0.tar.gz
/usr/share/rar/unrar x dist.rar
自启动
systemctl enable docker.service docker 开机启动
systemctl list-unit-files | grep enable 查看哪些服务开机启动
ftp
https://blog.csdn.net/u012567885/article/details/77943388
sftp
https://www.cnblogs.com/xuliangxing/p/7120205.html
查看端口
- lsof -i:端口号
- netstat -tunlp | grep 端口号
-t (tcp) 仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化为数字
-l 仅列出在Listen(监听)的服务状态
-p 显示建立相关链接的程序名
查看操作系统
cat /proc/version
uname -a
cat /etc/centos-release
cat /etc/issue
lsb_release -a
(使用命令时提示command not found,需要安装yum install redhat-lsb -y)
查看内存
- free
- cat /proc/meninfo
- top
- ps
查看CPU
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
查看机器一共几个cpucat /proc/cpuinfo| grep "cpu cores"| uniq
查看单个cpu的物理核数cat /proc/cpuinfo| grep "processor"| wc -l
查看总逻辑核数
查看磁盘
- df 以磁盘分区为单位查看文件系统
df -hl:查看磁盘剩余空间
df -h:查看每个根路径的分区大小 - du 命令用于查看当前目录的总大小
-s:对每个Names参数只给出占用的数据块总数。
-a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定-a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
-b:以字节为单位列出磁盘空间使用情况(系统默认以k字节为单位)。
-k:以1024字节为单位列出磁盘空间使用情况。
-c:最后再加上一个总计(系统默认设置)。
-l:计算所有的文件大小,对硬链接文件,则计算多次。
-x:跳过在不同文件系统上的目录不予统计。
-h:以K,M,G为单位,提高信息的可读性。
du -sh [目录名]:返回该目录的大小
du -sm [文件夹]:返回该文件夹总M数
du -h [目录名]:查看指定文件夹下的所有文件大小(包含子文件夹)
ssh
- 重启服务
service sshd restart
systemctl restart sshd.service - 客户端发起连接的目标端口与服务端监听的端口要一致
/etc/ssh/ssh_config 客服端发起ssh省略端口号时,会默认使用此配置中的端口
/etc/ssh/sshd_config 服务端监听的端口 - 添加2022端口到ssh服务中的步骤
1./etc/ssh/sshd_config中放开原来Port 22注释,并添加2022端口
Port 22
Port 2022
AddressFamily any
ListenAddress 0.0.0.0
ListenAddress ::
2.执行semanage port -a -t ssh_port_t -p tcp 2022
3.重启sshd服务systemctl restart sshd.service
4.查看是否成功netstat -anp | grep ssh
apt
https://www.runoob.com/linux/linux-comm-apt.html
vi&vim
https://www.runoob.com/linux/linux-vim.html
Shell
https://www.runoob.com/linux/linux-shell.html
Linux命令大全
https://www.runoob.com/linux/linux-command-manual.html