热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux下Shell介绍以及TCP、IP基础

nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd

一、Linux下的shell

概述:每个人在成功登录Linux后,系统会出现不同的提示符号,例如 $、~、#等,然后你就可以开始输入需要的命令,若是命令正确,系统 就会依据命令的要求来执行,直到注销系统为止,在登录到注销期间, 输入的每个命令都会经常解译及执行。而这个负责的机制就是shell。其实作为命令语言互动式地解释和执行用户输入的命令只是Shell 功能的一个方面,Shell还可以用来进行程序设计,它提供了定义变量和 参数的手段以及丰富的程序控制结构。使用Shell编程类似于DOS中的批 处理文件,称为Shell script,又叫Shell程序或Shell命令文件。

如下图所示:

#

 二、shell的分类

概述:shell有很多,但常用的就几种:

Shell名称     开发者          命令名称

Bourne   S.R.Bourne   /bin/sh ->/bin/bash (大陆)

C      Bill Joy     /bin/csh

Kom    David            /bin/ksh

看看Ubuntu上的shell种类:

#

 查看目前使用的是哪种shell

命令:env 【显示当前系统的环境变量】

#

如果你不想使用bash的shell命令,可以进行修改,命令:

chsh  -s  输入新的shell       如:/bin/dash

chsh -s /bin/dash,然后注销一下。

这里我就不试了。

 

三、小技巧

(1)shell命令的补全:是指用户输入命令时,并不需要输入完整的命令,而系统自 动会找出最符合的名称。这种功能可以节省经常输入命令的时间。 直接输入“mk”——再按两下“tab“键——出现两头两个字 母为”mk“的命令。cat p 再按两下“tab“键 会出现开头字母为 “p“的所有文件或目录。

(2)在linux下,我们有时可能希望知道或是使用最 近执行的命令,history可能会帮上大忙。

  1、history 5:此项说明会显示最近使用的5个命令。

  2、 !5:此项说明执行历史编号为5的命令。

  3、 !ls:此项说明执行最后一次以“ls”开头的命令。

#

如果不想输入命令,可以这样使用:

#

四、TCP/IP基础

这里简单介绍一下,关于更深入的东西,可以参考其他的资料,《TCP/IP详解卷1:协议》

概述:linux /unix的世界就是网络的世界,而网络的 基础就是tcp/ip,在某种意 义上,unix网络就是Tcp/ip,而且Tcp/ip就是网络互联的 标准。它不是一个独立的协议,而是一组协议。(tcp,ip ,udp,arp,rarp等协议)。所以一个优秀的程序员必 须了解并掌握tcp/ip,tcp/ip究竟是什么呢?

#

  •  Ip地址与包的路由传递

每个internet上的主机和路由器都有一个ip地址 ,它包括网络号主机号,所有ip地址都是32位的(当然现在也有IPV6),ip 地址按照国际标准的划分为a,b,c,d,e五种类型(从上到下)

 

#

a类的IP地址非常珍贵,原因是:网络号8位,剩余的全是主机号,所以能分配更多的IP地址。其中网络号确定了就不能再变了。

如何查看Linux中的ip地址:ifconfig

 下面我们举个例子:两个微信的通信案例

比如有两个用户使用微信聊天,其中一个用户A向另外一个用户B发送了:“您好!”,然后,这条消息会经过应用层,会被在开头加上一个app(这里的app指的是微信这个程序,唯一标识),接着向下走,到了传输层,数据会上面传过来的数据全面再加上tcp头,接着经过IP层,数据段,会在前面加上ip,形成数据包,最后经过链路层,在数据包的前面加上了帧头,然后发到网卡,在通过路由器发送到B用户,当到了B用户的网卡之后,再进入到数据链路层,去掉数据包的帧头,在经过IP层的时候,会把IP头去掉,在经过TCP层,会把TCP头去掉,在经过应用层的时候,根据app找到对应的微信,并把app头去掉,最后“您好!”就会被对方收到。

好了,大概就是这个过程,可能有些专业术语描述的不准确,关于网络方面的知识也是我的一个盲区,希望能和大家一起学习。

:http://www.linuxidc.com/Linux/2017-10/147458.htm


推荐阅读
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 如何基于ggplot2构建相关系数矩阵热图以及一个友情故事
    本文介绍了如何在rstudio中安装ggplot2,并使用ggplot2构建相关系数矩阵热图。同时,通过一个友情故事,讲述了真爱难觅的故事背后的数据量化和皮尔逊相关系数的概念。故事中的小伙伴们在本科时参加各种考试,其中有些沉迷网络游戏,有些热爱体育,通过他们的故事,展示了不同兴趣和特长对学习和成绩的影响。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的步骤和方法
    本文介绍了在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的详细步骤和方法。首先需要下载最新的Java SE Development Kit 9发行版,然后按照给出的Shell命令行方式进行安装。详细的步骤和方法请参考正文内容。 ... [详细]
  • Ubuntu安装常用软件详细步骤
    目录1.GoogleChrome浏览器2.搜狗拼音输入法3.Pycharm4.Clion5.其他软件1.GoogleChrome浏览器通过直接下载安装GoogleChro ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中更新源地址的方法,包括备份现有源文件、下载163源、修改文件名、更新列表和系统,并提供了相应的命令。 ... [详细]
  • 本文介绍了使用CentOS7.0 U盘刻录工具进行安装的详细步骤,包括使用USBWriter工具刻录ISO文件到USB驱动器、格式化USB磁盘、设置启动顺序等。通过本文的指导,用户可以轻松地使用U盘安装CentOS7.0操作系统。 ... [详细]
author-avatar
杨子诺zoz_492
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有