linux初级和初中级常用命令

linux 搭建jdk建议:
1:把jdk环境变量写入profile文件中,这成了整个系统的jdk变量。
建议写在tomcat的startup.sh和shutdown.sh文件中,这样每个tomcat都可以根据自己的需要使用.....
嗯,这个方法也不错。

2:


====================================================Linux 初级============================================================

=============================================================================================================================================================
1:root用户显示"#" ,其他用户显示“$”;
 
2: /etc  存放配置文件 ;Linux 以文件形式管理配置文件


================================shell 命令========================================
========文件查找===============
pwd 显示当前目录              cd /root/   改变目录
ls -aF 显示带"."的隐藏文件     ll         文件列表
cat -n 显示行号                more  文件名 空格翻一页,Enter 换行,q 退出
head -n 查看文件开头           tail -n   查看文件结尾
less /文件路径/文件名  文件可以滚屏; 空格翻一页 q 退出
grep un day  搜索文件类容  un 表示参数   day 搜索的文件如果有空格需要使用''单引号,
             把空格包含进去 如 grep 'red hat' stat.sh


find  文件名 和 locate 文件名  :查找文件 如 locate *.doc


======用户及版本信息查看===========
who :查看有哪些人登录           whoami :登录的是谁
uname -a :当前版本信息          uname -r:内核版本


======获取命令帮助信息==============who
man 命令  :获取某个命令的帮助信息 全部  不可用
whatis 和apropos ::获取某个命令的帮助信息 部分


==========================登录用户==================================
1:登陆root用户   (ctrl+l --〉清屏)
su root   


2:修改/etc/hosts  文件
vi /etc/hosts


输入 i 进入编辑模式
按ESC键 跳到命令模式,然后:


3.chmod命令 #后就是这个命令的说明
 chmod +x /home/auto.sh # 赋予auto.sh可执行权限
 chmod -R 777 /home/wwwroot # 赋予/home/wwwroot写入权限(部分网站程序安装时需要用到)


:w   保存文件但不退出vi
:w file 将修改另外保存到file中,不退出vi
:w!   强制保存,不推出vi
:wq  保存文件并退出vi
:wq! 强制保存文件,并退出vi
q:  不保存文件,退出vi
:q! 不保存文件,强制退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑




======================文件操作====================================
在home目录下有wwwroot目录,wwwroot下有sinozzz目录,即/home/wwwroot/sinozzz
一、■目录创建
    在/home/wwwroot目录下新建一个sinozzz123的文件夹
   mkdir /home/wwwroot/sinozzz123
   
