搜尋

首頁  >  問答  >  主體

php - Linux小白问个关于linux的诸多疑惑问题?

现在很多公司都要求会linux系统,看了一些关于linux方面的教程,都是一些相关的命令。
那所谓的在linux上开发项目,意思是写代码也要在linux系统里面写吗(用虚拟机安装linux系统),就是说也要在linux系统里安装PHP环境集成包咯。

现在我只是按照网上的教程在虚拟机里安装了linux系统,然后找来一些【命令】跟着敲,但是我在敲的过程中,我是很茫然的。我不知道敲这些是为了什么。到现在我都不知道在linux里怎么写代码啊,我在windows用sublim text3 写代码 ,那在linux里呢用什么工具写代码呢?

还有就是招聘信息上写着要会linux,到底是要会什么啊,是要会命令呢还是要会在linux上写代码开发项目啊,但是我看到别人在linux上都是在敲命令啊,并没有看到他们有在linux上写过PHP代码啊,html代码啊 js、css代码啊。
还有就是把项目部署在linux服务器上,要做的事情是不是很多啊,要是不多的话那为什么那些会linux的人整天在敲命令,敲这些命令是要给项目做什么事情呢?

现在在公司根本就没有用到linux,而且现在我也没有看到哪台电脑是linux系统啊。为什么要在linux上开发项目。

linux小白的疑惑,不要介意啊各位!!!知道的可以详细的说下,不要太官方哦。

巴扎黑巴扎黑2790 天前2390

