linux程序设计学习心得,几点学习Linux编程的建议
我个人用了3、4年Linux,从当初的小菜鸟到现在的大菜鸟,积累了一些经验,现在分享给大家,尤其是初学者。
弄Linux的环境大体有3种办法:
在Windows上安装cygwin
在Windows上安装虚拟机,再安装Linux
直接装Linux,弄个双系统
3种办法我都用过,目前我个人是双系统,但是对于初学者,我强烈推荐使用第一种方法,是的,极其强烈。原因很简单,就是cygwin安装简单,不用分散精力。
安双系统可能分区啊什么的有些顾忌(其实也没那么复杂),安虚拟机更麻烦,我初学时买了本《鸟哥的Linux私房菜——菜鸟篇》,书挺好,不过说实话不太适合初学者。书里面教安装虚拟机,安了虚拟机再安Linux,安装完要主机和虚拟机通信,网啊,共享文件夹,鼠标切换什么的,很烦,搞到最后不是学Linux,而是学习虚拟机了。而且安了虚拟机每次启动时间很长,也就懒得用了,不开虚拟机当然就玩不了Linux,所以强烈不推荐使用虚拟机。
下面就重点说下cygwin了。cygwin官网(www.cygwin.com)对它的一句话介绍是: Get that Linux feeling - on Windows(在Windows上找到Linux的感觉),确实特别棒。
去官网下载安装文件 setup.exe 后,就可以安装了。值得一提的是这个安装包不光是用来安装Linux的,而且还是用来更新Linux,安装新的软件包的,比如你想在这个Linux环境里面使用编辑器emacs,编译器gcc,调试器gdb,自动编译工具make,等等,都是通过运行那个安装文件来安装的。这些工具不熟悉没关系,我以后再介绍,这篇博客主要目的是弄个环境,熟悉一些基本的bash命令。
安装过程我就不赘述了,直接默认下一步就ok,期间会让你选择下载源,下载后文件的目录等等,都无关紧要,但是选择软件包这一步比较重要,每次更新就是在这里添加或者删除软件包,截图如下:
想安装什么在search那个框里面搜索,然后在下面选中就可以了。
安装完成后就是见证奇迹的时刻了,如果你是默认安装,你会在桌面上看到cygwin的图标,在Windows的C盘下发现cygwin的目录,目录结构如下:
cygwin相当于Linux的根目录 "\",里面的目录是Linux系统最基本的目录,不管你怎么装的Linux,不管你装的Linux什么版本,这几个目录在根目录下都有。其中bin里面是常用的命令,etc里面是配置文件,lib里面是库文件,usr里面是头文件。但是,最重要的目录是home,从此以后这个home就是你的家了,家里面有你自己的房间,房间名就是你的用户名。从此以后不管你在Windows的世界里面怎么浪,记得常常回到自己的家里看看。因为我们安装的是简版,所以只有你一个目录,如果还有其他用户,那么home里面还回有其他目录。
怎么回到自己房间里面呢?直接点击桌面上那个cygwin的图标就可以了:
打开之后是一个黑洞洞的窗口,如图所示:
或许和你想象中的一样,或许比你想象中的还要黑一点,但是没有错,无数大牛就是面对着这样一个黑洞洞的窗口,写出了无数优秀的软件。而从此以后,你也将是这个黑洞洞的窗口前的一员,不过不要紧张,不要害怕,我会带你走过这个黑洞洞的窗口前最黑暗的一段路。
先介绍几个最简单的命令吧:
ls:列出一个目录中的内容,缺省是当前目录
cd:跳转至一个目录
mkdir:创建一个目录
echo:显示文本
rm:删除目录或者文件
刚打开这个窗口,我们的位置就是在自己的房间里面。 接下来,我要使用刚才那些命令做一些事情,我用文本的方式贴在下面,具体做了什么,我用双斜杠(//)注视在后面。
Eric@Eric-PC ~
$ ls //缺省参数,显示当前目录内容
//当前目录什么都没有
Eric@Eric-PC ~
$ mkdir "hello world" //在当前目录新建目录,名为hello world
Eric@Eric-PC ~
$ ls //显示当前目录内容
hello world //刚刚新建的目录
Eric@Eric-PC ~
$ cd hello\ world/ //进入hello world目录
Eric@Eric-PC ~/hello world //这里显示了当前所在目录
$ ls //显示当前目录内容,当前目录是hello world,里面什么都没有
Eric@Eric-PC ~/hello world
$ cd .. //进入父目录,两个点..就表示父目录,一个点.表示当前目录
Eric@Eric-PC ~
$ echo "hello world" //显示文本:hello world
hello world
Eric@Eric-PC ~
$ echo "hello world" > text //显示文本hello world并保存在文件text里面
Eric@Eric-PC ~
$ ls //显示当前目录内容,里面有一个目录,和一个文件
hello world text
Eric@Eric-PC ~
$ ls -l //带参数的ls命令,使用长列表模式,可以看到更多信息
total 1
drwxr-xr-x+ 1 Eric None 0 Feb 17 19:21 hello world //
-rw-r--r-- 1 Eric None 12 Feb 17 19:22 text //
Eric@Eric-PC ~
$ rm text //删除文件text
Eric@Eric-PC ~ //显示目录内容
$ ls
hello world //只剩下一个目录了
Eric@Eric-PC ~
$ rm -r hello\ world/ //删除目录需要使用带参数的rm命令,参数-r表示删除目录
Eric@Eric-PC ~
$ ls //显示目录内容,什么都没有,都删完了
Eric@Eric-PC ~
$ //现在该你用用这些命令了。。。
这些命令使用起来很简单,但也可以用的很复杂,因为有很多参数我都没说,自己搜一下吧。
好了,这篇博客就要结束了,更多的内容我以后再写。
最后要记住,现在你在Windows的世界里面有了一个Linux的家,以后不管你在Windows的世界里面怎么浪都好,记得常常回到你Linux的家里面看看,cd一下,ls一下。
linux程序设计学习心得,几点学习Linux编程的建议相关推荐
- 医用计算机基础学习心得,计算机基础学习心得.doc
计算机基础学习心得 计算机基础学习心得一:计算机基础学习心得 当今社会,到处充满机会与挑战.知识是我们面对这一切的筹码,而计算机知识则更为重要.如何在本科函授这样一种形式下,学好计算机课程,这是摆在我 ...
- 日语学习心得_日语学习资料
日语学习心得 现在的学习资料越来越丰富,音视频配合,学习起来比较有兴趣,每次都是尽量学到疲倦得不行.想到掌握一门外语的重要性,拼了... 在网上还收录了一些学习资料 新编日语 点击下载 新编日语1-4 ...
- 计算机网络课学习心得,计算机网络课程学习心得
计算机网络课程学习心得 计算机网络课程学习心得 除笔试外,还采取机试综合大作业.小组课题设计等考试形式,客观地反映学生对所学知识的把握程度. 计算机络学习心得1:计算机络课程学习心得(4199字) 通 ...
- linux程序设计中文第4百度云,Linux程序设计中文第4版-有书签.pdf
言函数库和由不同的Linux或UNIX标准指定的各种工具的使用方法,大多数标准Linux开发工具的使用方法,通过DBM和MySQL数据库系统存储Linux中的数据,为x视窗系统建立图形化用户界面等.& ...
- SEO学习心得:分享总结学习SEO的心得
在互联网行业中学习SEO优化的人有很多,学习SEO途径也有很多种,大多数都是以自学为主,通过在网上报名SEO培训,还有的自己看SEO书籍,但是学习的基本都是入门阶级,很少有跟深层次的学习,学习的内容千 ...
- [CloudSim学习心得] 第一天学习Cloudsim
通过CloudSim给出的Example学习CloudSim的代码编写方式 今天学习的是CloudSim的第一个Example, 第一个Example的主要内容是创建了一个有一台Host的Datace ...
- 【飞桨PaddlePaddle学习心得】paddle学习创意赛-人脸抠图
目标 paddlehub项目链接:https://aistudio.baidu.com/aistudio/projectdetail/437104 PaddleHub DeepLabv3+模型(dee ...
- Linux程序设计实验项目六,《linux程序设计》实验教学大纲
<linux程序设计>实验教学大纲 课程名称:Linux程序设计 课程编号:408412420408436407 适用专业:计算机科学与技术网络工程软件工程 总 学 分:3 总 学 时:4 ...
- Java入门1.2.3—一个老鸟的Java学习心得
Java入门1.2.3-一个老鸟的Java学习心得 基本信息 作者: 臧萌 出版社:清华大学出版社 ISBN:9787302217831 上架时间:2010-3-30 出版日期:2010 年3月 ...
- 20155314 2016-2017-2 《Java程序设计》第4周学习总结
20155314 2016-2017-2 <Java程序设计>第4周学习总结 教材学习内容总结 理解封装.继承.多态的关系 理解抽象类与接口的区别 掌握S.O.L.I.D原则 了解模式和设 ...
最新文章
- Livox 开源分享:关于激光雷达去畸变的那些事儿
- ICMP Internet控制报文协议(四)
- eclipse访问别人 mysql数据库_eclipse访问mysql数据库!
- JavaScript年月日和时间戳互转
- numpy-np.random.permutation
- tidyverse —— forcats包
- Unity 之 官网下载地址,方便各个版本的 Unity 安装包下载
- MATLAB数字水印技术实现
- 组合数学之第一章之完美覆盖,断层线,幻方,拉丁方,Nim取子游戏
- python做一个qq聊天窗口_python实现qq聊天(带界面)
- [C程序设计]请编程序将“China”译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。
- 信息化实施, 管理前沿 ERP生产系统
- 用了几年的iPhone 11竟然可以免费换电池
- top命令怎么看?top命令详解
- 利用MDK的FLM文件生成通用flash驱动
- Oracle数据库账户被锁定解决方案
- html隐藏m3u8文件,播放具有HTML视频标签的m3u8文件
- bzoj4716假摔
- Moodle平台题库建设技术
- STM32各系列MCU性能对比及测试说明