精华内容
下载资源
问答
  • 学习一门新的编程语言是在你的职业生涯中继续前进的好方法,但是应该学习一门呢?-- Marty Kalin如果你想开始你的编程生涯或继续前进,那么学习一门新语言是一个聪...
        
    640?wx_fmt=png学习一门新的编程语言是在你的职业生涯中继续前进的好方法,但是应该学习哪一门呢?-- Marty Kalin

    如果你想要开始你的编程生涯或继续前进,那么学习一门新语言是一个聪明的主意。但是,大量活跃使用的语言引发了一个问题:哪种编程语言是最好的?要回答这个问题,让我们从一个简单的问题开始:你想做什么样的程序?

    如果你想在客户端进行网络编程,那么特定语言 HTML、CSS 和 JavaScript(看似无穷无尽的方言之一)是必须要学习的。

    如果你想在服务器端进行 Web 编程,那么选择包括常见的通用语言:C++、Golang、Java、C#、 Node.js、Perl、Python、Ruby 等等。当然,服务器程序与数据存储(例如关系数据库和其他数据库)打交道,这意味着 SQL 等查询语言可能会发挥作用。

    如果你正在为移动设备编写原生应用程序,那么了解目标平台非常重要。对于 Apple 设备,Swift 已经取代 Objective C 成为首选语言。对于 Android 设备,Java(带有专用库和工具集)仍然是主要语言。有一些特殊语言,如与 C# 一起使用的 Xamarin,可以为 Apple、Android 和 Windows 设备生成特定于平台的代码。

    那么通用语言呢?通常有各种各样的选择。在动态脚本语言(如 Perl、Python 和 Ruby)中,有一些新东西,如 Node.js。而 Java 和 C# 的相似之处比它们的粉丝愿意承认的还要多,仍然是针对虚拟机(分别是 JVM 和 CLR)的主要静态编译语言。在可以编译为原生可执行文件的语言中,C++ 仍在使用,还有后来出现的 Golang 和 Rust 等。通用的函数式语言比比皆是(如 Clojure、Haskell、Erlang、F#、Lisp 和 Scala),它们通常都有热情投入的社区。值得注意的是,面向对象语言(如 Java 和 C#)已经添加了函数式构造(特别是 lambdas),而动态语言从一开始就有函数式构造。

    让我以 C 语言结尾,它是一种小巧、优雅、可扩展的语言,不要与 C++ 混淆。现代操作系统主要用 C 语言编写,其余部分用汇编语言编写。任何平台上的标准库大多数都是用 C 语言编写的。例如,任何打印 Hello, world! 这种问候都是通过调用名为 write 的 C 库函数来实现的。

    C 作为一种可移植的汇编语言,公开了其他高级语言有意隐藏的底层系统的详细信息。因此,理解 C 可以更好地掌握程序如何竞争执行所需的共享系统资源(如处理器、内存和 I/O 设备)。C 语言既高级又接近硬件,因此在性能方面无与伦比,当然,汇编语言除外。最后,C 是编程语言中的通用语言,几乎所有通用语言都支持某种形式的 C 调用。

    有关现代 C 语言的介绍,参考我的书籍《C 语言编程:可移植的汇编器介绍[1]》。无论你怎么做,学习 C 语言,你会学到比另一种编程语言多得多的东西。

    你认为学习哪些编程语言很重要?你是否同意这些建议?在评论告知我们!


    via: https://opensource.com/article/19/2/which-programming-languages-should-you-learn

    作者:Marty Kalin[3] 选题:lujun9972 译者:MjSeven 校对:wxy

    本文由 LCTT 原创编译,Linux中国 荣誉推出

    640?wx_fmt=png
    展开全文
  • 到这里的小伙伴想必对linux中的文件操作都有了一定的基础,那么这一章节我们来谈谈在linux中权限的概念。难道你真的以为只有读写和执行这么简单吗?那你就错了,其实在linux系统中权限也是有分类的,也是有上下级...

    引言:上期回顾(想要学习的童鞋可以点击看看)

        学到这里的小伙伴想必对linux中的文件操作都有了一定的基础,那么这一章节我们来谈谈在linux中权限的概念。难道你真的以为只有读写和执行这么简单吗?那你就错了,其实在linux系统中权限也是有分类的,也是有上下级的关系,之前我们仅仅只是针对某一个文件来谈权限。

        考大家一个问题:如果一个文件夹所有者、所属组、其他人都有读写和执行的权限,那么在这个文件夹下有一个文件只有"所有者"才有读写和执行的权限,问:"用一个普通用户账号登陆进来,可不可以删除这个文件夹下的文件?"

    一 修改权限的第一种方式

        命令 :chmod , 修改权限所用到的命令

        命令格式: chmod { [ugoa][+-=][rwx]} 文件名

        第一种方式:使用+ - = 的方式来进行修改。

        首先我们得了解什么人才可以修改权限,在linux中对一个文件进行修改权限必须是该文件的所有者、或者是root,只有这两个才可以进行修改。 我们看命令格式,

                第一部分:"u:所有者"、"g:所属组"、"o:其他人"、"a:包括以上三个角色"。

                第二部分 :"+:加什么权限"、"-:减什么权限"、"=:等于什么权限"

                第三部分:"r:读"、"w:写"、"x:执行"

        在root目录下有一个3.txt的文件,一开始的文件权限是rw-r--r--,代表着所有者有读写权限、所属组和其他人都是读的权限。现在我们执行这条命令 "chmod o+wx 3.txt",什么意思呢? o代表的是其他人,就是给其他人加上写和执行的权限(图1)。然后我们再来查看3.txt文件的详细信息,现在已经是rw-r--rwx。现在所有者不服了,一个文件的所有者都没有执行的权限,其他人却有,那我们在来执行一条命"chmod u+x,o-rwx 3.txt",这样就把所有者的执行权限加上了,同时也把其他人rwx权限都去掉了。(图2)或者也可以不管所属组之前是什么权限,直接用"chmod g=rwx 3.txt",这样所属组的权限就是rwx了。(图3)

        

    二 修改权限的第二种方式

       命令 :chmod , 同样是也是chmod

        命令格式: chmod 777 文件名

        第二种方式:使用数字的方式来修改,我们先来查看数字的定义。

     

    数字对应的权限关系
    4 r(读)
    2 w(写)
    1 x(执行)

        我们来举个例子:rwxrw-r--,我们看所有者的权限关系是rwx,然后再看权限数组对应表,r=4、w=2、x=1相加等于7,所属组的权限rw-,r=4、w=2、-=0,相加就是6、其他人的权限是r--,那也就是r =4 、-=0,所以等于4。 那这个文件的所对应数字就是764,加到命令中去就是"chmod 764 3.txt"。

        如果我们在面试过程中,面试官给你权限相对应的数字需要你写出对应的权限,这一点我们也需要会。比如说

            1  572 ————r-x rwx -w-,5代表着所有者的权限r(4)+x(1)=5,r(4)+w(2)+x(1),w(2)=2。

            2 777 ———— rwx rwx rwx,7就代表着rwx权限都有。

         在修改权限的命令当中还有一个-R的选项,-R选项的作用是:我们在对目录进行修改权限的时候,如果使用-R(大写的R)目录下全部的文件都会修改成和目录一样的权限(图2)。

              

    三 更加深入了解权限

        争对文章一开始提出的问题,一个文件目录的权限的是"777",但是目录下的一个文件的权限是"700",这个时候一个普通用户登录进来,问该用户能不能删除这个目录下的文件。我们查看下面的表格,

        1 当我们对一个目录有r权限的时候,可以查看也就是用ls命令列出目录下的文件。

        2 当我们对一个目录有w权限的时候,可以在目录中创建、删除文件。

        3 当我们对一个目录有x权限的时候,可以进入目录,也就是相对应的cd命令。

    知道这些以后,答案就很明显了,一个目录的权限是"777",那意思就是不管是什么人都可以对该目录下的文件进行查看、创建文件、删除文件等之类的操作。所以我们的答案是"可以删除这个目录下的文件的"。

     

     

    文件目录权限总结
    代表字符 权限 对文件的含义 对目录的含义
    r 读权限 可以查看文件内容 可以列出目录中的内容
    w 写权限 可以修改文件内容 可以在目录中创建、删除文件
    x 执行权限 可以执行文件 可以进入目录

     

    展开全文
  • 这一章我们来讲怎么搜索文件,在使用widows来搜索文件相信大家都使用过,在我们linux系统当然也有这个功能。在这里给大家一个小的建议,我们linux系统中使用find来搜索文件,最重要的不是文件能不能找到,而是需要...

    引言:上期回顾(想要学习的童鞋可以点击看看)

        上一章我们讲述了怎么修改一个文件的所有者、所属组以及怎么查看和修改默认创建文件的权限。这一章我们来讲怎么搜索文件,在使用widows来搜索文件相信大家都使用过,在我们linux系统当然也有这个功能。在这里给大家一个小的建议,我们linux系统中使用find来搜索文件,最重要的不是文件能不能找到,而是需要尽量少使用搜索。尤其是在服务器高峰期的时候,使用全局搜索文件是很不好的,所以大家在使用服务器的尽量规划好自己的文件目录结构。

     

    1.1 find的使用格式

                命令:find ,使用语法 find [搜索范围] [搜索条件]

                这一章我们针对find命令进行文件搜索,find是一个很复杂命令,使用方式也有很多,如果全部讲完可能几个小时都说不完,所以我们这一章会介绍find常用的几种方式。

                 搜索范围:就好比如在winodws当中你是需要在C盘下搜索,还是在其他盘进行搜索,当然也可以是文件夹。

                 搜索条件:我们常用的一般都是通过文件名来进行模糊搜索,也有通过文件大小、修改时间等等一些条件来进行筛选。

    1.2 通过文件名进行搜索

                  命令例子:find /root -name filename

                  首先我们来说说怎么通过文件名进行搜索,例子中的"-name"的意思就是通过文件名来进行搜索,如下图使用来find来搜索tomcat文件夹。像这种情况下是使用的精确搜索,必须知道文件名的情况下使用,如果只记得文件名其中某几个字符呢?我们可以使用"**"通配符来进行搜索,如果你只记得前几个的字符后几个字符不记得了,可以使用"?"占位符,代表着一个字符来进行搜索。

                   我们linux系统之前有说过,是严格区分大小写的,若果现在我们搜索的文件中包含了大小写怎么办?我们可以使用"-iname"选项,忽略大小写进行搜索。

                  

    1.3 通过文件大小进行搜索

                  命令例子:find /root -size 文件大小(单位是数据块)

                  我们使用文件大小进行搜索文件,先需要了解数据块大小是怎么转换的,比如我们先来找个10M以上的文件。

                   1数据块 = 512字节 = 0.5k

                   10M = 10240k = 20480数据快 差不多就是10M了,1k等于2个数据块。

                   符号 + 大于多少、- 小于多少、什么都不写就是文件大小等于多少,一般我们使用都是大于或者小于多少

                                   

    1.4 通过所有者、所属组进行查找文件

                    命令例子:find /root -user 所有者名

                    命令例子:find /root -group 所属组名

                    在linux也可以通过创建文件的所有者、以及文件的所属组来进行查询,前提所有者以及所属组必须存在。

                    

    1.5 通过文件类型进行搜索

                     命令例子:find /root -type   文件类型(d:代表目录、f:代表文件、l:代表软链接)

                     如果说想搜索的文件需要指定文件类型就可以使用"type"的选项。

                     那如果我想查找文件夹的名称为tomcat并且类型是目录的怎么办呢? 当我们需要针对多个条件进行筛选的时候,可以使用"-a:表示and,并且的意思"、"-o:表示or,或者的意思",那命令就该这样写"find /root -name tomcat -a -type d",这样就可以达到名称为tomcat并且是目录的文件。

                     "-a:多个条件需要同时满足、-o:多个条件满足一个即可",可以连接任何条件。

                     

    1.6 怎么对查询出来对结果进行处理?

                    命令例子: find -name fileF4 -exec rm {} \;

                    比如说我们需要查询出一个文件名为"fileF4"的文件,然后进行删除,只需要在命令结尾加上 "-exec或者-ok 需要执行的命令 {} \;",大家记住这是一个固定的格式。

                    "-exec"和"-ok"有什么区别呢? "-ok"会一个一个文件的提示你,比如说你想要把查询出来的文件进行删除,使用ok会一个一个文件的提示你是否需要删除。

                    

    1.6 通过时间来进行搜索

                    命令例子:find /root amin -5

                    分类: 1 amin 访问时间、2 cmin 属性修改时间、3 mmin 文件内容修改时间

                    符号也是"+、-",+表示大于多少时间、-表示多少时间以内,单位为分钟

                    比如说我想查找root目录下在5分钟以内内容被修改过的文件:find /root -mmin -5,就可以这样写。

    1.7 通过i节点进行搜索            

                    命令例子: find /root -inum i节点

                    之前在讲查看文件的时候提到过每个文件都有一个i节点,当我们遇到奇形怪状的文件名的时候,我们使用ls -i来查看每个文件的i节点,在使用搜索命令查找相对应的文件,然后进行操作。

    展开全文
  • 我们到底该学哪种数据库

    千次阅读 2019-05-13 19:33:55
    不管你想选择哪种数据库产品,有些基础理论知识必须打扎实, 尤其是:数据库系统概论、Linux操作系统、SQL标准语言、数据结构(重点排序算法)、开发语言(至少懂几款脚本语言,SHELL必须会,其次最好能再掌握一种...

    基础知识
    不管你想选择哪种数据库产品,有些基础理论知识必须打扎实,
    尤其是:数据库系统概论、Linux操作系统、SQL标准语言、数据结构(重点排序算法)、开发语言(至少懂几款脚本语言,SHELL必须要会,其次最好能再掌握一种脚本语言,例 如:PHP、Python、Perl、Ruby等都可以);

    1. 产品选择优先顺序选择一款市场上就业面较广的数据库产品,尤其是三款产品首先:Oracle、MySQL、SQL Server,其次是PostgreSQL、DB2、Sybase、Teradata等;

    2. 慎重选择SQL Server数据库产品,现在的版本只能运行在WINDOWS操作系统环境(注:SQL Server2000或称8.0.X及之前版本是有办法在Linux系统环境的),会导致多数互联网企业不会用,早期的使用者都积极转型,即使传统行业也都在想办法转型,比如消费品的百胜;

    3. 第一条是给出的理论建议,第二、三是从就业前景给出的,第四条,其实是非常重要,甚至可以颠覆第二、第三条的重要性,也即你喜欢那款数据库产品,这就跟你是白富美,硬是看上穷二代,谁也左右不了你。真正的喜好或说兴趣,是推动人不断进步的最大内驱动力,会促使你不知疲倦地努力学习和工作。

    5.再说下产品学习的难度Oracle 、DB2、Sybase、PostgreSQL四种数据库产品相对而言复杂度要更高,产品的功能也更加丰富;虽然SQL Server功能非常丰富,但是其非常友好的图形化界面,这也是微软产品的优势,所以上手会较容易,大学一般也会选择为教学产品,且操作系统也是大家熟悉的图形化界面;MySQL ,是一款看似容易上手,谁都会使用的产品,但却是比较可怕的产品,真正要掌握不容易,不过此产品占据互联网可能达到80%以上使用率(注:不是精确数据,从个人掌握的信息给出的估算)

    6.最后再说下竞争和薪酬DB2、Sybase使用范围不大,主要是通信、金融行业为主,但是掌握的技术人员少,数据非常重要,且多数使用中高档存储设备,故DBA也非常之前,同时竞争的人数也相对少一些;Oracle占据金融、通信、传统企业、互联网等非常大的市场,最新数据大陆使用率超过53%,可见这个市场有多大,且存储的数据也非常重要,故DBA薪 资客观,但是Oracle DBA很难超越中期一批成长的人员,故薪资多少还是首先,外加其制约企业的成本。当然金融、通信行业的薪资会高于互联网行业Oracle DBA薪资;PostgreSQL产品国内市场占有率不高,但是其非常有挑战性和巨大的发展潜力,个人认为是下个“金矿”,技术人员也不多,国内主要是斯凯等公司在用,早期去哪儿、Yahoo中国等都用,后改为MySQL;MySQL是是用非常广,从业者也越来越多了,但是并没有达到高峰期,3年前本来个人预计2014年发展成熟,但是遗憾MySQL AB公司一路的波折不断,导致我的预判不准确,搞不好还需要3至4年才能成熟,MySQL DBA若不涉及业务或架构或源代码研究,薪资待遇很难上去,最高薪资我并不清楚多少,但是市场上3万月薪以上者不少。
    目前MySQL DBA行业发展特点:行业内的从业者越来越多了,平均或总体技术水平越来越低;能用MySQL思想,做事情的合格DBA人数并未大量增加;随着年龄增长,早期80%以上DBA都退出一线了;市场占有率越来越高,高技能或综合素质高的DBA人数却逐年减少趋势;唯一值得庆幸趋势是研究源码的人越来越多,研究源码的能力也越来越强;

    展开全文
  • 一、程序员有?从事程序员工作的人有很多,大体上有下面十几:asp程序员、delphi程序员、php程序员、powerbuilder程序员、C程序员、linux程序员、net程序员、vb程序员、java程序员、javascript程序员、C++...
  • 不管你想选择哪种数据库产品,有些基础理论知识必须打扎实,尤其是:数据库系统概论、Linux操作系统、SQL标准语言、数据结构(重点排序算法)、开发语言(至少懂几款脚本语言,SHELL必须会,其次最好能再掌握一种...
  • 首先我们学习Python语言和Linux操作系统,这两个是学习大数据的基础,学习的顺序不分前后。 Python:Python的排名从去年开始就借助人工智能持续上升,现在它已经成为了语言排行第一名。 从学习难易度来看,作为一...
  • 一、程序员的分类 程序员从事的人群很多,分工也不相同,从大的方面可以分为以下几类:asp程序员、delphi程序员、php程序员、powerbuilder程序员、C程序员、...二、所的知识与必备技能 1、熟练开发软件 做为一名...
  • Linux学习路线1

    2020-11-15 19:28:23
    嵌入式Linux系统= bootloader + linux内核 + 根文件系统(里面含有APP) bootloader 它的目的是启动内核,去等读内核?读到哪里?去Flash等外设读内核,存到内存里去。所以需要有Flash里外设的驱动能力,为了调试...
  • 我该学哪方面的?学什么更好?一系列问题就来了。有些同学再不知道学什么的时候就会想我每样都去学点这样总该行了吧,达妹想说的是:如果你这样想,那就错了,你这样学一点那样学一点,想着自己学了很多,其实...
  • FHS——Filesystem Hierarchy Standard,主要目的是让用户了解到已安装软件通常放置于哪个目录下,也就是说,FHS的重点在于规范每个特定的目录下应该放置哪种数据。 . 可分享(shareable) 不可分享...
  • Linux内核网络学习

    2019-10-03 16:47:50
    数据拷贝的时候,哪种机制最快?DMA 数据包来了之后交给哪个CPU? 网卡驱动比字符设备驱动,块设备驱动难一些。 查看网卡驱动类型: https://blog.csdn.net/superbfly/article/details/53423378 查看网卡...
  • 引言:上期回顾(想学习的童鞋可以点击看看) 上次我们学习如何添加一个linux用户以及设置密码、查看linux当前登陆用户的一个状态。这一章我们来讲我们非常熟悉的一文件格式。...那在我们linux系统当中有...
  • 为什么加应用统计和 Crash 收集不少开发者在开发的时候,很少会意识到需要添加应用统计和 Crash 收集。但对于一个合格的应用来说,这些是必须的。应用统计:应用统计会在后续进行产品迭代的时候给予数据的支持,.....
  • 我该学哪方面的?学什么更好?一系列问题就来了。有些同学再不知道学什么的时候就会想我每样都去学点这样总该行了吧,达妹想说的是:如果你这样想,那就错了,你这样学一点那样学一点,想着自己学了很...
  • 一、程序员的分类程序员从事的人群很多,分工也不相同,从大的方面可以分为以下几类:asp程序员、delphi程序员、php程序员、powerbuilder程序员、C...二、所的知识与必备技能1、熟练开发软件做为一名程序员至...
  • 为什么要学linux?我也不清楚,也许因为它可以很小,也许因为它很稳定,也许它的可玩性高?Who knows。 “工作马马虎虎,只想在兴趣和游戏中寻觅快活,充其量只能获得一时的快感,绝不能尝到从心底涌出的惊喜和快乐...
  • Linux中每个分区都是用来组成整个文件系统的一部分,Linux采用一叫做”挂载“的处理方法,它整个文件系统中包含了一整套的文件和目录,并将一个分区和一个目录联系起来,载入的那个分区将使他它的存储空间在这...
  • 首先,我们是U盘安装的,所以我们把U盘制作成启动盘。网上很多教程弄得很复杂,我们简简单单就可以了。 然后,我们的硬盘已经被Windows占领,全部... 接着,在选择哪种类型的安装时,我们选择“创建自定义布...
  • 绝不能尝到从心底涌出的惊喜和快乐,但来自工作的喜悦并不像糖果那样—放进嘴里就甜味十足,而是需要从苦劳与艰辛中渗出,因此当我们聚精会神,孜孜不倦,克服艰辛后的成就感,世上没有哪种喜悦可以类比” ...
  • Shell是一个命令解释器提供了用户与内核进行交互操作的一接口shell,编程对於系统管理员或是一般使用者都相当有用,除了自动化,还可写出一些有趣的小工具,Linux本身有各种版本一样,Shell也有多种不同的版本,比如B...
  • 在虚拟机安装Red Hat Linux操作系统 ...选择客户机安装哪种操作系统。 处理机相关配置。 设置虚拟机的内存。 选择添加的网络类型。 选择I/O控制器类型。 选择磁盘。 指定磁盘容量。 ...
  • 无论你使用的哪种 Linux 发行版,你都需要使用基于 iptables 的防火墙来保护它。 默认情况下,你的 Linux 系统对攻击者来说并非是足够安全的。当然,它比 Windows XP 安全多了,但这说明不了什么。 想使你的 ...
  • 对于日常非 Linux 系统用户而言,很多人学习 Linux 可能首选的方案就是在本地系统中装一个 Linux 虚拟机,段位稍高一点的可以选择装双系统,但无论哪种方案,本身都是耗费一些精力和时间,尤其对于之前没有安装过...
  • Mysql数据库的安装对于开发者来说,是我们必然会面对的问题,它的安装过程其实并不复杂,并且网络上的安装教程也非常多,但是对于新手来说,各种不同形式的安装教程,又给新手们带来了选择哪种方式进行安装的难题...
  • Linux C编程学习--main()函数简析

    千次阅读 2015-12-11 19:21:37
    提到C语言的函数,有太多内容讲,今天我们看的是main()函数。 main()函数时程序的入口点,任何程序都有main()函数,一般大家都怎么写main()函数啊? main(); void main(); void main(void);...好像哪种都可
  • WEB服务器有

    2020-11-03 10:22:00
    如今的Web服务器有很多,大家在做项目的时候根据自己的需求进行灵活的选择。下面小编就给大家分享一下目前都有哪些Web服务器。  1.Apache  Apache也被叫做httpd服务器,是目前使用最广泛的web服务器,它被应用...

空空如也

空空如也

1 2 3 4 5 6
收藏数 118
精华内容 47
关键字:

linux要学哪种

linux 订阅