作为.NET程序员,一直以来都是windows环境下工作,很少接触到linux系统。但是随着微软跨出跨平台这一步之后,相信.NET程序员在linux平台进行开发也会变得越来越寻常。

所以,今天这篇文章是作为一个菜鸟开始学习linux的开篇之作,主要是介绍linux系统的安装和日常操作。当然,后续的文章也会谈到.NET在linux环境的开发以及维护,跨平台开发,十年前的,NET程序员绝对不会想到会有这一天,而微软今天真的做到了,不得不令人欢欣鼓舞,好了,废话少说。由于自己在大学里也学过linux,所以也可以说是全新复习一遍。

安装VMware和Linux

我选用了VMware 11.0版本,Linux是RedHat6.2,具体linux的安装教程可自行百度。我最终安装成功如下:

安装成功之后,为了使主机可以跟虚拟机通信还要做一下配置,在虚拟机配置选项下,把网络适配器改为桥接模式。

我把linux虚拟机的IP设为固定的192.168.0.110,注意一下,虚拟机的网段要跟主机的一致,我的主机网段是192.168.0.109,然后ping一下虚拟机,ping通了就表明主机跟虚拟机可以通信了。

Linux目录结构

与windows系统一样,要了解一个系统,就必须了解它的目录结构,比如windows系统,下面有C盘,D盘,E盘等。那么linux系统的目录结构是怎么样的呢?

我用secureCRT(这是一款能让你从windows连接到linux的软件,可自行百度)连到linux终端,输入命令ls -al,得出如下:

ls -al 是一个列出所有目录命令。可以看出,linux系统下,有/bin,/dev,/lib,/proc等目录,在介绍这些目录之前,我们先介绍一下drwxr-xr-x 这一串的意思。

第一位表示文件类型。d是目录文件,l是链接文件,-是普通文件,p是管道

第2-4位表示这个文件的属主拥有的权限,r是读,w是写,x是执行。

第5-7位表示和这个文件属主所在同一个组的用户所具有的权限。

第8-10位表示其他用户所具有的权限。

好了,我们来解释一下drwxr-xr-x的意思:

第一位d,代表的是目录文件,第2-4位rwx,表示属主具有读写和执行权限,第5-7位r-x表示与属主同一用户组的用户具有读和执行的权限,第8-10位r-x表示其他用户具有读和执行的权限。

下面看看每个目录的主要内容,只挑重要的来详细介绍。

/usr 目录包含所有的命令、程序库、文档和其它文件。这些文件在正常操作中不会被改变的。这个目录也包含你的Linux发行版本的主要的应用程序,譬如,Netscape。

  /var 目录包含在正常操作中被改变的文件:假脱机文件、记录文件、加锁文件、临时文件和页格式化文件等。

  /home 目录包含用户的文件:参数设置文件、个性化文件、文档、数据、EMAIL、缓存数据等。这个目录在系统省级时应该保留。

  /proc 目录整个包含虚幻的文件。它们实际上并不存在磁盘上,也不占用任何空间。(用ls –l 可以显示它们的大小)当查看这些文件时,实际上是在访问存在内存中的信息,这些信息用于访问系统

  /bin 系统启动时需要的执行文件(二进制),这些文件可以被普通用户使用。

  /sbin 系统执行文件(二进制),这些文件不打算被普通用户使用。(普通用户仍然可以使用它们,但要指定目录。)

  /etc 操作系统的配置文件目录。

  /root 系统管理员(也叫超级用户或根用户)的Home目录。

  /dev 设备文件目录。LINUX下设备被当成文件,这样一来硬件被抽象化,便于读写、网络共享以及需要临时装载到文件系统中。正常情况下,设备会有一个独立的子目 录。这些设备的内容会出现在独立的子目录下。LINUX没有所谓的驱动符。

  /lib 根文件系统目录下程序和核心模块的共享库。

  /boot 用于自举加载程序(LILO或GRUB)的文件。当计算机启动时(如果有多个操作系统,有可能允许你选择启动哪一个操作系统),这些文件首先被装载。这个目录也会包含LINUX核(压缩文件vmlinuz),但LINUX核也可以存在别处,只要配置LILO并且LILO知道LINUX核在哪儿。

  /opt 可选的应用程序,譬如,REDHAT 5.2下的KDE (REDHAT 6.0下,KDE放在其它的XWINDOWS应用程序中,主执行程序在/usr/bin目录下)

  /tmp 临时文件。该目录会被自动清理干净。

下面是结构图:

Linux常用命令

常用指令

ls          显示文件或目录

-l           列出文件详细信息l(list)

-a          列出当前目录下所有文件及目录,包括隐藏的a(all)

mkdir         创建目录

-p           创建目录,若无父目录,则创建p(parent)

cd               切换目录

touch          创建空文件

echo            创建带有内容的文件。

cat              查看文件内容

cp                拷贝

mv               移动或重命名

rm               删除文件

-r            递归删除,可删除子目录及文件

-f            强制删除

find              在文件系统中搜索某文件

wc                统计文本中行数、字数、字符数

grep             在文本文件中查找某个字符串

rmdir           删除空目录

tree             树形结构显示目录,需要安装tree包

pwd              显示当前目录

ln                  创建链接文件

more、less  分页显示文本文件内容

head、tail    显示文件头、尾内容

ctrl+alt+F1  命令行全屏模式

                                                                                          系统管理命令

stat              显示指定文件的详细信息,比ls更详细

who               显示在线登陆用户

whoami          显示当前操作用户

hostname      显示主机名

uname           显示系统信息

top                动态显示当前耗费资源最多进程信息

ps                  显示瞬间进程状态 ps -aux

du                  查看目录大小 du -h /home带有单位显示目录信息

df                  查看磁盘大小 df -h 带有单位显示磁盘信息

