韩顺平linux视频学习笔记整理

韩顺平linux视频学习笔记整理
韩顺平linux视频学习笔记整理

Linux操作系统学习

linux的特点

优点:

1、免费的/开源的系统

2、支持多线程/多用户的系统

3、安全性好

4、对内存和文件管理优越

linux体积最少只需要内存4M,由于小所以可以做嵌入式开发

缺点:

操作相对困难

Linus于1991年至1994年将unix的微型版minis加以开发出linux

现在redhat红帽子、BSD、SUN等公司进行再发行

在windows环境下可以使用(VM等)虚拟机来运行linux

在linux运行startx命令可以进入图形操作界面

root是linux下的系统管理员

普通用户登陆后可以用su- 切换为系统管理员

关机命令

shutdown -h now 立刻进行关机

shutdown -r now 现在重新启动计算机

reboot 现在重新启动计算机

logout 注销

vi编辑器是linux下最有名的编辑器,也是学习linux必须掌握的工具,在unix下也可使用vi进行程序的开发

linux可以做java/c开发

在linux的vi编辑器内写一下简单的java程序“hello,world”

1、Vi Hello.java

2、输入i[进入到插入模式]

public class hello{

public static void main(String []args){

System.out.println("hello,world");

}

}

3、输入esc键[进入命令模式]

4、输入wq保存退出/q!退出但不保存

6、编译javac hello.java

javac Hello.java

7、运行 java Hello [java运行的是class文件]

ls命令显示当前文件

ls -l命令显示详细文件列表

如何在linux下开发c程序或是c++(cpp)程序

建立vi hello.cpp

#include

int main(){

printf("hello!");

return 0;

}

gcc hello.cpp 用gcc编译器编译出来未命名会是a.out文件

gcc -o [文件名] [源文件名] 用gcc编译器编译文件命名

/a.out 在linux下运行c程序只要输入/就可以运行

------------------------------------------------------------

linux下的文件目录

linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层

是根目录“/”,然后在此目录下再创建其他的目录

深刻理解linux文件目录是非常重要的。

linux下的根目录中重要的目录如下是系统自动分配的

root目录、home目录、bin目录、sbin目录、mnt目录、etc目录、var目录、boot目录、usr目录、tmp目录(均为同级目录)

root目录:用于存放root用户相关文件的目录

home目录:用于存放普通用户的相关文件的目录

bin目录:用于存放常用命令的目录

sbin目录:用于存放要具有一定权限才可以使用的命令的目录

mnt目录:用于默认挂载软驱、光驱的目录

etc目录:用于存放配置相关的文件的目录

var目录:用于存放经常变化的文件的目录

boot目录:用于存放系统引导文件的目录(重要)

usr目录:用于存放安装的默认目录(安装文件会默认安装在usr目录里)

tmp目录:用于存入临时文件的目录

cd /返回到主目录下

ls与dir功能相同显示目录名

显示当前在哪个路径下面

pwd命令是显示当前在哪个路径下

--------------------------------------------------------------

linux的用户管理(普通用户无法使用)

useradd命令:useradd 用户名(添加用户)

passwd命令:passwd 用户名 (修改用户密码)

userdel命令:userdel 用户名 (删除用户)

userdel -r 用户名(删除用户以及用户主目录)

--------------------------------------------------------------

linux的常用命令

指定运行级别

命令:init[012356]

运行级别

0:关机

1:单用户

2:多用户状态没有网络服务

3:多用户状态有网络服务

4:系统未使用保留给用户

5:图形界面

6:系统重启

常用运行级别是3和5,要修改默认的运行级别可改文件/etc/inittab的

id:5:initdefault:这一行中的数字

在启动引导界面的时候按e进入编辑,在进入grub引界面时,请输入e在选中第二个选项按e,在最后输入 1[单用户级别] 然后按b进入单用户模式。

*:可通过此方法进行linux用户密码的修改

--------------------------------------------------------------

linux常用命令(2)

命令pwd [显示当前工作目录]

命令cd [改变目录]

命令ls [列出文件和目录]

ls -a 显示隐藏文件

ls -l 显示长列表格式

命令mkdir [建立目录]

命令rmdir [删除空目录]

--------------------------------------------------------------

linux常用命令(3)

tab键可以补全相应内容

命令touch [建立空文件]

命令cp [复制命令]

cp -r dir1 dir2递归复制命令(复制子目录信息)

命令mv [移动文件和改文件名]

命令rm [删除文件和目录]

rm -rf * [删除所有内容(包括目录和文件)r递归f强制]

命令ln [建立符号连接]

ln -s 源目标

ln -s /etc/inittab inittab [inittab指向实际文件/etc/inittab]

-------------------------------------------------------------------

linux常用命令(4)

命令more [显示文件内容,带分页]

命令less [显示文件内容带分页]

命令grep [在文本中查询内容] grep -n "查找内容" [文件名]

命令| [管道命令] 在linux和unix系统中|就是管道命令,把上一个命令的

结果交给|的后面的命令进行处理

命令man [相当于dos下的help]

例:Grep –n “查找内容” [文件名] | more

-------------------------------------------------------------------

linux常用命令(5)

命令find [搜索文件及目录]

在linux中,因为文件系统是以级别式的结构来组成的,所以要在整个系统中找到特定的文件和目录并不是件容易的事。而"find"命令可以解决上述问题。

1、在特定的目录下搜索并显示指定名称的文件和目录

find / -name man:意思是说从根目录开始搜索名称为man的文件或目录

2、搜索一段时间内被存取/变更的文件或目录。

find /home -amin -10:十分钟内存取的文件或目录

find /home -atime -10:十小时内存取的文件或目录

find /home -cmin -10:十分钟内更改过的文件或目录

find /home -ctime +10:十小时前更改过的文件或目录

3、搜索指定大小的文件。

find /home -size +10k:意思是说查找/home目录下大小为10k的文件

-------------------------------------------------------------------

linux常用命令(6)以文件头字段来判定文件类型,并非以文件后缀名来判定。

重定向命令:管道定向命令">"为覆盖,">>"追加写在原文件内容后面

ls -l > a.txt 列表的内容写入文件a.txt中(覆盖写)

ls -al >> aa.txt列表的内容追加到文件aa.txt的末尾

从文件中输入信息database_program

-------------------------------------------------------------------

文件所有者、所在组和其它组

在linux中的每个用户必需属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念。

(1)所有者

一般为文件的创建者,谁创建了该文件,就是天然的成为该文件的所有者。

用[ls -ahl]命令可以看到文件的所有者

你也可以用[chown 用户名文件名]来修改文件的所有者。

(2)所在组

当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组。

用[ls -ahl]命令可以看到文件的所有组。

你可以通过[chgrp 组名文件名]来修改文件所在的组

(3)其它组

除开文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。

(4)改变用户所在的组

在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某个用户所在的组:

usermod -g 组名用户名

你可以用

usermod -d 目录名用户名改变该用户登陆的初始目录

如何在linux中添加组

需要用root用户来添加,普通用户无法进行用户和组的添加

添加组命令:groupadd 组名

查看linux中所有组的信息

命令:vi /etc/group

查看命令:cat /etc/group

组名:x:组ID号:

创建用户,并同时指定将该用户分配到指定组。

命令:useradd -g 组名用户名

查看linux中所有用户信息

可编辑查看命令:vi /etc/passwd

查看命令:cat /etc/passwd

用户名:x:用户ID:用户所在组ID:注释:/用户主目录/:该用户所用的shell解释器

设定密码

命令:passwd 用户名

- rw- r-- r--

-为文件类型,-为普通文件,d为文件夹,l为链接

rw-文件的所有者对该文件的权限。权限分三种1、r可读也会用4表示;2、W可写也会用2表示;3、X可执行也会用1表示。

r--文件所在组对该文件的权限

r--其它组的用户对该文件的权限

如何修改文件的访问权限的问题?

注:修改文件访问权限只有root用户和文件所有者。

查看当前操作人员命令who am i

命令chmod为修改文件访问权限的命令。

chmod 777 用户名

解释:

- --- --- --- 000

- r-- r-- r-- 444

- rw- rw- rw- 666

- rwx rwx rwx 777

- rwx rw- r-- 764

Linux下程序安装

javaee开发环境搭建,JDK的安装

概述:要在linux下开发java程序,则需要安装JDK。实际上目前有很多java后台程序就是运行在linux环境下运行的。也是将来的发展趋势。

JDK的安装步骤:

1、把镜像ISO文件挂载到linux操作系统上。(linux系统是用挂载和卸载来管理分区文件的。)

在虚拟机上做好配置,在根目录下进行操作:

挂载光驱命令:mount /mnt/cdrom/

挂载光驱

卸载光驱命令:umount /mnt/cdrom/

2、把安装文件copy到/home目录下(文件名过长要用tab键来自动补全文件名)

命令:cp 文件名 /home

3、切换目录到/home

命令:cd /home

4、安装(./)是解压缩命令

命令 ./ 安装文件名.bin

输入yes后开始安装,输入no不安装。

5、看看一个文件/etc/profile (环境配置文件)

linux下用#来作注释。

6、配置profile环境配置文件

-------------------------------------------------------------------

javaee开发环境搭建 eclipse的安装

概述:要在linux下开发java程序。则需要安装JDK,如果要在集成开发工具(IDE)下开,可以安装eclipse软件。

eclipse安装

1、挂载eclipse.iso文件

2、将eclipse复制到/home目录下

3、安装

tar.gz文件的安装命令:tar -zxvf 文件名.tar.gz

4、启动eclipse[进入图开界面]

打开终端控制台

进入eclipse文件后

./eclipse

myeclipse安装同上需在图形界面下安装

JDK/eclipse/myeclipse三个按顺序安装后才可以使用J2EE的开发

-------------------------------------------------------------------

javaee开发环境搭建 tomcat的安装

概述:我们知道javaee的服务器有tomcat、jboss、weblogic、websphere、resin...这些都可以安装到linux下,我们给大家安装tomcat

tomcat用于开发小、中型项目(免费)jboss也是免费的。

weblogic、websphere用于开发大型项目(收费)

安装同上

注释重点:

bin文件安装使用./ 文件名.bin

tar.gz文件安装使用tar -zxvf 文件名.tar.gz

unzip解压缩zip文件:unzip 文件名.zip

zip压缩文件:zip 压缩包文件名.zip 要压缩的文件名

在图形界面下运行文件后要加&进行后台运行

控制台下运行文件命令./文件名 &

./eclipse &

-------------------------------------------------------------------

javaee开发环境搭建 Mysql数据库的安装

概述:毫无疑问,没有数据库,javaee项目将会暗淡无光,所以我们必须掌握如何在linux 下安装和使用数据库。在linux下除了microsoft的sql server不能安装外,其它主流的数据库都可以安装。比如Mysql、oracle、db2...关于如何在linux下安装Mysql数据库我们在后面讲解,各位同学可以问问google大神,看看能不能自己搞定!

-------------------------------------------------------------------

linux下娱乐软件 realplay

概述:linux下一样有很多娱乐软件,比如播放影的软件之王realplay。我们给大家演示一下。请注意这次我用的是.bin的安装文件。

安装realplay

1、把安装文件copy到home目录去

2、安装./realplay

-------------------------------------------------------------------

linux分区(1)

概述:首先我们要对硬盘分区的基本概念进行一些初步的了解,硬盘的分区主要分为基本分区(Primary Partion)和扩展分区(Extension Partion)两种,基本分区和扩展分区的数目之

