1.Linux与Windows平台分区使用上的区别
Windows的分区可以通过磁盘管理器查看,参考如下:
如上图所示:这台电脑上共有两块硬盘,其中磁盘0上有三个分区,且前两个分区分别挂载到盘符D:及F:,也就是我们在我的电脑里面看到的D盘和F盘;磁盘1上的第一个分区挂载到系统盘C:。注意着两块硬盘上各有一个分区并没有挂载到任何盘符,windows不能直接打开操作这里面的文件(实际上是本机双系统的linux在用分区)。
Linux平台分区查看指令及效果如下:
如上图所示:查看Linux系统的硬盘分区信息其实是查看内核挂载上去的/dev目录内的文件信息。Linux内核会为各种硬件创建对应的设备文件在此目录,硬盘、U盘均是sd开头的文件名,其中sda代表第一块硬盘,sdb代表第二块硬盘,以此类推;sda1代表第一块硬盘第一个分区,sda2代表第一块硬盘第二个分区,以此类推。
要访问Linux上某个分区上的文件,首先需要把分区挂载到某个目录上,通过mount指令可以挂载及查看挂载信息:
如上图所示:第一行记录表示第一块硬盘的第六个分区挂载再目录/boot上,可以通过cd,ls指令进入目录并查看目录下的内容:
2.主要目录结构
/etc:系统预装及后装的各种软件配置文件
/bin:系统可执行文件存储目录
/sbin:系统可执行文件存储目录
/dev:内核挂载设备文件的目录
/lib:32位系统库
/lib64: 64位系统库
/tmp:零时文件目录
/home:存储不用用户文件的主目录linux查看文件内容命令,Fedora系统会为每一个用户创建一个home目录,例如:
说明:~表示用户的home目录,对于yeqiang用户而言,其home目录绝对路径就是/home/yeqiang
3.发行版本选择
服务器生产环境操作系统推荐使用CentOS。
官网地址:
安装包下载地址:
客户端开发环境推荐使用Fedora。
官网地址:
安装包下载地址:
说明:实际上新手入门Linux开发环境可以考虑做双系统,逐渐从Window平台过度到Linux平台做开发工作。
4.程序运行、后台运行
Linux系统程序执行都是再终端界面中输入指令方式执行,比如我们要查看当前目录,输入pwd后回车即可,参考下图:
如果要在后台运行一个程序, 则在指令后面跟随一个“&”符号,则表示要求操作系统新建一个进程在后台执行该程序,当前终端可以继续执行其他程序,一般用于启动一个后台服务,参考下图:
说明:后台启动运行jenkins服务器,此时用户关闭终端或退出服务器,jenkins服务会继续执行不退出。
5.防火墙
CentOS 7, Fedora最新的防火墙服务程序为firewalld。通过firewall-cmd指令可以操作防火墙规则,例如我们需要开放服务器tcp 80端口,参考下图:
说明–permanent表示将变动保存到配置文件,服务器重启或者重启防火墙服务改配置会继续生效,否则这个规则会消失。实际上就是在/etc/firewalld/zones/public.xml文件中添加了一行配置:
也可以通过iptables指令查看编辑防火墙规则,如下图所示:
说明:由于CentOS 7 防火墙规则诸多,通过grep可以过滤出需要观察的端口信息。
6.远程
CentOS安装完以后,默认开启了sshd远程登录服务,默认开启本地tcp 22端口,可以通过ssh客户端程序连接上目标服务器,执行各种指令操作。
说明:通过systemctl可以看到sshd服务器处于运行中
说明:本地tcp 22及 tcp6 22端口(ipv6)处于监听状态。
说明:通过ssh指令登录到目标服务器(输入密码不会再终端显示出来,保障密码安全)
我们可以通过scp指令上传、下载文件,也可以通过图形化的工具filezilla通过sftp协议登录到服务器。
首先在Fedora系统下安装FileZilla
说明:
1. 安装软件需要root权限,因此需要sudo切换到root身份;
2. 由于本机已经安装过FileZilla,因此提示Nothing to do.
说明:启动FileZilla, 输入Host, Username,Password, 点击Quickconnect(快速链接),首次登录会弹出证书指纹确认窗口,点击OK即可。登录后就可以像windows平台操作ftp一样操作文件上传、下载、删除等功能。
7.基础指令
ls:查看当前目录下的目录及文件
cd:切换到某个目录
pwd:查看当前所在目录绝对路径
vim:字符界面下的文本编辑器,可以创建,修改文本文件。可以通过以下过程创建一个内部文字为aa的文本文件a.txt:
vim a.txt回车
输入i 进入编辑模式
输入aa
按Esc退回到命令模式
输入:wq 保存并退出(注意先输入冒号!)
快速只读方式查看文件的方式有cat、less、head、tail
其中cat是打开一个文件,并输出到终端,一般用于查看文本文件,如下图所示:
less也是只读打开一个文件,不过类似进入vim的编辑界面,可以配饰搜索(/搜索内容)、翻页(CTRL+F、CTRL+B)等指令查找内容;
head用于查看某个文本文件头部的内容
tail用于查看某个文本文件尾部内容,注意配合-f参数可以查看实时的文件更新。一般用于在服务器上查看实时日志,参考如下:
top:用于查看cpu,内存等消耗,类似windows资源管理器
说明:输入大写P,按照CPU消耗降序排序;输入大写M按照内存占用降序排序
df:查看已挂载的磁盘空间消耗
说明:-h参数表示以人类能方便阅读的方式输出,空间将显示M、G这种单位linux查看文件内容命令,否则直接显示字节;从上图可以看出/dev/sda2(第一块硬盘第二个分区)共256M,已经用了34M,还剩223M空间可用。
du:查看磁盘使用情况,可以查看制定目录空间占用(注意du是实时扫描计算的,如果扫描文件很多的目录,会消耗较长时间)
说明:-s:汇总整个目录的大小, -h以人类能方便阅读的方式输出。查看到tomcat目录占用了91M空间
free:查看内存消耗情况
说明:系统总共15G内存,已经用了6.1G,还剩3.5G物理内存可用,其中6.0G做了系统缓存,用于加速文件读写,操作系统会根据系统负载自动释放。实际应用程序还可以申请的内存还有8.3G
tar:用于压缩,解压文件或者目录。一般用于服务器上打包压缩文件或上传压缩包到文件
解压
说明:tar -zcvf 用于压缩一个目录或文件;tar -xvf 用于解压,注意默认会覆盖已存在的文件!
8.网络指令
ifconfig:用于查看网卡信息:ip地址、掩码等信息
nc:一般用于服务器上做端口连通性测试,支持tcp,udp。也可以配合bash做后门程序
说明:上面的终端通过nc -l -p 指定监听tcp 7777端口;下面的终端则连接本地7777端口,然后双方就可以在终端收发数据。形成一个点对点的实时聊天软件。
netstat:用于查看本地网络状态,一般用于查看服务器端口是否打开和当前网络连接情况
说明:查看本地正在监听的tcp端口
说明:查看本地网络连接情况,其中State字段ESTABLISHED表示处于连接状态
tcpdump:一般在用于分析服务器网络数据包,通常配合wireshark图形工具使用
说明:抓取所有数据包,并写入到d.pcap文件中。
使用wireshark d.pcap打开图形分析工具
输入指令回车后,会打开wireshark并打开刚才的抓包文件。
关注享学课堂online微信公众号,后台回复关键字【java】,免费获取Java架构面试专题文档资料、电子书及更多架构进阶视频资料(视频+笔记)
限时特惠:本站每日持续更新海量各大内部网赚创业教程,会员可以下载全站资源点击查看详情
站长微信: