1. 显示当前目录所有的文件和目录信息

   > ls       //list

   > ls  XX目录     //查看指定目录下边的文件信息


2. 显示当前文件目录位置

   > pwd


3. 目录之间切换

   > cd  目录名字

   > cd  ..   切换到上级目录


4. 切换到完全命令模式

   > init 3      进入命令模式

   > init 5      进入可视化操作界面


5. 用户切换到超级管理员

   > su - root    //$是普通用户    #是超级管理员

   > su -

   > su root   //也可以切换到root用户,但是没有超级管理员权限


6. 超级管理员切换回普通用户

   > exit


7. 查看当前用户是谁

   > whoami


8. 输出一个文件内容

   > cat  具体文件


9. 创建目录make  directory

   > mkdir  hello

   > mkdir  hello/world

   > mkdir -p first/second/third      //递归创建3个目录


10. 给目录改名字move移动

   > mv 旧名字   新名字

   > mv book.ods  bread.ods

   > mv first/second   first/six      //把second改名字为six


11. 移动目录操作move

   > mv  目标  新的地址

   > mv  bread.ods   目录

   > mv  ten/bread.ods  first   //移动,因为first目录存在

     mv  ten/bread.ods  firstt  //改名字,并且移动文件到当前目录


     mv  目标  地址      //移动,只要地址是存在的目录就是移动

     mv  目标  地址      //改名字,地址只要不存在就是改名字


12. 复制操作copy

   > cp  源文件 复制文件

   > cp -R  目录  目标目录      //复制"目录"需要添加参数-R

   > cp 源文件  目标/新的名字   //复制的同时给起一个新的名字


13. 删除目录、文件

   > rm  文件      //删除单个文件

   > rmdir  目录   //删除单个目录

   > rm -rf  文件   //可以删除一切普通的目录或文件 递归recursive  强制force

     rm -rf  /     //  kill your self


14. 输出文件内容

   > cat  文件     //一次性输出文件全部内容

   > more  文件    //分页显示文件内容

           敲回车查看下边的内容,不支持回看

  中间停止:q

  显示内容百分比

   > less  文件    //分页显示文件内容

           可以通过上、下、左、右查看文件具体内容

  停止:q

  没有百分比显示

   > head -n  文件 //查看文件前n行内容

   > tail -n  文件 //查看文件末尾n行内容


15. 计算文件行数

   > wc  文件 //计算文件行数


16. 创建文件

   > touch  filename //创建文件


17. 给文件添加内容

   > echo content  >  filename   //给文件添加内容[覆盖添加内容,原内容被删除]

   > echo 内容  >> filename //给文件追加内容

   > echo 内容  >/>>  newfilename   //会创建一个新的文件,并且有添加内容[重定向方式]



18. 给系统增加一个用户

   user   add/mod/del

   > useradd  username //添加一个用户

     该方式创建用户,并没有显示设置用户的组

   > useradd -g  NNN  用户名 //添加用户并设置组别

   > useradd -g  NNN  -d  目录  用户名 //添加用户并设置家目录、组别

   > useradd -u  XXX  用户名    //添加用户并显示设置用户编号


18.1 修改用户

   > usermod  -u 用户编号  -g  组编号  -d  家目录  用户名  //修改用户


18.2 删除用户

   > userdel -r 用户 //删除用户,并且删除家目录



19. 给系统创建组

   group  add/mod/del

   groupadd  movie

   groupadd  music

   groupadd -g  XXX   组名 //添加组并设置组编号


19.1 修改组

   > groupmod -n  新名字   旧名字    //修改组的名字

19.2 删除组

   > groupdel  组名



20. 查看系统用户信息

   > cat /etc/passwd   用户信息

   > cat /etc/group    组的信息


21. 查看具体指令使用参数方法

   > man  指令


22. 给用户设置密码

   > passwd  用户名   

   

   


               linux 操作系统 


一.linux 操作系统概述


    1.常见操作系统

       - 服务端操作系统 : linux、unix、windows server 

       - 单机操作系统 : windows(dos 、ucdos、win95、win98、win2000、xp、vista、win7、win8)

                         MAC 、linux(ubuntu)

       - 移动操作系统 Android、IOS 、Windows phone

    2.linux操作系统介绍


      - 为什么要学习linux操作系统 

        1. 大部分服务端都采用linux ,JEE部署到服务器中

        2. 一些企业和学校采用linux研发和教学 

3. 很多嵌入式开发 用linux  

        4. 云计算、大数据 是集群网  linux : centos 

      - 特点   

        1. 开放、开源、多用户的网络操作系统

2. 基于unix(unix-->minix-->linux(linus :林纳斯 芬兰 )),可以定制内核

3. 假如了GNU组织(自由软件组织 ,copyLeft) ,通过GPL(通用公共许可) 许可对外发布  

      - linux组成

         1. linux内核(linus 团队管理)

2. shell :用户与内核交互的接口

3. 文件系统 : ext3、ext4 等  windows 有 fat32  、ntfs 

4. 第三方应用软件 

      - linux操作系统版本   

        1. 内核版本 (linus 团队管理)  3.8

2. 发行版本  :一些软件公司以内核为基础,再添加一些软件和文档形成发行版本

  - red hat  : rhel ,centos

  - debian   : debian,ubuntu(桌面)

  - android  

二.安装linux系统


   1. vmware安装 : 创建虚拟机的软件 

      vitual box :oracle 公司提供


   2. 虚拟机安装

      - 直接安装

        - 创建虚拟机

- 安装ubuntu镜像

      - 打开虚拟机镜像: 虚拟机+操作系统(ubuntu)

        1. 打开*.vmx 文件

2. 用户名  itcast  密码  123

        

三.linux系统环境  

   默认有6个命令交互通道和一个图形界面交互通道,默认进入到的是图形界面通道

     命令交互模式切换:ctrl+alt+f1---f6

     图形交互界面 ctrl+alt+f7

   

   1.图形界面交互模式

     - terminal: 图形界面的命令终端,它是图形界面交互通道的延伸,要依赖于图形界面

                  

    

   2.命令交互模式 

      命令提示符:

      itcast@ubuntu:~$ 

        - itcast:用户名

- ubuntu :主机名

- ~  :路径 ,假如当前的路径正好是 该用户存放数据的根目录 ,则显示~

- $ :用户的类型  $代表普通用户  #  代表 超级用户

      

   3.linux文件系统 


    - 目录结构

    - 文件权限分析

      w :可写   r: 只读  x:可执行  - :无权限

      文件权限

       1. 字符表示法

         drwxr-xr-x

 第一个字符 :文件的类型  d :普通文件  - :文件夹  c :串口文件  l :连接文件

           2-4 字符  : 该文件的属主用户的权限 

  5-7  字符 : 与属主用户同一组的其他用户的权限

  8-10 字符 :  不同组的其他用户的权限

        2. 数字表示法

  -rw-r--r--   :文件的默认权限   644

  drwxr-xr-x   : 目录的默认权限  755  

     

四、linux的常用命令 


   1.注销、关机、重启

     - 注销 :logout :登出 、exit 

     - 关机 :

        shutdown - h  时间

 - h :关机

 - 时间 :

   1. now :马上

   2. 12.30 :指定具体时间

   3. 3  :几分钟以后

sudo : superuser do :由超级用户来执行该命令

  要配置sudo 命令 : 授权 哪些用户能执行哪些命令

   由超级用户配置  sudo 

    /etc/sudoers 

  sudo shutdown -h now    当前账号:itcast  

     - 重启 :

        shutdown -r  时间

 -r :restart 

   2.linux基本命令 :文件操作命令

    

     1. ls   : 查看目录内容

        - l :查看详细信息

- a :查看所有文件(隐藏)

        man :manual : 手工,帮助 ,帮助命令,好比windows help 

命令: man ls

     2. mkdir :创建目录 

          Desktop:

   - java

     - JEE : aa.txt  bb.txt  

     - Android

     3. cd  切换目录

        - cd ..  记得要加空格

- cd ./java  进入当前目录的子目录

- cd ../xxx  进入上一级目录的子目录

  tab :自动补全

     4. touch  :创建一个空白的普通文件

        touch aa.txt 

     5. echo  :把内 容重定向到指定的文件中 ,有则打开,无则创建

     6. cat、more  :查看文件内容

        - cat :查看文件内容

- more :分页查看文件内容,按空格键换页

    

     7. cp、mv、rm   

        - cp :复制

  cp bj.txt ./java/jee

- mv :剪切、重命名

  1. 剪切 :mv aa.txt ../android/

  2. 重命名 :假如剪切的文件 存放在同一个目录中 ,则是重命名

      mv bb.txt cc.txt

pSHsCPGnTfm16T8l