和不能大于四个。且基本分区可以马上被使用但不能再分区。扩展分区必须再进行分区后才能使用,也就是说它必须还要进行二次分区。那么由扩展分区再分下去的是什么呢?它就是逻辑分区(Logical Partion),而且逻辑分区没有数量上限制。

-------------------------------------------------------------------

linux分区(2)

对windows的用户来说,有几个分区就有几个驱动器,并且每个分区都会获得一个字母标识符,然后就可以选用这个字母来指定在这个分区上的文件和目录,它们的文件结构都是独立的,非常好理解。但对这些用户初上手Red Hat Linux吗,可就有点恼人了。因为对Red Hat Linux用户来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构。Red Hat Linux中每个分区都是用来组成整个文件系统的一部分,因为它采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。下面我们先来看看Red Hat Linux的驱动器是如何标识的。

/dev/sda1

sda1:sd硬盘类型,a第一块硬盘,1代表分区

-------------------------------------------------------------------

linux分区(3)

对于IDE硬盘,驱动器标识符为"hdx~",其中"hd"表明分区所在设备的类型,这里是指IDE 硬盘了。"x"为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),"~"代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示为第一个IDE硬盘上的第三个分区或扩展分区,hdb2表示为第二个IDE 硬盘上的第二个主分区或扩展分区。对于SCSI硬盘则标识为"sdx",SCSI硬盘是用"sd"来表示分区所在设备的类型的,其余则和IDE硬盘的表示方法一样。

-------------------------------------------------------------------

linux分区(4) 几个重要的命令

挂载命令

mount [-参数][设备名称][挂载点]

特别说明:在挂载光驱时,可直接使用mount /mnt/cdrom/

卸载命令

umount [设备名称]

查看磁盘使用情况

df [参数]

比如 df -l

查看某个目录是在哪个分区

df -h

查看分区(磁盘)使用情况

df [目录全路径]

查看linux系统分区具体情况

fdisk -l

-------------------------------------------------------------------

linux安装

linux安装有两种方式

1、双操作系统

2、完全独立安装

linux安装时,分区是关键

1、/boot引导分区 100M

2、/swap交换分区一般是你的物理内存的2倍,但不要大于256M

3、/根分区尽可能大

-------------------------------------------------------------------

*:samba服务是必需掌握的,用来于windows文件共享

linux下shell介绍 shell的概念

概述:每个人在成功登录linux后,系统会出现不同的提示符号。例如$、~、#等,然后你就可以开始输入需要的命令,若是命令正确,系统就会依据命令的要求来执行,直到注销系统为止,在登录到注销期间,输入的每个命令都会经常解译及执行。而这个负责的机制就是shell

linux下shell介绍 shell编程

概述:其实作为命令语言互动式地解释和执行用户输入的命令只是shell功能的一个方面,shell还可以用来进行程序设计。它提供了定义变量和参数的手段以及丰富的程序控制结构。使用shell编程类似于DOS中的处理文件,称为shell script,双叫shell程序或shell命令文件。(推荐书《linux命令、编辑器和shell编程》)shell与windows下的批处理文件类似

-------------------------------------------------------------------

linux下shell介绍 shell的分类

概述:shell有很多,但常用的就几种:

Shell名称开发者命令名称

Bourne S.R.Bourne /bin/sh

C Bill Joy /bin/csh

Kom David /bin/ksh

1、查看目前使用的是哪种shell

命令:env (该命令可以显示当前操作系统的环境变量)

2、shell的修改

命令:chsh -s /bin/[shell文件名] (不同的shell对命令的解释不一样)

-------------------------------------------------------------------

linux下shell介绍 shell的命令补全功能

概述:是指用户输入命令时,并不需要输入完整的命令,而系统自动会找出最符合的名称。这种功能可以节省经常输入命令的时间。直接输入"mk"再按两下"tab"键,出现两头两个字母为"mk"的命令。cat p再按两下"tab"键会出现开头字母为"p"的所有文件或目录。

-------------------------------------------------------------------

linux下shell介绍查阅历史记录命令history

概述:在linux下,我们有时可能希望知道或是使用最近执行的命令,history可能会帮上大忙。

1、history 5 :此项说明会显示最近使用的5个命令

2、!5 :此项说明执行历史编号为5的命令

3、!ls :此项说明执行最后一次以"ls"开头的命令

-------------------------------------------------------------------

tcp/ip基础 tcp/ip的由来

概述:linux/unix的世界就是网络的世界。而网络的基础就是tcp/ip,所以一个优秀的linux/unix程序员必须了解并掌握tcp/ip。

tcp/ip是什么

tcp/ip是unix/linux世界的网络基础,在某种意义上,unix网络就是tcp/ip,而且tcp/ip 就是网络互联的标准。它不是一个独立的协议,而是一组协议。(tcp,ip,udp,arp,rarp等协议)

tcp/ip基础 osi与tcp/ip参考模型

tcp/ip基础 ip地址与包的路由传递(1)

概述:每个internet上的主机和路由器都有一个ip地址。它包括网络号和主机号,所有ip地址都是32位的,ip地址按照国际标准的划分为a,b,c,d,e五种类型。

a类:1.0.0.0至127.255.255.255

b类:128.0.0.0至191.255.255.255

c类:192.0.0.0至223.255.255.255

d类:224.0.0.0至239.255.255.255

e类:240.0.0.0至247.255.255.255

a,b,c类目前用的最多

dos下追踪IP路由命令:tracert 目标IP或域名

dos下测试网络是否畅通:ping 目标IP

windows查看ip情况是ipconfig

在linux/unix下查看ip情况的命令是ifconfig

-------------------------------------------------------------------

linux网络环境配置(1)

第一种方法:

