目录
Linux常用命令
1、重启tomcat服务(强制kill进程)
#!/bin/bash echo "==================start deploy project=========================" ps -aux | grep /usr/local/tomcat/ | grep -v grep > tomcat_info.txt sed 's/ / /g' tomcat_info.txt > tomcat_info1.txt sed 's/ / /g' tomcat_info1.txt > tomcat_info.txt sed 's/ / /g' tomcat_info.txt > tomcat_info1.txt cat tomcat_info1.txt | cut -d' ' -f 2 > tomcat_info.txt
for line in `cat tomcat_info.txt` do kill -9 $line done
cd /usr/local/tomcat/webapps rm -rf youxuan_api* mv /usr/local/jenkinsTempFolder/youxuan_api /usr/local/tomcat/webapps
/etc/init.d/tomcat start sync echo 3 > /proc/sys/vm/drop_caches echo "==================deploy project success=========================" |
- 添加sh批处理文件
#!/bin/bash固定开头 |
- 修改环境变量
- shell执行sql
- vim ~/.bashrc
- 末尾加入这一行alias sql="\mysql -u username -pPassword datebasename <"
- 然后运行脚本: source ~/.bashr
- sql test.sql
https://blog.csdn.net/u011138533/article/details/50298363
- 修改时区
- 常用命令
命令 | 解释 |
date | 查看系统当前时间 |
cp | 复制文件 示例: cp jenkins.war jenkins 将当前目录的jenkins.war文件拷贝到jenkins目录下 cp -rf jenkins /home/temp 将jenkins目录拷贝到/home/temp目录下 |
mv | 移动文件 示例: mv jenkins.war jenkins 将当前目录的jenkins.war移动到jenkins目录 另:linux系统下没有对文件重命名的命令,可以使用mv命令实现。 mv jenkins.war jenkins-test.war 将jenkins.war重命名为jenkins-test.war |
wget | 下载文件 示例: wget http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.rpm?AuthParam=1528941565_a805c1ba58a140a6f4f16632e69d06f9 -O jdk-8u171-linux-x64.rpm 将指定文件下载地址下载到本地的jdk-8u171-linux-x64.rpm |
curl | curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。 示例: curl http://www.baidu.com 获取页面内容
curl http://www.baidu.com > baidu.html 将页面保存为文件
curl -v http://www.baidu.com 查看请求头
curl http://www.baidu.com -I 查看响应头
curl --request GET \ --url 'http://218.16.138.199:8088/integrated/busiitem/busiitemnewlist?typeId=86' curl --user admin:p@ssw0rd -H 6b1570dc98410c021bc99912dc10a545 http://ec2-52-83-237-37.cn-northwest-1.compute.amazonaws.com.cn:8082/job/pipeline_test/build?delay=0sec 显式指定以Get方法获取指定url的内容 curl -d "user=admin&passwd=12345678" http://127.0.0.1:8080/login 发送post请求 参考地址 https://blog.csdn.net/chenliaoyuanjv/article/details/79689028
不支持https协议 https://blog.csdn.net/Timsley/article/details/50782742 |
rpm | 安装rpm包 示例: rpm -i jdk-8u171-linux-x64.rpm |
nohup | 后台运行进程 nohup java -jar jenkins.war --ajp13Port=-1 --httpPort=8082 >temp.txt & 以后台的方式运行,将输出结果放到temp.txt中 |
yum | 软件包管理器,自动下载rpm包并且安装。可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。 示例: yum install git 安装git yum remove git 卸载git yum update git 更新git
参考地址 |
apt-get | 自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。 apt-get install |
export | 查看/添加系统环境变量 export AWS_ACCESS_KEY_ID=AKIAPORR2LT5OQK7TVJA |
pwd | 查看当前所在目录 |
zip | 压缩 zip -r mydata.zip mydata 将mydata目录压缩成mydata.zip 参考链接 |
unzip | 解压 示例 unzip wwwroot.zip 解压wwwroot.zip到当前目录下 unzip -v nerdtree.zip 查看压缩包内容 unzip -n nerdtree.zip -d nerdtree 解压到指定目录下 |
tail | 查看文件内容,默认显示后面10行内容 tail -n 100 log_2018_06_15.txt 查看文件最后100行的内容 tail -n -100 log_2018_06_15.txt 从前面100行开始查看 tail -f -n +100 log_2018_06_15.txt 自动刷新文件 |
cat | 显示文件内容 cat startup.sh 显示startup.sh文件的内容 cat -n startup.sh 显示行号 |
sed | 查看文件内容 sed -n ‘100,200p’ log_2018_06_15_01.log 查看第100行至200行之间的内容 将搜索结果输出到另外一个文本 sed -n ‘/Gpu/p’ nvidia.log >> test.log 将带有Gpu字眼的行输出到test.log中 |
lsof | 查看端口 示例 lsof -i :8080 查看8080端口的使用情况 |
clear | 清屏 |
chkconfig | 查看/设置系统服务 chkconfig --list 查看开机启动服务列表 chkconfig -- 服务名 on /etc/init.d/服务名 status 查看服务状态 设置开机启动 编辑需要启动的脚本 → 将脚本移到/etc/rc.d/init.d/ → 给脚本赋可执行权限 → 添加脚本到开机启动启动项目中 → 重启生效 chkconfig --add 脚本名称 chkconfig 脚本名称 on 参考链接https://blog.csdn.net/daidaineteasy/article/details/54864776 启动脚本样例: #!/bin/sh #chkconfig: 2345 80 90 #description:开机自动启动的脚本程序
# 开启jenkins服务 nohup java -jar /home/ec2-user/jenkins/jenkins.war --ajp13Port=-1 --httpPort=8082 >temp.txt & |
chmod | 权限管理 chmod +x 脚本名称 给脚本赋予可执行权限 |
traceroute | 追踪网络数据包的路由途径 traceroute 目标ip |
useradd | 创建用户 useradd –d /usr/sam -m sam 为创建的用户指定目录 |
chown | 修改文件属性与权限 将test.txt的所有者改成ubuntu chown ubuntu:ubuntu test.txt 将test目录及以下文件的所有者改成ubuntu chown -R ubuntu:ubuntu test |
开机启动
- Ubuntu
- 配置/etc/rc.local开机启动
- sudo su
- chattr -i /etc/rc.local
- vim /etc/rc.local
- 设置启动项,执行脚本的格式sudo sh xxx.sh,启动日志存放在/tmp/rc.local.log
- 配置/etc/rc.local开机启动
#log exec 2> /tmp/rc.local.log # send stderr from rc.local to a log file exec 1>&2 # send stdout to the same log file set -x # tell sh to display commands before execution sudo sh /home/ubuntu/test.sh exit 0 |
-
-
- 给需要开机启动的脚本赋予执行权限
-
sudo chmod +x xxx.sh
-
-
- 参考链接
-
https://www.linuxidc.com/Linux/2017-09/147166.htm
-
- CentOS
- 编写需要开机启动的脚本,并且赋予可执行权限
- CentOS
chmod +x /home/centnet/centnet-service.sh |
-
-
- 添加到开机启动
-
vi /etc/rc.d/rc.local 在末尾添加一行 /home/centnet/centnet-service.sh //赋权可执行 chmod +x /etc/rc.d/rc.local |
语法
- 使用&&执行多条命令,以下示例完成了目录的创建然后切换到新创建的目录
mkdir test && cd test
- Ubuntu上安装rpm包
参考:https://www.linuxidc.com/Linux/2017-08/146269.htm
- 允许使用用户名密码登录(aws的ec2默认不允许使用密码登录)
vim /etc/ssh/sshd_config
将PasswordAuthentication改成yes
//重启ssh生效
service sshd restart
注意:如果提示密码错误,可能需要重新给用户设置一下密码。
useradd jenkins
passwd jenkins
防火墙
- 开放端口
https://blog.csdn.net/u012498149/article/details/78772058
添加 firewall-cmd --zone=public --add-port=10024/tcp --permanent (--permanent永久生效,没有此参数重启后失效) 重新载入 firewall-cmd --reload 查看 firewall-cmd --zone=public --query-port=80/tcp 删除 firewall-cmd --zone=public --remove-port=8081/tcp --permanent |
ubuntu
- putty+xming远程登录Ubuntu16.04图形界面
参考链接
https://www.cnblogs.com/xuanxufeng/p/6243244.html
常用命令
- 查询内存
cat /proc/meminfo | grep MemTotal
- 查看cpu型号
cat /proc/cpuinfo | grep 'model name' |uniq
- 查看cpu核数
cat /proc/cpuinfo | grep "cpu cores" | uniq
- 查看当前可用的卷信息
lsblk
- 批量替换字符
:%s#/usr/bin#/bin#g 可以把文件中所有路径/usr/bin换成/bin
https://www.cnblogs.com/nkwy2012/p/6365714.html
每一行前面追加
:%s/^/要添加的内容
:%s/^/\/data\/test\/mnist\/test\/
- 批量解压文件到指定目录并删除原文件
#!/bin/bash for tar in *.tar; do mkdir $(basename $tar .tar) && tar xvf $tar -C $(basename $tar .tar) && rm -f $tar; done |
- 查看文件个数
#查看文件个数,包括子文件夹 ls -lR|grep "^-"|wc -l #查看文件夹数量 ls -lR|grep "^d"|wc -l |
- 将文件路径写入到文本中
find ./ -type f -name "*.jpg" > test.txt
- 删除符合大小的文件
删除小于1kb的文件
find ./ -size -409600c -type f -exec rm -rf {} \;
- 逐行读取文件
for line in $(cat data.dat)
do
echo "File:${line}"
Done
- 搭建ftp服务器
https://blog.csdn.net/null_qiao/article/details/76919234?locationNum=2&fps=1
- ssh免密登录
https://www.jianshu.com/p/991b39c48b0f
https://jingyan.baidu.com/article/c275f6ba08267ae33c756758.html
https://blog.csdn.net/u013197629/article/details/73608613
http://www.cnblogs.com/yixue2017/p/7559970.html
安装客户端
yum -y install openssh-clients
拷贝公钥
scp -P 51381 ~/.ssh/id_rsa.pub root@192.168.126.12:/home/.ssh/authorized_keys
如果远程服务器没有.ssh目录,需要手动创建或者登录远程服务器使用ssh远程一次,例如:ssh -p 51381 tomcat@192.168.128.209,然后就会在当前用户下生成.ssh目录
赋权
切换至root
cd /home/.ssh
chown tomcat:tomcat ..
切换至tomcat
chmod 700 .ssh
cd .ssh
chmod 600 authorized_keys
chmod 755 ..
无法ssh的常见问题
getenforce
vi /etc/selinux/config
常用命令
查看vsftp是否开启:
pgrep vsftpd
关闭vsftp:
pkill vsftpd
pgrep vsftpd
service vsftpd stop
开启vsftpd:
service vsftpd start
修改vsftpd配置文件:
cd /etc/vsftpd/
cp vsftpd.conf vsftpd.conf.20110622.bak
vi vsftpd.conf
查看端口使用情况(定时刷新)
netstat -ntlp -c 5 | grep 27439
计划任务
列出当前用户的计划任务crontab -l
新增计划任务 crontab -e
https://www.cnblogs.com/zoulongbin/p/6187238.html
查看进程占用内存
查找端口对应的pid
netstat -tunlp |grep 8080
根据pid查看内存使用情况
top -p pid
bash:ll命令未找到问题
在root下面执行 echo "alias ll='ls -l'" >> ~/.bashrc
执行以上命令,关掉中端,再打开就可以使用ll命令了。
其中alias是别名设置命令,unalias是取消别名设置命令。