Linux系统倒腾笔记

标签: Linux 分类: 操作系统 创建时间:2019-05-19 12:28:00 更新时间:2025-01-17 10:39:23

最近一直痴迷于安装linux系统,自从安装了Deepin这个基于Debian的Linux系统发型版之后,在多个电脑上重复的安装,测试,和使用,目前觉得还是不错的,值得入手学习和日常的使用,因为本人不怎么玩游戏,所以,对于使用linux进行工作和办公,是可以脱离window的束缚的。下面就是记录一些自己在使用和学习Deepin,或者说是学习linux的一些迷惑与解决方法。

1.关闭命令行输入Tab键和空格键时发出的滴滴声

这个也是无意间发现的,在命令行中什么命令都没有输入的情况下,按下退格键,系统就会发出滴滴的提示音,按Tab键进行命令不全的时候,也是,这种奇怪的提示,不能忍受。解决方法是用vi编辑 /etc/inputrc文件, 去掉 “set bell-style none”前面的#号,重启动系统即可! 必要时请使用sudo命令获取编辑文件的权限。

2.升级已经安装的包

1
2
## 更新已安装的包
sudo apt-get upgrade

3.ps查询进程

理论上使用:ps -ef | grep ‘java -jar’ 或者是使用:ps aux|grep ‘java -jar’, 会显示进程的进程号,显示格式为:USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

结果今天我在一个linux系统上死活得不到系统的进程号

本以为1486是这个进程的进程号,但是实际上不是,每次执行ps命令,这个地方都是会变换的,而且使用:kill -9 PID 命令,也显示进行不存在。使用uname -a查看系统的版本:

使用:ps aux | less 命令,倒是可以显示正确的进程号,这是为什么呢?

原因似乎是我查询的java进程号,不是固定的,如果我查询的是自己启动的java进程,结果是正确的。重新开启一个java进程,重新使用ps命令查询,结果显示了正确的进程号。

4.查找某个软件的安装目录

(1) 软件安装目录:whereis oracle
(2) 查询运行文件所在路径:which oracle
(3) 先使用ps命令查询进程运行目录,然后在使用find命令查找配置文件位置

1
2
3
4
5
6
7
8
9
## 查询进程运行目录
ps -ef | grep nginx
## 检查是否已经安装有nginx及对应目录:
find /|grep nginx.conf

## 查找目录 find [PATH] [Option] [action]

find / -name "" -type d

(4) 直接使用find命令

1
sudo find / -name nginx

(5) 使用apt-get安装的软件
dpkg -L 软件名

5.linux查看path环境变量

(1) 查看path变量 : export
(2) 单独输出path : echo $PATH
(3) 添加path: export PATH=/opt/STM/STLinux-2.3/devkit/sh4/bin:$PATH (在终端关闭 后就会消失),编辑/etc/profile文件或者是家目录的.bashrc(即:~/.bashrc),可以永久保存。修改之后使用source /etc/profile生效

6.如何卸载make install 安装的软件

find找到相应安装后目录,直接全部删除就可以了,然后如果有设置了path,在/etc/profile中删除。其实还有一个就是man手册,在安装的时候,一般会在man手册中写一些东西,但是如何删除,或者说能不能删除,有没有必要删除,我现在还是一头雾水,搞不明白。

7.后台运行某个程序

1
2
3
4
5
6
7
8
9
10
## 1.方式一
## nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
## 当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中
## 除非另外指定了输出文件。
$ nohup java -jar test.jar &

## 2.方式二
## 这种方法会把日志文件输入到你指定的文件中,没有则会自动创建
nohup java -jar test.jar >temp.txt &

参考文章:
【1】.Linux后台运行Jar方法
【2】.nohup java -jar不生效 这里有几个不生效的原因:1.没有正确地将Java应用程序作为后台进程运行。2.应用程序需要进行用户交互,例如在控制台中输入信息或读取文件,而nohup命令是在后台运行,无法进行用户交互。3.应用程序中存在未处理的异常或错误,导致程序崩溃退出。4.系统资源不足,例如内存不够,导致应用程序无法正常运行。
【3】.后端: linux后台运行 nohup: ignoring input and appending output to ‘nohup.out’ 解决方法一: 后台运行;解决方法二:开启自动执行;
【4】.使用Linux重定向解决nohup.out无写权限问题

8.用命令行运行deb安装包

