linux基础自学手册,手把手教你使用linux
Linux基础自学手册
目录... 2
内容简介... 3
一、vmware虚拟机的使用... 4
二、redhat操作系统... 9
2.1安装redhat9
2.2 设置文件夹共享... 11
三、终端的介绍与使用... 13
3.1 shell的介绍... 13
3.2 linux基本命令... 14
四、文件目录结构的介绍... 20
4.1文件类型介绍... 20
4.2 文件目录结构介绍... 21
五、vim编辑器的使用... 24
5.1 vi的基本概念... 24
5.2 vi的基本操作... 24
六、gcc编译工具使用... 26
6.1 Redhat下gcc的安装... 26
6.2 gcc的使用... 28
七、脚本基本语法... 29
八、makefile文件理解与修改... 31
http://www.cnblogs.com/kevin-zlg/p/4364001.html
内容简介这篇分享面对的对象主要是想要快速上手使用linux系统,但又从未接触过linux的同学。文档主要描述的是linux操作系统的基本使用方法,没有涉及到linux下的程序设计,所以主要是偏应用而不是研发。为了方便大家在自己的电脑上使用自己的linux系统,文档中第一、二章介绍了vmware虚拟机使用的详细步骤和redhat企业版操作系统的安装流程。根据一般linux系统的使用情况,文档第三章介绍了终端的概念和linux下的常用命令,第四章介绍了系统的文件目录结构,使用户能按照linux不同目录的不同功能去正确地使用系统。第五章介绍了linux系统下应用最广泛的vi编辑器,在此基础上再介绍gcc编译器的使用,基本满足了linux下写简单程序所需掌握的要求。第七和第八章是根据linux下配置系统时经常遇到的脚本文件和makefile文件做一个简单介绍,希望达到看懂文件并能准确修改以解决工作问题的目的。
由于水平有限,文章中难免会有许多的错误,希望和大家一起讨论,共同进步。
一、vmware虚拟机的使用在虚拟机没有流行之前,人们要想在日常中使用linux系统一般都是通过装双系统。但是这样windows和linux的交互往往要通过搭建samba服务器,对于新手来说学习linux系统显得非常麻烦和困难。现在通过使用虚拟机,可以在电脑上同时运行多个操作系统,而且虚拟机提供的各种扩展功能使linux的使用和安装都变得非常方便。下面介绍比较常用的虚拟机vmware的使用。
打开vmware,点击如图new virtual machine 按钮,弹出如图1-2所示的新建虚拟机界面,选择typical,可以更简单得配置虚拟机的参数,其实很多参数默认的就可以,而且选择custom时配置的参数等虚拟机装好之后还是可以修改的,为了更快的装上系统,这里选择typical安装。
图 1-1
图 1-2
点击next,进入选择安装方式目录,可以选择从光驱安装或是从操作系统镜像安装,现在网络上都有各种操作系统的iso镜像,只要下载下来就可以安装了,同时在公司的共享目录: \系统集成\应用软件部\操作系统中也有如图1-4的redhat企业版镜像,将镜像复制到本地目录,并在installer disc image file(iso) 选项中选中复制过来的镜像文件,点击next进入下一步。
图1-3
图1-4
如图1-5,输入用户名和密码,该用户是你登录系统时的默认用户,下面注释的意思是此次给dahua设置的密码同时也是root用户的密码。和Ubuntu系统不同,redhat在系统安装时就会给系统建立root用户,而ubuntu要在安装后新建root用户。
图1-5
填好用户名和密码后进入图1-6界面,填写虚拟机的名字和存放路径,随后设置虚拟机硬盘大小(图1-7)。这里设置的大小其实只是一个虚拟的硬盘最大限额,其实际大小在安装好后往往只占3G左右,所以这里设置20G不用担心,不会一下子用掉硬盘20G空间。这个20G设置本来的意思是以后虚拟机的数据不断变多,其占的空间也会不断变大,但是最大不能超过20G。不过vmware自身又能在安装后系统后修改这个值,所以这里设置多少其实关系不大,不够以后再改就行了。
图1-6
图1-7
最后进入如图1-8界面,显示的是新建虚拟机的配置信息,这些信息基本都可以再修改,点击finish配置完成,进入安装操作系统界面。
图1-8
二、redhat操作系统2.1安装redhat现在安装操作系统步骤都非常简单,基本都下一步就可以了,而redhat安装基本连下一步的选项都不用,直接等待结束就可以了,如图2-1.在安装过程中,vmware还会自动安装上vmware tools,这个工具以前都是手动装的,现在随着vmware版本的升级,功能做得越来越完善了。通过这个工具,用户可以方便的在主机界面(对我们来说是windows)和虚拟机界面(redhat)自由切换,还可以来回复制粘贴,文件共享等。
图2-1
最后安装vmware tools时间比较久,要耐心等待,完成后就是会提示输入用户名和密码,如图2-2,输入之前设置的用户名dahua和密码可以登录了,当然,这里也可以使用root用户登录,密码同dahua的一样。
图2-2
登录系统后就能看到redhat的桌面(图2-3),桌面上有大家熟悉的我的电脑,回收站等图标。Linux系统最初是没有图形界面的,用户的操作都是在终端中进行,后来为了降低使用的难度,增加用户群体,开发出了图形操作界面,使用户能像使用windows一样使用linux操作系统。
图2-3
2.2 设置文件夹共享Linux下和windows共享文件比较常用的samba,现在vmware自带了共享windows下文件夹的功能,通过此功能,能使虚拟机中的系统使用到主机的文件。设置步骤如下:
Vm->settings->options,在图2-5中选择always enabled ,点击add,在图2-6中选择要共享的windows目录,我选择了整个D盘,并为该目录取个名字。
图2-4
图2-5
图2-6
图2-7
完成后,就可以在/mnt/hgfs/D/目录下看到windows中D盘的内容,如图2-8是在图形界面下打开linux下/mnt/hgfs/D/ 目录显示的内容,对这个目录的操作相当于在windows下对D盘中文件的操作,可以方便得实现数据共享。
图2-8
三、终端的介绍与使用3.1 shell的介绍虽然如前面看到的,现在的linux系统可以像windows系统一样,使用图形界面进行方便得操作,但是大多数的情况下人们是不使用图形界面的linux系统的,因为工作中往往是通过远程登录linux服务器,所有的操作都要在终端界面下进行,所以了解linux下shell终端的使用是必须的。
Shell是一个系统程序,在前台提供Linux系统与用户交互操作的界面;另外一方面Shell是一个命令的编译解释器,会将用户命令经过编译和解释后,交给内核进行执行,也就是说将用户命令解释为系统和内核可以理解和识别的机器语言。
我们目前所使用的操作系统实际上是一个核心(内核Kernel)。作为使用者无法直接对内核(Kernel)进行操纵,而是通过内核的“外壳程序”来与内核进行沟通,这个外壳程序因此得名,实际上就是Shell。
Shell是使用者与系统的一个互动界面,主要是要使用者通过命令行来完成工作,所以Shell的定义就是命令的编辑解释器:将使用者的命令翻译给核心;将核心处理结果翻译给使用者。
当用户登录的时候,就获得了一个Shell。
Shell和内核实际上是不同的两套软件:不同的操作系统上可以使用不同的Kernel,而相同的操作系统上也可以使用不同的Shell。
Shell的种类如下,使用最广泛的是bash,其它的使用方法基本相同,只需了解一下。
① Bsh:是Bourne Shell的简称,是较早的UNIX Shell程序,实现了基本的Shell程序功能,除了承担命令解释器的功能外,Bsh还是编程语言。
② Csh:是C Shell的缩写,使用C语言的语法风格。Csh与Bsh相比,更加适合于用户命令交互。
③ Ksh:结合了Bsh和Csh两者的功能优势,兼有Bsh的语法和Csh的交互特性。
④ Bash:是Bsh的升级替代品。是GNU项目的成员,也是著名的开源软件项目。大多数Linux发行版本都使用Bash作为默认的Shell,当运行Shell程序时,系统实际运行的是Bash程序。
3.2 linux基本命令
图3-1
如图3-1,找到terminal,将其拖到桌面方便以后使用。打开terminal显示如图3-2.表示本地的root用户在使用此终端。
图3-2
Linux下常用的命令如下表3-1,其中红色的表示我认为更加简单实用的命令,这些命令的使用频率非常高,一定要好好掌握。
?命令
解释
用法
举例
ls
显示某一个目录下的内容(文件和目录)
用法:ls或者ls目录
ls
ls后为空时表示显示当面目录下的内容。可以在ls后面加上所要查看的目录路径名称
ls /
ls /home/
ls /etc/sysconf
ls -l
详细显示
用法:ls–l或者ls–l目录
ls -l
注:l为字母,不是数字1。
ls–l /home
ls -a
显示所有的文件
用法:ls–a或者ls–a目录
ls–a
以.开始的文件为隐藏文件,此时也会显示,其他情况下不显示
ls–la /etc/
cp
复制文件
用法:cp原文件目标文件
cp /home/lion/test1 /home/lion/test/test2
注:文件可以加上路径名
cp -r
复制整个目录
用法:cp–r原目录目标目录
cp /home/lion/mjli /home/lion/test/mjli2
注:目录下的所有文件都会复制
mv
移动文件或者目录
和cp用法类似,但是移动后,原文件或者目录不存在。
mv /home/lion/test1 /home/lion/test2
注:移动目录时不用-r参数
mv /home/lion/mjli /home/lion/mjli2
touch
创建文件
用法:touch文件名
touch /home/lion/test1
mkdir
创建目录
用法:mkdir目录名
touch /home/lion/mjli
rm
删除文件
用法:rm文件名
rm /home/lion/test1
rm -r
删除目录
用法:rm–r目录名
rm–r /home/lion/mjli2
rmdir
删除空的目录
用法:rmdir目录名
rmdir /home/lion/mjli2
注:此目录必须为空,否则无法删除
cd
改变目录路径
用法:cd目录名
cd /etc
cd /home/lion
cd ..
到上一层目录中
用法:cd ..
cd ..
cd /
到根目录下
用法:cd /
cd /
pwd
显示当前的目录路径
用法:pwd
pwd
cat
查看文件内容
用法:cat文件名
cat /home/lion/test1
more
查看较长内容的文件
用法:more文件名
ls–l | more
注:more可以和别的命令连用,如ls–l | more
more /home/lion/test2
注:在显示中,
按空格键滚动一页,按回车键滚动一行,按q键退出
less
查看较长内容的文件
与more用法类似。
less /home/lion/test2
在显示中,按y可以向上滚动一行
ps aux
查看系统的进程
注意:参数aux最好一起使用
ps aux
kill -9
杀死进程
用法:kill -9 PID
kill -9 1231
注:PID(进程ID)可由ps aux命令来获取
w
显示在线用户信息
用法:w
w
注:比命令who的信息详细
who
top
显示系统任务信息,包括cpu、内存等
用法:top
top
mesg
是否接受其他人的write信息
用法:mesg y或者mesg n
mesg y
注:y为接受,n为不接受。
mesg n
write
传送信息给其他用户
用法:write用户或者write用户TTY。
write lion
注:TTY用于有区别多个同样的用户,可由w命令来获取。
write lion pts/2
passwd
修改密码
用法:passwd
passwd
注:超级用户可修改其他用户密码,此时为passwd用户
du
显示目录下的各个文件的占用磁盘情况(包括子目录下文件)
用法:du目录名
du
注:无目录名时为当前目录
du /home/lion
du -s
显示目录下的所有文件的大小
用法:du–s目录名
du–s
注:无目录名时为当前目录
du–s /home/lion
date
显示系统日期和时间
用法:date
date
uptime
显示系统运行时间
用法:uptime
uptime
clear
清除当前屏幕
用法:clear
clear
wc
统计文件,给出文件的行数、字数、字符数
用法:wc文件名
wc /home/lion/test1
grep
过滤文本
和其他命令连用,如
ls–l|grep string
ls |grep sring为只显示具有string的行
cat /home/lion |grep hehe
cat文件名|grep string为只显示文件中具有string的行
ps aux|grep test1
grep–n
过滤文本,把所找到的行在行前加上行号列出
用户与grep类似,加上参数即可
ls–l|grep–n string
ps aux|grep -n test1
grep–v
过滤文本,把不包含给定string的行列出
用户与grep类似,加上参数即可
ls–l|grep–v string