(1)用root身份登陆,运行setup命令进入到text mode setup utiliy对网络进行配置,这里可以进行ip,子网掩码,默认网关,dns的设置。

(2)这时网卡的配置没有生效,运行/etc/rc.d/init.d/network restart命令

我们刚才作的设置才生效

第二种方法:

(1)ifconfig eth0 X.X.X.X 对网卡进行设置。(临时生效)

(2)ifconfig eth0 network X.X.X.X 对子网掩码设置。

对广播地址和DNS使用默认。

注意:这样配置网络将会立即生效。(临时生效)

第三种方法:

(1)修改/etc/sysconfig/network-scripts/ifcfg-eth0这个文件里属性可以修改。包括ip,子网掩码。广播地址,默认网关。

(2)这时网卡的配置没有生效。运行/etc/rc.d/init.d/network restart命令

我们刚才作的设置才生效。

这种方法是最底层的修改方法。

**linux下所有的设备都是一个文件。(这个方法文便以后在linux下编程)

/etc/sysconfig/network-scripts/ifcfg-eth0文件内容

DEVICE=eth0 (驱动名称)

ONBOOT=yes (系统启动时默认设备启动)

BOOTTPROO=static (指定IP还是自动分配IP。指定IP:static;自动分配IP:dhcp) IPADDR=192.168.44.22 (本机IP地址)

NETMASK=255.255.255.0 (子网掩码)

GATEWAY=192.168.44.254 (网关)

在虚拟机下linux与windows如何ping通?

可以使用直接物理桥连;也可以使用自定义特定虚拟网络。(必需在同一IP段内才可以)

-------------------------------------------------------------------

RPM管理

概述:一种用于互联网下载包的打包及安装工具,它包含在某些linux分发版中。它生成具有.RPM扩展名的文件。RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设置理念是开放式的,现在包括OpenLinux/S.U.S.E以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。

RPM包的名称格式:(适于与以后软件编程打包命名使用)

apache-1.3.23-11.i386.rpm

apache软件名称

1.3.23-11软件版本号;1.3.23为主版本号,11为副版本号

i386软件运行的硬件平台

rpm文件扩展名,代表RPM包

RPM常用命令

RPM查询

rpm -qa :查询所安装的所有rpm软件包

rpm -qa | more

rpm -qa | grep X

rpm -ql 软件包名:查询软件包中的文件

rpm -ql file

rpm -ql jdk

rpm -q 软件包名:查询软件包是否安装

rpm -q xinetd

rpm -q foo

rpm -q xinetd file bash

rpm -qf 文件全路径名:查询文件所属的软件包

rpm -qf /etc/passwd

rpm -qf /root/install.log

rpm -qi 软件包名:查询软件包信息

rpm -qi file

rpm -qp 包文件名:查询包的信息对这个软件包的介绍

rpm -qp jdk-1_5_0-linux-i586.rpm

rpm -qpi jdk-1_5_0-linux-i586.rpm

rpm -qpl jdk-1_5_0-linux-i586.rpm

安装RPM包

rpm -i RPM包全路径名称:安装包到当前系统参数i=install

rpm -ivh RPM包全路径名称:安装包到当前系统有提示信息

参数说明:i=install 安装;v=verbose 提示;h=hash 进度条

删除RPM包

rpm -e RPM包的名称

rpm -e jdk

如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误信息。

如:$ rpm -e foo

removing these packages would break dependencies:foo is needed by bar-1.0-1 若让RPM忽略这个错误继续卸载(这可不是一个好主意,因为依赖于该软件包的程序可能无法运行),请使用--nodeps命令行选项。

升级RPM包

rpm -U RPM包全路径名

rpm -U cvs-1.11.2-10.i386.rpm

-------------------------------------------------------------------

samba详解

什么是samba

这些年来,windows与linux操作系统各自拥有自己的用户群和市场。然而在一般公司或学校里,可能同时有windows和linux主机,windows主机彼此之间可以得用"网上邻居"来访问共享资源,NFS也能使linux主机之间实现资源访问。而samba服务软件能够使

windows与linux之间实现资源共享。

SMB通信协议采用的是C/S结构,所以SAMBA软件可分为客户端及服务端两部分,通过执行SAMBA客户端程序,linux主机便可使用网络上的windows主机所共享的资源。而在linux主机上安装SAMBA服务器,则可以使windows主机访问SAMBA服务器共享的资源。

samba软件的安装

步骤如下:

1、检查是否安装了:samba

rpm -qa | grep samba :此命令会检查出已经安装了samba软件包。

若是已经安装了,下面会出现samba软件包的具体名称。

2、 mount /mnt/cdrom

cd /mnt/cdrom 找到samba-common-2.2.7a-7.9.0.i386.rpm

客户和服务器均需要的文件

rpm -ivh samba-common-2.2.7a-7.9.0.i386.rpm

rpm -ivh samba-2.2.7a-7.9.0.i386.rpm (服务器端软件)

rpm -ivh samba-client-2.2.7a-7.9.0.i386.rpm (客户端软件)

cd ~

umount /mnt/cdrom

3、设置samba密码文件

//先在linux中建立一个普通用户

//将/etc/passwd中的用户都加到smbpasswd中

cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

//设置用户的samba密码

smbpasswd 用户名

4、启动samba服务

service smb start 启动

service smb stop 停止

service smb restart 重启

samba配置

共享资源的基本设置 /etc/samba/smb.conf

1、comment : 针对共享资源所做的说明文字。默认值为空字符串。

comment = dir for todayhero :共享这个目录为todayhero这个用户

2、path : 若共享的资源是目录,是指定该目录的位置。

path = /tmp : 共享tmp这个目录

3、guset ok :是否允许用户不使用帐号和密码访问此资源

guset ok = yes : 允许用户不使用帐号和密码访问此资源

guset ok = no : 不允许用户不使用帐号和密码访问此资源

