作为.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编程等。