参考资料:http://www.92csz.com/study/linux/

Linux系统目录结构

  登录系统后,在当前命令窗口下输入 ls / 你会看到

  以下是对这些目录的解释:

  /bin bin是Binary的缩写。这个目录存放着最经常使用的命令。

  /boot这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。

  /dev dev是Device(设备)的缩写。该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。

  /etc这个目录用来存放所有的系统管理所需要的配置文件和子目录。

  /home用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

  /lib这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。

  /lost+found这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

  /media linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。

  /mnt系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

  /opt 这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

  /proc这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all。

  /root该目录为系统管理员,也称作超级权限者的用户主目录。

  /sbin s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

  /selinux 这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

  /srv 该目录存放一些服务启动之后需要提取的数据。

  /sys 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs ,sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统种被创建。

  /tmp这个目录是用来存放一些临时文件的。

  /usr 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。

  /usr/bin:系统用户使用的应用程序。

  /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。

  /usr/src:内核源代码默认的放置目录。

  /var这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

  在linux系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。 /var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里。

【Linux远程终端登录】

  Linux大多应用于服务器,而服务器不可能像PC一样放在办公室,它们是放在IDC机房的,所以我平时登录linux系统都是通过远程登录的。如果你是windows的操作系统,则Linux远程登录需要在我们的机器上额外安装一个终端软件。目前比较常见的终端登录软件有SecureCRT, Putty, SSH Secure Shell等。

  这里,我使用的是Xshell,下载安装完成之后需要输入用户名和密码进行登录,如果需要进行文件的上传等操作,则需要在Xshell中安装lrzsz这个软件,直接在Xshell中使用命令yum -y install lrzsz进行安装,安装完成之后可以直接通过拖拽的方式来上传文件都指定的服务器目录下。

【War包部署至服务器】

  CP到tomcat/webapps目录下,tomcat会自动解压War包,浏览器访问的根路径以“/项目名称”开头;

  如果把解压之后文件全部移动到tomcat/webapps/ROOT目录下,浏览器访问的路径以“/”开头。

【Vim文本编辑器】

  vim的三种模式:一般模式、编辑模式、命令模式。

  * 一般模式: 当你vim filename 编辑一个文件时,一进入该文件就是一般模式了。在这个模式下,你可以做的操作有,上下移动光标;删除某个字符;删除某行;复制、粘贴一行或者多行。

  * 编辑模式:一般模式下,是不可以修改某一个字符的,只能到编辑模式了。从一般模式进入编辑模式,只需你按一个键即可(i,I,a,A,o,O,r,R)。当进入编辑模式时,会在屏幕的最下一行出现“INSERT或REPLACE”的字样。从编辑模式回到一般模式只需要按一下键盘左上方的ESC键即可。

  * 命令模式:在一般模式下,输入”:”或者”/”即可进入命令模式。在该模式下,你可以搜索某个字符或者字符串,也可以保存、替换、退出、显示行号等等。

  下面教你如何在一个空白文档中写入一段文字,然后保存。 

  输入vim test.txt直接回车进入一般模式。然后按"i" 字母进入编辑模式

  会看到窗口的左下方出现”INSERT”字样,说明已经进入了编辑模式,此时就可以写入内容了。 

  等编辑完内容后,按ESC退出编辑模式,进入一般模式。此时在左下方的”INSERT”字样消失,然后按”:”进入命令模式,最后输入wq保存并退出vim。

  这时,看一下test.txt文档的内容吧。

  其实vim为全键盘操作的编辑器,所以在各个模式下都有很多功能键盘的。下面列举一下,其中常用的会用红色标出。

