找回密码
 立即注册
  • QQ空间
  • 回复
  • 收藏

Linux常用命令,看着一篇就够了!

admin 2019-8-12 20:23 172人围观 Linux相关



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:存储不用用户文件的主目录,Fedora系统会为每一个用户创建一个home目录,例如:



说明:~表示用户的home目录,对于yeqiang用户而言,其home目录绝对路径就是/home/yeqiang

3. 发行版本选择

服务器生产环境操作系统推荐使用CentOS。

官网地址:https://www.centos.org/

安装包下载地址:

http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso

客户端开发环境推荐使用Fedora。

官网地址:https://getfedora.org/

安装包下载地址:

https://download.fedoraproject.org/pub/fedora/linux/releases/30/Workstation/x86_64/iso/Fedora-Workstation-Live-x86_64-30-1.2.iso

说明:实际上新手入门Linux开发环境可以考虑做双系统,逐渐从Window平台过度到Linux平台做开发工作。

4. 程序运行、后台运行

Linux系统程序执行都是再终端界面中输入指令方式执行,比如我们要查看当前目录,输入pwd后回车即可,参考下图:



如果要在后台运行一个程序, 则在指令后面跟随一个“&”符号,则表示要求操作系统新建一个进程在后台执行该程序,当前终端可以继续执行其他程序,一般用于启动一个后台服务,参考下图:



说明:后台启动运行jenkins服务器,此时用户关闭终端或退出服务器,jenkins服务会继续执行不退出。

5. 防火墙

CentOS 7, Fedora最新的防火墙服务程序为firewalld。通过firewall-cmd指令可以操作防火墙规则,例如我们需要开放服务器tcp 80端口,参考下图:



说明--permanent表示将变动保存到配置文件,服务器重启或者重启防火墙服务改配置会继续生效,否则这个规则会消失。实际上就是在/etc/firewalld/zones/public.xml文件中添加了一行配置:<port protocol="tcp" port="80"/>

也可以通过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这种单位,否则直接显示字节;从上图可以看出/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架构面试专题文档资料、电子书及更多架构进阶视频资料(视频+笔记)



推荐阅读:

面试问烂的 MySQL 四种隔离级别,看完吊打面试官!

数据库之架构:主备+分库?主从+读写分离?


----------------------------------------------------------------------------------------------------------------------
我们尊重原创,也注重分享,文章来源于微信公众号:享学课堂online,建议关注公众号查看原文。如若侵权请联系qter@qter.org。
----------------------------------------------------------------------------------------------------------------------

鲜花

握手

雷人

路过

鸡蛋

yafeilinux和他的朋友们微信公众号二维码

微信公众号

专注于Qt嵌入式Linux开发等。扫一扫立即关注。

Qt开源社区官方QQ群二维码

QQ交流群

欢迎加入QQ群大家庭,一起讨论学习!

我有话说......