重启
在Linux系统中,init 6
和 reboot
都可以用于重新启动系统,但它们在具体的实现方式上有一些区别。
init 6
:它是通过运行init程序的runlevel 6(也称为关机运行级别)来实现系统重启。在执行 “init 6” 时,会先执行系统的正常关机操作,然后重新引导系统以重新加载内核和服务。
这种方式可以确保系统在重启前正常关闭所有服务,并清理资源。
reboot
:它是一个简单的命令,直接调用操作系统的底层函数来进行系统重启。它不会执行系统的正常关机操作和资源清理,而是直接重新引导系统。
这种方式潜在地可能会导致未完成的操作丢失或资源泄露。
综上所述,init 6
在系统重启时更安全,因为它依赖于系统的运行级别来确保正常关闭服务和资源清理。
而 reboot
是一种更直接的重启方式,适合在简单重启场景下使用。
建议使用以下命令重启系统
1 | init 6 |
查看服务器配置
服务器架构
1 | uname -m |
服务器型号
1 | dmidecode|grep "System Information" -A9|egrep "Manufacturer|Product" |
系统版本
1 | cat /etc/redhat-release |
CPU
1 | lscpu |
MIPS是millions of instructions per second
(百万条指令每秒)的缩写,其代表CPU的运算速度,是cpu性能的重要指标。
那BogoMIPS是什么意思呢?
Bogomips是Linux操作系统中衡量计算机处理器运行速度的的一种尺度,是由Linux主要开发者linus Torvalds写的。
是通过calibrate_delay()
函数计算出来的。
只能用来粗略计算处理器的性能,并不十分精确。
查看CPU核心数
1 | cat /proc/cpuinfo| grep "cpu cores"| uniq |
硬盘
查看磁盘空间
1 | lsblk |
查看磁盘
1 | df -lh |
使用Docker会产生很多记录,这里只显示以/dev
开始的记录
1 | df -h | grep ^/dev |
保留表头
1 | df -h | egrep "容量|^/dev" |
egrep
是 grep -E
的别名,允许使用扩展正则表达式(ERE)进行匹配。
或者
1 | df -h | awk 'NR==1 || /^\/dev/' |
或者
1 | df -h | sed -n '1p;/^\/dev/p' |
sed
是一个流编辑器,用于处理文本。-n
选项表示只输出符合脚本中的条件的行,而不输出所有行,条件之间用;
分割。这样可以控制输出。
1p
的意思是打印出输入的第一行(表头)。
/^\/dev/p
是个正则表达式,输出以/dev
开头的行。
测试速度
测试读速度
1 | yum install hdparm |
测试写速度
/dev/zero零设备
,可以无限的提供空字符(0x00,ASCII代码NUL)。常用来生成一个特定大小的文件。
1 | yum install time |
内存
1 | free -h |
DNS
查看
1 | cat /etc/resolv.conf |
编辑
1 | sudo vi /etc/resolv.conf |
IPv4:
1 | nameserver 223.5.5.5 |
IPv6:
1 | nameserver 2400:3200::1 |
保存后立即生效不用重启服务器。
常用文件夹
根目录
- dev—–设备文件。
- usr—–用户文件夹。
- opt—–安装软件用。
- etc—–存放配置文件。
常用应用位置
- JDK(rpm)默认安装位置:
/usr/java/
- Apache(yum)配置文件位置:
/etc/httpd/conf/httpd.conf
- Tomcat6(yum)文件夹位置:
/usr/share/tomcat6
- Tomcat7(yum):
/usr/share/tomcat7
- Nginx(yum):
/etc/nginx/
- Mysql配置文件:
/etc/my.cnf
- 编译软件默认位置:
/usr/local
- 服务位置:
/etc/init.d/
查看系统信息
1 | cat /etc/redhat-release |
或
1 | lsb_release -a |
挂载硬盘
服务
服务开机自启/取消
1 | chkconfig mysqld on |
查看所有服务
1 | chkconfig |
查询mysql服务
1 | chkconfig --list | grep "mysql*" |
文件/文件夹操作
创建文件夹
1 | mkdir abc |
修改权限
1 | chmod 777 ./test |
包含子目录
1 | chmod -R 777 ./test |
复制
1 | cp -rf ./foldername ../foldername |
删除文件
1 | rm -rf ./a.txt |
- -r 递归删除
- -f 不提示
- -i 交互式删除
删除当前文件夹及其子文件夹文件
在Linux中,你可以使用find
命令结合-exec
选项来删除当前文件夹及其子文件夹中具有特定后缀的文件。
以下是一个示例命令:
假设你想删除当前目录及其子目录中所有以.log
为后缀的文件,可以使用以下命令:
1 | find . -type f -name "*.log" -exec rm -f {} \; |
解释:
find .
:从当前目录(.
)开始查找。-type f
:指定查找的类型为文件(f
表示文件)。-name "*.log"
:指定查找的文件名模式为以.log
结尾的文件。-exec rm -f {} \;
:对找到的每个文件执行rm -f
命令,{}
表示找到的文件,\;
表示-exec
命令结束。
项目示例
1 | find . -type f -name "*log.txt" -exec rm -f {} \; |
另外,如果你只想删除当前目录中的文件,而不包括子目录,可以使用以下命令:
1 | rm -f ./*.log |
这将删除当前目录中所有以.log
为后缀的文件,但不包括子目录中的文件。
注意: 由于rm
命令是立即执行的,并且删除的文件无法通过普通方式恢复,因此在使用之前请确保你已经备份了重要数据,并且确认你真的要删除这些文件。
移动/重命名
重命名
1 | mv 1.txt 2.txt |
移动
1 | mv ./1.txt ./2/2.txt |
查找文件
1 | whereis mysql |
查看文件/文件夹大小
1 | du -sh /home |
压缩与解压
压缩
1 | yum install -y zip |
分卷压缩
1 | yum install -y zip |
解压缩
1 | yum install -y unzip |
解压tar.xz
这样的格式里层是tar打包方式 外面是xz压缩方式
所以解压可以分步进行
1 | xz -d ***.tar.xz |
也可以直接进行
1 | tar xvJf ***.tar.xz |
查询内存信息
1 | top -m |
显示可用内存(单位:M)
1 | free -m |
图形化查看
1 | yum install htop |
使用
1 | htop |
查询端口/结束进程
根据端口查询进程id
1 | lsof -i:8080 |
根据进程名查询进程id
1 | ps -ef | grep java |
结束PID为1000的进程
1 | kill -9 1000 |
IP地址
查询
1 | ifconfig | grep "inet " | grep -v 127.0.0.1 |
修改IP地址
修改/etc/sysconfig/network-scripts/ifcfg-ens192
文件
ifcfg-xxx 根据自己的情况配置
1 | cd /etc/sysconfig/network-scripts/ |
查看当前的路径
1 | pwd |
建立软链接
有这样一种情况
为了便于服务器上我们项目的管理
我们可能需要修改里面所有的tomcat的配置
把项目的路径设置在我们的数据文件夹中
但这样修改起来就比较麻烦 当然我们也可以用软链接 ln -s
.
比如
1 | ln -s /data/webapps01 /usr/share/tomcat7/webapps |
上面这个例子
我们可以先把/usr/share/tomcat7/webapps
复制到/data/webapps01
然后就可以删除 /usr/share/tomcat7/webapps
了
通过上面的方式 就相当于 /usr/share/tomcat7/webapps
其实就是一个快捷方式
实际链接的路径为/data/webapps01
查看哪些是软链接
1 | ls -l |
清屏
1 | clear |