项目开发Linux入门


俗话说出来混迟早要还的,在大学欠下的Linux账,现在是该还了。大学学完Linux,然后基本再没碰过了,已经基本全部交还给老师了。现在又要重新开始学习了。

因为在项目开发中,想要入手Linux开发还是比较简单的,不需要掌握太多的东西,熟悉一下基本的命令模式操作,熟悉常用的vim编辑器操作就可以了。当我们开发到一定程度就会根据不同需求去学习掌握更多的Linux知识和操作。

刚开始上手SecureCRT还真不是件简单的事,因为我根本不知道这是个什么东西,后来才知道是远程登录Linux的。搜了一些相关命令就开始动手操作,还要装vim,过了这么久我都忘了vim是怎么装好的了,很悲剧的说,不过身边的人就是一切可以利用的资源,身边这么多大牛就不要浪费了。然后看着大牛的演示和自己慢慢操作,也熟悉了一些Linux和vim的命令操作。

目前这个阶段,只要熟悉一些基本的概念掌握一些基本的命令操作就OK了,根据我自己的经历来说,和root相关的可以先不管,这样就省下了很多精力。大概要知道的就是这些了:

1.了解Linux的目录配置

用cd /命令进入根目录,然后查看该目录下所有的文件,就会发现有很多的文件夹,这都是根据FHS标准来安排的,相应的软件放在相应的目录下,因为Linux的版本有很多。

