韩顺平Linux笔记Word文档格式.docx
《韩顺平Linux笔记Word文档格式.docx》由会员分享,可在线阅读,更多相关《韩顺平Linux笔记Word文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
![韩顺平Linux笔记Word文档格式.docx](https://file1.bdocx.com/fileroot1/2022-11/26/43686150-957e-42be-8ea9-e8b554709ceb/43686150-957e-42be-8ea9-e8b554709ceb1.gif)
8、ls:
列举当前文件夹,参数-l:
显示当前目录的详细信息
9、ccp程序的编译:
编辑过程同上面的java程序,下面只记录编译和运行方式:
(1)编译:
gcchello.cpp
(2)运行:
./a.out//默认编译出的文件为a.out
(3)编译时更名:
gcc–ohello.outhello.c,编译后的名字变为:
hello.out
10、setnu:
在文件中每行行首加入行号
setnonu:
取消行号
输入数字:
直接输入数字,按"
键,将光标移至该行行首
/字符串:
查找特定字,按"
n"
继续查找
字符串:
11、linux的文件系统是采用层级式的树状目录结构,在此结构中的最上层是根目录"
/"
,然后在此目录下再创建其他的目录,详细结构图解:
12、linux显示当前路径:
pwd
13、用户管理:
(1)添加用户:
只有root用户或者拥有root权限的用户才能创建
useradd用户名
passwd用户名
(2)删除用户:
只有root用户或者拥有root权限的用户才能删掉
userdel用户名(保留用户相关的文件)
userdel–r用户名(删除用户及其相关的文件)
14、Linux运行级别:
init[0,1,2,3,4,5,6]
注释:
(1)0:
关机
(2)1:
单用户(3)2:
没有网络服务的多用户状态
(4)3:
有网络服务的多用户状态(5)4:
系统未使用保留给用户
(6)5:
图形界面(7)6:
系统重启
常用级别为3和5,修改运行级别:
vi/etc/inittab,修改id:
5:
inittabdefault中的数字,即可修改运行等级。
修改错误配置:
在开机时的等待界面快速按下"
e"
,在进入GRUB时,选择kernel/vmlinuz-2.4.20-8roroot=LABEL=/hdc=ide-scsi,再输入"
,输入"
1"
[单用户],按"
b"
重启即可。
15、常用命令:
(1)cd:
改变所在目录
(2)ls:
列举文件和目录-a显示隐藏文件–l显示长列表格式(可同时用)
(3)mkdir:
创建目录rmdir:
删除空目录–p表示目录相关的递归操作
(4)rm:
删除文件或文件夹–i提示删除信息-f不提示信息–r表示文件相关的递归操作
(5)cp:
复制文件/文件夹cp–rdir1dir2
(6)mv:
移动文件和修改文件名
(7)ln:
建立符号连接ln–s源目标(目标指向源)
(8)more:
带分页显示文件内容
(9)less:
(10)grep:
在文本中查询内容grep–n"
关键字"
文件名(-n显示行数)
(11)|:
管道命令(竖线);
举例:
ls–l/etc/install.log|more
(12)man(类似于help):
man要查询的指令名字
(13)find:
查找文件或目录;
举例:
(14)>
:
保存结果;
grep–n"
文件名>
目标文件(覆盖原文件)
(15)>
>
在已有文档末尾追加内容;
(16)<
从文件中输入信息;
database_program<
daatabase_base
16、在linux中国的每一个用户必须属于一个组,不能独立于组之外。
在linux中每个文件有一下几个属性:
(1)所有者
(2)所在组(3)其他组(4)改变用户所在的组
解析:
(1)所有者:
文件的创建者,ls–ahl:
查看所有者chown:
修改所有者
(2)所在组:
当某个用户创建一个文件后,文件所在组就是用户所在组;
ls-ahl:
查看所有组
chgrp:
修改所在的组;
chgrp–ryaoguai/home/shaseng
注:
-r:
递归的改变目录及其所有的文件和子目录的属性
(3)其他组:
除开文件的所有者和所在组的用户外,系统的其他用户都是文件的其他组
17、用户组的操作:
(需要root用户或者具有root权限的角色(用户))
(1)添加用户组:
groupadd组名字
(2)删除用户组:
groupdel组名字
(3)查看所在组信息:
vi/cat/etc/group
vi表示可以编辑查看的内容,cat只能查看不能修改目标内容
(4)创建用户的同时指定用户所在组:
useradd–g组名字用户名
(5)查看用户所在组信息:
vi/cat/etc/passwd;
查询结果解析:
(6)查看当前用户:
whoami
(7)修改用户所在组:
usermod–g组名用户名
(8)关于权限的问题:
权限分三种:
r:
可读,用4表示;
w:
可写,用2表示;
x:
可执行,用1表示(简单理解为能访问文件夹)
18、修改权限:
chmod777文件名/文件夹名
注:
第一个7:
所有者的权限
第二个7:
所在组的权限
第三个7:
其他组的权限
要修改权限,首先要找到待修改的文件或文件夹,修改文件夹的权限不一定修改里面文件的权限
作业:
练习文件权限管理:
(1)建立两个组(神仙、妖怪)
(2)建立四个用户(悟空、八戒、唐僧、沙僧),设置密码
(3)把悟空、八戒放在妖怪组,唐僧、沙僧在神仙组
(4)用悟空建立一个文件(monkey.java,内容自定)
(5)给八戒一个可以rw的权限
(6)八戒修改monkey.java,添加内容Iampig.
(7)唐僧、沙僧对该文件无权限
(8)把沙僧放入妖怪组
(9)让沙僧修改monkey.java,加入“我是沙僧,我是妖怪”
第二天
1、linux中J2EE环境的搭建:
(1)下载好需要的相关包,包括JDK,eclipse,Myeclipse,tomcat,利用winiso软件制作一个.iso文件,在虚拟机的"
虚拟机"
选项中"
设置"
中"
CD/ROM"
进行设置:
(2)挂载镜像文件:
cd/mnt/cdrom切换到到虚拟光驱目录中,使用mount/mnt/cdrom,将文件挂载到虚拟光驱中。
(卸载:
umount/mnt/cdrom)
(3)将目标文件(待安装的文件)复制到一个需要安装的位置(注:
所有实例均在/home中进行安装演示):
cp文件的名字/home(需要安装的位置,此处以/home为例)。
若文件的扩展名为.bin,则可以直接使用./文件名直接进行安装;
若扩展名为.tar.gz使用tar–zxvf文件名。
(注:
linux中的配置多需要重新登录才能生效)
(4)先安装JDK,安装完成后,需要进行相关的配置:
使用vi/etc/profile进行配置:
JAVA_HOME=/home/j2sdk1.4.2_19
PATH=$PATH:
/home/j2sdk1.4.2_19/bin
CLASSPATH=.:
/home/j2sdk1.4.2_19/jre/lib/rt.jar
exportJAVA_HOMEPATHCLASSPATH(导入到环境变量中,不能省略)
重新登录,使用javac和java分别测试安装情况,若安装安装和配置成功,则系统会给出相应的提示。
(5)安装eclipse、MyEclipse及其他软件:
基本步骤和上面相同。
以上软件的启动需要在图形用户界面才能启动,MyEclipse必须在图形用户界面才能安装成功。
安装完成MyEclipse后重启eclipse,菜单栏中会自动添加"
MyEclipse"
菜单项。
(6)启动eclipse:
cd/home/eclipse//ls–l查看到的绿色eclipse为可执行文件
./eclipse
(7)安装完tomcat后需要进行配置:
vi/etc/profile
CATALINA_HOME=/home/tomcat的安装路径
exportCATALIINA_HOME(此处可直接和前面进行合并)
未实际安装tomcat,所以上图中tomcat路径省略,安装完成后需要在MyEclipse中进行相关配置,在启动eclipse时使用./eclipse&
可以让eclipse在后台运行,将控制台交还给用户
(8)若通过以上的方法进行安装,需要将所有的文件都打包为.iso文件进行挂载才能被执行(包括视频)。
2、Linux分区:
(1)硬盘分区分为两种:
基本分区和扩展分区
(2)基本分区和扩展分区数目之和不大于4
(3)基本分区可以立即使用,但不能再次进行分区,扩展分区必须进行再分区才能使用。
扩展分区分出的是逻辑分区,理论上逻辑分区无数量限制。
3、对linux用户来说,无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构。
Linux中每个分区都是用来组成整个文件系统的一部分,它采用一种叫做"
载入"
的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来,这时要载入的分区将使它的存储空间在一个目录下获得。
fdisk–l:
查看linux系统分区具体情况
解释:
sd代表SCSI磁盘,a表示第一块硬盘,1表示第几个分区
扩展阅读:
对于IDE硬盘,驱动器标识符为"
hdx~"
其中,"
hd"
表明分区所在设备的类型,此处指IDE硬盘。
"
x"
为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),"
~"
代表分区,前四个分区分别用数字1~4表示,他们是主分区或者扩展分区,从5开始就是逻辑分区。
对于对于SCSI硬盘则标识为"
sdx~"
SCSI硬盘是用"
sd"
来表示分区所在设备的类型,其余和IDE相同。
例1:
hda3:
表示为第一个IDE硬盘的第三个主分区或者扩展分区。
例2:
证明上面的一段话(蓝色部分):
cd/boot//切换到boot目录下
ls//此时会列举出boot下面的所有文件
cd..//切换到上一级目录中
umount/boot//卸载boot目录,此时查看boot目录,里面没有任何文件
mount/boot//挂载文件到boot下,查看之前的所有文件再次显示出来
反过来证明:
同样可以将分区挂载到指定的目录下
cd/home//切换到/home目录下
mkdirtest//新建一个名为test的文件夹
cd..//切换到上一级目录
mount/dev/sda1/home/test//将第一个分区挂载到test目录下
ls//此时boot中的文件同样也挂载到了/home/test目录下
4、其他磁盘分区相关指令:
df[目录全路径]:
查看某个目录的分区情况
df–l:
查看磁盘的使用情况
5、浅谈linux系统分区:
建议分区:
①/boot分区:
100M
②swap:
交换分区,大小一般为物理内存的2倍,但一般不大于256M。
③/:
根分区,尽可能大
6、练习:
(1)安装JDK,并在/etc/profile中配置环境变量
(2)使用vi开发一个MyPrint.java程序,功能:
可以接受一个大于0的整数,并在控制台输出对应菱形,注意要求在任意路径都可以执行该程序。
(3)安装eclipse软件,并开发出一个图形界面程序:
(4)安装并配置myeclipse和tomcat,开发一个hello.jsp,可以通过linux自带浏览器访问
(5)安装mysql数据库。
第三天
1、每个用户在登录linux后,系统会根据用户的权限,使用不同的符号进行表示:
#:
管理员$:
普通用户
2、作为命令语言互动式地解释和执行用户输入的命令只是shell功能的一方面,shell还可以用于程序。
它提供了定义变量和参数的字段及丰富的程序控制结构。
使用shell编程类似于DOS中的批处理文件,称为shellscript,也叫shell编程或shell命令文件。
3、Shell编程书籍推荐:
《linux命令编辑器和shell编程》、《linux与unixshell编程指南》、《tcp-ip-illustrated》(斯蒂文斯)、《vi的使用》
4、Shell常用的种类:
Shell名称命令名称
Bourne/bin/bash
C/bin/csh
Kom/bin/ksh
查看系统中shell的种类:
ls–l/bin/*sh//*通配符,显示以sh结尾的项
查看目前使用的shell的种类:
env[|more]显示当前系统的环境变量
5、修改当前系统使用的shell:
chsh–s[新shell名称]
不同的shell支持的命令不同
6、命令补全功能:
输入文件开始的几个字符,敲击两次"
tab"
键则给出相应的提示,若再输入,则继续缩小范围,也可以用于统计linux的指令数目
7、historynum:
查询命令使用的历史记录,num表示最近执行的几条指令
!
5:
说明执行历史编号为5的指令
ls:
说明执行最后一次以"
ls"
开始的命令
8、TCP/IP是UNIX/linux世界的网络基础,在某种意义上,UNIX网络就是TCP/IP,而且TCP/IP就是网络互联的标准。
它不是独立的,而是一组协议,包含tcp,ip,udp,arp,rarp等协议。
9、TCP/IP的OSI模型:
(此处请参照计算机网络课程讲解)
10、每个internet上的主机和路由器都有一个ip地址,它包含网络号和主机号,目前所有ip都是32位的,ip地址按照国际标准,划分为:
a、b、c、d、e五种类型;
11、查看本地到目标机之间的路由个数(路由追踪):
traceroute目标域名或ip
查看网络配置:
ifconfig(UNIX/LINUX)ipconfig(windows)
快速查看网络是否连通:
ping目标ip或域名
12、特殊的IP地址:
(1)255.255.255.255//局域网广播
(2)网络号111…111//对一个子网广播
(3)127.除全0和全1的任意值//网络回路
13、Linux网络配置:
(1)第一种
1setup,按提示进行操作
2配置生效运行/etc/rc.d/init.d/networkrestart
(2)第二种
1ifconfigeth0IP地址
2ifconfigeth0networkIP地址(对子网掩码设置)
此方法为立即临时生效,关机重启,IP恢复为原来的值。
(3)第三种
1修改/etc/sysconfig/network-scripts/下的ifcfg-eth0文件,此文件可修改IP,子网掩码,广播地址,默认网关
2配置生效运行:
/etc/rc.d/init.d/networkrestart
此方法为最底层的修改
ifcfg-eth0文件:
14、RPM管理:
一种用于互联网下载包的打包及安装工具,生成的文件扩展名为.prm(软件管理工具)
15、RPM包的名称格式:
apache-1.3.23-11.i386.rpm
apache"
软件名字
1.3.23-11"
:
软件的版本号,包括主版本号和次版本号
i386"
软件运行的硬件平台要求
rpm"
表示这是一个rmp包
16、rpm常用命令:
(1)rmp–qa:
查询安装有哪些rpm包(需要联合管道命令一起,方便查看)
rmp–qa|more[|grepn](结合前面所述理解本条指令)
(2)rpm–q软件包名:
查看是否安装某包
(3)rpm–qi软件包名:
查看软件包信息
(4)rpm–ql软件包名:
查看软件包中的文件
(5)rpm–qf文件全路径:
查询文件的所属包
(6)rpm–qp包文件名.rpm:
查询包的信息对这个软件包的介绍
17、安装RPM包:
(1)rpm–iRPM包全路径名称
(2)rpm–ivhRPM包全路径(i=install【安装】v=verbose【提示】h=hash【进度条】)
(3)删除PRM包:
rpm–e[--nodeps]包名(若产生错误信息,则用--nodeps强制删除,不能乱用)
(4)升级rpm包:
rpm–URPM包全路径;
例:
rpm–Ucvs-1.11.2-10.i386.rpm
18、SMB通信协议采用的是C/S结构。
SAMBA软件分为客户端及服务端两部分,通过执行SAMBA客户端程序,linux主机可使用网络上的windows主机所共享的资源。
而在linux主机上安装SAMBA服务器,则可使windows主机访问samba服务器共享的资源。
19、SAMBA安装:
(1)检查是否安装了samba:
rpm–q软件包名;
(2)需要的samba文件:
samba-common.rpm【首装】,samba.rpm,samba-client.rpm
(3)卸载:
rpm–e包名【可以使用*通配符进行批量复制/删除】
(4)开始安装
(5)创建用户并设置用户密码
(6)给新建用户设置samba密码:
cat/etc/passwd|【grep用户名|】mksmbpasswd.sh【这个是一个脚本文件】>
/etc/samba/smbpasswd【samba用户】【全句为将/etc/passwd中的所有用户都添加到samba中,可使用grep进行过滤】
设置samba密码:
smbpasswd用户名
(7)samba相关服务:
servicesmbstart【启动服务】
servicesmbstop【停止服务】
servicesmbrestart【重启服务】
(8)可能需要关闭防火墙:
/etc/rc.d/init.d/iptablesstop【start[启动]restart[重启]】
(9)在windows中通过运行\\目标机IP访问目标机的共享文件夹
20、其他网络配置:
ifconfigeth0up/down【打开或禁用eth0】
/etc/rc.d/init.d/xinetdrestart【重启生效配置】
21、关于samba的配置:
/etc/samba/smb.conf
(1)comment:
针对共享资源文件所做的说明文字,默认空字符串
comment=dirforhero,共享hero这个目录(用户)
(2)path:
若共享的资源是目录,则指定该目录的目录
path=/tmp,共享tmp目录
(3)guestok=yes:
允许用户不使用账号和密码访问
guestok=no:
用户必须使用账号和密码访问
(4)hostsallow(deny)=192.168.0.1192.168.0.4允许/拒绝来自192.168.0.1/4的访问
(5)readonly=yes/no:
共享资源是否为只读
(6)writable=yes/no:
是否允许写入
(7)browseable=yes/no:
是否允许查看此资源
(8)available=yes/no:
是否启用资源共享
22、练习:
(1)建立自己的tomcat服务器,并能够正常在linux的浏览器中访问
(2)修改server.xml文件,将其监听端口80改为12280,并重启服务
(3)把tomcat服务设为开机自起
(4)建立自己的samba服务器,并实现windows到linux的访问,可以进行文件的传输,并设置某个用户只能读的权限。
(5)什么是ftp,它可以做什么,linux下最常用的ftp是哪种,尝试安装配置ftp
(6)通过设置ip,实现windows和linux的通信(互ping)
第四天
1、任务调度:
指系统在某个时间执行的特定的命令或程序,分为系统工作和个人用户工作。
2、任务调度命令:
crontab
(1)设置任务:
crontab–e,举例:
date>
/home/mydate.txt
(2)按一定的周期执行:
*****待执行的命令
(3)时间规则:
(4)一个任务文件可以包含多条指令
3、调度多个任务:
(1)在crontab中直接写:
(代码太多,不易维护)
(2)把某一个用户需要执行的指令写入到一个.sh文件中(采用shell编程的方式),然后创建一个任务调度:
①将要执行的指令写到.sh文件中;
②创建任务调度,内容为:
*****.sh文件路径
(3)终止任务:
crontab–r:
终止所有的任务调度;
-l:
列举当前的任务调度命令
4、进程:
正在执行的程序(简单理解)
5、线程和进程的区别:
(1)线程是轻量级的进程
(2)进程有独立的地址空间,线程没有
(3)线程不能独立存在,它是由进程创建(linux中通过fork创建)
(4)相对而讲,线程耗费的CPU和内存小于进程
6、每个进程都可能以两种方式存在,前台和后台
7、查看进程:
ps–参数(以下参数可以一起使用,功能最全,此方法为静态显示进程信息)
【a:
显示当前中断的所有进程】【:
以用户的格式显示进程信息】【x:
显示后台运行的进程】
8、结束进程:
kill-9进程号【-9表示强制结束进程】killall进程号【结束进程及相关子进程】
9、动态显示进程信息
10、进程管理:
(1)动态显示进程信息:
top
(2)监视特定用户:
使用top查看进程,输入u,回车,再输入用户名即可监视特定用户
(3)终止指定的进程: