linux常用命令及脚本

本文详述了多种Linux命令的使用,包括groupadd、useradd、nc、ss、lsof、ip、ps、find、scp、rsync、mkfs.ext4、hexdump等。还介绍了命令行重定向、进程管理、网络接口操作、shell脚本编写及进程监控等实用技巧,是Linux系统管理和运维的必备知识。
摘要由CSDN通过智能技术生成

命令

groupadd
# -g 指定id
groupadd -g 12349 dinstall
useradd
# -u 指定id
# -m 自动创建家目录
# -M 不创建家目录
# -d 指定家目录
# -s 指定登录shell类型,如/bin/bash、/bin/nologin、/bin/false
useradd -u 12345 -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
nc
# -u 使用udp而不是默认TCP
# -v 设置详细级别
# -z 仅报告连接状态
# -l 绑定并侦听传入连接
# -k 在侦听模式下接受多个连接
# -s 指定要使用的源IP地址
# -p 指定要使用的源端口

#聊天
nc -lk 9999 # 服务端
nc 127.0.0.1 9999 #客户端
ss
# 类似netstat
#-t 显示TCP端口
#-u 显示UDP端口
#-n 显示数字地址而不是解析主机
#-l 仅显示监听端口
#-a 显示所有端口
#-p 显示侦听器进程的PID和名称。仅当你以root用户或 sudo 用户身份运行命令时,才会显示此信息
ss -tunap
lsof
lsof -nP -iTCP -sTCP:LISTEN  
lsof -nP -iTCP:3306 -sTCP:LISTEN
ip
#设置IP地址
ip addr add 192.168.1.1/24 dev eth0

#查看IP地址
ip addr show eth0

#删除IP地址
ip addr del 192.168.1.1 dev eth0

#查看路由表
ip route show

#查看路由包来自的接口(本地接口)
ip route get 123.125.114.144

#更改默认路由
ip route add default via 192.168.1.254

#显示网络统计信息
ip -s link

#查看ARP条目
ip neigh(或neighbour)

#监控netlink消息
ip monitor all

#激活网络接口
ip link set eth0 up

#停止网络接口
ip link set eth0 down
ps
ps -aux
ps -ef
find
# -name pattern 按文件名查找(支持通配符)
# -type type 按文件类型查找,可以是 f(普通文件)、d(目录)、l(符号链接)等
# -user username 按文件所有者查找
# -group groupname 按文件所属组查找
find test/ -name *.txt -type f -user root
scp
scp -P 22 -r test1/ user@host:/test2
rsync
mkfs.ext4
# -F 强制
mkfs.ext4 /dev/sdb
hexdump
# [-s offset],偏移量,从0开始
# [-x],以16进制方式输出,两个一组(顺序是反着的)
hexdump -x -s 0 1.bin
重定向
# 标准输入文件(stdin):stdin的文件描述符为0,Unix程序默认从stdin读取数据。
# 标准输出文件(stdout):stdout 的文件描述符为1,Unix程序默认向stdout输出数据。
# 标准错误文件(stderr):stderr的文件描述符为2,Unix程序会向stderr流中写入错误信息。
command > file # stdout重定向
command >> file # stdout追加重定向
command 2> file # stderr重定向
command 2>> file # stderr追加重定向
command > file 2>&1 # stderr合并到stdout,重定向
command >> file 2>&1 # stderr合并到stdout,追加重定向
# 控制台大段内容重定向
command << EOF
    document
EOF
修改为\r结尾
nano filename.sh
# ctrl+O会提示用要写入的文件名[格式]:filename.sh
# 可多次使用alt+M快捷键,选择无格式的保存方式
# 使用enter键确认选择,ctrl+X离开
centos查看系统信息
cat /etc/redhat-release #查看系统版本
cat /etc/centos-release
cat /etc/centos-release-upstream
uname -a
cat /proc/version
centos切换界面
systemctl get-default
systemctl set-default graphical.target
systemctl set-default multi-user.target
nohup和&
不用nohup和&:   在前台运行(终端不能输入其他命令),关闭当前终端后,进程会停止运行;
只用nohup:      在前台运行,关闭终端后,进程会继续在系统里运行;
只用&:          在后台运行(终端可以输入其他命令),关闭终端后,脚本会继续在系统里运行,但是stdout(标准输出)和stderr(标准错误)的信息会无法查看;
使用nohup 和 &: 在后台运行,关闭运行脚本的终端后,脚本会继续在系统里运行,stdout和stderr里的内容会输出到nohup.out文件中。
jdk配置
export JAVA_HOME=/opt/jdk1.8.0_152
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
多个命令同时执行
  • 使用 ; 来分隔命令,适合需要按照顺序执行多个命令的情况,不论前一个命令是否成功。
  • 使用 && 来分隔命令,适合需要依赖前一个命令成功才能执行下一个命令的情况。
  • 使用 || 来分隔命令,适合需要依赖前一个命令失败才能执行下一个命令的情况。
  • 使用 & 来分隔命令,适合需要并行执行多个命令的情况,不需要等待前一个命令完成。

脚本

测试某ip是否通畅
# 通畅返回0
ping -c 10 192.168.1.1 | grep 'packet loss' | awk -F 'packet loss' '{print $1}' | awk '{print $NF}' | sed 's/%//g'
kill某进程
ps -ef | grep -w mysqld | grep -v grep | awk '{print $2}' | xargs kill -9
每隔1s执行命令
watch -n 1 -d "date"
获取监听端口状态
# 端口监听返回1,端口非监听返回0
function getListenPortStatus() {
  if [ -z $1 ]; then
    echo "0"
    return
  fi
  res=`ss -tunlp | grep -w LISTEN | grep -w $1`
  if [ -n "$res" ]; then
    echo "1"
  else
    echo "0"
  fi
}
获取进程pid
# 传参为进程唯一名字,返回进程pid,若进程不存在则返回为空
function getProcNum() {
    pid=""
    if [ -z $1 ]; then
        echo $pid
        return
    fi
    res=`ps -ef | grep -v grep | grep -w $1`
    if [ -n "$res" ]; then
      pid=`echo $res | awk '{print $2}'`
    fi
    echo $pid
}
验证码防止误触发
# 验证码输入正确返回1,否则返回0
function confirm() {
    randomStr1=`echo $RANDOM | md5sum | cut -c 5-8`
    read -p "请输入验证码[$randomStr1]:" randomStr2
    if [ "$randomStr1" == "$randomStr2" ]; then
        echo "1"
    else
        echo "0"
    fi
}
shell基本运算符
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值