vcioz97OyszioaM8L3A+CjxwPiAgICAgICAgL2hvbWUg1eK49s7EvP680M7SysfX7srsz6S1xKOs0vLOqtXiysfPtc2zxKzIz7XE08O7p9b3zsS8/rzQo6zO0sO/tM61x8K9vs3U2tXiuPbOxLz+vNDPwsPmo6zO0sv509C1xLarzve2vNTa1eLA78PmoaM8L3A+CjxwPiAgICAgICAgL2xpYiDPtc2ztcS6r8r9v+K3x7OjtuCjrGxpYsDvw+a3xdbDtcTKx7+qu/q74dPDtb21xL/iuq/K/aGjPC9wPgo8cD4gICAgICAgIC9sb3N0JiM0Mztmb3VuZCC1sc7EvP7Ptc2zt6LJ+rTtzvO1xMqxuvKjrL2r0rvQqbaqyqe1xMasts63xdbDtb3V4rj2xL/CvM/CoaM8L3A+CjxwPiAgICAgICAgL21lZGlhINXiwO+3xdbDtcTKx7/Jyb6z/bXEyeixuKOsz/G54sXMo6xEVkS1yKGjPC9wPgo8cD4gICAgICAgIC9tbnQg08PX97nS1NijrL7fzOW50tTYysfKssO0tqvO99LUuvPU2cu1oaM8L3A+CjxwPiAgICAgICAgL29wdCDV4rj2ysfTw8C0uPi12sj9t73I7bz+t8XWw7XEo6zE47/J0tS9q9fUvLq1xMjtvP6wstew1NrV4sDvw+ahozwvcD4KPHA+ICAgICAgICAvcHJvYyDQ6cTizsS8/s+1zbOjrLfF1sO1xMr9vt22vMrH1NrE2rTm1tC1xKOsyOfPtc2zxNq6y6OsvfizzLXIoaM8L3A+CjxwPiAgICAgICAgL3Jvb3Qgz7XNs7ncwO3UsbXE1vfOxLz+vNCjrNKyvs3Kx8+1zbO1xMDPtPOhozwvcD4KPHA+ICAgICAgICAvc2JpbiC3xdbDv6q7+rn9s8zW0Mv50OjSqrXEw/zB7qGjPC9wPgo8cD4gICAgICAgIC9zcnYg0rvQqc34wue3/s7xxvS2r9auuvOjrNXi0Km3/s7xy/nQ6NKqyKHTw7XEyv2+3cS/wryhozwvcD4KPHA+ICAgICAgICAvc3lzINDpxOLOxLz+z7XNs6Os1vfSqrzHwrzE2rrLz+C52LXE0MXPoqOsus0vcHJvY7Lusru24KGjPC9wPgo8cD4gICAgICAgIC90bXAg0ruw49PDu6e78tXf1f3U2ta00NC1xLPM0PLU3cqxt8XWw87EvP61xLXYt72hozwvcD4KPHA+ICAgICAgICC/tMHL1eLDtLbgtcS2q873yseyu8rH0tG+rdTOwcujrNXi0KnWu9Kqwcu94tK7z8KjrNLUuvPRp7XEtqvO97bgwcujrNfUyLu74dXGztWjrNfUyLu74dPDtb2hozwvcD4KPHA+PHN0cm9uZz4yLsrsz6RMaW51eLXEzsS8/sioz948L3N0cm9uZz48L3A+CjxwPiAgICAgICAg08NscyAtbLLpv7TEv8K8tcTOxLz+o6y+zbvhv7S8+87EvP663LbgtcTK9NDUo6zPws28ysfO0tXiuPbTw7untcTW987EvP680KOsztLL+dPQtcS2q873o7o8L3A+CjxwPiAgICAgICAgtdrSu8HQtPqx7bXEysfV4rj2zsS8/rXEwODQzbrNyKjP3qOs1afSu7+0o6zV4rj219bEuLf7usXKx7j2yrLDtM3m0uKjrLXa0ru49tfWt/u0+LD81eK49s7EvP61vbXXyse49sqyw7S2q873o6zO0tXiwO/D5rXEtrzKx2SjrGS0+rHttcTKx8S/wryjrLWxyLu7udPQsfC1xKOsLbT6se21xNTyysfOxLz+o6xstPqx7bXEysfBrL3TzsS8/ihsaW5rZmlsZSmjrGK0+rHttcTKx8nosbjOxLz+wO/D5rXEv8m5qbTmtKK1xL3Tv9rJ6LG4o6xjtPqx7cnosbjOxLz+wO/D5rXEtK7Q0LbLv9rJ6LG4oaPEx7rzw+a1xNfWt/u0+rHtyrLDtMTYo6y688PmtcTX1rf7w7/I/bj20rvX6aOstvjH0ra8zqpyd3jX6brPo6xytPqx7b/JtsGjrHe0+rHtv8nQtKOseLT6se2/yda00NCjrNXiyP249sioz97Ou9bDyseyu7vhuMSx5LXEo6zI57n7w7vIqM/evs3Kx9fWt/stKLz1usUpoaOxyMjnztK1xLXa0ru49sS/wrxjJiM0MzsmIzQzO7fWusPX6b7Nysejultyd3hdW3IteF1bci14XaOstdrSu9fpzqrOxLz+y/nT0NXftcTIqM/eo6y12rb+1+nOqs2s1+nTw7untcTIqM/eo6y12sj91+nOqrfHsb7X6dPDu6e1xMioz96ho9XiwO+12sj9wdCx7cq+zsS8/rXEy/nT0NXfo6zV4sDvysfO0tfUvLqjrMv50tTO0rbU1eLQqc7EvP7T0L74ttS1xMioz94oyP249sioz962vNPQKaGjzazX6dPDu6fKx8qyw7SjrNTav6q3otbQtrzT0LfW1+m1xM/Wz/OjrNPQtcS2q873tbHIu7K7z6PN+8jD1+nN4rXEyMu/tLz7o6y78tXfsrvIw9fpzeK1xMjL0N64xKOs1eK+zcrH08O7p9fptcTX99PDoaM8L3A+CjxwPiAgICAgICAgtdq2/sHQtPqx7bXEysfT0LbgydnOxLz+w/vBrL3Ttb20y73ateOjrNXiuPbJ6LzGtb20xcXMzsS8/qOs0tS689TZ0aehozwvcD4KPHA+ICAgICAgICC12sj9wdC0+rHttcTV4rj2zsS8/rXEy/nT0NXf1cu6xaGjPC9wPgo8cD4gICAgICAgILXay8TB0LT6se21xNXiuPbOxLz+tcTL+cr008O7p9fpoaM8L3A+CjxwPiAgICAgICAgtdrO5cHQtPqx7dXiuPbOxLz+tcTI3cG/tPPQoaOstaXOu8rHQqGjPC9wPgo8cD4gICAgICAgILXawfnB0LT6se3V4rj2zsS8/rXEtLS9qMjVxtq78tXf1+69/LXE0N64xMjVxtqhozwvcD4KPHA+ICAgICAgICC12sbfwdC0+rHt1eK49s7EvP61xM7EvP7D+6GjPC9wPgo8cD4gICAgICAgIHLOqr/JtsGjrMjnufu21NK7uPbOxLz+09C2wbXEyKjP3qOsxMfDtL7Nv8nS1LbByKG4w87EvP61xMTayN2jrMjnufu21NK7uPbEv8K809C/ybbBtcTIqM/eo6zEx8O0vs2/ydLUtsHIobjDxL/CvLXEzsS8/sHQse2hozwvcD4KPHA+ICAgICAgICB3zqq/ydC0o6zI57n7ttTSu7j2zsS8/tPQ0LS1xMioz96jrMTHw7S+zb/J0tSx4Lyto6zQwtT2u/LV39DeuMS4w87EvP61xMTayN2jrLWryseyu8Tcyb6z/bjDzsS8/qOsyOe5+7bU0ru49sS/wrzT0NC0tcTIqM/eo6zEx8O0vs2/ydLUuPy4xLjDxL/CvL3hubnB0LHto6zV4rj2yse63Me/tPO1xKOsv8nS1NDC1PbQwrXEzsS8/rvyxL/CvKOsyb6z/dLRvq205tTatcTOxLz+u/LEv8K8o6zW2MP8w/vS0bTm1Nq1xM7EvP678sS/wry7udPQv8nS1Neq0sa4w8S/wrzE2rXEzsS8/rvuxL/CvLXEzrvWw6GjPC9wPgo8cD4gICAgICAgIHjOqr/J1rTQ0KOsyOe5+7bU0ru49s7EvP7T0Na00NC1xMioz96jrMTHw7S+zb/J0tSxu9a00NCjrMjnufu21NK7uPbEv8K809DWtNDQtcTIqM/eo6zEx8O0vs2/ydLUvfjI67jDxL/CvLPJzqq5pNf3xL/CvKGj1eK49r/JxNzT0LXjxNHA7b3io6zK18/IxNy38b34yOvSu7j2xL/CvMrHv7TE49PQw7vT0HjIqM/eo6zI57n7w7vT0LXEu7CjrLK7vfayu8TcvfjI67jDxL/CvKOstvjH0s7et6jWtNDQuMPEv8K8z8K1xMjOus7D/MHuoaM8L3A+CjxwPiAgICAgICAgyrLDtKOs1rvSqtPQeMioz96+zcTc1rTQ0KOsxMe7udKqwKnVucP7us7Tw6O/1NpMaW51eM/C0ru49s7EvP7E3LK7xNzWtNDQo6zE3NT10fnWtNDQsrvKx7/PwKnVucP7tcSjrLb4yse/tMioz96ho9TaTGludXjPwqOswKnVucP71rvKx8jDxOPBy73iuMPOxLz+v8nE3LXE08PNvrb40tGjrLK7z/F3aW5kb3dzz8KjrC5leGXNqLOjyse/yda00NC1xKGjscjI59G5y/XOxLz+o6zAqdW5w/vMq7bgwcujrMv81rvKx8jDxOPBy73iysfTw8TE1ta3vcq90bnL9bXEo6zIw8Tj1qq1wLjD08PKssO0w/zB7r3i0bmhozwvcD4KPHA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9"http://www.2cto.com/uploadfile/Collfiles/20140302/2014030209550533.jpg" alt="\">