常用命令如下:
sudo dpkg -I iptux.deb#查看iptux.deb软件包的详细信息,包括软件名称、版本以及大小等(其中-I等价于–info)
sudo dpkg -c iptux.deb#查看iptux.deb软件包中包含的文件结构(其中-c等价于–contents)
sudo dpkg -i iptux.deb#安装iptux.deb软件包(其中-i等价于–install)
sudo dpkg -l iptux#查看iptux软件包的信息(软件名称可通过dpkg -I命令查看,其中-l等价于–list)
sudo dpkg -L iptux#查看iptux软件包安装的所有文件(软件名称可通过dpkg -I命令查看,其中-L等价于–listfiles)
sudo dpkg -s iptux#查看iptux软件包的详细信息(软件名称可通过dpkg -I命令查看,其中-s等价于–status)
sudo dpkg -r iptux#卸载iptux软件包(软件名称可通过dpkg -I命令查看,其中-r等价于–remove)

9.查看系统版本

1
2
3
4
5
6
## 可以查看CentOS版本
lsb_release -a

## 查看内核版本
uname -a
uname -r

10.获取pid

11.tomcat404

访问应用的时候,出现了404问题。

【尝试方案】
(1)配置环境变量,结果还是一样

1
2
3
4
5
6
## 编辑
vim /etc/profile

## 添加
export TOMCAT_HOME=/usr/local/tomcat-8.5.43
export CATALINA_HOME=$TOMCAT_HOME

(2)删除了 webapps 下的 ROOT 目录,无效。

(3)因为我的 tomcat 是 7.0 版本的,后来我在想,是不是因为我的java版本太高了,导致无法使用呢?我的是 openjdk15,于是我开始降低 jdk 版本。

【解决方案】
最后的解决方案,就是下载了相应版本的 1.8 的 jdk,然后重启应用。

参考文章:
【1】.TomCat报404错误是什么原因该怎么解决 1.正确的端口号;2.环境变量;3.确定Web应用是否成功启动;4.webapps下的ROOT目录;5.访问地址的时候是否加了web应用的名称;6.是否访问对资源了;7.不能访问WEB-INF目录下的资源;8.访问地址后面多加了一个斜杠。
【2】.通过tomcat查看webapp上部署的项目是否成功启动
【3】.Tomcat中jdk版本与项目版本不一致造成404错误以及Eclipse修改jdk版本 这里也说有可能版本不对,导致404
【4】.JDK 1.8 官网下载地址(linux / windows) 这里有下载1.8版本的链接
【5】.Java -version giving me a “no such file or directory” [closed] jdk版本和系统不匹配
【6】.如何完美解决 Nginx出现 404 Not Found nginx/1.23.4 解决方案
【7】.Tomcat 出现 404 错误后的原因分析 1.确认 SSL 部署的正确性
小额赞助
本人提供免费与付费咨询服务,感谢您的支持!赞助请发邮件通知,方便公布您的善意!
**光 3.01 元
Sun 3.00 元
bibichuan 3.00 元
微信公众号
广告位
诚心邀请广大金主爸爸洽谈合作
每日一省
isNaN 和 Number.isNaN 函数的区别?

1.函数 isNaN 接收参数后,会尝试将这个参数转换为数值,任何不能被转换为数值的的值都会返回 true,因此非数字值传入也会返回 true ,会影响 NaN 的判断。

2.函数 Number.isNaN 会首先判断传入参数是否为数字,如果是数字再继续判断是否为 NaN ,不会进行数据类型的转换,这种方法对于 NaN 的判断更为准确。

每日二省
为什么0.1+0.2 ! == 0.3,如何让其相等?

一个直接的解决方法就是设置一个误差范围,通常称为“机器精度”。对JavaScript来说,这个值通常为2-52,在ES6中,提供了Number.EPSILON属性,而它的值就是2-52,只要判断0.1+0.2-0.3是否小于Number.EPSILON,如果小于,就可以判断为0.1+0.2 ===0.3。

每日三省
== 操作符的强制类型转换规则?

1.首先会判断两者类型是否**相同,**相同的话就比较两者的大小。

2.类型不相同的话,就会进行类型转换。

3.会先判断是否在对比 null 和 undefined,是的话就会返回 true。

4.判断两者类型是否为 string 和 number,是的话就会将字符串转换为 number。

5.判断其中一方是否为 boolean,是的话就会把 boolean 转为 number 再进行判断。

6.判断其中一方是否为 object 且另一方为 string、number 或者 symbol,是的话就会把 object 转为原始类型再进行判断。

每日英语
Happiness is time precipitation, smile is the lonely sad.
幸福是年华的沉淀,微笑是寂寞的悲伤。