Linux常用命令

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
  • print
  • sed
  • cut

快捷键

  • 光标移到命令最前homectrl+a
  • 光标移到命令最后endctrl+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-utilsyum 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 查看机器一共几个cpu
  • cat /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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值