Linux学习总结
第一部分:
1:linux基础简介
1:操作系统(Operating System)
1:操作系统是管理计算机硬件与软件资源的程序
2:典型操作系统
1:UNIX、LINUX、Mac OS X、Windows iOS、Android、MS-DOS
3:操作方式
1:命令行界面(Command Line Interface CLI)
1:用户通过键盘输入指令,计算机接收到指令后,予以执行。
2:优点
1:节约计算机系统的资源
2:操作速度快(记住命令)
3:常见
1:DOS、UNIX、LINUX
2:图形用户界面(Graphical User Interface,简称 GUI)
1:采用图形方式显示的计算机操作
2:优点
1:操作简单
2:用户友好
3:缺点
1:比图形命令界面消耗资源
4:常见
1:WINDOWS、Mac OS
2:UNIX与MINIX
1:UNIX
1:1969年由贝尔实验室的肯.汤普逊、丹尼斯.里奇带领下开发出UNIX
1:肯.汤普逊:UNIX之父
2:丹尼斯.里奇:C语言之父
2:之前使用汇编语言B语言,1973年用两人改用C语言(高级语言)重写
2:MINIX
1:贝尔实验室收回版权并且规定“不可对学生提供源码”。
2:Andrew S. Tanenbaum(谭帮宁)教授为了授课,在不参考UNIX源码下写出了MINIX
1:计算机网络、现代操作系统作者,MINIX之父。
3:LINUX
1:1991年,芬兰人林纳斯.托瓦兹在赫尔辛基大学自己动手写了操作系统,就是LINUX内核(Linux kernel)。
2:吉祥物企鹅。
2:Linux加入GNU并遵循公共版权许可证 (GPL)。
4:GNU(“GNU's Not Unix”)
1:理查德.斯托曼博士1983 年启动建立一个完全相容于UNIX的自由软件环境
1:自由软件
1:赋予用户复制、研究、修改和散布该软件的权利,并提供源码供用户自由使用
2:核心的操作系统内核发展受挫,于是采用Linux kernel,应用在GNU系统中
5:GPL(General Public License 通用公共许可证)
1:为了避免GNU开发的软件被其他人利用成为专利软件
2:Copyleft(专利软件是Copyright)
3:目的要让GNU永远是免费和公开的
6:Linux简介
1:Linux是一种自由和开放源码的类UNIX操作系统
2:LINUX特点
1:开放性,多用户,多任务,丰富的网络功能,可靠的系统安全,良好的可移植性,
良好的用户界面(命令界面,图形界面等),出色的速度性能
3:LINUX组成
1:内核
2:Shell
3:文件系统
4:应用程序
4:LINUX版本
1:LINUX内核(Linux kernel)
1:系统的心脏
2:发行版本
1:厂商将Linux系统内核与应用软件和文档包装起来,并提供一些安装界面和系统设定管理工具的一个软件包的集合
2:常见
RedHat Linux,Debian,Ubuntu, Novell/SuSE Linux
7:Ubuntu
1:Ubuntu版本由发布的年份和月份组成最新的版本为Ubuntu 12.10
查看Ubuntu版本cat /etc/issue 或者 sudo lsb_release -a
2:Linux系统安装
1:下载iso系统镜像文件刻录光盘,一步步安装。
1:该步骤和安装windows系统一样,傻瓜式安装
2:Vmware虚拟机安装
1:虚拟机(Virtual Machine)是一个软件,可以模拟出具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
2:安装参看安装文档。
3:注意:安装完虚拟机后,进入网上邻居—)》属性—》》 禁用 VMware Network Adapter VMnet1 和 VMware Network Adapter VMnet8
3:使用Wmware安装Ubuntu
1:参看安装文档。
1:设置用户名和密码,用户名不能设置为root
3:Linux的命令行与图形界面切换
1:命令行界面
1:在图形化界面中打开命令行窗口
应用程序-》附件-》终端
2:切换到纯命令行是使用Ctrl加Alt加F1~F6:
注意: 使用ctrl+alt 和Vmware软件有冲突,需要修改VMware的快捷键
(在VMware左上角edit->preferences->hot keys,将ctrl+alt 修改为ctrl+shift+alt)
1.Ctrl+Alt+F1 切换到控制台1(tty1)
2.Ctrl+Alt+F2 切换到控制台2(tty2)
3.Ctrl+Alt+F3 切换到控制台3(tty3)
4.Ctrl+Alt+F4 切换到控制台4(tty4)
5.Ctrl+Alt+F5 切换到控制台5(tty5)
6.Ctrl+Alt+F6 切换到控制台6(tty6)
3: 使用who命令查看当前已经登录的用户
2:图形用户界面(Graphical User Interface,简称 GUI)
2:ctrl+alt+f7切换到图形用户界面
4: 普通用户与超级管理员
1:显示“$”标识表示是普通用户
例如: 进入linux系统,控制台出现:loaderman@ubuntu:~$
~用户的根目录
2:显示“#”标识表示是超级管理员:
3:切换用户
切换用户(使用su命令切换用户):
当从普通用户切换到root用户(超级管理员)或其他用户时,需要输入目标用户的密码。
当从root用户切换到普通用户时,不需要输入密码。
5:Linux目录结构
1:Linux所有内容是以文件形式进行管理
2:/ 根目录
1:bin 存放二进制可执行文件(ls,cat,mkdir等)
2:boot 存放用于系统引导时使用的各种文件
3:dev 用于存放设备文件
dev是device的简写,就是“设备”的意思。Linux把每个硬件也看作是一个文件
4:etc 存放系统配置文件
1:例如安装jdk配置环境变量
5:home 存放所有用户文件的根目录
1:用户登录系统后默认所在的目录
6:mnt 系统管理员安装临时文件系统的安装点
例如:挂载光驱。
7:opt 额外安装的可选应用程序包所放置的位置
例如:我们可以安装自定义程序1:安装eclipse,安装tomcat
8:root 超级用户目录
1:管理员
9:sbin 存放二进制可执行文件,只有root才能访问
10:usr 用于存放系统应用程序,有些类似windows的Program Files
例如:软件中心下载的软件默认安装在usr/bin中。
我们也可以将jdk安装在此目录中。
图形化界面查看
Places -Documents-File System (/ 根目录)
第二部分:
Linux的常用命令:
1.注销、关机、重启命令
注销:logout或exit
关机:halt或shutdown -h now(要是root用户或是有授权才可以)
重启:reboot或shutdown -r now(要是root用户或是有授权才可以)
2:Linux的基本命令
1:ls 显示文件和目录列表
1: -l 列出文件的详细信息
2: -a 列出当前目录所有文件,包含隐藏文件
2:mkdir 创建目录 ( 删除?rmdir 非空)
1:-p 父目录不存在情况下先生成父目录
3:cd 切换目录
4:touch 生成一个空文件
5:echo 生成一个带内容文件
1:echo abcd>a.txt
6:cat、tac 显示文本文件内容
7:cp 复制文件或目录
1:cp a.txt /home/loaderman/abc/ddd
8:rm 删除文件
1:rm a.txt
2:rm -rf abc
9:mv 移动文件或目录、文件
1:mv aaa bbb 将aaa改名为bbb
2:mv bbb /home/loaderman/abc/ccc
10:find 在文件系统中查找指定的文件
1:find -name 文件名
11:wc 统计文本文档的行数,字数,字符数
1:wc a.txt
12:grep 在指定的文本文件中查找指定的字符串
1:grep aa a.txt
13:pwd 显示当前工作目录
命令练习:
创建一个目录 家庭A(目录)
进入familyA
家庭A中有一个父亲,母亲,女儿,儿子(4个空文件)
家庭有房子(目录)
房子有厨房,卫生间,3卧室(目录)
男孩房有床(空文件),有书(带内容的文件)
女孩房同样有床和书,女孩房有娃娃(空文件)。
男孩房也要有娃娃(空文件),男孩把娃娃删掉。将房间的沙发移动到男孩房。
删除厨房
14:ln 建立链接文件(***)
1:ln -s /home/loaderman/familyA/house/roomB /home/roomB
1:当访问一个目录较深的文件,可以建立链接文件。
2: 遇到 Permission denied(权限拒绝)说明loaderman用户没有权利做这件事
1:使用sudo 可以借用root的权限,输入loaderman的密码
3:在home下就可以直接访问roomB的文件
4:例如安装jdk路径需要配置环境变量,如果路径较长书写麻烦可以配置连接文件
第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;
第二,ln的链接又 软链接和硬链接两种,软链接就是ln –s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间
硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。
如果你用ls察看一个目录时,发现有的文件后面有一个@的符号,那就是一个用ln命令生成的文件,用ls –l命令去察看,就可以看到显示的link的路径了。
15:more、less 分页显示文本文件内容
1:查看配置文件时,很长需要分页处理
2:more(一页一页翻)
1:空格键向下翻页
2:Enter键向下滚动一行
3::f 显示出文件名及当前的行数
4: q 离开more
5: b 往回翻
3:less(一页一页翻)
1:空格 向下翻一页
2:PageDown 向下翻一页
3:PageUp 向上翻一页
4:q 离开
16:head,tail分别显示文件开头和结尾内容
17:man 命令帮助信息查询
1:man ls
18:管道(***)
1: cat /etc/passwd | wc -l
使用cat命令显示passwd文件中的内容,但是并没有显示在屏幕上,而是通过管道“|” 接受,wc命令从管道中取出内容进行统计,然后显示结果
这个输出时该文件有多少行(多少个用户)
19:重定向
1:>
cat /etc/passwd>/home/loaderman/a.txt
echo "hello java">a.txt (覆盖上一个a.txt)
2:>>
1:追加,不会覆盖
cat /etc/passwd>>/home/loaderman/a.txt
echo "---------">>a.txt
3:Linux系统命令
1:stat 显示指定文件的相关信息
1:stat familyA
access 进入
Modify 修改
Change 改变
access time是文档最后一次被读取的时间。因此阅读一个文档会更新它的access时间,
但它的modify时间和change时间并没有变化。cat、more 、less、grep、tail、head这些命令都会修改文件的access时间。
change time是文档的索引节点(inode)发生了改变(比如位置、用户属性、组属性等);
modify time是文本本身的内容发生了变化。[文档的modify时间也叫时间戳(timestamp)
2:who、显示在线登录用户
1:想要知道当前有多少用户登录系统。
2:who
1:显示2个一个是命令行,一个是图形界面的只有一个loaderman
3:whoami 显示用户自己的身份
4:hostname 显示主机名称
1:hostname
2:hostname -i 显示主机IP
5:uname 显示系统信息
1:uname -a 显示全部信息
Linux ubuntu 2.6.35-22-generic #33-Ubuntu SMP Sun Sep 19 20:34:50 UTC 2010 i686 GNU/Linux
6:top 显示当前系统中耗费资源最多的进程 动态显示过程,实时监控
1:类似于windows的任务管理器
2:主要看 cpu mem command
3;ctrl+c 退出,或者q
7:ps 显示瞬间进程状态
1:ps -aux 显示所有瞬间进程状态
8:du 显示指定的文件(目录)已使用的磁盘空间的总量
1:du
2:du familyA (以K为单位)
3:du -h familyA
9:df 显示文件系统磁盘空间的使用情况
1:df -h
10:free 显示当前内存和交换空间的使用情况
11:ifconfig 显示网络接口信息
1:windows 是ipconfig
12:ping 测试网络的连通性
13:clear 清屏
14:kill 杀死一个进程
15:关机/重启命令
1:shutdown 命令可以安全的关闭Linux系统,shutdown命令必须有超级用户才能执行。shutdown命令执行后会以广播的形式通知正在系统中工作的所有用户,
1:shutdown -h now (关机不重启)
2:shutdown -r now (关机重启)
3:shutdown now (关机)
4:shutdown 15:22
2:halt 关机后关闭电源
3:reboot 重新启动
4:备份压缩命令
1:tar
1:打包
1:tar -cvf familyA.tar familyA (tar -cvf 保存路径/包名 打包目录)
2:拆包
1:tar -xvf /home/loaderman/familyA.tar
2:gzip 命令
gzip 压缩(解压)文件,压缩文件后缀为gz
1:压缩
1:把/home/loaderman目录下的familyA目录下所有文件压缩成.gz文件
1:gzip只能压缩文件,目录(文件夹不能处理),需要使用tar对文件夹打包
1:gzip familyA.tar 进行压缩
2:查看压缩文件
1:gzip -l familyA.tar.gz 查看压缩包详细信息
1:compressed 压缩后大小
2:uncompressed 原始大小
3:ratio 压缩比
4:uncompressed_name 原始文件名
3:解压
1:gzip -d familyA.tar.gz 显示文件名和压缩比
4:压缩比
1:高压缩(速度稍慢)
gzip -9 familyA.tar 高压缩比
gzip -l familyA.tar.gz
2:低压缩比(速度快)
gzip -d familyA.tar.gz (解压)
gzip -1 familyA.tar 低压缩比
gzip -l familyA.tar.gz
3:默认是6
3:bzip2 命令
bzip2 压缩(解压)文件或目录,压缩文件后缀为bz2
1:压缩
1:把/home/loaderman目录下的familyA目录下所有文件压缩成.bz2文件
1:bzip2 -z familyA.tar 压缩需加上参数-z
2:解压缩
1:bzip2 -d familyA.tar.bz2
4:tar命令压缩和解压
1:将整个/home/loaderman/familyA目录下的文件全部打包成为/home/loaderman/familyA.tar
1:仅打包,不压缩
1:tar -cvf familyA.tar familyA
2:打包后,以gzip压缩
1:tar -zcvf familyA.tar.gz familyA
拆包
sudo tar -zxvf familyA.tar.gz
3:打包后,以bzip2压缩
1:tar -jcvf familyA.tar.bz2 familyA
拆包
sudo tar -jxvf familyA.tar.bz2
第三部分:
软件管理
1:直接安装.deb包 dpkg软件包
1:安装以.deb结尾的软件包,需要使用root的权限
1:sudo dpkg -i 软件包名
2:卸载
1:sudo dpkg -r 软件包名
3:安装tree
1:进入file文件 cd /home/loaderman/Desktop/file
2:sudo dpkg -i tree_1.5.3-1_i386.deb
4:看Ubuntu系统已安装所有软件包列表
1:sudo dpkg -l
很多情况软件安装:/usr/local之下
2:使用apt-get管理软件(推荐使用)
1:前提连接互联网,自动搜素,自动下载自动安装
2:安装
1:sudo apt-get install eclipse
2:sudo apt-get install openjdk-6-jdk
3:卸载
1:sudo apt-get remove packagename
3:使用广泛,默认下载路径
1:/var/cache/apt
同时也可以可以更新和搜索软件
1.执行“apt-get update”更源列表
2.执行“apt-cache search 名称”搜索软件
ubuntu系统如何查看软件安装的位置?装到哪里去了,可以这样看:
代码:
dpkg -L 软件名
软件中心下载的软件默认保存路径:/var/cache/apt/archives.
9:vim编辑器
编辑模式
插入模式
命令模式
VIM的运行模式 <C-F12>
编辑模式:等待编辑命令输入
插入模式:编辑模式下,输入 i 进入插入模式,插入文本信息
命令模式:在编辑模式下,输入 “:” 进行命令模式
1:安装
1:安装进入入file文件 cd /home/loaderman/Desktop/file
2:sudo dpkg -i vim-runtime_7.2.330-1ubuntu4_all.deb
3:sudo dpkg -i vim_7.2.330-1ubuntu4_i386.deb
4:检查安装成功 敲入vim即可 退出 :q。
2:在/home/loaderman/目录下建立一个bank.txt文件
1:cd /home/loaderman/familyA/
2:touch bank.txt
3:使用vim编辑
1: vim bank.txt
2:数据命令i 进入插入模式
3:输入内容
ICBC
RMB:10000000000
USD:100000000000
user:familyA.father
4:ctrl+C 退出插入模式或者敲ESC切换至命令模式
5::wq 回车 保存
4:编辑bank.txt 内容不保存 退出
1:vim bank.txt
2:数据命令i 进入插入模式
3:随便输入内容
4:ctrl+C 退出插入模式或者敲ESC
5::q! 回车 强制退出
6:cat bank.txt 使用cat查看内容
5:显示行号
1:vim bank.txt
2::set number 回车
3::q 回车 正常退出
6:取消行号
1::set nonumber
第四部分:
搭建Java服务器并进行远程管理
查看linux 是否开始SSH 服务(是否安装服务端)
sudo apt-cache policy openssh-client openssh-server
1:搭建SSH服务器
1:在Ubuntu Linux服务器上安装SSH软件
执行“apt-get install openssh-server”
2:在Windows客户机上访问SSH服务器
使用“putty.exe”登录服务器(命令行),可用于在服务器端执行命令。
使用“winscp.exe”连接服务器,可用于上传下载文件。
2:搭建Java环境(JDK6)
方法一:执行“apt-get install openjdk-6-jdk”
注意: 需要联网.
方法二:
1.进入opt目录
cd /opt
2.在opt目录下建立java安装目录
sudo mkdir java
3.将jdk-6u24-linux-i586.bin拷贝到java目录下
sudo cp /home/loaderman/Desktop/file/jdk-6u39-linux-i586.bin /opt/java
4.安装jdk
cd /opt/java
sudo ./jdk-6u39-linux-i586.bin
配置JAVA_HOME
修改/ect/profile文件
编辑配置文件
sudo vim /etc/profile
添加如下内容:
export JAVA_HOME="/opt/java/jdk1.6.0_39"
export PATH="$JAVA_HOME/bin:$PATH"
重启机器。或者(source /etc/profile)
3:验证环境
查看环境变量
env
验证JAVA_HOME是否配好:
echo $JAVA_HOME
echo $PATH
注意:
$是取环境变量的值
JAVA_HOME是环境变量
验证PATH是否配好:
java -version
3: 搭建Tomcat服务器
1,从tomcat官网上下载.tar.gz包,并放到服务器上。
2,解压tomcat.tar.gz包:“tar -zxvf tomcat6.tar.gz”。
sudo tar -zxvf 该命令字节进.gz的文件包解压。
3,执行“/opt/tomcat6/bin/startup.sh”便可启动Tomcat。
如果启动不了,请尝试
sudo -i 切换到root用户再重新启动
sudo ./startup.sh
测试http:127.0.0.1:8080/
sudo firefox (如果无法正常打开浏览器使用该命令)
4: 安装eclipse
1,从eclipse官网下载eclipse-jee-helios-linux-gtk.tar.gz包,放到服务器上。
2,解压eclips.tar.gz包:“tar -zxvf 解压eclips.tar.gz”。
3,执行“/opt/eclipse/eclipse” 便可启动eclipse
如果eclipse无法正常启动,可以经jre拷贝一份到eclipse目录下(cp -a 拷贝目录)
5.安装mysql
查看mysql 安装文档
最后,关注【码上加油站】微信公众号后,有疑惑有问题想加油的小伙伴可以码上加入社群,让我们一起码上加油吧!!!