linux入门与常用指令

前言

在这里插入图片描述
在入门linux的时候感觉大部分很糟糕的,尤其是java开发者来说,对于非运维人员可能刚开始会对linux有很大的抵触性,可能还是更多喜欢桌面操作。或者在之前的学习中本来web的一堆东西就已经够绕的了,怎么又来个linux。

万事开头难,对于java开发者对运维也有一定的要求,所以linux这块还是要抱着怀抱之心吧,可以先从服务器或者双系统,又或者虚拟机入手。

服务器

服务器的选择

  • 感觉服务器还是阿里云好用一些吧,相比腾讯云阿里云的镜像选择更多一些,不少作者把开发环境部署好,能够满足大部分开发者的环境需求,减少配置的步骤,当然,如果你想学习配置,时间充足。可以选裸的镜像配置环境,但是做好服务器被玩炸重新配的准备。并且如果是学生用户各大云平台基本都是10元一月学生机。也不贵。

安全组注意事项:

  • 对于服务器,镜像选择完安全组是第一个要干的事情。记得当时年少启动tomcat怎么也访问不了,防火墙关闭也不行。是因为云平台的安全组入口方向端口没有开通。云平台为了保护服务器在用户之外设置了一层防火墙,需要你在。当然,类似80这些端口需要备案后才能使用!
  • 不要开通所有端口,端口可能成为被攻击的对象,并且还有些中间件会有漏洞,一些人会顺着这个漏洞入侵。比如redis 6379端口的挖矿漏洞。需要那个端口去开就ok了。

在这里插入图片描述

双系统(虚拟机)

  • 对于服务器用centos7和ubuntu居多。但是如果装双系统个人感觉ubuntudebian系列更好用,如果你是其他系列爱好者也行。
  • 对于安装ubuntu说一点。如果是N卡的可能会遇到很多坑。因为显卡问题笔者的ubuntu装了大概有三四次。并且也崩溃过。N卡的话记住一个单词nomedeset。在进入时候按e在spash后面添加就能进入系统不会死机。进入系统后可自行安装Nivadia驱动。或者用ubuntu自带的设备更新器的驱动。这样能保证你的开机正常,但是关闭屏幕时间长会死机。就需要你安装新版本的驱动了。自行百度或者增加显卡的ppa源更新。瞎搞搞即可!
  • 搞完之后就可以对你的系统进行安装程序,完善了。有很多软件支持ubuntu系统。
    -在这里插入图片描述

常用指令

对于linux最重要的就是指令了。对于自己常用的指令也做一些汇总。

常用

cd xxx #进入目录
ls/ll #查看文件夹内容
mkdir xxx #创建文件夹
vim xxx.xxx #创建xxx.xxx文件
tree #树型结构
rm -rf */xxx #删除所以/xxx文件
mv a xx/a #移动/重命名
./xxx.sh #启动xxx.sh
kill -9 xxxx #删除进程号
poweroff #关机
ping ip #连接测试
ifconfig #查看和配置网络设备

权限

chmod [-R] xyz 文件或目录 eg:chmod -R 777 tomcat #对tomcat文件夹更改权限
-R:进行递归的持续更改,即连同子目录下的所有文件都会更改
chown命令改变文件所有者
chgrp命令,改变文件所属组

更新、下载

wget 链接地址 #远程下载
sudo apt-get update 更新包资源
sudo apt-get install 安装
sudo apt-get remove package 删除包

vim/vi简单

vim xxx.log #查看xxx文件
进入后i 编辑
编辑完 Esc
输入(shift ?
输入wq!

java

tomcat:
启动(进入bin下) ./startup.sh
关闭(进入bin下) ./shutdown.sh
实时查看日志/控制台:tail -f xxx.out
springboot:
jar 包启动 java -jar xxx.jar
jar 包后台启动 nohup java -jar xxx.jar &

查看系统、进程

ps aux #查看系统进程
netstat -tunlp|grep 5601 #查看该端口对应进程
ps -ef|grep java #查看java(可替换)相关进程
free -m #查看系统内存、cpu等指标运行情况
top #查看进程情况

ssh

远程连接(先apt-get install ssh) ssh 角色@ip/域名地址
ssh root@125.124.143.31

tar解压缩

tar -zcvf xxx.tar.gz xxx打包
tar -zxvf xxx.tar.gz xxx 解压

zip -r filename.zip filesdir 压缩
unzip filename.zip 解压

其他解压缩甚至指令如有需要请具体百度

scp命令(样例取自菜鸟教程)

scp:本地到远程 scp 本地文件 远程用户名@远程ip/域名:远程服务器地址
scp /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music
scp /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music/001.mp3
scp /home/space/music/1.mp3 www.runoob.com:/home/root/others/music
scp /home/space/music/1.mp3 www.runoob.com:/home/root/others/music/001.mp3

scp:远程到本地
scp root@www.runoob.com:/home/root/others/music /home/space/music/1.mp3
scp -r www.runoob.com:/home/root/others/ /home/space/music/

mysql

登录允许远程连接
mysql -uroot -p
GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;
FLUSH PRIVILEGES;

Elasticsearch

es:(很多坑需要百度解决)
sysctl -w vm.max_map_count=262144 #修改虚拟机允许的内存

su elasticuser (要先创建elasticuser用户,esroot不能启动)
./elasticsearch -d #后台启动

修改hosts

sudo gedit /etc/hosts

图标添加

/usr/share/applications
vim xxx.desktop
[Desktop Entry]
Name=eclipse
Name[zh_CN]=eclipse
Comment=eclipse Client
Exec=/softwares/softwares/eclipse/eclipse
Icon=/softwares/softwares/eclipse/icon.xpm
Terminal=false
Type=Application
Categories=Application;
Encoding=UTF-8
StartupNotify=true

nginx

sudo apt install nginx
Ubuntu安装之后的文件结构大致为:

所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经安排在了/etc/nginx/sites-available下
程序文件在/usr/sbin/nginx
日志放在了/var/log/nginx中
并已经在/etc/init.d/下创建了启动脚本nginx
默认的虚拟主机的目录设置在了/var/www/nginx-default (有的版本 默认的虚拟主机的目录设置在了/var/www, 请参考/etc/nginx/sites-available里的配置)

关闭

nginx -s reload :修改配置后重新加载生效

nginx -s reopen :重新打开日志文件
nginx -t -c /path/to/nginx.conf测试nginx配置文件是否正确

关闭nginx:
nginx -s stop :快速停止nginx
quit :完整有序的停止nginx

其他的停止nginx 方式:

ps -ef | grep nginx
kill -9 xxxx

在这里插入图片描述

说在后面的话

linux的水还是很深的,当然如果你是运维可能对掌握要求较高,可能还要写shell脚本,但是普通入门者。迫切需要解决的是基础使用。当然,这些内容需要长期学习和总结!希望各位共勉!

  • 如果对后端、爬虫、数据结构算法等感性趣欢迎关注我的个人公众号交流:bigsai
发布了192 篇原创文章 · 获赞 1770 · 访问量 61万+

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 代码科技 设计师: Amelia_0503

分享到微信朋友圈

×

扫一扫,手机浏览