二、■目录复制
1.把/home/wwwroot/sinozzz里面的文件和文件夹等复制到home/wwwroot/sinozzz123目录下
   cp -rf /home/wwwroot/sinozzz/* /home/wwwroot/sinozzz123
2.把/home/wwwroot/sinozzz123/abc/下的文件夹和文件复制到home/wwwroot/sinozzz123目录下
  cp -rf /home/wwwroot/sinozzz123/abc/* /home/wwwroot/sinozzz123
3.把/home/wwwroot/sinozzz目录复制到/home/wwwroot/sinozzz123目录下,即把sinozzz复制变成sinozzz123的子目录,变成/home/wwwroot/sinozzz123/sinozzz的路径
  cp -rf /home/wwwroot/sinozzz /home/wwwroot/sinozzz123
  
三、■目录剪切(移动)
1.使用mv命令剪切文件。
如需要将/home/wwwroot/sinozzz123/music/目录下的1.mp3文件剪切到/home/wwwroot/sinozzz123/abc目录下,执行下面的命令即可:
   # mv /home/wwwroot/sinozzz123/music/1.mp3 /home/wwwroot/sinozzz123/abc
2.使用mv命令剪切文件夹。
把/home/wwwroot/sinozzz123/soft文件夹剪切到/home/wwwroot/sinozzz123/abc目录下
   # mv /home/wwwroot/sinozzz123/soft /home/wwwroot/sinozzz123/abc
3.使用mv命令剪切文件夹和文件
把/home/wwwroot/sinozzz123/photo/下的文件夹和文件剪切到/home/wwwroot/sinozzz123/abc目录下
   # mv /home/wwwroot/sinozzz123/photo/* /home/wwwroot/sinozzz123/abc
   
四、■目录重命名
   在linux下,移动文件跟重命名都是同一个命令,mv(就是move的意思)
命令: mv 源文件名 目标文件名
1.把/home/wwwroot/sinozzz123/index.htm重命名为/home/wwwroot/sinozzz123/index.html
    # mv /home/wwwroot/sinozzz123/index.htm /home/wwwroot/sinozzz123/index.html
2.把/home/wwwroot/sinozzz123目录重命名为/home/wwwroot/sinozzz456
    # mv /home/wwwroot/sinozzz123 /home/wwwroot/sinozzz456

五、■目录删除
linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm -rf命令即可。
直接rm就可以了,不过要加两个参数-rf
   即:rm -rf   目录名字
    -r 就是向下递归,不管有多少级目录,一并删除
    -f 就是直接强行删除,不作任何提示的意思
1.删除文件使用实例:
rm -f /home/wwwroot/sinozzz456/index.html
将会强制删除/home/wwwroot/sinozzz456/index.html这个文件
2.清空文件夹实例:
rm -rf /home/wwwroot/sinozzz456/abc/*
将会强制删除/home/wwwroot/sinozzz456/abc目录下所有文件、文件夹,保留/home/wwwroot/sinozzz456/abc目录
3.删除文件夹实例:
rm -rf /home/wwwroot/sinozzz456
将会强制删除/home/wwwroot/sinozzz456目录以及其下所有文件、文件夹
需要提醒的是:使用这个rm -rf的时候一定要格外小心,linux没有回收站的
当然,rm还有更多的其他参数和用法,man rm就可以查看了
如果是在/home/wwwroot/目录下进行操作,则可以省去每个命令的/home/wwwroot/部分




============================压缩包管理和文件上传==================================
1〉■安装lrzsz :yum install lrzsz --->Y 回车---〉 Y 回车 ---->完成
  2〉新建文件目录:mkdir /usr/java
  3> cd /usr/java (没有进入需要复制文件到 /usr/java  cp 文件名 /usr/java)
  4〉■上传文件 : rz 选择上传文件
                 sz 文件名  ---〉选择保存路径


   


■linux下解压命令大全


■.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
———————————————


■.tar 
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩!)
———————————————
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName




.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName


.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
———————————————
.bz
解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
压缩:未知


.tar.bz
解压:tar jxvf FileName.tar.bz
压缩:未知
———————————————
.Z
解压:uncompress FileName.Z
压缩:compress FileName
.tar.Z


解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName
———————————————
.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
———————————————
.rar
解压:rar x FileName.rar
压缩:rar a FileName.rar DirName
———————————————
.lha
解压:lha -e FileName.lha
压缩:lha -a FileName.lha FileName
———————————————
.rpm
解包:rpm2cpio FileName.rpm | cpio -div
———————————————
.deb
解包:ar p FileName.deb data.tar.gz | tar zxf -
———————————————
.tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea
解压:sEx x FileName.*
压缩:sEx a FileName.* FileName


sEx只是调用相关程序,本身并无压缩、解压功能,请注意!


gzip 命令 
减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip 是在 Linux 系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。


语法:gzip [选项] 压缩(解压缩)的文件名该命令的各选项含义如下:


-c 将输出写到标准输出上,并保留原有文件。-d 将压缩文件解压。-l 对每个压缩文件,显示下列字段:     压缩文件的大小;未压缩文件的大小;压缩比;未压缩文件的名字-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。-t 测试,检查压缩文件是否完整。-v 对每一个压缩和解压的文件,显示文件名和压缩比。-num 用指定的数字 num 调整压缩的速度,-1 或 --fast 表示最快压缩方法(低压缩比),-9 或--best表示最慢压缩方法(高压缩比)。系统缺省值为 6。指令实例:


gzip *% 把当前目录下的每个文件压缩成 .gz 文件。gzip -dv *% 把当前目录下每个压缩的文件解压,并列出详细的信息。gzip -l *% 详细显示例1中每个压缩的文件的信息,并不解压。gzip usr.tar% 压缩 tar 备份文件 usr.tar,此时压缩文件的扩展名为.tar.gz。




=============================================================================================================================================================
====================================================Linux 初中级============================================================
=============================================================================================================================================================




====================linux搭建jdk环境==================================
建议:
1:不建议把jdk环境变量写入profile文件中,这成了整个系统的jdk变量。
建议写在tomcat的startup.sh和shutdown.sh文件中,这样每个tomcat都可以根据自己的需要使用.....
嗯,这个方法也不错。
2:




1:linux搭建jdk环境
  1〉安装lrzsz :yum install lrzsz --->Y 回车---〉 Y 回车 ---->完成
  
  2〉新建文件目录:mkdir /usr/java
  3> cd /usr/java (没有进入需要复制文件到 /usr/java  cp 文件名 /usr/java)
  4〉上传文件 : rz 选择上传文件
  5〉 解压 sudo tar xvf 文件名
  6> 删除压缩包(sudo rm 文件名)
  
2: 设置环境变量
  方法一:修改“/etc/profile”,重启系统后还原
   1:sudo gedit /etc/profile
   2: "="不能有空格;


  方法二:--Linux 环境 
  第一种方式:使用 export 命令直接在 shell 下设置,具体操作如下: --重启后失效(适合开发)
    [username@localhost ~]# export JAVA_HOME=/usr/java/jdk1.6.0_31 
    [username@localhost ~]# export CLASSPATH=.:$JAVA_HOME/lib 
    [username@localhost ~]# export PATH=$PATH:$JAVA_HOME/bin 


  第二种方式:修改 .bash_profile 或 .bashrc 文件,具体操作如下:  
            ======================== 〉当前用户永久生效
    在 .bash_profile 或 .bashrc 文件尾部追加如下内容(当前用户目录下) 
    export JAVA_HOME=/usr/java/jdk1.6.0_31 
    export CLASSPATH=.:$JAVA_HOME/lib 
    export PATH=$PATH:$JAVA_HOME/bin 


  第三种方式:在 /etc/profile 文件最后追加如下内容: 
           ==========================>第三种方式对所有用户永久生效
    export JAVA_HOME=/usr/java/jdk1.6.0_31 
    export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib 
    export PATH=$PATH:$HOME/bin:$JAVA_HOME/bin 


  说明:配置完成后执行 source /etc/profile(source .bash_profile)、(source .bashrc 使配置生效。 
        第一种方式仅对当前 shell 生效,如果从另一个 shell 登录则此设置会失效; 
        第二种方式对当前用户永久生效,推荐使用此方式; 
        第三种方式对所有用户永久生效,会对系统安全产生影响,不推荐使用此方式。 
 




export JAVA_HOME=/usr/java/jdk1.7.0_79
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
[root@localhost java]# export JAVA_HOME=/usr/java/jdk1.7.0_79
[root@localhost java]# export PATH=$JAVA_HOME/bin:$PATH
[root@localhost java]# export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
[root@localhost java]# source /etc/profile


3:验证 java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)




关机命令如下:
1、halt 立刻关机 
2、poweroff 立刻关机 
3、shutdown -h now 立刻关机(root用户使用) 
4、shutdown -h 10 10分钟后自动关机 
如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启
推荐使用shutdown命令 






================= 安装 Dubbo 注册中心(Zookeeper-3.4.6)================================
Dubbo 建议使用 Zookeeper 作为服务的注册中心。
注册中心服务器( 192.168.3.71)配置, 安装 Zookeeper:
1、 修改操作系统的/etc/hosts 文件中添加:
# zookeeper servers
192.168.3.71 edu-provider-01
# zookeeper servers
192.168.120.130 edu-provider-01
2、 到 http://apache.fayea.com/zookeeper/下载 zookeeper-3.4.6:
$ wget http://apache.fayea.com/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
3、 解压 zookeeper 安装包:
$ tar -zxvf zookeeper-3.4.6.tar.gz
4、 在/home/wusc/zookeeper-3.4.6 目录下创建以下目录:
$ cd /home/wusc/zookeeper-3.4.6
$ mkdir data
$ mkdir logs
5、 将 zookeeper-3.4.6/conf 目录下的 zoo_sample.cfg 文件拷贝一份,命名为为
zoo.cfg
$ cp zoo_sample.cfg zoo.cfg
6、 修改 zoo.cfg 配置文件:
$ vi zoo.cfg
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/home/wusc/zookeeper-3.4.6/data
dataLogDir=/home/wusc/zookeeper-3.4.6/logs
# the port at which the clients will connect
clientPort=2181
    #2888,3888 are election port
    server.1=edu-provider-01:2888:3888

==== 连续按住Esc键几秒 ---> shift+:--->:wq (保存并推出Vi编辑器) 

 其中,
 2888 端口号是 zookeeper 服务之间通信的端口。
 3888 是 zookeeper 与其他应用程序通信的端口。
 edu-provider-01 是在 hosts 中已映射了 IP 的主机名。
 initLimit:这个配置项是用来配置 Zookeeper 接受客户端(这里所说的客户端不
  是用户连接 Zookeeper 服务器的客户端,而是 Zookeeper 服务器集群中连接到
  Leader 的 Follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。
 当已经超过 10 个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器还没 
 有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是
 5*2000=10 秒。


syncLimit:
这个配置项标识 Leader 与 Follower 之间发送消息,请求和应答时
间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 2*2000=4
秒。


server.A=B:C:D:
其中 A 是一个数字,表示这个是第几号服务器; B 是这个服务
器的 IP 地址或/etc/hosts 文件中映射了 IP 的主机名; C 表示的是这个服务器与
集群中的 Leader 服务器交换信息的端口; D 表示的是万一集群中的 Leader 服务
器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是
用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是
一样,所以不同的 Zookeeper 实例通信端口号不能一样,所以要给它们分配不同
的端口号。


7、 在 dataDir=/home/wusc/zookeeper-3.4.6/data 下创建 myid 文件  (按下[i] 进入插入模式)
编辑 myid 文件,并在对应的 IP 的机器上输入对应的编号。如在 zookeeper 上, myid
文件内容就是 1。 如果只在单点上进行安装配置, 那么只有一个 server.1。
$ vi myid
1
8、 wusc 用户下修改 vi /home/wusc/.bash_profile, 增加 zookeeper 配置:
# zookeeper env
export ZOOKEEPER_HOME=/home/wusc/zookeeper-3.4.6
export PATH=$ZOOKEEPER_HOME/bin:$PATH
使配置文件生效
$ source /home/wusc/.bash_profile
9、 在防火墙中打开要用到的端口 2181、 2888、 3888
切换到 root 用户权限,执行以下命令:
# chkconfig iptables on
# service iptables start
编辑/etc/sysconfig/iptables
# vi /etc/sysconfig/iptables
增加以下 3 行:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2181 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2888 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3888 -j ACCEPT

=====〉注意放在COMMIT的前面
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2181 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2888 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3888 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT




重启防火墙:
# service iptables restart
查看防火墙端口状态:
     # service iptables status
Table: filter
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
5 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:2181
6 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:2888
7 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:3888
8 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
1 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination


 10、 启动并测试 zookeeper( 要用 wusc 用户启动,不要用 root) :
(1) 使用 wusc 用户到/home/wusc/zookeeper-3.4.6/bin 目录中执行:
   $ zkServer.sh start
(2) 输入 jps 命令查看进程:
$ jps
1456 QuorumPeerMain
1475 Jps
其中, QuorumPeerMain 是 zookeeper 进程,启动正常
基于 Dubbo 的分布式系统架构视频教程
(3) 查看状态:
$ zkServer.sh status
(4) 查看 zookeeper 服务输出信息:
由于服务信息输出文件在/home/wusc/zookeeper-3.4.6/bin/zookeeper.out
$ tail -500f zookeeper.out
11、 停止 zookeeper 进程:
$ zkServer.sh stop
12、 配置 zookeeper 开机使用 wusc 用户启动:
编辑/etc/rc.local 文件,加入:
su - wusc -c '/home/wusc/zookeeper-3.4.6/bin/zkServer.sh start'






=================安装 Dubbo 管理控制台===============================


Dubbo 管控台可以对注册到 zookeeper 注册中心的服务或服务消费者进行管理,但
管控台是否正常对 Dubbo 服务没有影响,管控台也不需要高可用,因此可以单节点部署。
IP: 192.168.3.71
部署容器: apache-tomcat-7.0.57
端口: 8080
1、 下载最新版的 Tomcat7:
$wget
http://mirrors.hust.edu.cn/apache/tomcat/tomcat-7/v7.0.57/bin/apache-tomcat-7.0.57.tar.gz
2、 解压:
$ tar -zxvf apache-tomcat-7.0.57.tar.gz
$ mv apache-tomcat-7.0.57 dubbo-admin-tomcat  --tomacat 文件重名名
3、 移除/home/wusc/dubbo-admin-tomcat/webapps 目录下的所有文件:
$ rm -rf *
4、 上传 Dubbo 管理控制台程序 dubbo-admin-2.5.3.war
到/home/wusc/dubbo-admin-tomcat/webapps
5、 解压并把目录命名为 ROOT:
$ unzip dubbo-admin-2.5.3.war -d ROOT
把 dubbo-admin-2.5.3.war 移到/home/wusc/tools 目录备份
$ mv dubbo-admin-2.5.3.war /home/wusc/tools
6、 配置 dubbo.properties:
$ vi ROOT/WEB-INF/dubbo.properties
dubbo.registry.address=zookeeper://192.168.120.130:2181
dubbo.admin.root.password=wusc.123
dubbo.admin.guest.password=wusc.123
以上密码在正式上生产前要修改)
7、 防火墙开启 8080 端口, 用 root 用户修改/etc/sysconfig/iptables,
# vi /etc/sysconfig/iptables
增加:
## dubbo-admin-tomcat:8080
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
重启防火墙:
# service iptables restart
8、 启动 Tomat7
$ /home/wusc/dubbo-admin-tomcat/bin/startup.sh
基于 Dubbo 的分布式系统架构视频教程


    == 启动服务报:启动tomcat 服务报 The file is absent or does not have execute permission
       chmod 777 *.sh 


9、 浏览 http://192.168.120.130:8080/

你可能感兴趣的:(#,linux)