- rm :删除文件或者文件夹

 -f : 假如要删除的文件不存在,也不提示

 -i : 删除前提示 ,默认不删除,要删除,输入y

 -d : 删除空白目录 

 -r :递归删除

 直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字。

 若删除时出现 Permission denied 的提示,可以在命令前加sudo 即:sudo rm -rf 文件夹的名字,即可删除。

     8. wc :word count :统计字符数

         154  233 3418 

- 154 :行数

- 233 :单词数

- 3418 :字符数

       命令: wc bj.txt

        

     9. ln :创建连接文件

        - 默认创建的是硬连接,好比复制 ,但是两个文件会同步 

  命令:ln ./java/android/aa.txt  aaa

- s :创建的是软连接

        

     10. pwd   :查看当前目录的绝对路径 

       

     11. 管道命令 |

       命令: ls -la | wc 

     12. 重定向

        - > :覆盖模式

命令:  echo "ww">aaa

- >>:追加模式

命令: echo "ww">>aaa

     13. passwd   :设置密码  ,ubuntu默认 root账号是没有开启 ,只要设置root密码即可开启

         sudo passwd root


     14. su  切换目录

         su root 

root用户切换到其他账号不需要密码


   3.linux 系统命令

     1.stat   :查看文件的详细信息

       stat bj.txt

     2.who与whoami

       who : 查看在线的用户

       whoami :查看当前自己的用户

     3.hostname : 显示主机名

       hostname

     4.uname  :显示系统信息

        -a :显示完整的系统信息

        

     5.top :显示当前耗时的进行的信息 ,每3秒刷新一次 

         cltr+c 中断 

     6.ps :显示当前进程的快照 

       - axu

     7.du :显示文件的大小信息 

     8.df :磁盘使用情况  disk free

     9.ifconfig :查看或者配置网卡信息 ,好比windows 的ipconfig

        ipv4:32位  2-32次方     ipv6  128位     是 ipv4  2-96次方倍数

设置虚拟机ip地址:

 1. 设置vmware的连接方式

    - 共享宿主机的ip地址,在网上邻居找不到

    - 桥接方式,需要单独设置ip,可以在网上邻居查找

 2. 图形界面设置ip地址 

     edit connection --》ipv4--》manual(手工设置)--》add  (ip地址,子网掩码)

          3.命令方式设置ip地址

    静态设置ip:

    sudo ifconfig eth0 192.168.15.122 netmask 255.255.255.0 

   

     10.ping  测试与目标主机连接情况

        


     11.clear  : 清除屏幕  windows: cls  

     12.man  :帮助命令

         man 命令

     13.kill  :杀死进程

        kill  pid 

     14.netstat  :网络连接详细信息

       

     15. useradd 

        - 查看用户信息

  sudo cat /etc/passwd

itcast:x:1000:1000:UbuntuA,,,:/home/itcast:/bin/bash

 - itcast:用户名

 - x :密码 :已经加密 ,密码存放在  /etc/shadow 

 - 1000: 账号id ,userId

 - 1000: 组id ,group id

          - UbuntuA,,,  :账号描述

          - /home/itcast :该账号存放文件的默认位置  ~

 - /bin/bash:该用户的shell脚本的解析方式  ,sh 、bash、rbash

 

        - 创建用户 

 sudo useradd lijun -d  /home/lijun   -s /bin/bash 

  -d :指定该用户的home 路径 

  - s :该用户的shell解析方式

 步骤:

   1. 创建 /home/lijun 目录

   2. 执行 useradd 命令

   3. 用 passwd 设置密码

   4. su 切换用户



       

 五、打包、压缩文件   

    windows : zip、rar    

    linux :gz ,bzip,zip


     1.tar :打包、拆包命令 

        tar - cxzjvf  <打包后的文件>   <欲打包的目录>

 - c :创建的一个归档文件 ,即打包文件夹

 - x :拆包

 - z :以gzip 格式压缩,默认压缩倍数 6倍  (0-9)

 - j :以bzip2格式压缩

 - v :显示打包或者拆包的文件信息

 - f : 后面紧接一个 归档文件


       - 打包文件

          tar -cvf news.tar  ./java   摘要  

       - 拆包文件

          tar -xvf news.tar

     2.gzip 、bzip2 压缩与解压

        1. 压缩文件

 gzip news.tar

