Linux入门到精通的学习与笔记_linux基础学习笔记

2020-02-27 其他范文 下载本文

Linux入门到精通的学习与笔记由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“linux基础学习笔记”。

【01 Linux系统介绍】

1、linux系统是完全免费的,而windows或者mac系统无论是个人版还是服务器版都是收费的。

如果光是有“内核”是实现不了什么具体的功能的,它只是一组核心的代码。而用户如果想要linux做事就必须要通过shell告诉linux要执行什么,然后linux执行完后再把结果通过shell返回给用户。

2、linux有两种界面模式:

1、字符界面;

2、图形界面。而字符界面的优点是可操作性强,而且占用硬件资源少(如果是图形界面需要占用cpu、内存和显卡等的资源很大,而如果是字符型界面的话可能64M的内存还运行的速度挺快的呢)。

3、linux有两种版本:

1、内核版本(没有任何的第三方软件或者第三方类库,可以理解为是一堆的c代码或者c++代码,它只是把核心操作系统的功能用c程序的方式表现出来,然后我们把它编译出来再去使用),要注意如下图中内核版本的版本号如果都是偶数说明这是一个经过修补和改进的稳定版本,如果都是基数说明这是一个测试版本,也就是可能会存在不确定的错误的地方,所以我们下载时要注意无论是内核版还是发行版都要下载稳定的版本。而“n”编号是某个人对内核进行的某个功能的修改然后用这个最小版本级别的“n”进行标示一下;

2、发行版本(就是直接把linux内核拿来然后集成进去常用的软件和配置然后再发行,其实我们自己也是可以这么做的)。

4、redhat是linux发行版的老大,centos觉得redhat违背了开源应当是免费的精神所以把redhat的源代码经过编译然后加入自己的东西就成了新的操作系统,其实redhat收费指的是对于需要安装第三方软件还有技术支持这类服务才收费的,如果你不需要这样的服务redhat系统下载下来还是可以免费使用的。Suse linux系统和redhat一样也是某些需要收费的,虽然也有一个它的免费的类似于centos公司的系统open suse,但是目前使用最多的发行版还是centos。要记住redhat和centos是两家公司。

而debian和ubuntu也是有渊源的,debian的稳定性是非常好的可是升级太慢了,而ubuntu每年4月份和10月份都是有升级的,而且ubuntu主要针对的是客户端的系统所以界面非常友好。

5、如何选择linux发行版:

1、稳定性;

2、硬件兼容性(就是对于硬件的兼容性,驱动程序的更新等等,其实这些发行版已经及时做到,就不用用户自己去考虑这些了);

3、高效率;

4、可持续性(也就是说这个厂商不会今天还发型新版本呢,明天就倒闭了)。

6、我们之所以选择linux系统用在服务器上是因为:

1、linux是自由软件;

2、linux是开源的,所以不会涉及到版权和费用问题的,如果选择windows肯定会涉及到版权和费用的;

3、windows在性能、管理、安全方面都要低于linux操作系统。

而且linux下面的所用到的网络软件如上图也都是开源免费的,而windows下面的这些类似于linux网络功能的软件就不是每个都免费的了,比如exchange就需要大价钱来购买的,sql server也是需要购买的。

【02 Linux系统安装(上)】

1、我们如果想要下载centos的linux版本可以直接去官方网站下载www.daodoc.com,但是这个官方网站是英文的而且安装的linux系统也是英文的,所以不方便。这时我们可以去国内的有些镜像网站去下载(国内有些大网站有针对于国外的镜像开源下载站),比如mirrors.163.com是网易的开源镜像站点,当然搜狐也有。

2、32位操作系统和64位操作系统最大的不同就体现在内存上,由于寻址方式的不同,32位操作系统最大只能支持到3G多或者4G的内存,即使你的内存再大,但多于4G也是不能被32位的操作系统识别的,而64位操作系统就不会存在这样的问题。如下图是在安装centos版本linux系统时选择安装32位的还是64位的,i386是32位的,x86_64是64位的,而两者安装时是没有任何区别的,只不过是在安装完成后对于内存支持的不同还有文件的扩展名显示方式不同。

3、如下图是比如说你选择了i386后出现的目录,由下图可知如果你要是把iso文件刻录到cd上面得需要7张cd盘,而如果是用dvd光盘只需要2张就够了(其实只需要第一张dvd关盘DVD-1of2.ISO就够了,因为第二张是一些比如office软件什么的了一些扩展功能了),所以为了节省成本还是用dvd方式刻盘吧。

注意上图是5.9版本的,所以如果是把系统安装盘刻成cd需要的是8张光盘,如果是刻成dvd的需要两张光盘。上面所说的需要7张cd光盘是针对5.8版本而说的。

