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
- 创建硬链接
ln oldname newname
- 创建软链接
ln -s oldname newname
- 查看路径下的文件的软链接
find 路径 -lname 文件名
- 查找路径下的所有软链接文件(以详细信息方式输出):
find 路径 -type l -ls
- 查找具有相同inode的硬链接:
find 路径 -samefile 文件名
或者find 路径 -inum inode号
- 全局查找以main开头的文件
sudo find / -name main*
7.软件操作
- 全局查找nginx相关文件
sudo find / -name nginx*
- 列出与nginx相关的软件
dpkg --get-selections|grep nginx
- 删除nginx,–purge包括配置文件
sudo apt-get --purge remove nginx
- 自动移除全部不使用的软件包
sudo apt-get autoremove
- 删除包缓存中的所有包
sudo apt-get clean
- 将已经删除了的软件包的.deb安装文件从硬盘中删除掉
sudo apt-get autoclean
- 删除为了满足其他软件包的依赖而安装的,但现在不再需要的软件包
sudo apt-get autoremove
- 删除安装包,且不保留配置文件
sudo apt-get --purge remove
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的缩写,即证书签名请求,这不是证书,可以简单理解成公钥,生成证书时要把这个提交给权威的证书颁发机构。
15.更新linux操作系统内核(4.4更新到4.11)
//安装4.11版本
sudo apt-get install linux-image-4.11.0-14-generic
sudo apt-get install linux-image-extra-4.11.0-14-generic
sudo apt-get install linux-headers-4.11.0-14-generic
//清除4.4版本
sudo apt purge linux-image-4.4*
sudo apt purge linux-image-extra-4.4*
sudo apt purge linux-headers-4.4*
//查看
dpkg -l|grep linux-headers
dpkg -l|grep linux-image
//如果上一步查看版本一致,更新操作系统boot。这步很关键,如果不执行,重启以后系统会崩掉
sudo update-grub
16.修改svn配置
cd /opt/repo/conf //进入svn库的配置
sudo vim authz //修改用户认证的配置文件(如下图)
sudo svnserve -d -r /opt/repo/ //重启svn服务
17.彻底卸载mysql
sudo apt purge mysql-*
sudo rm -rf /etc/mysql/ /var/lib/mysql
sudo apt autoremove
sudo apt autoreclean
18.安装mysql
sudo apt-get install mysql-server //安装mysql服务端(中间会出现设置密码环节)
sudo apt isntall mysql-client //安装mysql客户端
sudo apt-get install libmysqlclient-dev
sudo netstat -tap | grep mysql //查看安装情况,出现下图是正确
mysql -u root -p //使用root用户登录
19.虚拟机相关操作
virsh //进入虚拟机命令模式
list --all
start server1
20.修改系统语言
sudo vim /etc/default/locale //系统语言的配置文件,重启后生效。
//改为中文
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh"
//改为英文
LANG=”en_US.UTF-8″
LANGUAGE=”en_US:en”
常见错误解决
1.主机改变的错误,删除已知主机的信息
1.vim ~/.ssh/known_hosts (删除关于此IP的主机信息.)
2.ssh-keygen -R 120.41.46.145
2.could not get lock /var/lib/dpkg/lock -open错误
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
3.Sub-process /usr/bin/dpkg returned an error code (1)安装软件
sudo mv /var/lib/dpkg/info /var/lib/dpkg/info.bak //现将info文件夹更名
sudo mkdir /var/lib/dpkg/info //再新建一个新的info文件夹
sudo apt-get update
apt-get -f install xxx
sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info.bak //把info下面的产生的文件导入info.bak
sudo rm -rf /var/lib/dpkg/info
sudo mv /var/lib/dpkg/info.bak /var/lib/dpkg/info //把info.bak的名字改回去
mysql启动异常
(ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2 “No such file or directory”))
ln -s /tmp/mysql.sock /var/run/mysqld/mysqld.sock