Linux 一些常用命令

系统信息

uname -a

软件包的 更新 安装 卸载 apt

apt-get remove 与 apt-get purge 区别

# 列出所有可更新的软件清单命令
apt update
# 列出可更新的软件包及版本信息
apt list --upgradable
# 更新软件包
apt upgrade
# 安装指定的软件
apt install 软件名
# 想安装一个软件包,但如果软件包已经存在,则不要升级它
apt install 软件名 --no-upgrade
# 如果只是想升级 不想安装
apt install 软件名 --only-upgrade
# 移除软件包 [保留配置文件]
apt remove 软件名
# 移除软件包  [不保留配置文件]
apt purge 软件名
# 查找某软件包的相关软件包
apt search 软件名
# 查看软件包详细信息
apt show 软件名
# 清理不再使用的依赖和库
apt autoremove

使用dpkg离线安装本地软件包

Ubuntu中APT和DPKG的区别
dpkg 命令详解

# 安装
dpkg -i 包名
# 移除[保留配置]
dpkg -r 包名
# 移除[不保留配置]
dpkg -p 包名
# 查看所有已安装
dpkg -l
# 查看安装到本地后的位置
dpkg -L 包名
# 查看deb文件的安装目录
dpkg-deb -c xxx.deb

Ubuntu中APT和DPKG的区别

进程相关

#查看端口占用 t 是指tcp u 是指udp  l 是指listen状态 p是指pid
netstat -tulp | grep :5244

#杀进程 kill -9 进程pid 或者 kill -15 进程pid 区别:-9 强杀 -15 给清理资源的机会
kill -9 目标进程pid

服务相关

参考:linux中systemctl命令理解以及.service文件参数解析


#当新增或修改service单元文件时,需要系统重新加载所有修改过的配置文件
systemctl daemon-reload

#设置为开机自启动
systemctl enable ehr.service

#关掉开机启用
systemctl disable ehr.service

#启动服务
systemctl start ehr.service

#重启服务,相当于先stop,再start
systemctl restart ehr.service

#关闭服务,关闭服务后,进程会全部被kill掉
systemctl stop ehr.service

#查看服务的状态
systemctl status ehr.service

#查看服务是否开机启动
systemctl is-enabled ehr.service

#查看已启动的服务列表
systemctl list-unit-files|grep enabled
#
显示所有已启动的服务
systemctl list-units --type=service

#查看启动失败的服务列表
systemctl --failed

# 杀死一个服务的所有子进程
systemctl kill ehr.service

# 重新加载一个服务的配置文件
systemctl reload ehr.service

#移除标记为丢失的 Unit 文件。在删除 Unit 文件后,由于缓存的关系,
#即使通过 daemon-reload 更新了缓存,在 list-units 中依然会显示标记为 not-found 的 Unit
systemctl reset-failed ehr.service

文件相关

参考:Linux命令之解压缩:tar、zip、rar 命令

# 压缩文件 file1 和目录 dir2 到 test.tar.gz
tar -zcvf test.tar.gz file1 dir2
# 解压 test.tar.gz(将 c 换成 x 即可)
tar -zxvf test.tar.gz
# 列出压缩文件的内容
tar -ztvf test.tar.gz 
#解压到指定目录
tar -zxvf 文件名.tar.gz -C /目标/目录

nano相关

# 清空文本编辑器中的内容
CTRL+K # 把光标移动到左上角 按住CTRL+K组合键不松 就能快速剪切(清除)行
# 保存修改
CTRL+O # 按下CTRL+O后 下方提示你按下回车键 保存修改
# 退出
CTRL+X

ssh登录相关

# 查看ssh配置
sudo vi /etc/ssh/sshd_config
# 账号密码登录
ssh 用户名@服务器ip地址

ssh免密登录

第一种:在本机创建公钥和私钥、上传公钥信息到服务器、在用户目录~/.ssh/config文件中添加配置信息、测试ssh连接;

# 切到~/.ssh目录下 因为我们要把密钥公钥生成到这个目录下
cd ~/.ssh 
# 生成密钥公钥 使用 ssh-keygen命令 生成公钥和私钥 不要设置密码(即:按两下回车就行)
ssh-keygen -t rsa -b ed25519 -C "test"

这里可以将公钥文件内容拷贝到 目标服务器 ~/.ssh/authorized_keys文件里面

# 查看公钥内容
cat ~/.ssh/id_ed25519.pub
``
重启ssh服务
``` bash
sudo service sshd restart

在用户目录~/.ssh/config文件中添加配置信息

# 使用nano或vi 进行config文件的编辑
nano ~/.ssh/config

最后文件内容如下:

Host aliyun
  HostName xxx.xxx.xx.xx
  User root
  IdentityFile ~/.ssh/id_ed25519

测试ssh连接;

# 这里只需要使用 config文件里面配置的 host别名就可以登录了
ssh aliyun

参考:SSH的免密登录详细步骤(注释+命令+图)
【Linux】Linux 中设置 SSH 免密码(密钥)登录
第二种:阿里云、腾讯云创建密钥对、绑定云服务器实例、下载私钥文件 xxx.pem、在用户目录~/.ssh/config文件中添加配置信息、测试ssh连接;
下面文件展示了配置文件的大致样子

Host 47.98.xx.xx
  HostName 阿里云服务器
  User root
  IdentityFile ~/.ssh/aliyun.pem

参考:阿里云服务配置SSH密钥对登陆

最后 安全相关:将密码登录禁用 注意:前提是你已经将密钥登录方式走通
参考阿里云:如何解决SSH登录Linux实例时的“Permission denied,please try again”错误?

# 到 /etc/ssh/sshd_config 文件中 翻到最后 将 PasswordAuthentication 节点设置为 no
PasswordAuthentication no
# 重启 sshd服务
sudo systemctl restart sshd

vi相关

# 进入编辑模式 按下字母 I 键
# 退出编辑模式 按下ESC 键
# 保存并退出 :wq
# 退出英文 quit 取 q
# 写入文件 write 取 w 
# 强制保存并退出 :wq!
# 只是退出不保存 则可以用 :q 或 :q!
posted @ 2025-06-07 23:02  BigBosscyb  阅读(26)  评论(0)    收藏  举报