一般模式下移动光标
h或向左方向键
光标向左移动一个字符
j或者向下方向键
光标向下移动一个字符
K或者向上方向键
光标向上移动一个字符
l或者向右方向键
光标向右移动一个字符
Ctrl + f 或者pageUP键
屏幕向前移动一页
Ctrl + b 或者pageDOWN键
屏幕向后移动一页
Ctrl + d
屏幕向前移动半页
Ctrl + u
屏幕向后移动半页
+
光标移动到非空格符的下一列
-
光标移动到非空格符的上一列
n空格(n是数字)
按下数字n然后按空格,则光标向右移动n个字符,如果该行字符数小于n,则光标继续从下行开始向右移动,一直到n
0(数字0)或者Shift+6
移动到本行行首
Shift+4
即’$’移动到本行行尾
H
光标移动到当前屏幕的最顶行
M
光标移动到当前屏幕的中央那一行
L
光标移动到当前屏幕的最底行
G
光标移动到文本的最末行
nG(n是数字)
移动到该文本的第n行
gg
移动带该文本的首行
n回车(n是数字)
光标向下移动n行
一般模式下查找与替换
/word
向光标之后寻找一个字符串名为word的字符串,当找到第一个word后,按”n”继续搜后一个
?word
想光标之前寻找一个字符串名为word的字符串,当找到第一个word后,按”n”继续搜前一个
:n1,n2s/word1/word2/g
在n1和n2行间查找word1这个字符串并替换为word2,你也可以把”/”换成”#”
:1,$s/word1/word2/g
从第一行到最末行,查找word1并替换成word2
:1,$s/word1/word2/gc
加上c的作用是,在替换前需要用户确认
一般模式下删除复制粘贴
x,X
x为向后删除一个字符,X为向前删除一个字符
nx(n为数字)
向后删除n个字符
dd
删除光标所在的那一行
ndd(n为数字)
删除光标所在的向下n行
d1G
删除光标所在行到第一行的所有数据
dG
删除光标所在行到末行的所有数据
yy
复制光标所在的那行
nyy
复制从光标所在行起向下n行
p,P
p复制的数据从光标下一行粘贴,P则从光标上一行粘贴
y1G
复制光标所在行到第一行的所有数据
yG
复制光标所在行到末行的所有数据
J
讲光标所在行与下一行的数据结合成同一行
u
还原过去的操作
进入编辑模式
i
在当前字符前插入字符
I
在当前行行首插入字符
a
在当前字符后插入字符
A
在当前行行末插入字符
o
在当前行下插入新的一行
O
在当前行上插入新的一行
r
替换光标所在的字符,只替换一次
R
一直替换光标所在的字符,一直到按下ESC
命令模式
:w
将编辑过的文本保存
:w!
若文本属性为只读时,强制保存
:q
退出vim
:q!
不管编辑或未编辑都不保存退出
:wq
保存,退出
:e!
将文档还原成最原始状态
ZZ
若文档没有改动,则不储存离开,若文档改动过,则储存后离开,等同于:wq
:w [filename]
编辑后的文档另存为filename
:r [filename]
在当前光标所在行的下面读入filename文档的内容
:set nu
在每行的行首显示行号
:set nonu
取消行号
n1,n2 w [filename]
将n1到n2的内容另存为filename这个文档
:! command
暂时离开vim运行某个linux命令,例如 :! ls /home 暂时列出/home目录下的文件,然后会提示按回车回到vim

【压缩与打包】

  在windows下我们接触最多的压缩文件就是.rar格式的了。但在linux下这样的格式是不能识别的,它有自己所特有的压缩工具。但有一种文件在windows和linux下都能使用那就是.zip格式的文件了。

  在linux下最常见的压缩文件通常都是以.tar.gz 为结尾的,除此之外还有.tar, .gz, .bz2, .zip等等。以前也介绍过linux系统中的后缀名其实要不要无所谓,但是对于压缩文件来讲必须要带上。这是为了判断压缩文件是由哪种压缩工具所压缩,而后才能去正确的解压缩这个文件。以下介绍常见的后缀名所对应的压缩工具。

  .gz gzip 压缩工具压缩的文件

  .bz2 bzip2 压缩工具压缩的文件

  .tar tar 打包程序打包的文件(tar并没有压缩功能,只是把一个目录合并成一个文件)

  .tar.gz 可以理解为先用tar打包,然后再gzip压缩

  .tar.bz2 同上,先用tar打包,然后再bzip2压缩

【gzip】

  语法: gzip [-d#] filename 其中#为1-9的数字

  -d :解压缩时使用

  -# :压缩等级,1压缩最差,9压缩最好,6为默认

  压缩test.txt后,则变成了test.txt.gz

  用-d解压缩

  要注意的是,gzip不可以压缩目录

【bzip2】

  语法:bzip2 [-dz] filename

  -d :解压缩

  -z :压缩

  其实-z参数是可以省略掉的,你不妨试试

  跟gzip的解压类似,也是用-d解压。

【tar】

  语法:tar [-zjxcvfpP] filename

  -z :是否同时用gzip压缩

  -j :是否同时用bzip2压缩

  -x :解包或者解压缩

  -t :查看tar包里面的文件

  -c :建立一个tar包或者压缩文件包

  -v :可视化

  -f :后面跟文件名,压缩时跟-f文件名,意思是压缩后的文件名为filename,解压时跟-f文件名,意思是解压filename。请注意,如果是多个参数组合的情况下带有-f,请把f写到最后面。

  -p :使用原文件的属性,压缩前什么属性压缩后还什么属性。(不常用)

  -P :可以使用绝对路径。(不常用)

  --exclude filename :在打包或者压缩时,不要将filename文件包括在内。(不常用)

  首先在test目录下建立test111目录,然后在test111目录下建立test2.txt,并写入”nihao”到test2.txt中,接着是用tar把test111打包成test111.tar。请记住-f参数后跟的是打包后的文件名。

  删除原来的test111目录,然后解包test111.tar,不管是打包还是解包,原来的文件是不会删除的。

  打包的同时使用gzip压缩

  用-tf 跟包名来查看包或者压缩包内的文件都有哪些

  先删除test111,然后用tar -zxvf 来解压.tar.gz的压缩包。

  -jcvf 打包的同时用bzip2压缩,-tf同样可以查看.tar.bz2的压缩包

  -jxvf解压缩.tar.bz2的压缩包

  --exclude参数的作用就是打包的时候过滤掉某些文件,如果想过滤多个文件怎么办

  只能是继续跟 --exclude filename了。

【配置tomcat】

  Tomcat的安装分为两个步骤:安装JDK;安装Tomcat。

  JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。所以要想运行jsp的程序必须要有JDK的支持,理所当然安装Tomcat的前提是安装好JDK。

  1. 安装JDK

  下载jdk-6u23-linux-i586.bin

  cd /usr/local/src/

  wget http://dl.dropbox.com/u/182853/jdk-6u23-linux-i586.bin

  (如果该版本不合适请到下面的官方网站下载适合你的版本):

  https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jdk-6u23-oth-JPR@CDS-CDS_Develope

  chmod a+x jdk-6u23-linux-i586.bin

  sh jdk-6u23-linux-i586.bin

  此时会出现JDK
安装授权协议。可以一路按Enter浏览,当出现Do you agree to the above
license terms? [yes or no] 的字样,输入yes即可。

  mv  jdk1.6.0_23  /usr/local/

  2. 设置环境变量

  vim /etc/profile

  在末尾输入以下内容
  #set java environment

  JAVA_HOME=/usr/local/jdk1.6.0_23/

  JAVA_BIN=/usr/local/jdk1.6.0_23/bin

  JRE_HOME=/usr/local/jdk1.6.0_23/jre

  PATH=$PATH:/usr/local/jdk1.6.0_23/bin:/usr/local/jdk1.6.0_23/jre/bin

  CLASSPATH=/usr/local/jdk1.6.0_23/jre/lib:/usr/local/jdk1.6.0_23/lib:/usr/local/jdk1.6.0_23/jre/lib/charsets.jar

  export  JAVA_HOME  JAVA_BIN
JRE_HOME  PATH  CLASSPATH

  执行命令source /etc/profile,使配置立即生效

  source /etc/profile

  检测是否设置正确:

  java –version

  如果显示如下内容,则配置正确。

  java version "1.4.2"

  gij (GNU libgcj) version 4.1.2 20080704
(Red Hat 4.1.2-46)

  Copyright (C) 2006 Free Software
Foundation, Inc.

  This is free software; see the source for
copying conditions.  There is NO warranty; not even for MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.

  3.安装Tomcat

  cd /usr/local/src/

  wget http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.14/bin/apache-tomcat-7.0.14.tar.gz

  如果觉得这个版本不适合你,请到tomcat官方网站下载适合你的版本。

  tar zxvf apache-tomcat-7.0.14.tar.gz

  mv apache-tomcat-7.0.14 /usr/local/tomcat

  cp -p /usr/local/tomcat/bin/catalina.sh
/etc/init.d/tomcat

  vim /etc/init.d/tomcat

  在第二行加入以下内容:

  # chkconfig: 2345 63 37

  # description: tomcat server init script

  JAVA_HOME=/usr/local/jdk1.6.0_23/

  CATALINA_HOME=/usr/local/tomcat

  chmod 755 /etc/init.d/tomcat

  chkconfig --add tomcat

  chkconfig tomcat on

  启动tomcat:

  service tomcat start

  查看是否启动成功:

  ps aux |grep tomcat

  如果有进程的话,请在浏览器中输入http://IP:8080/ 你会看到tomcat的主界面。

  在配置tomcat前,先来看看tomcat的几个目录:

  find /usr/local/tomcat/ -maxdepth 1
-type d
-maxdepth的作用指定目录级数,后边跟1代表只查找1级目录

  /usr/local/tomcat/

  /usr/local/tomcat/lib       #
tomcat的库文件目录

  /usr/local/tomcat/temp           #
临时文件存放目录

  /usr/local/tomcat/webapps             #
web应用目录,也就是我们访问的web程序文件所在目录

  /usr/local/tomcat/conf             #
配置文件目录

  /usr/local/tomcat/logs             #
日志文件所在目录

  /usr/local/tomcat/work            #
存放JSP编译后产生的class文件

  /usr/local/tomcat/bin               #
tomcat的脚本文件

  Tomcat的主配置文件为/usr/local/tomcat/conf/server.xml

  1. 配置tomcat服务的访问端口。

  默认是8080,如果你想修改为80,则需要修改server.xml文件。

  找到 <Connector
port="8080" protocol="HTTP/1.1"

  修改为:<Connector
port="80" protocol="HTTP/1.1"

  2. 配置新的虚拟主机

  cd /usr/local/tomcat/conf/

  vim server.xml

  找到</Host>,下一行插入新的<Host>,内容如下:

<Host
name="www.example.cn" appBase="/data/tomcatweb"

unpackWARs="false" autoDeploy="true"

xmlValidation="false" xmlNamespaceAware="false">

<Context
path="" docBase="./" debug="0"
reloadable="true" crossContext="true"/>

</Host>

  完成后,重启tomcat

  service tomcat stop; service tomcat start

  测试新建的虚拟主机,首先需要修改你电脑的hosts文件

  vim /data/tomcatweb/test.jsp 加入以下内容:

  <html><body><center>

  Now time is: <%=new
java.util.Date()%>

  </center></body></html>

  保存后,在你的浏览器里输入 http://www.example.cn/test.jsp 看是否访问到如下内容

Now time is: Thu Jun 02 14:32:34 CST
2011

  上面的test.jsp就是要显示当前系统的时间。

Linux入门的更多相关文章

  1. 01 Linux入门介绍

    一.Linux 初步介绍 Linux的优点 免费的,开源的 支持多线程,多用户 安全性好 对内存和文件管理优越 系统稳定 消耗资源少 Linux的缺点 操作相对困难 一些专业软件以及游戏支持度不足 L ...

  2. Linux入门:运行级别解析

    Linux入门:运行级别解析   一.查看当前运行级别 Ubuntu中,runlevel命令 可以查看当前运行级别: CentOS中,who -r 命令查看当前运行级别:   www.2cto.com ...

  3. linux 入门教程

    linux入门教程 搜索 Linux入门教程 前言 第一章 关于Linux的历史 第二章 图形界面还是命令窗口 第三章 Linux操作系统的安装 第四章 初步进入linux世界 第五章 Linux系统 ...

  4. Linux入门介绍

    Linux入门介绍 一.Linux 初步介绍 Linux的优点 免费的,开源的 支持多线程,多用户 安全性好 对内存和文件管理优越 系统稳定 消耗资源少 Linux的缺点 操作相对困难 一些专业软件以 ...

  5. Linux入门学习教程:虚拟机体验之KVM篇

    本文中可以学习到的命令: 1. aptitude 是apt-get 不会产生垃圾的版本 2.       dpkg -L virtualbox 显示属于该包的文件 lsmod | grep kvmfi ...

  6. Linux入门基础知识

    注:内容系兄弟连Linux教程(百度传课:史上最牛的Linux视频教程)的学习笔记. Linux入门基础知识 1. Unix和Linux发展历史 二者就像父子关系,当然Unix是老爹.1965年,MI ...

  7. Linux入门_1

    Linux入门 目录  Root用户  终端  交互式接口(图形化界面和命令行)  什么是Shell(bash)  命令提示符  内部命令和外部命令 enable,hash  命令别名 ...

  8. Linux入门_2-基础命令

    Linux入门-基础命令 目录 日期命令date 修改时区 日历命令cal 关机启动命令halt,reboot,poweroff whoami.who.who am i.w screen ...

  9. Linux入门篇(一)——文件

    这一系列的Linux入门都是本人在<鸟哥的Linux私房菜>的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解 Linux Distribution是Ubuntu而不 ...

  10. Linux入门篇(一)——基本命令

    这一系列的Linux入门都是本人在<鸟哥的Linux私房菜>的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解 Linux Distribution是Ubuntu而不 ...

随机推荐

  1. Git命令----放弃本地修改使用服务器上的代码

    git reset --hard FETCH_HEAD FETCH_HEAD表示上一次成功git pull之后形成的commit点.

  2. Window.focus()让页面成为当前窗体

    Window.focus()让页面成为当前窗体 最近在弄在线客服的时候,想在收到信息时候让窗体自动弹出到最前,最小化的时候也是弹出到最前.本来以为很麻烦,问了好多人,都不知道,在网上查资料也没有查到. ...

  3. 在 Azure 上使用 Docker运行 Mono

    Docker 是最近相当热门的一个名词,它是一个基于 Linux Container 的轻量化的虚拟技术,而微软也相当积极与 Docker 合作,在 Azure 上支持这个火热的技术,并且提供简单的方 ...

  4. Java多线程7:死锁

    前言 死锁单独写一篇文章是因为这是一个很严重的.必须要引起重视的问题.这不是夸大死锁的风险,尽管锁被持有的时间通常很短,但是作为商业产品的应用程序每天可能要执行数十亿次获取锁->释放锁的操作,只 ...

  5. [Voice communications] 音量的控制

    改变音频的音量是音频处理中最基础的部分,我们可以利用 GainNode 来构建 Mixers 的结构块.GainNode 的接口是很简单的: interface GainNode : AudioNod ...

  6. AngularJs项目文件以及文件夹结构

    app/ ----- Libs/ // references for all libs ---------- angular.js ---------- angular-route.js ----- ...

  7. Go项目结构和模块导入

    Go项目结构和模块导入 golang项目结构与其他语言类似,但是仍然有一些需要注意的地方. 项目结构 环境配置 go 命令依赖一个重要的环境变量:$GOPATH,它表示GO项目的路径,如下设置 exp ...

  8. [nRF51822] 11、基础实验代码解析大全 · 实验16 - 内部FLASH读写

     一.实验内容: 通过串口发送单个字符到NRF51822,NRF51822 接收到字符后将其写入到FLASH 的最后一页,之后将其读出并通过串口打印出数据. 二.nRF51822芯片内部flash知识 ...

  9. 【原】通过JS打开IE新tab(非Window)的解决方案

    近日项目里遇到限定在IE的tab窗口里打开新窗口的需求,结合网上的资源和亲自实践,总结以下比较可行的解决方案. 1.首先必须保证IE的设置正确.打开IE的Internet options ->G ...

  10. layout

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...