3.掌握Linux常用命令

Linux下的命令太多了,目前入门阶段只要掌握一些常用的命令就OK了。

其中用的最多的要数ls和cd了,ls是列出一个文件夹下所有文件的命令,当然还可以配参数,其中-a和-l是用的比较多的,-a表示把隐藏文件也列出来,-l表示列出文件的详细信息,当然两个参数可以同时使用,如ls -al或者ls -a -l都可以,作用就是两个的综合。cd命令表示进入特定目录,cd ..表示退一级目录,cd /进入根目录,cd ~name表示进入/home目录下的一个特定目录,不输入name表示进入自己的主目录,这里就牵扯出相对路径和绝对路径的问题了,/开头的都是绝对路径,比如cd /home/tengpeng表示进入我的主文件夹,这里的/home/tengpeng就是绝对路径,如果在我的主文件夹下,cd c++/learn进入我的c++文件夹下的learn文件夹,这里的c++/learn就是相对路径。

当然在开发过程中,对文件的操作是最多的,这就涉及到了文件的创建,删除,移动,复制等

创建一个文件的命令touch name,创建文件夹就不一样,mkdir name如果我要创建一个test1文件夹,然后在test1中创建一个文件夹test2,然后在test2中创建文件夹test3,除了进入目录中一个一个创建,还有种递归式创建,mkdir -p test1/test2/test3,这个-p参数特别重要,没有的话就创建失败。既然Linux中扩展名没什么用,那为什么我们在创建文件的时候还是要写呢,比如创建一个c++文件,会写上hello.h或者hello.cpp,我问了一下别人,说是为了让别人知道你这是一个什么文件,相当于标识符,还有就是可能别人写的软件可能只允许某种扩展名的文件执行。

