linux初学者_Linux上的软件开发初学者注意事项

linux初学者

Linux is a great platform for software development targeting servers or backends. In general, working on Linux is very productive. The problem that beginners on Linux face is the the learning curve is steep at the beginning. But believe me, after you get through the initial green steep learning step as in the figure below with some hard work, you will feel like working on a rocket in the yellow part. This post will give you some notes and pointers to information so that you can start with.

Linux是针对服务器或后端的软件开发的绝佳平台。 通常,在Linux上工作效率很高。 Linux初学者面对的问题是学习曲线从一开始就陡峭。 但是请相信我,在完成了下图所示的初始绿色陡峭学习步骤并付出了一些努力之后,您会感觉像是在黄色部分上工作。 这篇文章将为您提供一些信息的注释和指示,以便您可以开始使用。

Power Law

Linux基础知识 (Basic knowledge of Linux )

You will need to gain some basic knowledge of Linux tools, like the ls/less/cat/cd commands. ssh/scp/rsync/screen are also useful and commonly used tools. bash is very common while I know its manual is very long too. Take a read when you got some time or check the parts when you need them.

您将需要了解Linux工具的一些基本知识,例如ls / less / cat / cd命令。 ssh / scp / rsync / screen也是有用且常用的工具。 bash很常见,但我知道它的手册也很长。 有空时请阅读或在需要时检查零件。

Bash and Shell

To learn these tools, take a look at the tutorials of some pretty good books or some online tutorials to get started with and check the manual pages (linked in the previous part) for more details.

要了解这些工具,看一看的教程一些 相当 不错的 或一些在线教程开始使用,并查询详细的手册页(在前面的部分的链接)。

包管理 (Package management )

Different Linux distros may have different tools to manage packages. There are several flavors of package management on Linux.

不同的Linux发行版可能具有不同的工具来管理软件包。 Linux上有几种类型的软件包管理。

I mostly use Fedora/RHEL/CentOS/Scientific Linux and the tools to manage the packages is yum/dnf: dnf documents.

我主要使用Fedora / RHEL / CentOS / Scientific Linux,用于管理软件包的工具是yum / dnf: dnf文件

Another large community is the apt and derived tools users on Debian/Ubuntu/Linux Mint and etc. There are also zypper, pacman and etc. Check your most favorite Linux distro’s documents for how to use these tools.

另一个大型社区是Debian / Ubuntu / Linux Mint等上的apt和衍生工具用户。还有zypperpacman等。请查看您最喜欢的Linux发行版的文档,以了解如何使用这些工具。

You may need to possibly manually download and install some packages. Usually, the README or INSTALL files in these packages provide instructions on needed packages and steps to configure and install the package.

您可能需要手动下载并安装一些软件包。 通常,这些软件包中的README或INSTALL文件提供了有关所需软件包的说明以及配置和安装该软件包的步骤。

文件 (Documents )

On Linux, the man pages for commands are very helpful. To find help on a command say ssh, just run man ssh.

在Linux上,命令手册页非常有用。 要在命令ssh上寻求帮助,只需运行man ssh

You can also check the online manual pages of Linux in your browser at https://www.systutorials.com/docs/linux/man/.

您也可以在浏览器中https://www.systutorials.com/docs/linux/man/上查看Linux的联机手册页。

Google usually also gives good results too on tutorials of these commands.

在这些命令的教程中,Google通常也会给出很好的结果。

代码测试调试 (code-test-debug )

For code-test-debug loops during development, everyone may have its own best way. For me, I usually write code/build it on my local laptop/PC (network latency makes coding remotely inconvenient) and push the code to the remote server to run and test it by ssh/rsync/scp.

对于开发过程中的代码测试调试循环,每个人可能都有自己的最佳方法。 对我来说,我通常在本地笔记本电脑/ PC上编写代码/构建代码( 网络延迟使远程编码变得不便),然后将代码推送到远程服务器以通过ssh / rsync / scp运行和测试它。

For standalone programs, gdb sometimes is useful. But for distributed systems, logs with the events/actions/internal states will be very helpful. I ever wrote a C fast in-memory log library named zlog.

对于独立程序, gdb有时会很有用。 但是对于分布式系统,带有事件/动作/内部状态的日志将非常有帮助。 我曾经写过一个名为zlog的C快速内存日志库。

在Linux工作环境 (Work environment on Linux )

You will need a good editor for writing code and documents. vim and emacs are possibly the 2 most widely used ones. Time is needed to learn both of them. But they will improve your productivity once you master them at certain level. Makefile and compilers (gcc, g++) are usually needed. The Linux tools like ssh/scp/screen will be very useful.

您将需要一个优秀的编辑器来编写代码和文档。 vimemacs可能是两种使用最广泛的工具。 需要时间来学习它们两者。 但是,一旦您在一定程度上掌握了它们,它们就会提高您的生产率。 通常需要Makefile和编译器( gccg++ )。 诸如ssh / scp / screen之类的Linux工具将非常有用。

Mate Seaman ties a knot in a line.

All these seems a lot to learn. But it is not hard to start with and you need not to master all to start working.

所有这些似乎都需要学习。 但是开始并不难,您无需掌握所有知识即可开始工作。

road-in-forrest.jpg

After the initial struggling, you will start to love development on Linux. And you can then learn part by part when your work needs more.

经过最初的努力之后,您将开始喜欢Linux上的开发。 然后,当您的工作需要更多时,您就可以逐步学习。

翻译自: https://www.systutorials.com/notes-software-development-linux-beginners/

linux初学者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值