linux常用命令
linux server:登陆
ssh -p2222 username@172.16.**.**
mysq: mysql -h 172.16.16.45 -P 3306 -u root -p123
redis: ./redis-cli -a password -p 7000
查看系统版本
uname -a | cat /proc/version
systemctl --version #命令查看Systemd的版本。
grep root /etc/passwd
echo $SHELL
删除文件夹
rm -rf foldername
rmdir foldername
删除文件
rm -f filename
将文件中的部分数据写入新的文件:
如: tail -n 100 file > newfile
利用scp传输文件
1、从服务器下载文件
scp username@servername:/path/filename /tmp/local_destination
例如scp codinglog@192.168.0.101:/home/kimi/test.txt 把192.168.0.101上的/home/kimi/test.txt
的文件下载到 /tmp/local_destination
2、上传本地文件到服务器
scp /path/local_filename username@servername:/path
例如scp /var/www/test.php codinglog@192.168.0.101:/var/www/ 把本机/var/www/目录下的test.php文件
上传到192.168.0.101这台服务器上的/var/www/目录中
3、从服务器下载整个目录
scp -r username@servername:remote_dir/ /tmp/local_dir
例如:scp -r codinglog@192.168.0.101 /home/kimi/test /tmp/local_dir
4、上传目录到服务器
scp -r /tmp/local_dir username@servername:remote_dir
例如:
scp -P 22 -r test codinglog@192.168.0.101:/var/www/
同时更改文件或目录的所有者和用户组
chown -R jd-root:jd-root test_dir
删除特定目录下所有的特殊格式的文件,此处匹配._打头的所有文件
批量重命名:
test1_aa.sql test1_bb.sql **** 需求将所有的test1改成test2
rename 's/test1/test2/' *.sql
mysql连接:
mysql -u root -p 123456
文件夹全量复制
linux复制指定目录下的全部文件到另一个目录中
复制指定目录下的全部文件到另一个目录中
文件及目录的复制是经常要用到的。linux下进行复制的命令为cp。
假设复制源目录 为 dir1 ,目标目录为dir2。怎样才能将dir1下所有文件复制到dir2下了
如果dir2目录不存在,则可以直接使用
cp -r dir1 dir2
即可。
如果dir2目录已存在,则需要使用
cp -r dir1/. dir2
如果这时使用cp -r dir1 dir2,则也会将dir1目录复制到dir2中,明显不符合要求。
ps:dir1、dir2改成对应的目录路径即可。
cp -r /home/www/xxx/statics/. /home/www/statics
那么我如何得知我的系统装备了多少核心的处理器?
cat /proc/cpuinfo
获取你系统上的每个处理器的信息。如果你只想得到数字,那么就使用下面的命令:
grep 'model name' /proc/cpuinfo | wc -l
多文件全局替换
sed -i "s/dev.0.7.0/dev.0.8.0/g" *.yaml
软连接:
ln -s foldername linkname
例如:
ln -s zookeeper inuse
删除:
rm inuse
Reids:
redis-cli -h 10.10.10.190
info clients
config get maxclients
批量删除 正则匹配的key
./redis-cli -h localhost -p 6379 -a yourpassword -n 4 keys "test-dev*" | xargs ./redis-cli -a yourpassword -h localhost -p 6379 -n 4 del
-h redis服务器的ip地址
-a redis服务器的认证密码
-n dbindex 默认 0
-p redis服务端口
连接redis
./redis-cli -a 7000 -p password
keys *
flushdb
more 2017-12-12.log | grep '12:10' > 1210.log
sz 1210.log 下载
rz 上传
重启时,杀进程
ps -ef | grep test*.jar | grep -v grep |awk '{print $2}' | xargs sudo kill -9
sh脚本传送参数,$1$2表示
if [ ! -n "$1" ]; then
echo "version name can't be null"
exit 2
fi
if [ ! -n "$2" ]; then
echo "profile name can't be null"
exit 2
fi
kubectl相关命令:
kubectl get pods -n yournamespace -owide
kubectl logs -n yournamespace yourpodname | less
kubectl delete pod -n yournamespace yourpodname
git push --set-upstream origin master
git ignore缓存问题
git rm -r --cached .
mvn package -Dmaven.test.skip=true;
netstat -ano |grep 8080
防火 墙:
firewall-cmd --premanent --add-port=8081/tcp
firewall-cmd --reload
java -..jar --server.port=8082
linux
netstat -ano |grep 8080
k8s常用命令:
kubectl delete -f *.yaml
kubectl apply -f *.yaml
kubectl create -f *.yaml
kubectl logs -n space-name pod-name|less
进入命令模式
?一:在冒号下输入
vim vi 在命令模式中 使用 d(版本不同 使用dd ) 可删除 插入模式时光标当前行
命令模式下
输入:d ,后回车
二:不在冒号下输入:
1)把光标移动到要复制的行上,按yy (复制当前行)
2)把光标移动到要复制的位置 ,按p (粘贴到指定行)
3)把光标移动到要复制的位置 ,按dd(删除当前行)
显示行号:
命令模式下 输入:set nu
移动光标:
ctrl+u:到文件头
ctrl+d:到文件尾
shift+h:到屏幕第一行,shift+m:到屏幕中间,shift+l:到最后一行
:n 到第n 行
^ 到行首,$ 到行尾 (这两个与正则一样)
移动当前行
-
剪切粘贴的方法。dd剪切当前行,然后移动光标到指定位置,再通过p或P粘贴。
-
通过m命令。讲光标放在你要移动的行,输入:m +1向下移动一行,输入:m -2向上移动一行。
查找:
/xx 查找xx
n下一个,N上一个
撤销更改:
u:取消更改
U:恢复更改
springboot项目重启脚本:
#!/bin/sh
set -m
PID=`ps -ef | grep test*.jar | grep -v grep |awk '{print $2}'`
echo ${PID}
if test -z ${PID}
then
echo "no test pid alive!"
else
echo "test pid : ${PID}"
echo "killing test pid : $PID"
kill -9 ${PID}
echo "test stopped successfully!"
sleep 2
fi
echo "now starting test......"
nohup java -jar \
-Xms1024m \
-Xmx1024m \
-Dport=3001 \
-Duser.timezone=GMT+08 \
-DzipkinUrl=http://10.200.195.62:9411 \
/opt/test*.jar >> /opt/test.log 2>&1 &
tail -20f test.log
如果,您认为阅读这篇博客让您有些收获, 如果,您希望更容易地发现我的新博客,不妨关注一下。因为,我的写作热情也离不开您的肯定支持。
感谢您的阅读,如果您对我的博客所讲述的内容有兴趣,请继续关注我的后续博客。
因为有小孩,兼职卖书,路过的朋友有需要低价购买图书、点读笔、纸尿裤等资源的,可扫最上方二维码,质量有保证,价格很美丽,欢迎咨询! 欢迎关注微信公众号:18般武艺