4、如果是在虚拟机上安装不论是linux还是windows最好是直接通过你硬盘的镜像文件安装,因为这样要比用光盘的安装方式速度快而且也不容易出错,不过如果是在一台真正的电脑上安装系统的话就只能是通过光盘或者U盘的方式了。

【03 Linux系统安装(下)】

1、在安装linux时选择语言最好就选择英文的,因为即使你选择了中文的以后再安装其它软件时这个软件的界面也是全部英文的界面。

然后键盘也选择美国的标准键盘布局:

2、下图是linux自动给一个新硬盘分的区,linux中把一块硬盘称作sda,如果还有第二块硬盘就是sdb,如果还有第三块硬盘就是sdc。那么sda1就是第一块硬盘的第一个分区,sda2就是第一块硬盘的第二个分区。Ext3和physical都是文件系统格式,就相当于windows里面的ntfs或者fat32。“/boot”就说明这个分区是启动分区,如下图所示:

3、linux一般都用GRUB启动加载器(可以给这个加载器设置密码)来启动linux系统,因为linux默认的启动器会有一些bug。

4、配置网卡时可以不选择ipv6这个参数,因为国内大多数还是用的ipv4的ip地址(虽然现有的ipv4的ip地址快用完了),而且启动了ipv6就会多占用一个服务的。

5、如下图是设置linux的管理员root的密码的:

5、如下图是给linux系统选择需要安装的软件:

【04 Linux字符界面基本操作】

1、下图是本节课需要掌握的知识:

2、使用字符界面的好处如下图所示:

录和远程登录,putty的使用:、本地登

34、系统的启动级别:

5、本地登录linux可以在出现提示符“login:”后输入用户名然后回车,然后会提示输入密码“paword:”(此时输入密码时不会像windows那样出现星号的,而是什么都不会出现。如果密码输入正确会直接进入,如果输入错误会出现错误信息的),然后输入此用户名的密码然后回车。本地注销时只需要输入命令“logout”就可以了,系统就会重新回到登陆窗口了。

6、远程登录linux需要用到第三方软件putty,而下载putty可以在google上面搜索区putty的官方网站去下载。Putty是一个免费、开源、绿色的软件。在putty软件里面的seion里面输入要登录的linux的ip地址然后点击“open”,然后在出现的窗口中输入linux的用户名和密码后就能登录远程的linux了(第一次登录远程linux时会出现警告信息,此时直接点击确定就可以了)。

7、如果在putty里面不想每次都要输入seion中远程linux的ip地址的话,可以给要经常远程登录的linux保存一个seion,这样就不用每次都要输入远程linux的ip地址了。必须要启动linux系统后才能用putty登录linux系统,也就是形成一个seion。而不能没有启动linux就直接用putty来登录,这样是登录不进去的(也就是服务器都没开机你登录谁去啊)。

8、关机和重启命令的使用:

【05 Linux基本命令使用】

1、linux系统中的命令都遵循下图中所示的格式:

2、下图是通配符的使用:

3、在一个命令后加上选项的时候如果是每一个选项都是一个一个列出来太麻烦了,这时就可以用一个横杠“-”然后把所有需要加上的选项都加上就可以了。比如“ls –a –l”就可以写成“ls –al”,后者就比较简便了。

4、在windows里面文件类型有很多种,比如有.exe、.txt、.doc、.xls等等,但是在linux里面就没有这么多的讲究了,在linux里面用的最多的就是普通文件、目录和符号链接了,如下图:

如下图中小横线“-”开头的文件都是普通文件,这类普通的文件我们都是可以进行编辑、删除等操作的。

如下图最后面是蓝色字体,而且最前面是用“d”开头的是目录:

如下图开头是以“l”开头的是符号链接文件(目录和文件都可以进行链接):

6、用“cd..”可以退到当前目录的父目录,用“cd /”可以直接退到根目录下了。

7、文件的操作命令:

8、文本文件查看命令:

9、linux中的文件操作:

【06 Linux文件权限设置】

1、这节课的学习目的:

2、我们在输入一个命令的时候只要输入这个命令的前几个字母然后按两下“tab”键,linux系统就会把包括这前几个字母的所有命令给你列出来(当你忘了一个命令的完整写法时这种方法是比较有用的),这个就叫命令补全。如果你输入的前几个字母只可能会成为一个命令的时候,你只需要按一下tab键这个命令就会自动补全了。

3、“rmdir”只能删除空的文件夹(这个命令可能不能删除文件),而“rm”可以删除不是空的文件夹当然也可以删除文件,而且只要加上参数“-rf”就连提示信息都不会有就给删除了。命令补全也适用于目录,比如在输入命令“cd etc/sys”然后按“tab”键后linux系统就会自动列出包括“sys”开头的所有目录,这就是目录补全。文件补全和目录补全或者命令补全也是一个道理的。