4、hosts allow : 设置连接主机的地址

hosts allow = 192.168.0. https://www.360docs.net/doc/db4358416.html, :意思是说允许来自192.168.0.或https://www.360docs.net/doc/db4358416.html,访问

5、hosets deny : 设置禁止连接的主机地址

hoset deny =192.168.2. : 意思是说不允许来自192.168.2主机访问此samba服务器的资源。

6、read only : 用于设置共享的资源是否为只读。

read only = yes : 允许只读

read only = no : 可以读写

7、writable : 设置是否允许写入

writable = yes : 允许写入

writable = no : 不允许写入

8、browseable : 设置用户是否可看到此共享资源

browseable = yes : 允许用户看到此资源

browseable = no : 不允许用户看到此资源

9、available : 设置是否启用资源共享

available = yes : 启用资源共享

available = no : 不启用资源共享

------------------------------------------------------------------- 任务调度命令

概述:

任务调度:是指系统在某个时间执行的特定的命令或程序。

任务调度分类:

1、系统工作:有些重要的工作必须周而复始的执行。如病毒扫描等。

2、个别用户工作:个别用户可能希望执行某些程序。

设置任务调度文件:/etc/crontab

设置个人任务调度。执行crontab -e命令。接着输入任务到调度文件

例:5 * * * * ls -l /etc/ > /tmp/to.txt

意思说每小时的第五分钟执行ls -l /etc/ > /tmp/to.txt命令

任务调度的使用crontab

1、设置任务crontab -e

2、每隔一定时间去执行

date > /home/mydatal (将当前时间覆盖写入mydata1文件中。>为覆盖写) date显示当前时间

1)希望每天凌晨2:00去执行 date >> /home/mydate2 (>>为追加写)

0 2 * * * date >> /home/mydate2

2)希望每分钟去执行

* * * * * date >> /home/mydate2

调度文件规则:

字段名称说明范围

分钟每小时中的第几分钟执行 0-59

小时每日的第几个小时执行 0-23

日期每月的第几天执行 1-31

月历每年的第几个月执行 1-12

星期每周的第几天执行 0-6

命令名称欲执行的命令名称及其参数

*1 *2 *3 *4 *5

*1代表分钟 *2代表小时 *3代表日期 *4代表月历 *5代表星期

如:0 22 26 5 * 表示星期* 5月 26日 22小时 0分钟

完整意思为每年5月26日22小时0分执行对应任务。*表示设置为无设定

* * * * *代表每分钟执行一次

3、怎样去调度多个任务?

1)在crontab -e 中直接写多个任务 (优点:简单;缺点:太多太乱修改不方便)

2)可以把所有的任务,写入到一个可执行文件(shell编程)

.sh文件为shell文件,chmod 744 mytask.sh

vi mytask.sh

date >> /home/mydate2

cp /home/mydate2 /root/

:wq

crontab -e

* * * * * /root/mytask.sh

4、如何终止任务

终止任务调度:

crontab -r :终止任务调度 (多任务多用户使用时禁用此命令)

crontab -l :列出当前有那些任务调度

-------------------------------------------------------------------

进程的概念和管理

基本概念

1、在linux中,每个执行的程序都称为一个进程。每一个进程都分配一个ID号。

2、每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。例如WWW服务器。

3、每个进程都可能以两种方式存在的。前台与后台,所谓前台进程就是用户目前的屏幕上可以进行操作的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。

4、一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才会结束。

进程就是正在执行的程序

线程(1)轻量级的进程

(2)进程有独立的地址空间,线程没有

(3)线程不能独立存在,它是由进程创建的。(在linux下是fork,在java下是Thread)

(4)相对来讲,线程耗费的CPU和内存小于进程。

静态显示系统执行的进程

ps命令是用来查看目前系统中,有哪些正在执行,以及它们执行的状况。可以不加任何参数

显示详细的进程信息

1、 ps -a :意思是说显示当前终端的所有进程信息。

2、以用户的格式显示进程信息。

ps -u :以用户的格式显示进程信息。

3、显示后台进程运行参数:

ps -x :显示后台进程运行的参数。

4、可以使用ps -aux 显示全面的进程信息。

PS:显示的信息选项

字段说明

PID 进程识别号

TTY 终端机号

TIME 此进程所消CPU的时间

CMD 正在执行的命令或进程名

终止进程kill/killall

若是某个进程执行一半需要停止时,或是已消耗了很大的系统资源时,此时可以考虑停止该进程。使用kill命令来完成此项任务。

终止某个进程:kill 进程号

kill 16251 :表示终止进程号为16251的进程。

kill -9 16251 :因为有些进程会捕捉某些信号。如果直接不能结束进程可以用“-9”传送信息。

killall可以清除进程及进程相关的子进程

动态监控进程top 退出top按q键或ctrl+c键即可退出

top与ps命令很相似。它们都用来显示正在执行的进程。top与ps最大的不同之处,在于top在执行一段时间可以更新正在运行的进程。

1、监视特定用户

top :输入此命令,按回车键,查看执行的进程。

u :然后输入"u"回车,再输入用户名,即可。

2、终止指定的进程

top :输入此命令,按回车键,查看执行的进程。

k :然后输入"k"回车,再输入要结束的进程ID号。

3、指定系统状态更新的时间

top -d 10 :指定系统更新进程的时间为10秒。

14:06:22 up系统时间

4 min, 系统启动多久

1 user, 当前登陆到linux有多少用户

load avcragc: 0.02, 0.12, 0.07负载平衡,当前系统的负载情况(可全加除3大

于0.6表示系统负载紧张)

37 processes:当前进程数

36 sleeping, 休眠状态进程数

1 running, 正在运行进程数

0 zombie,僵尸进程数进程无用后仍占用内存的进程数

0 stopped处于停止状态的进程数

CPU states: 0.0% user 0.1% system 0.0% nice 0.0% iowait 99.8% idle

CPU的状态 idle为CPU闲置状态(越大越好)

Men: 255264k av, 39420k used, 215836k free, 0k shrd, 5520k buff

30632k actv, 140k in_d, 292k in_c

内存使用情况

255264k av,内存总数量

39420k used,正在使用内存数量

215836k free,空闲内存数量

Swap: 257032k av, 0k used, 257032k free 19376k cached

swap分区(虚拟内存)使用情况

swap: 257032k av,swap分区(虚拟内存)数量

0k used, 正在使用虚拟内存数量

257032k free空闲虚拟内存数量

19376k cached缓存内存

可用此命令进行释放echo 3 > /proc/sys/vm/drop_caches 一般不刻意去释放。

----------------------------------------------------------------------

设置系统日期

1、date命令:显示系统的时间。可以在直接输入"date"命令。来查看系统的时间。

2、利用date命令来更改系统的时间。

date MMDDHHMMCCYY.SS:意思是指月月日日时时分分年年年年.秒秒。

3、查看月历:

cal 3 2002 :查看2002年3月的月历。

4、查看年历:

cal 2008 :查看2008的年历

----------------------------------------------------------------------

监控网络状态信息

显示网络统计信息的命令netstat

此命令用来显示整个系统目前的网络情况。例如目前的连接、数据包传递数据、或是路由表内容。此命令直接输入即可使用。

如:netstat -anp (参数an按端口排序,参数p是显示进程号)

检测主机连接命令ping:

是一种网络检查检测工具。它主要是用检测远程主机是否正常,或是两部主机间的介质是否为断、网线是否脱落或网卡故障。

如:ping 对方IP地址

显示数据包经过历程命令:traceroute

traceroute 目标IP或地址

此命令可以直接输入使用,用来检测数据包在网络上传输的过程。从本机到远程的主机完整路径。帮助管理员解决问题。

route

所谓路由是指将数据由来源网络送往目的地网络的操作。在大型网络中,路由是非常复杂的,因为数据包在抵达目的地时,可能经过的节点有很多,路由表是存储在路由器或一些

韩顺平html笔记

HTML 一、HTML有关知识点 1.html介绍 html是一种标记语言,主要的用途是开发网页,使用html可以展现文字、图片、视频、声音,html是我们web开发(网站开发)。 2.html可以做什么 ?html可以编写静态网页 ?该静态网页可以包括文字、图像、动画、声音、表格、链接。从而构成一个个漂亮的网页 3.Html发展历史 4.Html的基本结构 5.是标记(也叫元素),标记的一般格式: <元素名[属性=“属性值”]>元素内容 如果没有内容可以用:<元素名[属性=“属性值”]/> 6.Html实体标记 7.Html常用标记

?html超链接 ●_blank 新的窗口 ●_self 本窗口 ●_parent 父窗口 ●_top整个浏览器窗口 ?html图像元素 ?html表格

--用于说明行 --用于说一小格
?无序列表
?有序列表
?框架 ?表单元素 文本框: 密码框: 单选框: 复选框:checked是指默认选中的 隐藏域: 图片按钮: ?文本域: ?下拉菜单: 案例:1 需求:打开网页后,显示hello !

