1、 Linux操做系统概述html
l 为何要学习Linux操做系统:java
一、 大部分服务端都是使用Linux操做系统(Django,爬虫,科学运算等项目是部署到服务器中的)python
二、 一些企业和学校(国外学校)采用Linux进行研发和教学linux
三、 不少嵌入式开发使用Linux系统算法
四、 大数据、云计算,采用Linux操做系统(CentOS)shell
l Linux系统的特色:django
一、 开放、开源、多用户的网络操做系统编程
二、 可靠地系统安全、良好的移植性ubuntu
三、 出色的运行速度vim
四、 基于UNIX
五、 加入了GNU组织(GNU---自由软件组织 CopyLeft)
l Linux的组成:
1、内核:是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序。最新版5.0
2、Shell(外壳):是系统的用户界面,提供了用户和内核进行交互操做的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器。但它不只是命令解释器,并且仍是高级编程语言,shell编程。
3、文件系统:文件系统是文件存放在磁盘等存储设备上的组织方法,Linux支持多种文件系统,如ext3,ext2,NFS,SMB,iso9660等。相似于window的fat32
和ntfs
五、 应用程序:标准的Linux操做系统都会有一套应用程序例如X-Window,Open Office等。
l Linux版本
一、 内核版本,最新版本为5.0 版本 http://www.kernel.org/
二、 发行版本,一些厂商将Linux系统内核与应用软件和文档包装起来,并提供一些安装界面和系统设定管理工具的一个软件包的集合,例如RedHat Linux,CentOS,Debian,Ubuntu, Novell/SuSE Linux等。
RedHat : Rhel(企业版) CentOS(社区版)
Debian:Debian Ubuntu(桌面)
2、Linux系统安装
l 安装vmware虚拟机
(Virtual Machine)指经过软件模拟的具备完整硬件系统功能的、运行在一个彻底隔离环境中的完整计算机系统。
l 在VM中安装Linux操做系统
3、 Linux目录结构
l 基本目录结构
bin 存放二进制可执行文件(cd,ls,cat,mkdir等)
boot 存放用于系统引导时使用的各类文件
dev 用于存放设备文件
etc 存放系统配置文件
home 存放全部用户文件的根目录
lib 存放跟文件系统中的程序运行所须要的共享库及内核模块
mnt 系统管理员安装临时文件系统的安装点
opt 额外安装的可选应用程序包所放置的位置
proc 虚拟文件系统,存放当前内存的映射
root 超级用户目录
sbin 存放二进制可执行文件,只有root才能访问
tmp 用于存放各类临时文件
usr 用于存放系统应用程序,比较重要的目录/usr/local 本地管理员软件安装目录
var 用于存放运行时须要改变数据的文件
4、 Linux系统环境(CentOS)
l 分为命令交互通道和图形界面交互通道,默认进入图形界面交互通道。
Ctrl+Alt+F2 由图形通道进入命令通道
Ctrl+Alt+F1 由命令通道进入图形通道
d
一、 图形界面交互模式下的
terminal: 图形界面的命令终端,它是图形界面交互通道的延伸,要依赖于图形界面(相似于命令交互通道)
二、 命令交互通道
[zrgk@localhost ~]$
zrgk 用户名
localhost 主机名
~ 路径 ,假如当前的路径正好是 该用户存放数据的根目录 ,则显示~
$ 用户类型 $表示普通用户 #超级用户
5、 Linux经常使用命令
l 查看系统版本
Cat /etc/redhat-repase
详细内核信息: cat /proc/version
系统使用Linux3.10内核64位操做系统,gcc()
l Linux基本命令
一、 cd 切换目录
例如: cd Desktop 切换到桌面
cd .. 切换到上级目录(Linux中cd和..之间必须有空格)
2、man(manual) 帮助命令,至关于windows中的 help
例如: man ls 查看 ls命令的使用方式 按q退出
三、ls 查看目录内容
ls –l 查看详细信息 也能够直接使用 ll
ls –a 查看所有文件(包括隐藏文件)
四、mkdir 建立目录
例如: mkdir java 建立一个java目录
cd java
mkdir JEE 在java目录下,又建立一个JEE目录
六、 tab 自动补全
七、 touch 建立一个普通空白文件
例如: touch aa.txt
八、 echo 把内容重定向到指定文件中,若是文件有则打开,无则建立
例如: echo “helloworld” > aa.txt 覆盖原有数据
echo “helloworld” >> aa.txt 追加方式
九、 cat 查看文件内容
例如: cat aa.txt
十、 more 查看文件内容,分页显示,按空格翻页
十一、 cp 复制
例如:cp aaa.txt ./java/jee 把aaa.txt 拷贝到 java/jee目录下
cp aaa ./java/jee –r 拷贝文件夹
11、mv 剪切、重命名
mv bbb.txt ./java/jee 把bbb.txt 剪切到 java/jee 目录下
mv bbb.txt aaa.txt 把bbb.txt 重命名为aaa.txt
十二、 rm 删除
rm aaa.txt 删除aaa.txt
-f : 假如要删除的文件不存在,也不提示 rm aaa.txt -f
-i : 删除前提示 ,默认不删除,要删除,输入y rm aaa.txt -i
-d : 删除空白目录
rm python–d python必须是一个空白目录(不包含任何文件的文件夹)
-r :递归删除 rm –r python 删除python这个文件夹 有提示
rm –rf python 没有提示
1三、 wc 统计字符数
154 233 3418
154 :行数
233 :单词数
3418 :字符数
例如: wc aa.txt
1四、 ln 建立连接文件
默认建立的是硬链接,比如复制 ,可是两个文件会同步
ln aaa.txt bbb 硬链接
ln –s aaa.txt bbb 软链接 相似于windows中建立一个快捷方式
1五、 pwd 查看当前路径的绝对路径
1六、 passwd 设置密码(须要先输入原密码,再设置新密码)
1七、 su 切换用户
su root
su zrgk
由其余用户切换到root目录不须要输入密码
由root用户切换到其余用户不须要输入密码
l Linux系统命令
一、 stat 查看文件的详细信息
例如:stat aaa.txt
二、 who与whoami
who 查看在线的用户
whoami 查看当前本身的用户
三、 hostname 显示主机名
四、 uname 显示系统信息
uname –a 显示完整的系统信息
5、top 显示当前耗时的进行的信息 ,每3秒刷新一次
cltr+c 中断
六、 ps 显示当前进程的快照 (没有自动刷新的效果)
七、 du 显示文件大小信息
八、 df 磁盘使用状况
九、 ifconfig 查看或配置网卡信息,至关于windows中的ipconfig
设置虚拟机ip地址:
一、 设置vmware的链接方式
ü NAT模式:共享宿主机的ip地址,在网上邻居找不到(默认)
这里说的共享主机ip,不是和宿主机的ip彻底相同
而是一种内部映射(相似于网吧中的一个光纤(一个ip),带多台电脑)
ü 桥接方式:须要单独设置ip,能够在网上邻居查找
ü 仅主机模式:只有宿主机才能访问虚拟机,其余机器不能访问虚拟机
二、 图形界面设置ip地址
三、 命令方式设置ip地址 切换到root用户
查看以太网卡名: ifconfig
手动配置
重启网络服务: service network restart
10、ping命令 和windows的ping命令相同
11、clear 清除 windows cls
12、kill 杀死进程
Kill pid (pid指进程id,使用top命令或ps命令查看)
13、netstat 网络链接详细信息
14、useradd 操做用户
1
切换到root用户 cat /etc/passwd 查看全部用户信息
例如:zrgk:x:500:500:zrgk:/home/zrgk:/bin/bash
zrgk 用户名
x 密码 已加密 加密文件存放在 /etc/shadow 目录下
500 帐号id user id
500 组id group id
home/zrgk 该帐号存放文件的默认位置
/bin/bash 该帐号shell脚本的解析方式 (sh、bash、rbash)
2 建立帐号:
useradd lixin –d /home/lixin –s /bin/bash
lixin 用户名
-d 指定该用户的home路径
-s 指定该用户的shell脚本解析方式
操做步骤:
1 建立 /home/lixin 目录
2 执行 useradd 命令
3 用passwd命令改密码
4 使用su命名切换用户
六 打包、压缩(解压)文件
常见压缩文件格式:
Windows rar 、zip
Linux gz、bzip、zip
一、tar 打包命令 (归档文件)
tar –cxzjvf 打包后的文件 欲打包的文件
- c :建立的一个归档文件 ,即打包文件夹
- x :拆包
- z :以gzip 格式压缩,默认压缩倍数 6倍 (0-9)
- j :以bzip2格式压缩
- v :显示打包或者拆包的文件信息
- f : 后面紧接一个 归档文件
例如: tar –cvf news.tar ./java 把当前目录下的java目录打包
tar –xvf news.tar 拆包
二、 gzip 压缩文件
--压缩:
gzip news.tar 对归档文件直接进行压缩,生成 new.tar.gz文件
--解压:
gzip –d new.tar.gz 把压缩文件解压成归档文件
三、 打包及压缩
--打包及压缩
tar –czvf news.tar.gz ./java 对java文件进行打包及压缩
--拆包及解压缩
tar –xzvf news.tar.gz 对new.tar.gz 进行解压
7、管理软件
Windows .exe 安装、卸载
安装:双击执行.exe 文件
卸载:该软件的惟一标识(包名, 当软件作到公认时,包名就会简短,例如MySQL、QQ等)
Linux:
ubuntu : 对debian的升级 因此 *.deb 格式
安装:sudo dpkg –i 要安装的文件 (I install)
卸载:sudo dpkg –r 包名
red hat :*.rpm rpm命令
CentOS : 是Red Hat的社区版 *.rpm
rpm –ivh xxx.rpm 离线安装
yum –y install xxx 在线安装
n Vi/vim 软件,至关于windows中的记事本,可是功能比记事本强大
1 安装vim CentOS系统,默认安装了vim
Ubuntu 系统 须要安装
没有安装手动安装: yum -y install vim*
2 使用 vim
例如:vim aaa.txt 使用 vim 打开 aaa.txt 文档
操做模式:
1 通常模式:默认进入的模式,这个模式不能编辑文档,只能查看文档
在通常模式中 按 i (insert) 进入 编辑模式
2 编辑模式:
该模式能够编辑文档,按esc进入通常模式
3 命令模式:在通常模式中 按 :进入命令模式
q 安全退出,当没有操做该文档,则直接按q退出vim
q! 当修改了内容,不想保存 q!强制退出
wq 保存退出
set number 显示行号
set nonumber 不显示行号
4 vim中翻页
ctrl+f ctrl+b
5 vim中检索(查找) 按/键
更多使用: http://www.runoob.com/linux/linux-vim.html
8、 使用ssh远程安全访问Linux系统
传统的网络服务程序,FTP、POP、telnet 本质上都是不安全的,由于它们在网络上经过明文传送口令和数据,这些数据很是容易被截获。SSH叫作Secure Shell。经过SSH,能够把传输数据进行加密,预防攻击,传输的数据进行了压缩,能够加快传输速度。
OpenSSH
SSH是芬兰一家公司开发。可是受到版权和加密算法限制,如今不少人都使用OpenSSH。OpenSSH是SSH的替代软件,免费。
OpenSSH由客户端和服务端组成。
CentOS系统中默认安装了OpenSSH
n 经过windows ssh客户端来访问linux服务端
Windows系统 使用 putty 软件访问 Linux服务端
- 支持中文设置
https://blog.csdn.net/xdfwsl/article/details/3031116?utm_source=blogxgwz1
n 使用winscp 软件,进行客户端和服务器端文件传输
1. 安装JDK
步骤:
1、进入root用户
9 把Linux版本的JDK(jdk1.7) 文件 拷贝到 /opt
3、解压:
若是是.gz文件 使用 tar -xzvf 命令解压
若是是 .bin文件(可执行文件) 使用 ./xxx.bin 执行后就自动解压
4、在bin 目录下编写HelloWorld.java 程序 编译、运行
(在bin 目录下运行 javac命令和java命令时,须要加 ./)
./javac HelloWorld.java
./java HelloWorld
5、设置环境变量
1 vim etc/profile
2 必定要加在文件的末尾
export JAVA_HOME="/opt/jdk1.7.0_51"
export PATH="$JAVA_HOME/bin:$PATH"
3 刷新配置,让配置生效
source /etc/profile (必定要刷新,不刷新不能生效)
4 编写HelloWorld.java 编译、运行
9、 设置Linux系统防火墙
service iptables stop 关闭防火墙
service iptables start 开启防火墙