ifconfig          查看网络情况

ping                测试网络连通

netstat          显示网络状态信息

man                命令不会用了,找男人  如:man ls

clear              清屏

alias               对命令重命名 如:alias showmeit="ps -aux" ,另外解除使用unaliax showmeit

kill                 杀死进程,可以先用ps 或 top命令查看进程的id,然后再用kill命令杀死进程。

                          打包压缩相关命令

gzip:

bzip2:

tar:                打包压缩

-c              归档文件

-x              压缩文件

-z              gzip压缩文件

-j              bzip2压缩文件

-v              显示压缩或解压缩过程 v(view)

-f              使用档名

例:

tar -cvf /home/abc.tar /home/abc              只打包,不压缩

tar -zcvf /home/abc.tar.gz /home/abc        打包,并用gzip压缩

tar -jcvf /home/abc.tar.bz2 /home/abc      打包,并用bzip2压缩

当然,如果想解压缩,就直接替换上面的命令  tar -cvf  / tar -zcvf  / tar -jcvf 中的“c” 换成“x” 就可以了。

                         关机/重启机器

shutdown

-r             关机重启

-h             关机不重启

now          立刻关机

halt               关机

reboot          重启

这篇文章主要讲了linux系统的安装,目录系统以及一些基本命令的使用,对于初学者来说是个很好的入门文章,希望你能喜欢。下一篇,将会介绍linux系统的基本维护,如网络管理,磁盘管理,系统备份以及shell编程等。

Linux学习三部曲(之一)的更多相关文章

  1. Linux学习三部曲(之三)

    今天用linux的时候,想到在windows客户端上传文件到linux服务端. 下面介绍一种方法. 可以通过SecureCRT上传.下载文件(使用sz与rz命令). 1. 安装 lrzsz 在Secu ...

  2. Linux学习三部曲(之二)

    新建Linux分区以及文件系统 今天,我们来聊聊在linux上建立分区和文件系统.windows系统建立分区可以借助分区工具,那么在linux分区以及文件系统又该如何操作呢? 打开secureCRT, ...

  3. Linux学习日记-使用EF6 Code First(四)

    一.在linux上使用EF 开发环境 VS2013+mono 3.10.0 +EF 6.1.0 先检测一下EF是不是6的 如果不是  请参阅 Linux学习日记-EF6的安装升级(三) 由于我的数据库 ...

  4. Linux学习之CentOS(二十二)--单用户模式下修改Root用户的密码

    在上一篇随笔里面详细讲解了Linux系统的启动过程 (Linux学习之CentOS(二十一)--Linux系统启动详解),我们知道Linux系统的启动级别一共有6种级别,通过 /etc/inittab ...

  5. Linux学习笔记之兄弟连

    systemctl --user enable pulseaudio说明:安装完成后系统没有声音,用该命令可以打开.ifconfig eth0 192.168.118.1说明:给网卡设置IP地址.ap ...

  6. Linux学习内容

    Linux学习要点(转载自红联) 一.学习Linux的基本要求1. 掌握至少50个以上的常用命令. 2. 熟悉Gnome/KDE等X-windows桌面环境操作 . 3. 掌握.tgz..rpm等软件 ...

  7. Linux 学习笔记

    Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...

  8. Linux学习心得之 Linux下命令行Android开发环境的搭建

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...

  9. Linux学习心得之 Linux下ant安装与使用

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下ant安装与使用 1. 前言2. ant安装3. 简单的a ...

随机推荐

  1. 在Flash Builder或者Eclipse统计代码行数的方法

    在Flash  Builder或者Eclipse统计代码行数的方法如下图菜单栏--搜索--搜索文件

  2. 从零开始学android开发-setBackgroundDrawable与setBackgroundResource的区别

    setBackgroundDrawable和setBackgroundResource的区别很多网友不知道View类提供的setBackgroundDrawable和setBackgroundReso ...

  3. C#的WebBrowser操作frame如此简单

    刚学c#不久,也不太懂什么IHTMLDocument.IHTMLDocument2.IWebBrowser2等等.自己琢磨了好久,终于知道了怎么用WebBrowser操作frame和iframe. 1 ...

  4. PHP 更高效的字符长度判断方法(转)

    今天看到有人说,在做字符串长度判断的时候,有个比strlen效率更高的方法.即: $str = ‘aaaaaa’; ) VS }) 晚上自己用例子简单测试下,情况基本属实,特此记录下.后者效率几乎是前 ...

  5. mysql 重要维护工具 图解

        下载地址: http://maatkit.org/get/mk-query-digest更多信息: http://maatkit.org/ | http://code.google.com/p ...

  6. Spark on Yarn遇到的问题及解决思路

    原文:http://www.aboutyun.com/thread-9425-1-1.html 问题导读1.Connection Refused可能原因是什么?2.如何判断内存溢出,该如何解决?扩展: ...

  7. oracle_partition sample_simple

    一:范围分区 就是根据数据库表中某一字段的值的范围来划分分区,例如: create table graderecord ( sno varchar2(10), sname varchar2(20), ...

  8. php引用详解

    <?php function foo($bar){   $bar='111111111'; } $str='2222222222222'; foo($str); echo $str; //out ...

  9. c语言字符串_续

    第一篇文章 http://www.cnblogs.com/bluewelkin/p/4063265.html 续篇如下 例一:统计字母的个数(忽略大小写,有空格也可继续统计字母,直到\n结束,但空格未 ...

  10. Linux 学习笔记 查看文件内容诸多命令

    查看文件内容 1.查看文件统计信息 stat 提供文件系统上某个文件的所有状态信息 2.查看文件类型 file 用来查看文件类型 (该命令将文件分成3类:文本类型:可执行文件:数据文件) 如果你有从未 ...