New Document 问题: ?js的位置可以随意放 ?js必须使用 ?在一个html文件中(JSP/PHP/https://www.360docs.net/doc/db4358416.html,)可以出现多对(script)片段,浏览器会按照先后顺序一次执行 案例2:Hello world程序改进 ?如何定义变量: ?如何运算: New Document ?Js的变量类型是怎样决定的 1)Js是弱数据类型语言,即:在定义变量侍候,统一使用var表示,甚至可以去点var 这个关键字 2)Js中的变量的数据是由js引擎决定的 Var name=”shunping”; //name是字符串 Var kk=2 //kk是数字 Name=234; //这事name自动变成数 ?Js的命名规(函数/变量): 1)使用大小写字母,数字,$可以命名 2)不能以数字打头 3)不能使用js保留字和关键字(即java里的关键字) 4)区分大小写

jquery学习笔记-韩顺平

1,Jquery是一个javascript框架或者叫做javascript库; 2,用Ajax我们可以给服务器发送一个请求,服务器可以给我回送一个请求; 3,出现javascript框架的根本原因就是为了提高开发者的开发效率; 4,jquery是一个轻量级的js库(压缩后只有21K),这是其他的js库所不及的,它兼容CSS3,还兼容各种浏览器; 5,JQuery是一个快速的,简洁的javascript库,使用户能更方便的处理HTML document,events,实现动画效果,并且方便的为网站提供AJAX交互; 6,JQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。 7,jquery能够使用户的html页保持代码和html内容的分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需定义id即可; 8,所谓的库就是提供一些现成的方法供你去调用; 9,当前流行的javascript库有: Jquery ,MooTools,Prototype,Dojo,YUI,EXTJS,DWR[主要是运行在服务器上的]; 10,$(document) //---这个表示一个jquery对象; 11,如果使用jquery,则需要引入jquery库 12,jquery对象就是对dom对象的一系列包装,它包装完成后,就可以使用jquery对象提供的方法来进行操作; 13,在使用jquery开发中,有两种对象,1,jquery对象,2,dom对象,如果是jquery对象则只能使用jquery库提供的方法,如果是dom对象,则只能使用js本身提供的方法; 14,分析jquery库文件的运行原理: New Document 案例:1 需求:打开网页后,显示hello !

New Document 问题: ?js的位置可以随意放 ?js必须使用 ?在一个html文件中(JSP/PHP/https://www.360docs.net/doc/db4358416.html,)可以出现多对(script)片段,浏览器会按照先后顺序一次执行 案例2:Hello world程序改进 ?如何定义变量: ?如何运算: New Document ?Js的变量类型是怎样决定的 1) Js是弱数据类型语言,即:在定义变量侍候,统一使用var表示,甚至可以去点var这 个关键字 2) Js中的变量的数据是由js引擎决定的 Var name=”shunping”; //name是字符串 Var kk=2 //kk是数字 Name=234; //这事name自动变成数 ?Js的命名规范(函数/变量): 1) 使用大小写字母,数字,$可以命名 2) 不能以数字打头 3) 不能使用js保留字和关键字(即java里的关键字) 4) 区分大小写 5) 单行注释:// 6) 多行注释:/*…….*/ 韩顺平JS第三讲

Linux学习笔记一

Linux学习笔记一 默认情况下,所有系统帐号与一般身份用户,以及root的相关信息,都记录在/etc/passwd 文件内;密码记录在/etc/shadow 文件中;Linux所有的用户组名称都记录在/etc/group内。不可随意删除这3个文件。 了解Linux文件属性,以root身份登录后输入|s -al查看具体属性设置。 文件前面第一个字符为.表示隐藏文件。 各字段依次的含义:文件属性,连接数,文件拥有者,文件所属用户组,文件大小,文件最 先修改时间,文件名 文件属性10字段: Linux文件类型: -普通文件。根据文件内容分:纯文本文件(ASCLL ),二进制文件(binary ),数据格式文件(data) ----last 命令 d目录, l连接文件link file ,b设备文件中可供存储的接口设备, c设备文件中串行端口设备如键盘鼠标 拥有者权限,同用户组权限,其他非本用户组权限

r read 读,w write 写,x excute 可执行 9个属性,3个一组,其中可用数字来表示各个属性:r--4 , w--2 , x--1,将同一组的3个属性相加:owner=rwx=4+2+1 Windows中,一个文件是否具有执行能力是通过扩展名"来决定,但在Linux中是通过是否具有x属性来决定的。 Linux文件扩展名: .sh :批处理文件(script,脚本),shell写成 .pl :程序语言Perl的文件 更改文件权限 charp改变文件所属用户组 chown改变文件拥有者 chmod改变文件的属性,suid等特性 chown还可以直接修改用户组的名称。什么时候用到chown和chgrp,比如将一个文件copy 给其他人时,复制后的文件拥有者仍然是原来的拥有者,所以得到文件复制分的用户仍然没有修改的权限,此时就需要修改文件的拥有者与用户组。 当我们以vi编辑shell的文字文件后,其属性通常都是-rw-rw-rw- , 666属性,如果要将它变成可执行文件,并且不能让其他人修改此文件,那么就需要修改文件的属性成 -rwxr-xr-x,755 属性

韩顺平Spring笔记

①spring是什么? struts 是 web 框架 (jsp/action/actionfrom) hibernate 是 orm框架,处于持久层. spring 是容器框架,用于配置bean,并维护bean之间关系的框架 ?spring中有一个非常概念: bean (是java中的任何一种对象javabean/service/action/数据源./dao, ioc(控制反转inverse of control) di( dependency injection 依赖注入) ?画一个框架图 快速入门 开发一个spring项目. 1.引入spring的开发包(最小配置该包把常用的jar都包括, 还要写日志包 2.创建spring的一个核心文件 , [hibernate有核心 struts核心文件 ], 该文件一般 放在src目录下,该文件中引入 xsd文件: 可以从给出的案例中拷贝一份. 3.配置bean

韩顺平 4.在中,我们怎么使用 到spring 的applicationContext对象(容器对象) ApplicationContext ac=new ClassPathXmlApplicationContext(""); UserService us=(UserService) ("userService"); (); 5.细节讨论? 传统的方法和使用spring的方法 5.1使用spring ,没有new 对象,我们把创建对象的任务交给spring框架 5.2spring的运行原理图: 我们再看spring 对上面案例总结: spring实际上是一个容器框架,可以配置各种bean(action/service/domain/dao),并且可以维护bean与bean的关系,当我们需要使用某个bean的时候,我们可以getBean(id),使用即可. ioc是什么? 答:ioc(inverse of controll ) 控制反转: 所谓控制反转就是把创建对象(bean),和维护对象(bean)的关系的权利从程序中转移到spring的容器,而程序本身不再维护. DI是什么? 答: di(dependency injection) 依赖注入: 实际上di和ioc是同一个概念,spring设计者认为di更准确表示spring核心技术

linux读书笔记

第一次学shell编程,看的文章中说shell程序必须以"#!/bin/sh"开始,也就认为是这样了。 虽然知道在shell中以"#"开始的语句都是注释,但也从没认为"#!/bin/sh"也是注释,就像对C语言程序必须有main函数一样毫无怀疑。 但前些时候又听说"#!/bin/sh"也是注释,可有可无,当时觉得真是一个失败,连基本的语法都分不清。 前几天借了一本书,才真正认识了"#!/bin/sh"。 shell编程是以"#"为注释,但对"#!/bin/sh"却不是。 "#!/bin/sh"是对shell的声明,说明你所用的是那种类型的shell及其路径所在。 如果没有声明,则脚本将在默认的shell中执行,默认shell是由用户所在的系统定义为执行shell脚本的shell。 比如:如果脚本被编写为在Korn Linux中运行,而默认运行shell脚本的为C shell csh,则上述脚本在执行过程中很可能失败。 所以建议大家就把"#!/bin/sh"当成C 语言的main函数一样,写shell必须有,以使shell程序更严密。 即: #!/bin/sh 是指此脚本使用/bin/sh来解释执行,#!是特殊的表示符,其后面根的是此解释此脚本的shell的路径。 其实第一句的#!是对脚本的解释器程序路径,脚本的内容是由解释器解释的,我们可以用各种各样的解释器来写对应的脚本。 比如说/bin/csh脚本,/bin/perl脚本,/bin/awk脚本,/bin/sed脚本,甚至/bin/echo等等。 那我们真的能写一个/bin/echo的脚本文件吗?我们来试试,下面是一个例子:代码: #!/bin/echo –e 这只有一行的程序(实际上它也只能是一行,echo程序并不是被设计成像awk那样的编程语言,能写成源程序文件)命名为myecho,加上权限后执行它: 代码: $ ./myecho "hi\a" ./myecho hi 如果你的echo支持-e选项并且你工作的环境还算安静,你在得到上面的结果的时候也应该听到清脆的终端响铃。但这种程序是毫无作用的。 1、linux分区 --在linux里面所有的设备、任何东西,在linux看来都是文件。 --文件在它看来,有两种形式: 第一种是字符型(键盘输入、打印机); 第二种是二进制型(硬盘、光驱、U盘) --linux中所有硬件

韩顺平java从入门到精通视频教程(全94讲)学习笔记整理(齐全)

java平台 1、J2SE java开发平台标准版 2、J2EE java开发平台企业版 java程序需要在虚拟机上才可以运行,换言之只要有虚拟机的系统都可以运行java程序。不同系统上要安装对应的虚拟机才可以运行java程序 开发步骤 1、编写源文件 (.java) 2、编译源文件为类文件(.class)可用J2SE或J2EE编译 3、在虚拟机上运行 注释 //单行注释 /* */多行注释 java内容介绍 java编程可以分成三个方向: 1、java se (j2se)桌面开发 java中的基础中的基础 2、java ee (j2ee)web开发 3、java me (j2me)手机开发 java se课程介绍 java面向对象编程(基础) java图开界面开发 java数据库编程 java文件io流编程 java网络编程 java多线程编程 java ee基础1 java面向对象编程--数据库编程-->java se java 基础2 html--css--javascript-->div+css java ee中级部分 Servlet--Jsp-->mvc模式 java ee高级部分 Struts--Ejb--Hibernate--Spring--Ajax(ext,dw2)-->ssh框架 java之父gosling 1990 sun启动绿色计划 1 | 445

1992 创建oak语言-->java 1994 gosling参加硅谷大会演示java功能,震惊世界 1995 sun正式发布java第一个版本,目前最新是jdk7.0 java开发工具 记事本、(jcreator、jbuilder退出舞台了)、netbean、eclipse 如何选择开发工具 先选择记事本,对java有一定了解后再使用eclipse高级开发工具 为什么呢? 1、更深刻的理解java技术,培养代码感 2、有利于公司面试 java语言的特点 1、java语言是简单的 2、java语言是面向对象的 3、java语言是跨平台(操作系统)的[即一次编译,到处运行] 4、java是高性能的 java第一个程序hello.java 运行java程序要安装和配置jdk jdk是什么? 1、jdk全称java dvevlopment kit中文java开发工具包 2、jdk是sun公司开发的 3、jdk包括jre(java runtime envirnment)java运行环境、一堆java工具和java基础的类库(类共3600左右,常用类在150个左右) 4、可以在https://www.360docs.net/doc/db4358416.html,下载 **开发安装jdk,用户执行需要安装jre 配置JDK 添加环境变量即可 windows下配置jdk 在计算机属性--高级设置--环境变量--添加PATH将JDK所在路径指定即可。多个环境变量设置时需要用;号进行隔开 1、编写第一个hello.java //注释 (解释) 作者: //功能:在控制台显示"hello" //日期:2013.11.28 //public:表示这个类是公共的,一个java文件中只能有一个public类 //class:表示这是一个类 //hello:类名(公共类的类名必须和文件名一致) public class hello{ 2 | 445

兄弟连linux学习笔记

4.1.1 文件处理命令 命令格式 命令+选项+参数 ls -la /etc 命令ls 显示目录文件 语法:-a 显示所有文件-l详细信息显示-d查看目录属性 -rw-r--r-- - 文件类型(-文件d目录l软链接文件) rw -r-- r-- u g o u所有者g所属组o其他人 r读w写x执行 4.1.2 目录处理命令 mkdir创建新目录 语法:mkdir -p(目录名)递归创建

cd 切换目录 语法:cd (目录) pwd 显示当前目录 语法pwd 4.1.2.4 rmdir 删除空目录 语法:rmdir (目录) cp 复制文件或者目录 语法:cp -rp (源文件或目录)(目标目录)-r 复制目录 -p保留文件属性 mv 剪切文件、改名

语法:mv (原文件或目录)(目标目录) rm 删除文件 语法:rm -rf (文件或目录) -r 删除目录 -f 强制执行 4.1.3 文件处理命令 touch 创建空文件 语法:touch (文件名) cat 显示文件内容 语法:cat(文件名) -n 显示行号 tac 显示文件内容(反向)

语法:tac(文件名) more 分页显示文件内容 语法:more(文件名) (空格)翻页 (Enter)换行 q 退出 less 分页显示文件内容(可向上翻页)语法:less (文件名) head 显示文件前面几行 语法head (文件名) -n 指定行数 tail 显示文件后几行 语法tail (文件名) -n 指定行数 -f 动态显示文件末尾内容

4.1.4链接命令 ln 生成链接文件 语法:ln -s (源文件)(目标文件) -s创建软连接 软链接特征:类似Windows快捷方式 lrwxrwxrwx l 软链接 软链接文件权限都为rwxrwxrwx 文件大小- 只是符号链接 /tmp/issue.soft -> /etc/issue 箭头指向原文件 4.2.1权限管理命令 chmod 改变文件或目录权限 语法:chmod [{ugoa}{+-=}{rwx}] (文件或目录)[mode=421 ](文件或目录) -R 递归修改 权限的数字表示 r ---- 4 w ---- 2

相关文档
最新文档