4、在linux里面的文件可以有扩展名也可以没有扩展名,那么我们怎么来区分用目录补全的方式列出的是文件还是目录呢。在linux里面用目录补全的方法列出的目录和文件的清单里面,目录后面肯定有一个正斜杠的“/”,而文件是不会有的,如下图所示。

5、命令行补全,命令历史:

上图中的双感叹号“!”是执行上一次已经执行的命令(等于是重复执行上一次的命令),单感叹号“!”是加上一个已经执行过的命令的开头字母来实现功能的,比如“!c”(当然也可以多加上几个字母的)就是从执行过的所有命令中从后往前算,如果找到了一个比如是“cat hd1.txt”的命令那么就执行它,如果这个“cat hd1.txt”命令之前还有类似的命令比如“cat hd2.txt”就不会被执行了,因为单感叹号“!”只会从已经执行过的所有命令中找到最后一次执行的一个命令然后执行就完成了它的使命了,如果比这个找到的命令再早的还有首字母也是“c”的命令也不会执行了,因为单感叹号“!”只会执行一次命令的。当然单感叹号也可以加上用命令历史(history)显示出来的命令行号来执行如下图所示:

6、标准输入输出:

【07 Linux重定向和管道】

1、系统重定向:

输出重定向的单大于号“>”是会把先前输出重定向到一个文件的内容给覆盖掉的,比如用命令“ls >houdun”就是已经把“ls”的结果重定向到“houdun”这个文件里面去了,而现在又执行了另一个命令“uname –a >houdun”,那么文件“houdun”里面的内容就应该是“uname –a >houdun”的执行后结果内容了而不是“ls >houdun”的执行结果内容了(因为先前的结果被覆盖掉了)。单大于号“>”是覆盖,而双大于号“>>”就是追加了(也就是原来的内容还存在,新加的内容会在原来的基础上继续追加的)。其实重定向就是把信息不显示在屏幕上,而是把信息写到一个指定的文件里面去。

2、使用重定向的例子:

3、管道:

4、ctrl+l是清屏。

【08 Linux文件权限及设置命令(上)】

1、本节课的学习目的:

2、什么是文件权限:

当用“ls-l”查看文件或者目录的详细信息时,看到信息列表最前面的有“rw”的就表示当前用户可以对于这个文件进行读和写的操作:

3、如下图所示一个文件的权限分为3组,如红色方框处的第一组权限是对于当前用户具有可读可写的操作,第二组权限是用户组只对于该文件只具有可读的权限,第三组权限是其它用户针对这个文件只具有可读的权限。这是一个默认的权限(也就是当我们新建一个文件或者目录时,这个文件或者目录的权限就是自动设置成这样的)。

可以通过命令“ls-l”或者“ll”命令来查看文件或者目录的权限,但是要注意不是所有的linux系统都支持“ll”命令的,但是centOS是肯定支持的。如果其他发行版的linux不支持“ll”命令的话那么就乖乖的用命令“ls-l”吧。“ls-l”是linux的标准命令,而“ll”是某些发行版的linux系统为了方便使用才加上去的。

4、对于“其他用户”只有一个执行权限的目录,用“其他用户”登录后只能进入这个目录或者进入这个目录更深层的目录,但是不能进行新建文件和删除文件的操作,甚至连命令“ls”都是不可以用的。如果想要访问这个对于“其他用户”只有执行权限的目录下面的具有可读属性的文件的话,必须要知道这个文件名才可以访问此文件(因为此时无法用ls命令列出文件来,所以你就看不见文件名列表)。一个目录具有执行权限表示这个目录可以用“cd”命令进入,如果一个目录具有可读权限那么就可以用“ls”命令列出文件或者目录来,如果一个目录同时具有可执行权限和可读权限说明这个目录可以进入并且可以列出目录列表来。

5、三种权限的分配:

【09 Linux文件权限及设置命令(下)】

