韩顺平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有关知识点 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表格 韩顺平html笔记
?无序列表 --用于说明行 --用于说一小格
?有序列表
?框架 ?表单元素
传智 韩顺平 linux 课程笔记1(吐血整理)
Linux视频教程(韩顺平)听课笔记1 (RedHat) 1、老师联系方式:hanshunping@https://www.360docs.net/doc/db4358416.html, 2、linux for工作 (1)linux系统管理员——linux系统的维护、配置等 (2)linux程序员——需c/c++、java,php、jsp等 ①linux软件工程师(pc) ②linux嵌入式开发(单片机、芯片) 3、学习linux的步骤 (1)第一阶段:linux平台上的开发,包括vi,gcc,gdb,make,jdk,tomcat,mysql...和linux基本操作 (2)第二阶段:加厚c语言功底《c专家编程》或是java语言 (3)第三阶段:学习unix环境高级编程《unix环境高级编程》 (4)第四阶段:linux应用系统开发/linux嵌入式开发 4、计算机学习的正确道路 5、推荐书籍 -《鸟哥的Linux的私房菜基础学习篇》鸟哥、许伟、林彩娥等编著 -《Linux编程从入门到精通》宫虎波编著 -《Linux内核完全剖析》赵炯编著 6、关机命令 shutdown -h now立即进行关机 shutdown -r now现在重新启动计算机 -t sec : -t后面加秒数,即”过几秒后关机” -k: 不是要真的关机,只是发送警告信息
-r: 在将系统的服务停掉之后就重新启动 -h: 将系统服务停掉后,立即关机 -n: 不经过init程序,直接以shutdown关机 -f: 关机并启动之后,强制略过fsck的磁盘检查 -F: 系统重新启动之后,强制进行fsck的磁盘检查 -c: 取消已经在进行的shutdown命令内容 reboot 现在重新启动计算机 7、用户登录 登录时尽量少用root账户登录,因为它是系统管理员,最大的权限,难免操作失误。可以利用普通用户登录,登录后再用“su -”命令来切换成系统管理员身份。 8、进入桌面(命令行界面进入图形界面) startx 9、用户注销 在提示符下输入logout即可。 10、vi进行开发java和c/c++程序 -java程序 -vi Hello.java -输入i,进入到插入模式,写好代码 -输入Esc键,进入命令模式 -输入冒号:[wq 表示退出保存,q!表示退出不保存] -编译javac Hello.java -运行java Hello -c程序 -gcc o自定义文件名Hello.cpp[参数o表示可自定义生成的out文件名,否则默认为a. out]
linux学习笔记
Linux 一、Linux文件及文件夹命名规则 1)除了/之外,所有的字符都合法。因为/是系统的根目录名 2)有些字符最好不要用,如空格、制表符、退格符和@#$&-等字符。因为Linux命令以空格、-进行分开的;而#表示管理员命令行,$表示用户命令行等 3)避免使用.作为普通文件名的第一个字符。因为Linux系统以.开头的文件是隐藏文件4)Linux系统对英文字符大小写敏感 建议:不要把windows使用习惯带到Linux系统使用上 二、Linux操作命令 2.1、命令格式 命令格式:命令-选项参数 示例:ls –la /etc,参数是命令操作的对象 说明:1)当有多个选项时,可以写在一起。 2)两个特殊的目录.和..,分别代表当前目录和当前目录的父目录 2.2、命令种类及用法 Linux系统里命令按权限分为:1、只有管理员即root才能使用的命令,这些命令位置在/sbin 和/usr/sbin目录;2、管理员和所有用户都能使用的命令,这些命令的位置在/bin和/usr/bin 目录。bin是二进制文件夹binary缩写,usr是user的缩写,sbin是super binary缩写;3、Linux系统里内核处理任务文件都需要一个数字标识(inode-i节点),因为Linux只认i节点不认字符的,一个i节点可以对应多个文件 2.2.1、文件处理命令 2.2.1.1、ls命令-查看 1)命令名称:ls 2)命令英文原意:list 3)命令所在路径:/bin/ls 4)执行权限:所有用户
5)命令作用:查看目录下的文件和文件夹 6)命令语法:ls 选项[-ald] [文件或目录] 7)用法示例:#ls –ald /etc 选项说明:-a all缩写,显示所有文件,包括隐藏文件 -l long缩写,显示文件和文件夹详细信息显示 -d 查看目录属性 -i 查看文件的inode(i节点:一个数字标识) 文件和文件夹详细信息说明: 1、第一部分如:drwxr-xr-x、-rwxr-xr-x、lrwxr-xr-x这部分分成4个部分, 其各个字符说明: d 第一个字符d表示目录directory - 如果是第一个字符表示二进制文件,其它表示无权限 l 第一个字符l表示软链接文件link r 读权限read w 写权限write x 执行权限execute 第一部分:即第一个字符,表示文件类型 第二部分:第2-10个字符,表示三种用户对该文件的权限 第2-4个字符,表示所有者u-user对该文件的权限 第5-7个字符,表示所属组g-group对该文件的权限 第8-10个字符,表示其它人o-others对该文件的权限 2、第二部分如:2,表示该文件硬链接数 3、第三部分如:root,表示该文件所有者权限 4、第四部分如:root,表示该文件所属组权限 5、第五部分如:4096,表示该文件大小;以数据块block表示最小存储数 据单位,每个数据块为512字节 6、第六部分如:12-01 20:52,表示该文件创建时间或最后修改时间 7、第七部分如:bin,表示该文件的名 2.2.1.2、cd命令-切换 1)命令名称:cd 2)命令英文原意:change directory 3)命令所在路径:shell内置命令 4)执行权限:所有用户 5)命令作用:切换目录 6)命令语法:cd [目录] 7)用法示例:#cd / 切换到根目录 注:这个命令一般配合pwd命令使用
一篇非常好的linux学习笔记分享(Linux入门绝佳)
作者:佚名字体:[增加减小] 来源:互联网时间:03-06 21:54:44我要评论 一篇非常好的linux学习笔记分享,对于常用命令整理的比较详细,推荐使用。 linux目录架构 / 根目录 /bin 常用的命令binary file 的目錄 /boot 存放系统启动时必须读取的档案,包括核心(kernel) 在内 /boot/grub/menu.lst GRUB设置 /boot/vmlinuz 内核 /boot/initrd 核心解壓縮所需RAM Disk /dev 系统周边设备 /etc 系统相关设定文件 /etc/DIR_COLORS 设定颜色 /etc/HOSTNAME 设定用户的节点名 /etc/NETWORKING 只有YES标明网络存在 /etc/host.conf 文件说明用户的系统如何查询节点名 /etc/hosts 设定用户自已的IP与名字的对应表 /etc/hosts.allow 设置允许使用inetd的机器使用 /etc/hosts.deny 设置不允许使用inetd的机器使用 /etc/hosts.equiv 设置远端机不用密码 /etc/inetd.conf 设定系统网络守护进程inetd的配置 /etc/gateways 设定路由器 /etc/protocols 设定系统支持的协议 /etc/named.boot 设定本机为名字服务器的配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 设置IP /etc/resolv.conf 设置DNS /etc/X11 X Window的配置文件,xorg.conf 或XF86Config 這兩個X Server 的設定檔/etc/fstab 记录开机要mount的文件系统 /etc/inittab 设定系统启动时init进程将把系统设置成什么样的runlevel /etc/issue 记录用户登录前显示的信息 /etc/group 设定用户的组名与相关信息 /etc/passwd 帐号信息 /etc/shadow 密码信息 /etc/sudoers 可以sudo命令的配置文件 /etc/securetty 设定哪些终端可以让root登录 /etc/login.defs 所有用户登录时的缺省配置
关于Linux学习的总结
关于Linux学习的总结 一知识总结:我很荣幸选了“linux操作系统”这门课程,因为在这门课程的学习过程中,我们通过老师的讲解以及在网上查阅资料,学到了许多关于linux操作系统的知识,更重要的是学会了如何应用与操作linux操作系统,我们在自己的电脑上已经安装了linux操作系统,通过亲身体验,我们真正了解到linux系统的方便与快捷,体会到了linux操作系统与windows操作系统的异同之处。以下是我对linux操作系统的一些总结: (一)linux系统简介 linux是一类unix计算机操作系统的统称。linux操作系统的内核的名字也叫“linux”。linux 操作系统也是自由软件和开放源代码发展中最著名的 例子。严格来讲,linux这个词本身只表示linux内核,但在实际上人们已经习惯了用linux 来形容整个基于linux内核,并且使用gnu 工程各种工具和数据库的操作系统。linux得名于计算机业余爱好者linus torvalds。一般可以认为,linux是一套自由使用(一般可以免费使用)和自由传播的unix操作系统。这个系统是由世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约、全世界都能自由使用的unix兼容产品。实际上,linux仅仅是linux 中的操作系统核心(kernel)。
(二)linux操作系统的安装linux操作系统的安装方法主要有3种,其方法如下: 1.光盘安装到市场上的软件连锁店直接购买linux 光盘发行版,用光盘来安装是最方便快捷的。目前redhat,turbolinux和corel都可以在连锁店买到。一定要注意,大部分linux发行版本有“完整版”和“精简版”的区分,例如turbolinux有1cd,3 cd和10cd三个版本。 2.网络安装 3.硬盘安装 从硬盘安装linux操作系统,首先要准备安装包,linux操作系统的安装包通常是一个或多个iso镜像文件(一般通过网络下载就可以得到);其次,要通过某种手段启动镜像文件中的系统安装程序;接下来,按照安装程序的提示信息进行安装就可以了。安装过程中,需要指定linux操作系统的安装位置,这主要涉及硬盘分区的一些知识。总之,对于linux操作系统的硬盘安装,关键要学会两点:第一、为linux操作系统准备硬盘空间。第二、启动iso镜像文件中的安装程序。 (三)常用的命令1、文件目录操作命令ls 显示文件和目录列表touch 生
韩顺平servlet笔记(个人总结版)
第一课 第二课tomcat 简单模拟
package com.my.first; import java.io.*; import https://www.360docs.net/doc/db4358416.html,.*; publicclass Mytomcat { /** * @param args */ publicstaticvoid main(String[] args) throws Exception { ServerSocketss = new ServerSocket(9999); Socket s = ss.accept(); System.out.println("在9999上等待。。。"); OutputStreamos =s.getOutputStream(); BufferedReaderbr = new BufferedReader(new FileReader("f:\\hello.html")); String str=""; while((str = br.readLine())!=null){ os.write(str.getBytes()); } br.close(); os.close(); s.close(); // ss.close(); } } 在浏览器中输入 http://localhost:9999 就会出现“hello world” 第三课 启动tomcat 各种问题总结
第四课
第五课 虚拟目录 如在f盘存放着各种web应用,但是空间不够了,这是我在d盘弄个文件当做该web应用的文件。但是要在server.xml中指定一下。 步骤:1、在那个磁盘下建立“f:\web2”,并建立相关的资源文件 2、在server.xml中配置
Linux命令学习笔记
目录 目录 (1) 第一章登录和退出 (6) 1.1本地登录 (6) 1.2 远程登录 (6) 1.3 退出登录 (6) 1.4 修改口令 (6) 第二章目录操作命令 (7) 2.1 显示目录--pwd (7) 2.2 建立目录--mkdir (7) 2.3 改变目录--cd (7) 2.4 删除目录--rmdir (8) 2.5 重命名目录--mv (8) 第三章文件操作命令 (8) 3.1 列出文件目录--ls (8) 3.2 显示文件内容--cat (9) 3.3 按屏幕显示文件内容--more (9) 3.4 显示文件头部--head (9) 3.5 显示文件尾部--tail (10) 3.6 拷贝文件--cp (10) 3.7 移动或改名--mv (10) 3.8 删除文件--rm (11) 3.9 链接文件--ln (11) 3.10改变文件读取权限--chmod (11) 3.11改变文件所有权--chown (12) 3.12查找文件--find (13) 3.13搜索文件中匹配符--grep (14) 3.14比较文件不同--diff、sdiff (14) 3.15排序文件内容--sort (14) 3.16显示文件类型--file (15) 3.17打包文件--tar (15) 3.18修改文件日期--touch (16) 3.19统计文件字数--wc (16) 3.20压缩和解压--zip/unzip/gzip/gunzip (16) 3.21挖出指定字段或者字符--cut (17) 3.22折叠长的文本行--fold (17) 3.23从一个或多个文件中连接行--paste (18) 3.24转换字符--tr (19) 3.25文件分片--split (19) 3.26去除重复行--uniq (20) 3.27检查拼写--aspell (21)
传智播客韩顺平轻松搞定网页设计(html+css+javascript)之javascript
Javascript的基本介绍 ?JS是用于WEB开发的脚本语言: ?脚本语言是什么: ?脚本语言不能独立使用,它和HTML/JSP/PHP/https://www.360docs.net/doc/db4358416.html,配合使用 ?脚本语言也有自己的变量,函数,控制语句(顺序,分支,循环)?脚本语言实际上是解释性语言(即在执行时直接对源码进行执行)?Java程序.java→.class→jvm , js→浏览器(js引擎来解释执行)?Js在客户端(浏览器)执行 ?因为js是由浏览器来执行的,因此这里有个问题,不同类型的浏览器可能对js的支持不一样。
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库文件的运行原理: