介绍
命令 | 说明 |
---|---|
stat | 显示指定文件的相关信息,比ls命令显示内容更多 |
who | 显示在线登录用户 |
hostname | 显示主机名称 |
uname | 显示系统信息 |
top | 显示当前系统中耗费资源最多的进程 |
ps | 显示瞬间的进程状态 |
du | 显示指定的文件(目录)已使用的磁盘空间的总量 |
df | 显示文件系统磁盘空间的使用情况 |
free | 显示当前内存和交换空间的使用情况 |
ifconfig | 显示网络接口信息 |
ping | 测试网络的连通性 |
netstat | 显示网络状态信息 |
clear | 清屏 |
kill | 杀死一个进程 |
常用启动脚本
#! /bin/bash
nohup /usr/java/jdk1.8.0_161/bin/java -Dfile.encoding=UTF-8 -jar boot-1.0.jar --spring.config.location=application.properties &>./log.txt &
tail -f log.txt
linux下检查是否安装过某软件包
rpm包安装的,可以用 rpm -qa 看到,如果要查找某软件包是否安装,用 rpm -qa | grep "软件或者包的名字"
以deb包安装的,可以用 dpkg -l 看到。如果是查找指定软件包,用 dpkg -l | grep "软件或者包的名字"
yum方法安装的,可以用 yum list installed 查找,如果是查找指定包,用 yum list installed | grep "软件名或者包名"
- 查看是否安装了gcc
yum list installed | grep "gcc"
输出重定向
1. 语法
切记,执行输出时记得提前备份,防止覆盖源文件 😢。
command > file
执行命令 command 然后将结果输出至 file 文件中。
2. 示例
echo:基础操作;
echo "hello world" > linux.txt
cat:普遍的使用;
cat linux.txt > linux1.txt
command:command 解释。
which google-chrome-stable > linux.txt
3. 扩展内容
错误输入:命令错误时不会生效,修改默认文件描述符输入错误提示信息;
cho "hello world" 2> test.txt
追加输入:追加内容。
echo "hello world" >> test.txt
输入重定向 核心使用
常利用空设备(/dev/null)和重定向来丢弃不需要的输出流。
cat /etc/hosts > /dev/null
替换jar包中的配置文件或者class文件
- 如果java 工程是打包成jar工程,这个时候又修改了少量代码,重新打包上传就比较麻烦。可用如下方式局部替换配置文件或者class文件。
#搜索:
jar -tvf property-api.jar | grep AddressUtils.class
#解压:
jar -xvf property-api.jar BOOT-INF/classes/com/summer/common/utils/ip/AddressUtils.class
#替换:
jar -uvf property-api.jar BOOT-INF/classes/com/summer/common/utils/ip/AddressUtils.class
示例
解析命令:
jar: 包是Java中所特有一种压缩文档
-u 添加文件到jar包中
-v 生成详细的报造,并输出至标准设备
-f 指定jar包的文件名
-t 显示jar中的内容列表 -c 创建一个jar包 -t 显示jar中的内容列表 -x 解压jar包 -m 指定manifest.mf文件.(manifest.mf文件中可以对jar包及其中的内容作一些一设置) -0 产生jar包时不对其中的内容进行压缩处理 -M 不产生所有文件的清单文件(Manifest.mf)。这个参数与忽略掉-m参数的设置 -i 为指定的jar文件创建索引文件 -C 表示转到相应的目录下执行jar命令,相当于cd到那个目录,然后不带-C执行jar命令
使用jar tvf jar名称 | grep 目标文件名 查询出目标文件在jar包中的目录
[root@VM_0_3_centos ~]# jar -tvf property-api.jar |grep AddressUtils.class
- 使用jar xvf jar名称 目标文件名(copy上面查出的全路径) 将目标文件及所在jar包中的目录解压到当前路径
[root@VM_0_3_centos ~]# jar -xvf property-api.jar BOOT-INF/classes/com/summer/common/utils/ip/AddressUtils.class
- 修改目标文件的内容,或者将要新的目标文件替换掉提取出来的目标文件
4.使用jar uvf jar名称 目标文件名(和步骤(2)中的目标文件名相同) 将新目标文件替换到jar包中 [root@VM_0_3_centos ~]# jar uvf property-api.jar BOOT-INF/classes/com/summer/common/utils/ip/AddressUtils.class
系统服务管理
systemctl
- 启动服务:systemctl start httpd.service
- 关闭服务:systemctl stop httpd.service
- 重启服务(不管是否在运行):systemctl restart httpd.service
- 重新载入配置(不中断服务):systemctl reload httpd.service
- 查看运行状态:systemctl status httpd.service
- 设置开机启动:systemctl enable httpd.service
- 禁止开机启动:systemctl disable httpd.service
- 查看系统安装的服务:systemctl list-units --type=service
文件管理
ls
列出/home目录下的子目录:ls -l /home 列出当前文件夹下所有文件夹及文件大小:ls -lht
pwd
显示当前工作目录
cd
切换目录: cd /usr/local
date
以指定格式显示日期;date '+date:%x time:%X'
passwd
修改root密码:passwd root
su
普通用户切换到超级用户:su -
clear
清除屏幕信息
man
查看ls命令的帮助信息:man ls
who
- 查看当前运行级别:who -r
- 显示用的登录详情:who -buT
free
以MB显示内存使用状态:free -m
ps
查看系统所有进程:ps -ef 查看运行的java进程: ps -ef | grep java
top
查看系统当前活跃进程信息
mkdir
创建目录
more
分页查看
每10行显示一屏查看:more -c -10
cat
查看config文件:cat -Ab config
rm
- 删除文件:rm a.txt
- 删除文件夹: rm -rf a/
touch
创建一个文件:touch a.txt
cp
将目录a的文件拷贝到目录b: cp -r /home/a /home/b
mv
移动或覆盖文件:mv a.txt b.txt
压缩与解压
tar
- 打包文件夹到单独的文件:tar -cvf /opt/etc.tar /etc
- 压缩文件夹到压缩文件(gzip):tar -zcvf /opt/etc.tar.gz /etc
- 压缩文件夹到压缩文件(bzip2):tar -jcvf /opt/etc.tar.bz2 /etc
- 查阅压缩包中内容(gzip):tar -ztvf /opt/etc.tar.gz /etc
- 解压文件到当前目录(gzip):tar -zxvf /opt/etc.tar.gz
磁盘和网络管理
df
查看磁盘占用情况:df -hT
ifconfig
查看当前网络接口状态
netstat
- 查看路由信息:netstat -rn
- 查看所有有效TCP连接:netstat -an
- 查看系统中启动的监听服务:netstat -tulnp
- 查看处于连接状态的系统资源信息:netstat -atunp
wget
从网络上下载软件
软件的安装与管理
rpm
- 安装软件包:rpm -ivh nginx-1.12.2-2.el7.x86_64.rpm
- 模糊搜索软件包:rpm -qa | grep nginx
- 精确查找软件包:rpm -qa nginx
- 查询软件包的安装路径:rpm -ql nginx-1.12.2-2.el7.x86_64
- 查看软件包的概要信息:rpm -qi nginx-1.12.2-2.el7.x86_64
- 验证软件包内容和安装文件是否一致:rpm -V nginx-1.12.2-2.el7.x86_64
- 更新软件包:rpm -Uvh nginx-1.12.2-2.el7.x86_64
- 删除软件包:rpm -e nginx-1.12.2-2.el7.x86_64
yum
- 安装软件包: yum install nginx
- 检查可以更新的软件包:yum check-update
- 更新指定的软件包:yum update nginx
- 在资源库中查找软件包信息:yum info nginx*
- 列出已经安装的所有软件包:yum info installed
- 列出软件包名称:yum list redis*
- 模糊搜索软件包:yum search redis
网络安全
iptables
- 开启防火墙:systemctl start iptables.service
- 关闭防火墙:systemctl stop iptables.service
- 查看防火墙状态:systemctl status iptables.service
- 设置开机启动:systemctl enable iptables.service
- 禁用开机启动:systemctl disable iptables.service
- 查看filter表的链信息:iptables -L -n
- 查看NAT表的链信息:iptables -t nat -L -n
- 清除防火墙所有规则:iptables -F;iptables -X;iptables -Z;
- 添加过滤规则(开发80端口):iptables -I INPUT -p tcp --dport 80 -j ACCEPT
- 查找规则所做行号:iptables -L INPUT --line-numbers -n
- 根据行号删除过滤规则:iptables -D INPUT 1