1、由上图可知如果你想要给当前用户加上写权限就可以用命令“chmod u+w”,如果是给用户组加上写权限可以用命令“chmod g+w”,如果是给其他用户加上写权限可以用命令“chmod o+w”。但要注意我们可以给当前用户或者用户组或者其他用户这三者其中的任意一个同时加上或者去掉读、写、执行权限,但是我们并不可以在一条命令里同时把当前用户、用户组和其他用户这三个组加上或者去掉权限,比如这个命令“chmod u+rwx g+rwx o+rwx”是不可以的。增加权限用加号“+”,减去权限用减号“-”,比如去除当前目录中的文件“houndun”的当前用户的所有权限的命令是“chmod u-rwx houdun”。如果用数字表示法来设置权限的话就可以在一条命令里把当前用户、用户组和其他用户这三者同时加上或者去掉权限了。因为读、写、执行对应的权限分别用八进制的4、2、1来表示,而同时具有读、写、执行权限就等于是把4、2、1给加上,那么就等于7了,所以在一条命令里把当前目录中的文件“houdun”的当前用户、用户组和其他用户这三个组同时加上所有的权限的命令是“chmod 777 houdun”。现在又想把文件“houdun”的当前用户、用户组和其他用户这三个组的写权限同时去掉的话,就可以用命令“chmod 555 houdun”(因为写权限的数字表示是2,用7减去2剩下的就是4和1了,也就是剩下读权限和执行权限了)。当然用数字表示法也可以同时针对当前用户、用户组和其他用户这三者分别设置成不同的权限,比如命令“chmod 745 houdun”(表示当前用户设置成读、写、执行权限,用户组是读权限,其他用户是读和执行权限)。

2、如下图所示,第一个root代表用户,第二个root代表此root用户所属的用户组。如果我们是通过root用户创建的文件或者目录,那么此文件或者目录一定是属于root这个用户的(此文件或者目录的属主是root),也一定是属于root这个组的。

3、用命令“chown zhangsan:zhangsan test/”可以把目录“test”的属主和所属用户组改成zhangsan和zhangsan(因为在创建zhangsan这个账号时就默认的创建了一个用户组zhangsan了,而且把用户zhangsan隶属于用户组zhangsan里面去了)。比如一个目录的当前用户是读、写、执行权限而其他用户权限只有读的权限,而现在这个目录是属于root的,所以这个目录的当前用户就是root,所以root可以对这个目录具有所有权限,而其他用户(比如zhangsan)只对这个目录具有读的权限。而现在如果把这个目录的属主改成zhangsan,那么zhangsan这个用户就可以对这个目录具有读、写、执行的权限了,因为这个目录的当前用户变成zhangsan了,而root用户变成了这个目录的“其他用户”了。所以用命令“chown”通过改变文件或者目录的属主也就可以间接的改变用户对于这个目录或者文件的权限了。

4、特殊权限位:

SUID:就比如只有管理员才能执行的命令现在给它设置SUID权限,那么现在普通用户也可以执行这个命令了,而普通用户并不是用普通用户的身份执行的这个命令,而是借助管理员的用户执行的,当普通用户执行完这个命令后还会回到普通用户的状态的。

UGID:比如把一个目录的属主的用户组改成group,并且这个group组对于这个目录具有rwx的权限,并且这个目录的权限设置成SGID,然后新建两个账号test1和test2都加入到同一个用户组group里面去,这样就可以实现用test1创建的文件用test2用户登录也可以修改,用test2创建的文件用test1用户登录也可以修改了,如果不把这个目录的权限设置成SGID的话就不会有这个功能了(也就是用test1创建的文件用test2用户登录也可以修改,用test2创建的文件用test1用户登录也可以修改的功能)。当然特殊权限用的时候不是很多。

sticky-bit:就是一个设置了sticky-bit权限的目录下面的文件或者目录必须由此文件或者目录的属主来删除,其它的用户根本没有权限删除(即使其它用户对这个文件或者目录具有写权限)。

【10 Linux系统查找(上)】

1、本课学习目标:

2、windows里面进行查找文件的操作很方便,但是windows需要对整个硬盘分区进行扫描看看有没有匹配的文件,所以速度会很慢。而linux里面的查找方式和windows就有所不同了。

3、which只能查找在指定目录的可执行文件,对于不是可执行的文件which是查不到的。即使我们把一个文件的权限改成可执行的也是查不到的,因为which只能查找linux系统的环境变量设置的路径里面的文件(因为linux的可执行文件都存放到如下图所示的目录里面)。通过命令“env”可以查看当前的管理员账号的linux的环境变量的路径。

当然可以通过用命令“vim /root/.bash_profile”修改这个文件“.bash_profile” 来给这个环境变量增加内容,如下图中“$PATH”和“$HOME/bin”都是linux默认的环境变量,我们可以在它们的后面加上一个冒号然后添加上我们自己设定的环境变量路径。但是要注意刚给root用户添加好自己的环境变量后不会马上生效的(用命令“env”不会查到刚刚添加的环境变量路径),而是要用root用户重新登陆后才能使刚刚添加的环境变量生效的:

所以总结而言which是用来查找linux中可执行文件的(如果我们要查找可执行文件,比如命令什么的首先要选择which),which只能查找linux环境变量路径里面的文件,which是查找不了不在linux环境变量路径里面的文件的,which查找不了不可执行文件。所以which查找的速度是非常快的。

