Linux Guide

避不开的Linux

Posted by Wxk on October 1, 2018

要点:

  1. 了解Linux的安装和目录
  2. 了解Linux常用命令
  3. 安装JDK等软件或服务应用
  4. 无界面操作

Linux简介

Linux聆听i/ˈlɪnəks/ *lin-əks*)是一种自由和开放源代码类UNIX操作系统。该操作系统的内核林纳斯·托瓦兹在1991年10月5日首次发布。在加上用户空间应用程序之后,成为Linux操作系统。Linux也是自由软件开放源代码软件发展中最著名的例子。只要遵循GNU通用公共许可证(GPL),任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。大多数Linux系统还包括像提供GUIX 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内核之上。

来自维基百科

关于内核最初作者 林纳斯·托瓦兹

LinuxCon Europe Linus Torvalds 03.jpg

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 HatVA 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下的图形用户界面GNOMEKDE,有时也被叫做“虚拟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): 存放共享资源

  • boot:引导程序文件,例如: kernelinitrd;时常是一个单独的分区

  • 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管理软件

  1. 查看是否安装jdk

    rpm -qa | grep java

  2. 卸载jdk

    rpm -e --nodeps filename

  3. 上传jdk到服务器

    sftp中 put命令

  4. 解压

    tar –xvf jdk-7u71-linux-i586.tar.gz –C /usr/local

  5. 设置环境变量 sudo vi /etc/profile

      export JAVA_HOME=/home/hadoop/app/jdkxxx
      export JAVA_HOME=$PATH:$JAVA_HOME/bin
    
  6. 重新加载配置文件

    source /etc/profile

Mysql安装

centos自带mysql,如果想要安装自定义的,需要先卸载自带的

  1. 查看centos自带mysql

     rpm -qa | grep mysql

  2. 卸载

    rpm -e --nodeps filename

  3. 上传解压

  4. $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

  5. 启动服务

    service mysql start

  6. 将mysql加到系统服务中并设置开机启动

    加入到系统服务:chkconfig –add mysql

    自动启动:chkconfig mysql on

  7. 使用临时密码登录,密码在 /root/.mysql_secret

    msyql –u root -p

  8. 修改密码

    set password = password('root');

  9. 开启mysql远程登录

    ​ 登录mysql后输入 grant all privileges on *.* to 'root' @'%' identified by 'root';

    flush privileges;

安装tomcat

  1. 上传并解压

  2. 开放Linux端口 比如8080

    /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

    /etc/rc.d/init.d/iptables save

  3. 启动

    进入tomcat的bin下启动:./startup.sh

    进入tomcat的bin下关闭:./shutdown.sh