全部回覆(23)我來回復

  • PHP中文网

    PHP中文网2017-04-11 10:11:10

    linux只是一个操作系统,之所以觉得linux跟windows差距很大,很难用,一方面因为先入为主,另一方面,nix系统本身就不是为普通用户准备的。windows的贡献在于将计算机搬上了普通人的面前,而nix主要是给专业计算机工作者用的。linux固然有图形界面,但是图形界面本身就是不符合nix哲学的,nix哲学最大的实现就在于文本流,而图形界面并不支持文本流

    举个简单的例子,你希望知道当前目录下所有文件夹(以及递归文件夹)中,哪个文件夹最占空间。请问在windows下你会怎么做?找一个软件!而在*nix下,你可以使用命令的组合,基于管道文本流,自己创造一个统计工具

    du . -S | sort -rn

    所以,学习linux的命令就好比,学习怎么用锤子,起子,镊子,当你要修个灯泡的时候,这些工具就要组合的用上。而windows就好比,修个灯泡,就叫一个修灯泡的工人来做。

    回覆
    0
  • 天蓬老师

    天蓬老师2017-04-11 10:11:10

    实话说,作为开发人员,即使一点linux都不会也是可以的。
    不过会一些还是有诸多好处的,所谓的会linux,我想并不是要求在linux环境下开发程序,而是熟悉在linux环境下的一些操作(主要是命令用法)。因为大部分程序是运行在linux服务器上的,懂一些基本操作可以省很多事。
    比如说程序变慢了,想要查询什么原因造成的,但却不知道怎么在linux查看系统的各种信息,甚至php程序是否正常运行都不知道怎么看。。。这时候就只能去找运维解决了。

    回覆
    0
  • 天蓬老师

    天蓬老师2017-04-11 10:11:10

    其实linux也并非只有命令行,也是可以有图形界面的,安装个gnome或kde就可以了
    有些linux发行版是有分桌面版和服务器版的,桌面版就是有图形界面的啦
    你可以试下Ubuntu,unity就是它的图形界面,你也可以换为gnome或kde
    至于怎么写代码。。。你在windows下怎么写在linux下就怎么写咯
    sublime也是有linux版的

    你装上之后用sublime写就好了不过我都是用vs code写的
    我现在就是用的Ubuntu,chrome写的这个回答。
    至于命令行下就用vim和Emacs咯这个还是需要些学习成本的,要学的话看这里vim 程式編輯器
    哦对了学linux的话推荐看一下鳥哥的 Linux 私房菜

    至于干嘛要学linux,因为很多公司都把业务系统部署于装着linux的主机上,如果业务系统需要改一点小细节怎么办?
    改动不多的话(比如改一下配置文件里的IP地址什么的)就可以直接在linux用vim打开相应文件改一下然后重新运行就好,不过这个不太规范就是。
    一般情况下你可以在你的电脑上开发好程序再把程序拷贝到linux服务器上运行。但是由于windows和linux的c/c++编译器并不太一样,所以如果你写的是c/c++代码你要考虑到时能不能在linux上编译运行。
    所以你最好在与你最终要部署的环境相近的环境下编写c/c++程序。

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-11 10:11:10

    如果想多学 Fedora 是不错的选着
    以下是一些命令 用语
    https://www.cheatography.com/...
    http://ryanstutorials.net/lin...

    看着你也想起自己的经历

    其实呢 套用一位前辈的话 linux是浪费生命去学习的东西 但当某日发现他的好处时候 你会领悟其中的道理

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-11 10:11:10

    首先需要明确一点,用Linux桌面进行PHP开发是完全没有问题的.

    浏览器Firefox/Chrome都支持Linux.
    办公软件WPS(基于Qt)和输入法搜狗(基于Fcitx)也支持Linux.

    因为QQ不支持Linux桌面,所以我一般用手机QQ,文件传输可以用腾讯微云(网页版).
    因为手机QQ可以上传文件到微云,也可以从微云读取文件.
    手机QQ里"长按"对方发过来的文件(如压缩包),然后点击"多选",然后就可以选择存储到"微云"了.
    当然,在Ubuntu上用VirtualBox虚拟一个XP用来跑QQ和测试IE8也行.

    编辑器像你用的Sublime Text也支持Linux.
    不过我在Linux桌面(发行版是Ubuntu)用的是Geany和Netbeans.

    如果你要进行PHP的PECL C扩展开发,还可以用Qt Creator这种C/C++的IDE:

    当然了,招聘PHP程序员里的Linux技能要求主要是你会使用Linux,比如让你在一台Linux VPS上搭建LAMP服务环境,并且能进行简单的运维,一般都不会要求你必须要在Linux桌面上开发.不过Linux的确是一个值得学习的技能.Windows上你可以先装个Cygwin或者用VirtualBox虚拟个Linux来玩玩.哪天心血来潮了,也可以试着在电脑上装真实的Linux来用用.

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-11 10:11:10

    招聘信息上的会Linux,指的通常不是在Linux下开发,而是简单的部署和运维。比方服务器大都是Linux的,部署个lnmp,会不会?上现网服务器修改下PHP.ini改变一下上传文件大小限制,会不会?要是对Linux操作一点不熟悉,面对这些任务会蒙圈的。再比如,我司要用PHP连接Oracle数据库,因为要安装PHP模块,这也要在Linux下操作。再比如,客户反应速度很慢,速度很慢这种bug是无法在本地重现的,只能上服务器去查,这也要会Linux的操作,比如进程查看之类的操作。总之,对Linux的需求会越来越多,因为市场上的服务器大多是基于Linux操作系统。

    回覆
    0
  • PHPz

    PHPz2017-04-11 10:11:10

    去京东买一本书学学linux, 书名:linux命令行与shell脚本编程大全 先学学基础的东西。linux下写php一般都是vim哦。很少有人在linux下搞图像化的编辑器敲代码.

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-11 10:11:10

    一般,我都是这样“劝学”:既然知道 Linux 在这个世界已经存在了,而你又是个挺喜欢摆弄计算机的人,那么对 Linux 是怎样的一种存在难道不感到好奇么?也许在你开始尝试使用 Linux 时,已经看到了很多对 Linux 不利的言论。例如,发行版本太多难以取舍、安装繁琐、应用程序没那么多、装显卡驱动很痛苦、无线网卡点不亮、声卡沉默着、中文输入法又在 Emacs 里歇菜了……然而 Linux 已经在这个世界上存在了,即使它存在这样或那样的问题,它依然没有死掉,更何况在 Linux 中去努力的化解这些问题的过程,也就是你对计算机的理解日益精深的过程。

    更多内容,见:https://segmentfault.com/a/11...

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-11 10:11:10

    先自己装一个双系统的ubuntu然后试试日常在里面使用就好,在win下开发也没什么。
    除了游戏和ps这类软件没有之外都有相应的IDE和包。

    • linux也有桌面界面的,那些命令大都是一些shell ->调用的系统命令.

    • 大多数server都是linux端的,nginx 这类底层用epoll效果比win下的ICOP要好,linux对server端的支持真的非常非常好。还有很多字符处理什么的支持也非常好grep sed这类命令
      还有非常逆天的git的支持(虽然win下也有)。

    • linux 没有全家桶

    • linux对网络类的库支持特别好

    • linux 的大多数系统都有比较完善的包管理软件像mysql 只要 apt/yum 一下就安装好了。也可以自己编译 用自带的make什么的

    • 对于日常开发来说可以很方便

    • 最重要的是你可以看到更加底层的东西了,在windows下, windows都送到你手里了你还抱怨windows这个不好那个不好。而到了linux下就需要自己动手了,错了只能怪自己了,然后你就只能寻根问底,看 epoll 中断 信号 fork 等等的源码

    居然支持markdown

    回覆
    0
  • 迷茫

    迷茫2017-04-11 10:11:10

    你先用虚拟机或者双系统安装个带图形界面的linux发行版,然后尝试把开发环境在系统上面部署起来,期间你会遇到很多问题,等你把这些问题全部解决了,屏幕输出hello world了,你也就不会再提出这个问题了。

    回覆
    0
  • 取消回覆