4、在linux安装软件的时候是要遵循严格的规矩的,比如软件的可执行文件必须安装在哪里,软件的配置文件必须安装在哪里,软件的帮助文件必须安装在哪里等等。而用命令“whereis”查找是不像“which”那样只能基于环境变量路径来查找的,“whereis”不但能够查找出和你输入文件名相同的可执行文件,也能够查找出和你输入文件名相同的配置文件、帮助文件等等。但是“whereis”有一个问题是:它只能查找自己的数据库里面的信息(当我们安装软件的时候相关的信息就会写到whereis相应的数据库里面了),所以它的速度也是相当快的。

5、命令“locate”可以把包含你要搜索的字母或者词的所有文件都显示出来,而不是必须要精确到你所输入的内容(指的是字符不能多也不能少),所以“locate”相当于模糊查找,比如你要搜索pa,那么“whereis”和“which”都会只找和pa名字一模一样的文件,而“locate”就会把比如“llpae、patedd、mlocapa”等文件都会列出来的。所以用“locate”查找出来的内容很多,这时我们可以把列出来的内容用输出重定向来重定向到一个文件里,这样方便我们以后查看,而不是列在屏幕上造成看起来很麻烦的结果。“locate”也是查找自己的数据库的。

6、总结一下:“which”只能查找程序的可执行文件,“whereis”不但能查找程序的可执行文件还能查找配置文件还有帮助文件等等,“locate”不但能查找程序的可执行文件、配置文件还有帮助文件等,还能模糊查找出好多其它的文件。在linux系统中用“which、whereis、locate”基本上已经能满足大多数人(70%)的需求了。

7、用“find”命令来查找就相当于windows里面的查找了,它是针对整个硬盘或者整个分区进行查找的,如果你的linux电脑是web服务器或者文件服务器那么数据量可能有几百GB,那么你要是用“find”查找一个文件是非常耗时耗力的。所以不推荐使用“find”进行查找,但是我们如果不是想要查找可执行文件,或者是安装软件时的一些文件,而是想要查找我们自己创建的文件就需要用到“find”了。

8、如果直接输入“find”的话,它会把你当前目录的所有文件、目录、甚至隐藏文件都给你列出来。

上图中“find /-mtime 0”表示查找24小时内修改过的文件(mtime代表修改过的文件),“find /-mtime 3”代表前三天的那一天(而不是指这三天)修改过的文件,“find /-mtime 100”代表前100天的那一天(而不是指这100天)修改过的文件。“find /-mtime +5”代表5天前所有被修改过的文件(这些被修改的文件不仅包括你自己修改的文件,也包括系统调用程序时修改过的文件)。“find /-mtime-5”代表5天以内所有被修改过的文件。上图中“-atime”代表被读取过的文件。上图中“find /-name pawd”代表要查找和pawd全匹配的文件(只是包含pawd字符的不算,必须要全字匹配才成),注意此时是区分大小写的(也就是pawd和Pawd是不同的),如果你不想要区分大小写就用命令“find /-iname pawd”。

上图中“find /-size +1000k”是表示在根目录下查找文件大小大于1000k的文件,“find /etc –name ‘*pa*’”表示etc目录下面的所有包括“pa”的文件名或者目录名的都给列出来,其中星号“*”代表通配符。

【12 Linux系统文本编辑器VI操作(上)】

1、windows里面的记事本和写字板都属于文本编辑器,linux系统中的文本编辑器也有很多,VI就是其中最优秀和使用最频繁的一种。文本编辑器和办公软件的不同之处在于:文本编辑器就是用来记录文字的,它的功能非常简单。而办公软件可以对于文字有更多的操作功能,比如对于文字的排版、美化等等,这些都是文本编辑器所不具备的。文本编辑器是基于ascii码的,所以运行起来特别快。但是如果想要进行更多的操作,比如插入图片,文本编辑器就爱莫能助了。

2、vi和vim都是文本编辑器,它们的内核是相同的,vim相当于是vi的升级版(vi的功能没有vim多)。但是要注意vi是可以编辑任何文本的,但是vim必须在你的linux系统中已经安装了后才能使用。在好多的linux发行版中默认的就安装了vi了,而且linux中许多的程序默认也是通过vi来进行编辑的,所以我们要很好的掌握vi。

3、各种文本编辑器的特点:

4、vi的三种状态模式:

需要掌握的vi技术:

5、用vi新建一个文本文件的命令是“vi houdunwang”(其中新建的文本文件的文件名是houdunwang)。如果想要保存这个文本文件那么在vi编辑器中输入“:w”就可以了。如果想从vi编辑器模式退出输入“:q”再回车就可以了,不过要注意如果你在一个新建的文本文件里面没有输入任何的内容也没有保存你就退出了的话,那么这个文件是不会被创建的(因为这个文件里面什么内容都没有,它只是在内存缓冲区存在过而已)。如果你把一个什么内容都没有输入的文本文件保存了,那么这个文件是会被创建的,不过这就是一个空白的文本文件了。比如你执行命令“vi houdunwang”,如果此时houdunwang这个文件在当前目录中不存在那么就会新建这个文件的,并且文件名是houdunwang,如果这个文件已经存在了那么vi就会打开这个文件的。如果想要在vi编辑器中保存并且退出vi编辑器的话就输入命令“:wq”(当然也可以先执行“:w”然后再执行“:q”)。用vi打开这个文件和用vim打开一个文件是一样的,不过如果你发现用vim不能打开一个文件的话那么你就乖乖的用vi打开吧(因为vi是linux集成好的一个编辑器,而vim不是,但是vim的功能要比vi多)。

6、vi普通模式的光标移动和翻页操作:

我们在vi中只能用键盘来进行操作,而不能像图形化界面似的用鼠标来进行复制粘贴等操作。

7、我们用vi新建或者打开一个文件时默认的模式就是普通模式,在普通模式中我们可以进行文本的复制和粘贴,光标的移动等等操作:

8、用命令“set nu”可以把vi编辑器中的行号显示出来。

9、如果要输入命令的话就需要在vi的命令模式下才可以,vi的插入模式其实就相当于对于文件内容的编辑模式,在插入模式中所有的字母和数字都可以正常的输入了,当然也可以进行文字的添加和删除或者修改了。Vi的普通模式中的每个字母或者每个数字都有它特定的含义(比如光标移动、上下翻页等等),在vi的普通模式中是输入不了内容的。其实普通模式基本上是在进行文字的查找,而插入模式是对文字进行编辑、删除的。普通模式可以直接转换到插入模式或者命令模式,而命令模式和插入模式是没有办法直接相互转换的,而是都需要先转换成普通模式然后再转换到插入模式或者命令模式。按“esc”键可以从插入模式或者命令模式转换到普通模式。【13 Linux系统文本编辑器VI操作(下)】

1、通过不同的方法进入插入模式:

2、下图所示表示在普通模式下进行的删除操作:

3、下图是撤销的操作:

4、复制与粘贴操作:

5、字符串查找、替换操作:

6、使用vi打开多个文件的命令是“vi file1 file2 file3”。

【14 Linux系统进程管理与作业控制】

1、程序是一组代码的集合,然后经过编译后就可以形成可执行程序。而程序在运行过程中才会产生进程,而一个程序可能产生一个进程也可能产生多个进程的(究竟产生几个进程要根据软件自身的编写情况而定),而当一个程序结束时它相应的一个或者多个进程也会动态的跟着结束的。程序员在设计程序时就会考虑到这个程序需要几个进程,每个进程的名字会不会和其它软件的进程名字相冲突等等这些要注意的事项。

2、下图是用命令“ps-ef”显示详细的进程信息的,其中UID指的是这个进程是基于那个用户的。PID指的是子进程号,PPID是父进程号(子进程是由父进程派生出来的)。

