Linux常用命令
1. root用户和普通用户切换
添加普通用户
useradd 用户名
设置用户密码
passwd 用户名
普通用户切root: su - 输入root用户的密码 切回普通用户: su - 普通用户名
2. 查看磁盘目录大小:
查看一级磁盘目录大小:
df -h
查看当前目录下文件大小:
du -sh *
3. 查看服务器资源消耗(cpu,内存):
top
4. 查看cpu核数
lscpu
cat /proc/cpuinfo| grep "cpu cores"| uniq
5. 查看内存消耗:
free -m
m 表示显示的大小以MB换算
free -h
h 表示显示的大小以GB换算
6. 查找文件:
find / -name 文件名
whereis 文件名
which 文件名
7. 查看进程:
ps -ef|grep 进程名
8. 杀死进程:
kill -9 进程号
9. 查看端口占用情况:
netstat -ntulp|grep 端口号
10. 日志相关操作
实时查看日志:
tail -f 日志文件名
实时查看日志并检索关键字:
tail -f 日志文件名 |grep 关键字
查看日志文件:
less 日志文件名
带出行号查看日志文件:
less -N 日志文件名
查看文件后,若文件过大,打通过以下命令滚动文件:
j 下一行
k 上一行
f 向下滚动一屏幕
b 向上滚动一屏幕
g 定位到文档头部
G 定位到文档最尾部
q 退出less模式
查看日志文件并检索带关键字的日志记录:
less 日志文件名 |grep 关键字
11. 上传/下载文件:
alt+p进入sftp窗口
put 本地文件的全路径
get 文件名(默认是sftp当前目录中文件), 默认下载到C:\Users\11275\Documents中
12. nohup命令:
保证进程永久执行: nohup python jira.py &
nohup启动并指定日志所在位置: nohup java -jar opd.jar >/toll/logs/support.log &
13. windows编辑的shell脚本在linux下不识别'\r'的问题:
解决: linux下输入命令: sed -i 's/\r//' opd.sh && bash opd.sh
14. linux项目启动shell脚本:
#!/bin/bash #这里可替换为你自己的执行程序的文件名 APP_NAME=opd #使用说明,用来提示输入参数 usage(){ echo "Usage: sh ${APP_NAME}.sh [start|stop|restart|status]" exit 1 } #检查程序是否在运行 is_exist(){ pid=`ps -ef|grep $APP_NAME.jar|grep -v grep|awk '{print $2}'` #如果不存在返回1,存在返回0 if [ -z "${pid}" ]; then return 1 else return 0 fi } #启动方法 start(){ is_exist if [ $? -eq 0 ]; then echo "${APP_NAME} is already running. pid=${pid}" else # 执行jar的命令,nohup表示永久运行。&表示后台运行 # ../server/${APP_NAME}.jar要根据自己的jar的位置 # --server.port=8001 设置端口 # ../serverlogs/${APP_NAME}.log日志想要输出的位置 # nohup java -jar ../server/${APP_NAME}.jar --server.port=8001 >> ../serverlogs/${APP_NAME}.log 2>&1 & nohup java -Xms1024M -Xmx2048M -jar ${APP_NAME}.jar > /dev/null 2>&1 & echo "${APP_NAME} start success" fi } #停止方法 stop(){ is_exist if [ $? -eq "0" ]; then kill -9 $pid echo "${APP_NAME} stop success" else echo "${APP_NAME} is not running" fi } #输出运行状态 status(){ is_exist if [ $? -eq "0" ]; then echo "${APP_NAME} is running. Pid is ${pid}" else echo "${APP_NAME} is not running." fi } #重启 restart(){ stop # 休眠1秒 sleep 1 start echo "${APP_NAME} restart success" } #根据输入参数,选择执行对应方法,不输入则执行使用说明 case "$1" in "start") start ;; "stop") stop ;; "status") status ;; "restart") restart ;; *) usage ;; esac
15. Linux 项目输出日志中文变问号
Step 1
$ vim /etc/locale.conf
LANG="zh_CN.UTF-8"
Step 2
$ vim ~/.bashrc # 追加 export LANG='UTF-8' export LC_ALL='zh_CN.UTF-8' export LC_CTYPE='zh_CN.UTF-8'
$ source ~/.bashrc
Step 3
重启项目
16. LINUX校对时间
首先使用 date 查看当前时间是否准确 校准时间命令 ntpdate cn.pool.ntp.org 如果没有权限: sudo -i 会出现输入密码,直接输入密码即可 再次执行校准时间操作命令 ntpdate cn.pool.ntp.org 操作完成之后,查看时间是否准确 date
17. LINUX压缩解压zip包
安装zip: yum install zip 安装unzip: yum install unzip 压缩: 将当前目录下a目录下所有文件压缩成abc.zip zip -d abc.zip ./a/* 解压缩: 将abc.zip解压至当前目录下 unzip -d ./ abc.zip
18. 查看和关闭防火墙
#查看防火墙状态
systemctl status firewalld
#关闭防火墙
systemctl stop firewalld
#禁止开机启动
systemctl disable firewalld
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下