删除一个文件的命令为rm name,那如果是删除一个目录呢,如果该目录里面是空的,那么就是rmdir name,如果不是空的就要用递归将该目录下所有的文件和文件夹都删除为rm -r name,-r是参数,如果删除上面创建的test1/test2/test3这种,如果这三个文件夹中没有别的文件就可以用命令rmdir -p test1/test2/test3。

移动一个文件的命令mv name1 name2,name1是文件原来的名字,name2是改过后的名字,为什么是改过后的名字呢,因为这个命令也可用来更改文件的名字,比如把hello.h改成hello.cpp就是mv hello.h hello.cpp,那移动呢,如果我要把hello.h移动到c++目录下,命令为mv hello.h c++/hello.h 或者mv hello.h /home/tengpeng/c++/hello.h,有个路径的问题。

复制文件和移动差不多,命令为cp name1 name2,也会像mv一样有路径问题。cp还有权限的问题,因为复制得到的文件所有者是操作者本身。

还有查看一个文件的内容命令cat name,tac name nl, more, less,head,tail这些,试一下就知道效果,其中还可以加参数达到不同的效果。

当然还有文件的查找,which,whereis,locate,find等等。

如果一个命令不知道怎么用,当然还有帮助嘛,man page和info page,如果不知道ls这个命令怎么用,怎么加参数,只要输入man ls或者info ls都是查到相应的用法,我们可以根据查出来的用法来使用以达到我们的目的。以上都是一些常用命令,当然我们学习一段时间后还会继续学习更多的命令,只要多用就会很熟练,对了还有tab键,这是一个很常用的补全快捷键,比如我要进入/home/tengpeng/c++这个目录,只要输入cd /h+tab+/t+tab+/c+tab,如果按下tab没反应,说明你给的条件还不是很精确,比如不仅有个c++文件件还有一个c#,那么给出c再按tab键是不能补全的,因为它不知道你是要c++还是c#,当然如果连续按两次还会有惊喜哦,还不快试试。

4.掌握vim编辑器的常用命令和功能

vim是一款相当经典相当好用的编辑器,虽然它在编辑的时候不能补全(或者补全比较麻烦,目前我知道的Ctrl+p,或者有补全软件什么的),但是用了一段时间我觉得是非常好用的一款编辑器,很喜欢,感觉比eclipse什么的好用多了,主动以字体颜色辨别语法的准确性,方便程序设计。当然这也是命令模式操作,所以也会有很多的命令。下面就来熟悉一下编写程序中常用到的命令。

vim一共有三种模式,一般模式,编辑模式和命令行模式,一般模式进入编辑模式通常是按i(I),o(O),a(A),r(R)键,编辑模式到一般模式是按键Esc,只能从一般模式切到命令行模式,用:,/,?这三个符号,反过来也是Esc键。一般模式退出编辑器只要用:w(保存),:q(退出),:wq(保存并退出)。

在编写代码的时候,我们往往需要很多的操作来提高我们编写代码的速度和质量,这就需要很多的命令来实现,用的多自然也会很熟练。

\

当然还有一些相关的功能,如果要复制一个文件中的部分内容粘贴到另一个文件里面,这就要用到多文件编辑,如果当你编写一个文件的时候,需要另一个文件做参考,可以再开一个窗口,但是这样就要手动切换窗口浪费时间,这是就要多窗口功能等。

先来看一下多文件编辑的功能吧,当输入vim test.h test.cpp这样就可以多文件编辑,只要用命令:n,:N来切换文件,并且其中一个文件中复制的内容在另一个文件中可以使用。

再看看多窗口功能,当我们用vim test.cpp编辑的时候,用命令:sp test.h,就会再显示test.h在窗口下方,如果不加名字,就将正在编辑的文件再显示一份在下方,上下两个文件之间的切换只要用ctrl+j(ctrl+↓)或者ctrl+k(ctrl+↑)。

Linux的门槛,慢慢的我们要掌握的东西会越来越多。

相关内容