linux常用命令

linux server:登陆

ssh -p2222 [email protected].**.** 

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 [email protected]:/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  [email protected]:/var/www/  把本机/var/www/目录下的test.php文件
  上传到192.168.0.101这台服务器上的/var/www/目录中
  
  3、从服务器下载整个目录
      scp -r username@servername:remote_dir/ /tmp/local_dir 
    例如:scp -r [email protected] /home/kimi/test  /tmp/local_dir
  
  4、上传目录到服务器
      scp  -r /tmp/local_dir username@servername:remote_dir
      例如:
      scp -P 22 -r test      [email protected]:/var/www/   

同时更改文件或目录的所有者和用户组

chown -R jd-root:jd-root test_dir


删除特定目录下所有的特殊格式的文件,此处匹配._打头的所有文件 

sudo find /tmp/test -name '._*' |xargs rm -f
 
查询文件中指定的某些内容
less filename |grep '201811*'

 批量重命名

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 global setup
git config --global user.name "joey"
git config --global user.email "[email protected]"
Create a new repository
git clone https://code.buy-key.com/joey/test.git
cd test
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
Existing folder or Git repository
cd existing_folder
git init
git remote add origin https://code.buy-key.com/joey/test.git
git add .
git commit
git push -u origin master

 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 行

^ 到行首,$ 到行尾 (这两个与正则一样)

 

移动当前行

  1. 剪切粘贴的方法。dd剪切当前行,然后移动光标到指定位置,再通过p或P粘贴。

  2. 通过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

 

你可能感兴趣的:(linux常用命令)