3、软件可以分为系统软件和应用软件,而应用软件又可以分为视频软件、办公软件、下载软件、安全软件等等,系统软件可以分为windows、linux、unix、mac等等。进程也是有很多种类的{

1、后台进程(守护进程):就是在系统启动时就跟着一起启动的,比如邮件服务进程sendmail,但是我们也可以对它进行操作,比如用命令“service sendmail stop”把它给停掉;

2、交互进程:也就是可以手动启动也可以设置成随着系统启动一起启动的进程。

4、比如我们写一个程序,这个程序的功能就是向屏幕输出一句话,那么当我们执行这个程序时就会产生一个进程,但是因为这个程序的作用只是输出一句话就结束了,那么这个程序相应的进程也就马上结束了(这个就是进程生命周期的体现),所以你用“ps”命令是查不出来这个进程的,如果想要查出来这个软件的进程的话就需要让这个程序总是在执行着才行。如果要结束一个进程我们可以用命令“killall”把进程给杀掉,不过我们在关闭软件的时候还是要通过正常的方法关掉而不要采用这种杀进程的方法关软件(不然软件可能会出现不能用或者数据丢失的现象的),除非当我们用正常的方法关闭软件时却发现这个软件相应的进程还存在,这时我们就可以用杀进程的方法把这个软件的进程给杀掉了。

5、命令“killall –u apache”的意思是把进程的用户是apache的所有进程都给杀掉。但是我们发现把apache的所有进程杀掉后过了10秒后刚才被杀掉的进程又重新出现了,但是杀之前的子进程号和杀之后的子进程号不同了,但是父进程号还是一样的,这是因为软件为了维持它自己的正常工作会自动派生出它自己的子进程的。如果想要彻底的杀掉apache这个进程就直接杀掉它的父进程,比如命令“kill 3957”就是直接把apache的父进程号找到然后杀掉了。如下图所示:

如果按照进程号杀进程的话建议用命令“kill 进程号”,如果是按照用户来杀进程的话建议用命令“killall 用户名”(用这种方法要注意它的父进程是否存在,因为杀掉子进程后父进程还是会派生出新的子进程的。有的软件是没有父进程和子进程一说的,也就不会存在父进程又会派生出新的子进程的概念了,所以用这种killall的方法就可以把一群进程都给杀掉)。

6、在一个进程执行时可以用“ctrl+z”来暂时的停止它。可以把一个进程放到前台来执行,这样屏幕会有显示,但也可能你就做不了其它的操作了。也可以把一个进程放到后台去执行,这样你在前台还可以做别的操作。有时比如我们想要执行的程序需要工作很长时间,如果这样我们就做不了别的操作了,这时我们就可以把这个进程放到后台去执行,然后我们就可以在前台做其它的操作了。用命令“jobs”可以查看我们自定义程序(也就是不包括系统服务进程、守护进程等等)的作业状态。用命令“fg”就是让程序在前台运行,用命令“bg”就是让程序在后台运行。一般我们最好让一个程序在后台执行,因为这样做这个程序有什么信息输出或者错误信息输出也不会显示在前台了,也就不会影响我们在前台进行别的操作了,不然的话我们就只能乖乖的等着这个程序执行完毕后才能进行别的操作了。

【15 Linux系统shell脚本编程

(一)】

1、本章学习目标:

2、什么是shell脚本:

shell是命令解释器的意思,也就是我们在终端(比如黑底白字的命令行窗口,或者我们用putty登录远程linux后的命令行窗口)输入的命令,shell负责帮我们传递给linux系统,然后linux系统执行完再把结果给shell,然后shell再传递给我们,所以shell是用户和linux之间的一个接口,我们如果想要和linux对话就只能通过shell了。

一般情况下我们写的如果不是太复杂的shell脚本的话都不会用到结构控制语句的。

3、shell脚本的建立与执行:

如果对一个shell脚本程序没有执行权限的话可以用“sh”的方式执行,如果用“./”方式是执行不了的,除非把这个程序的权限设置成可执行的。

4、shell脚本的编码规范:

注意“#!/bin/bash”是最好要加上的,因为加上linux就会用/bin/bash里面的shell了,不然可能用的不是/bin/bash里面的shell。如果linux默认的就是/bin/bash里面的shell可以不用加上这句,但是为了养成好习惯还是要加上的。【16 Linux系统shell脚本编程

(二)】

1、shell变量名一般情况下都是用小写的字符,如果用大写的字母会给人看起来不方便的:

2、注意如果想要shell做加减乘除的运算就需要严格遵守shell的语法规则,比如先定义变量a=20和b=30,如果想要输出a+b的值就要用命令echo $(($a+$b)),这个意思也就是把变量a和变量b的值相加后的值再赋给一个变量(也就是最外面的小括号就是这个被赋值的新变量,这个理解起来有点抽象),然后再通过echo命令把这个被赋值的变量的值给输出出来,也就是要用到两个小括号。

3、shell字符串操作:

【17 Linux系统shell脚本编程

(三)】

1、shell中的判断:

要注意的是判断文件是否有读、写、执行权限时,即使是把一个文件的读、写、执行权限都去掉的话,如果这个文件是root创建的,那么对于root用户来讲也是对这个文件具有读、写、执行权限的,而对于其它用户就不会有这种特殊情况了(比如如果是用zhangsan这个用户创建的文件,如果这个文件的读、写、执行权限都被去掉的话,那么zhangsan这个用户此时就对这个文件不具有任何权限了;这个和上面说的root用户的情况就不同了)。所以当用test判断当前用户对文件是否有权限的时候还要考虑到这个文件的属主问题。

上图中要注意中括号内(中括号的两边最边上)和变量或者常量间要有空格,“==”两边也要有空格,不然执行此命令时会报错的。

2、条件判断:

【18 Linux系统shell脚本编程

(四)】

1、多分支除了if形式还有case的形式,如下图所示read命令是读取用户从终端输入的值然后赋值到变量number中,case下面的1、2、3、*代表变量number的各种可能的值,如果满足就执行随后的语句。注意每个条件后面要有两个分号:

case多分支和if多分支在功能是一样的,只是语法形式不同,你想用哪个就用哪个。

2、我们在写一个shell程序后然后执行,但是如果报错了,比如报的是13行有错误,此时在检查shell程序时发现不一定是13行的错误,有可能是12行的错误,但是报错的时候报的却是13行的错误。

3、???我们在写shell程序时判断结构用的比较多,而循环和分支结构用的比较少。

【19 Linux系统shell脚本编程

(五)】

1、循环语句:

应注意的是上图中while后面如果是双小括号那么里面的比较符号可以用“、>=”等等,可如果while后面的是中括号那么里面的比较符号必须用“-eq、-no、-gt、-qe、-lt、-le”代替“、>=”了,还要注意如果是用中括号那么别忘了比较符号两边和中括号里面要加上空格进行隔开。为了标准化linux建议大家不论是分支结构还是循环结构都要使用中括号的方式,双小括号的方式一般是用来进行整数运算的。

在循环结构里面“大于、小于、大于等于、小于等于”用的比较多,而分支结构里面“等于”用的比较多,比如上图中如果“$i”和“5”之间的比较符号是等于的话那么这个循环结构根本就不会执行的。

2、如下图是until循环,它和while循环最不同的地方就是while是当条件满足时就执行循环体内的语句,而until是一直执行循环体内的语句直到条件满足时才结束。也就是while是条件满足时执行循环体,而until是条件不满足时执行循环体。

【20 Linux系统shell脚本编程

(六)】

1、for循环小例子:

For循环要用这种双小括号的形式而不用中括号的形式,因为for循环的双小括号里面涉及到了变量赋值,变量递增等操作,而while或者until条件里面只涉及到条件判断、条件比较等操作。

2、function其实就是一个分支程序,也就是把一个重复性的操作写成一个function,然后主程序需要时就直接调用这个function了,这样做的目的是为了避免每次写程序时都要写重复性的操作。如下图中,为了避免每次输出内容时都要写上“your input is”这句话,所以就把这句话写成了一个function(这个function的名字是print),然后主程序需要时就直接调用这个function了。下图中所示的程序写的不是很完美,但是能够表达出function的意思来:

【21 Linux系统yum安装软件(上)】

1、本章学习目的:

几乎所有的linux发行版都支持上图中的3种安装软件的方法。

2、yum是一个应用软件,如果只安装了linux内核是没有yum这个应用软件的,yum是集成到发行版linux系统中去的。

3、linux应用程序和命令的关系:

4、应用程序和第三方应用程序:

5、linux应用程序组成:

6、为什么使用yum:

Linux系统在用yum方式安装软件的时候必须是联网状态,如果不是联网状态那必须在本地配置一个软件池,这个软件池可以在你公司内部专门存放软件的服务器上,也可以在自己的电脑上,但是利用这种本地软件池的方法却很少用,因为本地存放软件不论是在容量、更新程度等等都比不上互联网上的软件。

因为centos的linux系统的软件仓库在centos的官方网站上,所以在国内下载安装软件时速度会比较慢。

【22 Linux系统yum安装软件(下)】

1、如下图所示画红色横线的文件就是配置linux软件仓库的。因为centos默认的是centos官网上的软件仓库,因为centos是国外的,所以国内下载软件时速度会很慢。而国内的很多网站也是支持开源的软件仓库的,比如网易、搜狐、教育网的,所以我们可以把yum的软件仓库改成国内的。

2、如果想要修改软件仓库的源的话,首先要把原先默认的配置软件仓库的文件备份一下,因为如果哪一天你可能还想使用默认的呢。首先我们可以把默认的配置软件仓库的源文件改名(因为改了名字yum在下载或者更新软件的时候就不会到这个文件里面去找软件仓库的配置文件了,因为不认识这个文件了),比如把源配置文件“CentOS-Base.repo” 改名成“CentOS-Base.repo.backup”,可以用命令“mv CentOS-Base.repo CentOS-Base.repo.backup”。然后去网易的开源软件网站“mirrors.163.com”,根据出现网页的centos后面的帮助文件操作。先把网易的软件仓库配置文件下载下来(网易的软件仓库配置文件应该是CentOS5-Base-163.repo),然后再进行更新缓存操作可以用命令“yum makecache”,然后在执行搜索软件或者下载软件时就是用的网易的软件仓库了。

3、网站“mirrors.163.com”是网易的开源软件库,里面支持的系统和软件非常多。在这个

《Linux入门到精通的学习与笔记.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
Linux入门到精通的学习与笔记
点击下载文档
相关专题 linux基础学习笔记 入门 笔记 Linux linux基础学习笔记 入门 笔记 Linux
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文