常用的linux命令整理
1.查看系统信息
- 关机
shutdown -h now - 重启
shutdown -r now - 查看电脑cpu
lscpu - 查看电脑内存
free -h - 查看当前操作系统的内核信息
cat /proc/version - 查看物理cpu个数
grep 'physical id' /proc/cpuinfo | sort -u - 查看核心数量
grep 'core id' /proc/cpuinfo | sort -u | wc -l - 查看线程数
grep 'processor' /proc/cpuinfo | sort -u | wc -l
2.硬盘操作
- 查看电脑硬盘
df -h - 查看硬盘剩余信息
sudo fdisk -l - 重新修改硬盘分区
fdisk /dev/sdb(需要用root账户登录,执行完此命令以后按m可查看其它命令)
3.修改主机
- 修改主机名称
sudo vim /etc/hostname(开机以后生效) - 修改主机名和映射
sudo vim /etc/hosts - 主机名临时修改
sudo hostname node002(node002为要修改的主机名)
4.网络命令
- ping网络连通性时显示有限行数
ping c -3 192.168.31.218 - netstat -tlanp 查看连接和端口情况
5.查看安装包以及服务进程
- 查看有无ntp
dpkg -l |grep ntp - 查看ntp服务
systemctl -l status ntp.service - 查看定时任务
sudo crontab -e - 查看cpu使用
top - 查看关于tomcat的进程
ps -ef|grep tomcat - 终端实时打印tomcat的控制台
tail -f catalina.out - 重新启动nginx服务
sudo systemctl restart nginx.service - 查看端口号进程
lsof -i:port
6.文件操作
- 移动文件
mv logs log20170630 - 压缩文件成tar后缀
tar cvf ROOT.tar ROOT - 在服务器端实时查看控制台输出
tail -f catalian.out - 解压.gz文件到指定目录
sudo tar -zxvf jdk-7u60-linux-x64.gz -C /usr/lib/jvm - 修改文件权限
sudo chmod 777 '文件'(每个人都有读和写以及执行的权限) - 所有者有读和写的权限,组用户只有读的权限
644 - 只有所有者有读和写的权限
600 - 只有所有者有读和写以及执行的权限
644 - 每个人都有读和写的权限
666
7.软件操作
- 全局查找nginx相关文件
sudo find / -name nginx* - 列出与nginx相关的软件
dpkg --get-selections|grep nginx - 删除nginx,–purge包括配置文件
sudo apt-get --purge remove nginx - 自动移除全部不使用的软件包
sudo apt-get autoremove
8.软件源
- 阿里云镜像地址
http://mirrors.aliyun.com/ - 修改源
sudo vim /etc/apt/source.list - 添加源
sudo apt-add-repository '源地址' - 彻底删除源
sudo apt-add-repository -r '源地址'(还要删除/etc/apt/sources.list.d里面的原文件) - 举例删除
sudo apt-add-repository -r 'deb https://download.ceph.com/debian-jewel/ xenial main'
cd /etc/apt/sources.list.d
sudo rm ceph.list.save -f
sudo rm ceph.list -f
sudo apt-get clean
sudo apt-get update
9.apt-key命令用于管理Debian Linux系统中的软件包密钥。每个发布的deb包,都是通过密钥认证的,apt-key用来管理密钥。
- 列出已保存在系统中key
apt-key list - 把下载的key添加到本地trusted数据库中
apt-key add keyname - 从本地trusted数据库删除key
apt-key del keyname - 更新本地trusted数据库,删除过期没用的key
apt-key update
10.环境变量操作
- 修改环境变量
sudo vim ~/.bashrc(当前用户) - 让修改的环境变量立即生效
source ~/.bashrc - 修改环境变量
sudo vim /etc/profile(所有用户) - 让修改的环境变量立即生效
source /etc/profile
11.集群设置ntp同步(node1安装ntp服务,node2,node3同步node1)
在node1上执行:
- 安装ntp
sudo apt-get install ntp - 查看ntp服务
ps -aux | grep ntp - 查看ntp服务的另一种方式
service --status-all
在node2和node3上执行:
- 安装ntpdate
sudo apt-get install ntpdate - 将时间同步到nodel
sudo ntpdate 192.168.0.8(ip地址为node1的ip地址) - 如果上一步报错 ’ 21 Sep 12:19:06 ntpdate[7188]: the NTP socket is in use, exiting ’
ps aux | grep ntpd(将查找出来的进程杀死,再重新执行上一步)
12.设置ssh无密码登(例如:主机名为node1无密码登录主机名为node2
在node1上执行:
1.cd ~/.ssh (若没有该目录,先执行ssh localhost)
2.rm ./id_rsa* (删除之前生成的公钥)
3.ssh-keygen -t rsa (生成公钥,此时一直按回车就行)
4.cat ./id_rsa.pub >> ./authorized_keys
5.scp ~/.ssh/id_rsa.pub ubuntu@node2:/home/node2/(将公钥传输到node2)
在node2上执行:
1.mkdir ~/.ssh (若不存在先创建,若存在则可忽略此步)
2.cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
3.rm ~/id_rsa.pub (用完即可删除)
node4对node1配置免密
1.sudo visudo
2.ubuntu ALL=(ALL) NOPASSWD: ALL(允许node1上的ubuntu用户免密操作)
13.利用ubuntu直接安装oracle的jdk
1.sudo add-apt-repository ppa:webupd8team/java
2.sudo apt-get update
3.sudo apt-get install oracle-java8-installer
4.sudo update-java-alternatives -s java-8-oracle
14.支持ssl的nginx部署(ubuntu)
关于ssl:
.key文件
私钥
.crt文件certificate的缩写,即证书
.csr文件Certificate Signing Request的缩写,即证书签名请求,这不是证书,可以简单理解成公钥,生成证书时要把这个提交给权威的证书颁发机构。
nginx安装和配置文件
安装nginx最简单的方法:apt-get install nginx
nginx的默认配置文件位置:/etc/nginx/
nginx的日志文件位置:/var/log/nginx/
查看ngnix当前状态:service nginx status
重启nginx服务:sudo systemctl restart nginx.service
有一些服务器的nginx的配置文件位置在/usr/local/nginx/目录下,此时重启nginx需要进入/usr/local/nginx/sbin目录下,执行./nginx -s reload命令
15.更新linux操作系统内核(4.4更新到4.11)
16.修改svn配置
17.彻底卸载mysql
18.安装mysql
常见错误解决
1.主机改变的错误,删除已知主机的信息

1.vim ~/.ssh/known_hosts (删除关于此IP的主机信息.) 2.ssh-keygen -R 120.41.46.145

