要点:
- 了解Linux的安装和目录
- 了解Linux常用命令
- 安装JDK等软件或服务应用
- 无界面操作
Linux简介
Linux(i/ˈlɪnəks/ *lin-əks*)是一种自由和开放源代码的类UNIX操作系统。该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布。在加上用户空间的应用程序之后,成为Linux操作系统。Linux也是自由软件和开放源代码软件发展中最著名的例子。只要遵循GNU通用公共许可证(GPL),任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。大多数Linux系统还包括像提供GUI的X Window之类的程序。除了一部分专家之外,大多数人都是直接使用Linux发行版,而不是自己选择每一样组件或自行设置。
Linux严格来说是单指操作系统的内核,因操作系统中包含了许多用户图形接口和其他实用工具。如今Linux常用来指基于Linux的完整操作系统,内核则改以Linux内核称之。由于这些支持用户空间的系统工具和库主要由理查德·斯托曼于1983年发起的GNU计划提供,自由软件基金会提议将其组合系统命名为GNU/Linux[8][9],但Linux不属于GNU计划,这个名称并没有得到社群的一致认同。
Linux最初是作为支持英特尔x86架构的个人计算机的一个自由操作系统。目前Linux已经被移植到更多的计算机硬件平台,远远超出其他任何操作系统。Linux可以运行在服务器和其他大型平台之上,如大型计算机和超级计算机。世界上500个最快的超级计算机90%以上运行Linux发行版或变种[10],包括最快的前10名超级计算机运行的都是基于Linux内核的操作系统[11]。Linux也广泛应用在嵌入式系统上,如手机(Mobile Phone)、平板电脑(Tablet)、路由器(Router)、电视(TV)和电子游戏机等。在移动设备上广泛使用的Android操作系统就是创建在Linux内核之上。
来自维基百科
关于内核最初作者 林纳斯·托瓦兹:
1988年,他进入赫尔辛基大学计算机科学系。1989年,他进入芬兰陆军新地区旅,服11个月的国家义务兵役,军衔为少尉,主要服务于计算机部门,任务是弹道计算。服役期间,购买了安德鲁·斯图尔特·塔能鲍姆所著的教科书及minix源代码,开始研究操作系统。1990年,他退伍后回到大学,开始接触Unix。1991年8月25日,在网络上发布了Linux内核的源代码。1994年3月14日发布了1.0版本。
1996年,自赫尔辛基大学硕士毕业,学位论文是《Linux: A Portable Operating System》。在拜访全美达公司(Transmeta)之后,托瓦兹决定接受他们的聘用,并移居美国加州。自1997年2月,至2003年6月之间,托瓦兹都在全美达公司服务,参与该公司芯片的code morph技术研发。在1997年至1999年间,主要投入86open计划。
1999年,Red Hat及VA Linux这两间公司,决定将他们公司的股票期权(stock option)一部分赠与托瓦兹,以感谢他的贡献。同年,在这两间公司的股票在市场公开发行之后,托瓦兹的财产估计为2,000万美元。
2003年,为了专心于Linux内核的发展,从全美达公司辞职,受聘于开源码发展实验室(OSDL),担任Linux内核的主要维护者。
2004年6月,托瓦兹全家移居奥勒岗州Dunthorpe,接近于开源码发展实验室的总部所在地Beaverton。
2005年,为了管理Linux内核的源代码,开发了Git。
Linux分类:
(1)Linux根据市场需求不同,基本分为两个方向:
1)图形化界面版:注重用户体验,类似window操作系统,但目前成熟度不够
2)服务器版:没有好看的界面,是以在控制台窗口中输入命令操作系统的,类似于DOS,是我们架设服务器的最佳选择
(2)Linux根据原生程度,又分为两种:
1)内核版本:在Linus领导下的内核小组开发维护的系统内核的版本号
2)发行版本:一些组织或公司在内核版基础上进行二次开发而重新发行的版本
Linux发行版本不同,又可以分为n多种
Linux 安装和目录
虚拟机VMware软件安装
除了VMware可以安装虚拟机,还有 VirtualBox 、Parallels等等
下载并安装
Centos 安装
下载镜像 并在虚拟机中安装镜像
Shell 指令
Unix shell,一种壳层与命令行界面,是UNIX操作系统下传统的用户和计算机的交互界面。第一个用户直接输入命令来执行各种各样的任务。
普通意义上的shell就是可以接受用户输入命令的程序。它之所以被称作shell是因为它隐藏了操作系统低层的细节。同样的Unix下的图形用户界面GNOME和KDE,有时也被叫做“虚拟shell”或“图形shell”。
Unix操作系统下的shell既是用户交互的界面,也是控制系统的脚本语言。当然在这点也有别于Windows下的命令行,虽然也提供了很简单的控制语句。在Windows操作系统下,可能有些用户从来都不会直接的使用shell,然而在Unix系列操作系统下,shell仍然是控制系统启动、X Window启动和很多其他实用工具的脚本解释程序。
目录
$cd /
$ll
>>>
dr-xr-xr-x. 2 root root 4096 8月 30 07:45 bin
dr-xr-xr-x. 5 root root 1024 8月 30 04:59 boot
drwxr-xr-x. 19 root root 3800 9月 13 01:08 dev
drwxr-xr-x. 101 root root 12288 9月 13 01:08 etc
drwxr-xr-x. 3 root root 4096 8月 30 05:00 home
dr-xr-xr-x. 17 root root 12288 8月 30 07:45 lib
drwx------. 2 root root 16384 8月 30 04:53 lost+found
drwxr-xr-x. 2 root root 4096 9月 23 2011 media
drwxr-xr-x. 3 root root 4096 8月 30 05:01 mnt
drwxr-xr-x. 3 root root 4096 8月 30 05:02 opt
dr-xr-xr-x. 104 root root 0 9月 13 01:07 proc
dr-xr-x---. 3 root root 4096 8月 30 09:04 root
dr-xr-xr-x. 2 root root 12288 8月 30 07:45 sbin
drwxr-xr-x. 7 root root 0 9月 13 01:07 selinux
drwxr-xr-x. 2 root root 4096 9月 23 2011 srv
drwxr-xr-x. 13 root root 0 9月 13 01:07 sys
drwxrwxrwt. 15 root root 4096 9月 13 01:10 tmp
drwxr-xr-x. 12 root root 4096 8月 30 04:54 usr
drwxr-xr-x. 21 root root 4096 8月 30 04:59 var
-
bin(binary): 二进制可执行文件
-
sbin(super user bin): 超级用户可执行文件,需要root权限
-
etc(etcetera): 存放配置文件,profile文件等
-
usr(unix shared resources): 存放共享资源
-
dev(devices): 必要设备, 例如:
/dev/null
-
home:用户的根目录,包含保存的文件、个人设置等,一般为单独的分区。
-
lib(library):
/bin/
和/sbin/
中二进制文件必要的库文件 -
media:可移除媒体(如CD-ROM)的挂载点
-
mnt(mount): 临时挂载的文件系统。
-
opt(option): 可选应用软件包
-
proc(process):虚拟文件系统,将内核与进程状态归档为文本文件。例如:uptime、 network。在Linux中,对应Procfs格式挂载。
-
root: 超级用户的根目录
-
srv(server):站点的具体数据,由系统提供。
-
tmp(temporary):临时文件(参见
/var/tmp
),在系统重启时目录中文件不会被保留。 -
var(variation): 变量文件——在正常运行的系统中其内容不断变化的文件,如日志,脱机文件和临时电子邮件文件。有时是一个单独的分区。
/var/tmp/
:在系统重启过程中可以保留的临时文件- 现已经被
/run
代替
-
run: 代替
/var/run
目录,自最后一次启动以来运行中的系统的信息,例如:当前登录的用户和运行中的守护进程。
shell指令
指令 | 作用 | 示例 |
---|---|---|
$cd |
切换目录 | $cd usr 切换到该目录下usr目录 ; $cd .. 切换到上一层目录 ;$cd / 切换到系统根目录 ;$cd ~ 切换到用户主目录 ;$cd - 切换到上一个所在目录 |
————————————————————– | 目录操作命令 | ————————————————————————————————————————————————————————————————————- |
$ mkdir |
增加目录 | $mkdir dirname |
$ls [-al] |
查看目录 | $ls -a 显示所有文件和文件夹 包括隐藏文件 ; $ls -l 显示文件详细信息,可以缩写为$ll |
$find |
寻找目录 | $find /root -name 'test*' 查找/root下的与test相关的目录(文件) |
$mv |
修改名称 | ` $mv 目录名称 新目录名称 ` |
$mv |
移动目录 | $mv newTest /usr 把newTest目录移动到/usr目录下 |
$cp |
拷贝操作 | $cp -r /usr/newTest /test 使用-r可以将所有文件递归拷贝 |
$rm [-rf] |
删除 | ` $rm -r newTest ` 删除newTest下所有文件和文件夹; -r递归 -f强制 |
—————————- | 文件操作命令 | ————————————————————————————————– |
` $touch ` | 创建文件 | $touch filename.txt |
` $cat/more/less/tail ` | 查看文件 | - 使用cat查看/etc/sudo.conf文件,只能显示最后一屏内容; - 使用more查看/etc/sudo.conf文件,可以显示百分比,回车可以向下一行, 空格可以向下一页,q可以退出查看; - 使用less查看/etc/sudo.conf文件,可以使用键盘上的PgUp和PgDn向上和向下翻页,q结束查看; - 使用tail -10 查看/etc/sudo.conf文件的后10行,Ctrl+C结束 ; 注意:命令 tail -f 文件 可以对某个文件进行动态监控,例如tomcat的日志文件, 会随着程序的运行,日志会变化,可以使用tail -f xxx.log 监控文件的变化 |
$vi/vim |
修改文件的内容 | $vim aaa.txt 详情需要单独学习vim |
—————————— | 压缩文件的操作命令 | Linux中的打包文件一般是以.tar结尾的,压缩的命令一般是以.gz结尾的。而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般.tar.gz |
` $tar -zcvf ` | 压缩 | tar -zcvf 打包压缩后的文件名 要打包压缩的文件 z:调用gzip压缩命令进行压缩 c:打包文件 v:显示运行过程 f: :指定文件名 $tar -zcvf xxx.tar.gz /test/* 打包test下所有文件到xxx.tar.gz中 |
$tar [-xvf] |
解压 | x:代表解压 -C 指定解压路径 $tar -xvf xxx.tar.gz -C /usr |
————————– | 其他指令 | ————————– ————————– ————————– —————– |
` $pwd ` | 当前位置 | |
` $grep ` | 搜索 | grep 要搜索的字符串 要搜索的文件 搜索/usr/sudu.conf文件中包含字符串to的行 to要高亮显示 $grep to /usr/sudo.conf --color |
$ | |
管道命令pipe | 将前一个命令的输出作为本次目录的输入 |
` $ps -ef ` | 查看进程 | -e 查看所有进程;-f 显示UID,PPIP等信息 |
$kill -9 |
杀死进程 | 只有第9种信号(SIGKILL)才可以无条件终止进程,其他信号进程都有权利忽略$kill -9 3312 |
$ifconfig |
查看当前系统的网卡信息 | |
$ping |
查看与某台机器的连接情况 | |
$netstat -an |
查看当前系统的端口使用 | |
ls -l |
查看权限 | r:代表权限是可读,r也可以用数字4表示 w:代表权限是可写,w也可以用数字2表示 x:代表权限是可执行,x也可以用数字1表示 >>>drwxr-xr-x. 7 root root 0 9月 13 01:07 selinux d: 目录,-:代表文件 drwxr-xr-x 10个位置,第一个位置代表类型,其余三三一组【user】【group】【other】 |
` $chmod ` | 修改权限 | chmod u=rwx,g=rw,o=r aaa.txt 或 ` chmod 764 aaa.txt ` |
远程访问Linux
SSH登录: $ssh username@remoteaddress -p
输入密码登录
SecureCRT 安装和使用
更详细解释参考WikiPedia
软件安装和启动
JDK安装
使用$rpm
管理软件
-
查看是否安装jdk
rpm -qa | grep java
-
卸载jdk
rpm -e --nodeps filename
-
上传jdk到服务器
sftp中 put命令
-
解压
tar –xvf jdk-7u71-linux-i586.tar.gz –C /usr/local
-
设置环境变量
sudo vi /etc/profile
export JAVA_HOME=/home/hadoop/app/jdkxxx export JAVA_HOME=$PATH:$JAVA_HOME/bin
-
重新加载配置文件
source /etc/profile
Mysql安装
centos自带mysql,如果想要安装自定义的,需要先卸载自带的
-
查看centos自带mysql
rpm -qa | grep mysql
-
卸载
rpm -e --nodeps filename
-
上传解压
-
$cd /usr/local/mysql
下安装服务端和客户端rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm
rpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm
-
启动服务
service mysql start
-
将mysql加到系统服务中并设置开机启动
加入到系统服务:chkconfig –add mysql
自动启动:chkconfig mysql on
-
使用临时密码登录,密码在
/root/.mysql_secret
中msyql –u root -p
-
修改密码
set password = password('root');
-
开启mysql远程登录
登录mysql后输入
grant all privileges on *.* to 'root' @'%' identified by 'root';
flush privileges;
安装tomcat
-
上传并解压
-
开放Linux端口 比如8080
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
/etc/rc.d/init.d/iptables save
-
启动
进入tomcat的bin下启动:
./startup.sh
进入tomcat的bin下关闭:
./shutdown.sh