2. 解压文件

 gzip -d news.tar.gz

   -d :解压

     3.打包及压缩 

       - 打包及压缩

          tar -czvf news.tar.gz ./java

       - 拆包及压解缩

          tar -xzvf  news.tar.gz


 六、软件管理 

    windows : .exe     安装 、卸载 

       安装:  mysql.exe  cc.exe   

       卸载 : 该软件唯一的标识  ,包名   alibaba

    android : *.apk   卸载 包名

    red hat :*.rpm 

    ubuntu  : 对debian的升级  *.deb 格式



     1.安装软件

       - dpkg :debian  package 

          离线安装:

 安装 : sudo dpkg - i  <文件名> 

   -i :install

  命令:sudo dpkg -i ./tree_1.6.0-1_i386.deb

 卸载 : sudo dpkg - r  <包名> 

   -r :remove

           命令:sudo dpkg -r tree

       - apt-get  :advance  package  tools 

         对dpkg命令的升级,在线安装

 安装 : sudo apt-get -install  <包名>

 卸载 : sudo apt-get -remove  <包名>

     2.vim 软件  :好比记事本 ,但是比记事本要强大  

        

1. 安装vim

2. 使用vim 

  操作模式:

    1. 一般模式 ,默认进入的一般模式,该模式不能编辑文档 ,只能查看

       按 i(insert)  进入 插入模式 

    2. 编辑模式、插入模式 

        该模式可以编辑文档,按esc 退出插入模式,进入到一般模式 

    3. 命令模式 :在 一般模式中按:进入命令模式

       - q: 安全退出,当没有操作该文档,则直接按q退出vim 

- q!:当修改了内容,但是不想保存,则q!强制退出

- wq :保存退出

- set number 显示行号

- set nonumber 取消行号显示

      

/root/oneinstack/test



 

 七、搭建Java服务器,并且实现远程安全访问linux系统

    

    1.通过ssh实现安全远程访问linux系统 

       ssh :secure shell

         加密:

  1. 对称加密 (加密密钥与解密密钥相同)

     des 、aes

  2. 非对称加密(加密密钥与解密密钥不同)

     RSA :公钥、私钥 

数字摘要:

  md5 \sha1 

   

      

       1. 查看是否安装了ssh服务端与客户端

         sudo apt-cache policy openssh-client openssh-server

       2. 安装ssh 服务端与客户端软件

          sudo dpkg -i ./ssh/*

           

       3. 通过windows ssh客户端来访问linux服务端

          - putty :远程登录

 - winscp433setup.exe :文件传输


    2. 安装jdk

       进入 root用户

       实现步骤:

        1. jdk 存放在哪里  /opt

2. 把软件拷贝到/opt

3. 绿色软件,解压 

4.设置环境变量

  vim /etc/profile 

export JAVA_HOME="/opt/jdk1.6.0_39"

        export PATH="$JAVA_HOME/bin:$PATH"

5. 刷新配置 ,让配置生效

  echo $JAVA_HOME   检查是否生效

  


  source /etc/profile

6. 编写Demo.java,测试 

  -javac Demo.java

           - java Demo


    3. 安装tomcat 

       步骤:

        1. 安装在哪里 /opt

2. 拷贝、解压

  tar -xzvf  ./apache-tomcat.tar.gz

3. 运行

  - ./startup.sh

  - ./shutdown.sh

       

      

    4. 安装Eclipse

       步骤:

         1.安装在/opt

2. 拷贝、解压

  cp eclipse.tar.gz  /opt

  tar -xzvf  eclipse.tar.gz

 

重点:

  1.linux系统环境

     命令交互通道

     命名提示符

  2. linux 目录结构、文件权限

    drwxr-xr-x

  3. linux 命令

    - 开关机

    - 文件操作 

    - 系统命令

       1. top 2. who 3. ifconfig 4. ping 5. kill 6. man 7.clear 8.netstat

  4. 软件管理

     - dpkg :离线  .deb  .rpm  .apk 

     - apt-get :在线 

  5. 压缩解压

     tar -cxgzvf 打包后的文件 要打包的文件

  6. vim 的使用

     三种模式

  7. ssh理解 secure shell

  8. java开发环境搭建

  

  

  使用 locale -a |grep zh_CN查看系统是否已经安装了中文语言包


1. 在终端下:

          复制命令:Ctrl + Shift + C  组合键.

          粘贴命令:Ctrl + Shift + V  组合键.

  

查询支持那些bash

cat /etc/shells


chmod +x ./test.sh  #使脚本具有执行权限