IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    linux基础使用

    summer发表于 2016-07-12 08:49:39
    love 0

    --linux实战--1

    支持多线程./多用户的
    安全性好
    对内存和文件管理优越

    linux最小只需要4m--》使用嵌入式开发

    --命令
    通配符
    * 代表多个字母或数字
    ? 代表一个字母或数字
    [1-6] 代表1-6之间

    \ 转义符

    startx  进入图形界面
    shutdown -h now  立刻关机
    shutdown -r now  重新启动
    reboot           重新启动

    su    切换用户

    logout   用户注销

    --vi编辑器的使用
    1...
    vi Hello.java
    i  --进入insert编辑模式
    输入 esc 键【进入命令模式】
    输入 :   --这时有两个选择
           wq 表示退出报存
           q! 退出不保存

    ls  --查看当前目录下的文件
    ls -l  --查看文件的详细信息
    ls -a --查看隐藏目录信息

    linux的文件系统是采用级层式的树状目录结构,在此结构中的
    最上层是跟目录'/'

    cd /   --切换目录用  cd / 是进入根目录
    dir    --跟ls 差不多都是现实目录用的

    linux 重要目录结果图  见 1-1....usr目录是默认安装程序的目录图没有。

    pwd  --显示在哪个路径下。

    useradd   --添加用户
    passwd    --设置密码
    userdel   --删除用户
    userdel -r  --删除用户以及用户的主目录

    init [0123456] --命令初始化模式
    linux 运行级别
     0:关机
     1:单用户
     2:多用户状态没有网络服务
     3:多用户状态有网络服务
     4:系统未使用保留给用户
     5: 图形界面
     6: 系统重启
    常用运行级别是3和5 要修改默认的运行级别可改文件
    /etc/inittab的id:5:initdefault:这一行中的数字 这个文件时第一个被读取的
    /etc/rc.d/rd.sysinit  --系统初始化脚本
    /etc/rc.d/rcX.d/[KS]* --根据运行级别X配置服务
    终止以'K'开头的服务
    启动以'S'开头的服务
    /etc/rc.d/rc.local    --执行本地特殊配置

    ....如果修改成6或者0 在进去界面中要
    在ubuntu 中/etc/inittab 没内容
    在进入grub引导界面时,请输入e 
    在选中第二行输入e
    在最后输入1【单用户级别】
    ----------------------------没试过-------------

    pwd  --显示工作目录
    ls   --列出文件和目录
     ls -a    显示隐藏文件
     ls -l    显示长列表格式
     ls -al

    mkdir   --建立目录
    rmdir   --删除空目录
    tounch  --建立空文件
    cp      --复制命令
      cp -rf  --拷贝

    mv      --移动文件和改文件名
    rm      --删除文件和目录
       rm  -rf * --删除所有内容 包括目录和文件 r递归 f强制
    ln      --建立符号连接
       ln -s  源目标
       ln -s  /etc/inittab inittab 
     --inittab指向时间文件/etc/inittab

    more     --显示文件内容,带分页
    less     --显示文件内容带分页
    grep --在文本中查询关键词
    | --管道命令   --把上面一个命令的结果交给|
    的后面的命令处理
    man      --man命令相当于dos下的help命令
    find     --搜索文件及目录
           find / -name 文件  --  从根目录开始找
           find /home -amin -10: --十分钟内存取的文件或目录
           find /home -atime -10: --十小时内存取的文件或目录
           find /home -cmin -10: --十分钟内更改过的文件或目录
           find /home -ctime -10: --十小时前更改过的文件或目录

           find /home -size +10k --找/home目录下文件大小是10k的
    文件

    重定向命令
    > 文件  --管道定向命令 表示把  > 左边的搜索的结果 写入到
     右边的 文件里面 没有就创建 有就覆盖。。(覆盖写)
    >> 文件 -- 同上面的命令 只不过文件不覆盖只追加(追加写)

    linux 的每一个用户必须属于一个组

    ls -ahl             --查看文件所有者

    在linux中添加组
    groupadd policeman

    vi /etc/group    --vi 命令可以看文件也可以改文件
    cat /etc/group   -- cat  只查看不修改的命令

    创建用户,并同时指定将该用户分配到哪个组
    useradd -g 组名 用户名
    修改用户所在组
    usermod -g 组名 用户名

    改变用户登录的初始目录 
    usermod -d 目录名 用户名

    查看linux中所有用户信息
    vi /etc/passwd
    cat /etc/passwd

    权限分为三种:r可读  用4表示,w 可写用2表示,x可执行 用1表示

    查看文件信息时下面这段表示
    -rw-r--r--

    分成四段 -,rwx-,r--,r--
    -        表示文件类型 d(目录) l(链接)
    rwx-     文件的所有者对该文件的权限
    rw--     文件所在组的用户对改文件的权限ho
    r--      其它组的用户对该文件的权限
     

    改变权限的命令赋予abc权限
       chmod   改变文件或目录的权限
       chmod 755 abc :rwxr-xr-xr
       chmod u=rwx,g=rx,o=rx abc :同上 u=用户权限,g=组权限 0=不同其它组其它用户权限
       chmod u-x,g+w abc:给abc去除用户执行的权限,增加组写的权限
       chmod a+r abc  : 给所有用户添加读的权限
    --改变所有者(chown)和用户组(chgrp)命令   
       chgrp 组名 文件名   --来修改文件所在组
       chown 用户名 文件名 --来修改文件的所有者
       chown 用户名 ./目录名   --来修改目录的所有者
       chown -R 用户名 ./目录名   --来修改目录及其下面的所有文件 和目录的所有者

    jdk安装步骤/
     1.把 mypackage.iso 挂载到linux操作系统上
          在vm做好配置
          mount /mnt/cdrom  --使用该命令挂载  在跟目录下使用
          umont /mnt/cdrom  --卸载光驱
     2.把安装文件copy到 /home   因为iso光驱文件时不可读的安装时 会写入东西  会造成不成功
         cp 文件 /home      --拷贝命令

     3. cd /home  切换到home目录
     
     4. ./???.bin  回车。。。

     5.看看一个文件  /etc/profile【环境配置文件】

     6.配置自己安装的jdk文件
    JAVA_HOME = /.....
    PATH=PATH:/......
    CLASSPATH=.:/......
    export JAVA_HOME PATH CLASSPATH
     

    eclipse  安装也一样
       tar -zxvf ???.tar.gz  安装tar.gz文件
       
       启动eclipse 【进入图形界面】

       ctrl+alt+T  进入终端

       ./绿色文件 启动   --有些文件不支持这样启动 只能在图形界面
    进入终端敲此命令启动

    myeclipse 必须在图形界面下安装

    tomcat 安装同上

    ---》分区
    df --查看linux系统分区情况
    -h  更详细的分区的情况
    -l

    fdisk  -l

    =======>

    linux下的Shell
      --所有命令都必须通过shell解析器解释成可执行代码再传递    给linux内核执行。
      --shell还可以进行程序设计
    有三种shell  在以下目录
    /bin/sh
    /bin/csh
    /bin/bsh

    ==》
    查看目前使用的shell
    env   --使用该命令查看环境配置
    chsh -s /bin/csh  ---修改shell

    alias 用法给命令取别名
      例如: ls -l /home  
      别名llh:  alias llh =  'ls -l /home'

    使用zip和unzip压缩和解压

    压缩文件
          zip  aa.zip 文件名
          zip  aa.zip 文件名1,文件名2
          zip -r aa.zip  文件夹
          zip -m aa.zip  文件  压缩完成后删除原文件
          zip -y aa.zip 文件   不压缩链接文件

          gzip 和 gunzip处理.gz文件

    解压缩文件
          unzip aa.zip

    history 5 --此项说明会显示 最近使用的5个命令
           !5 --此项说明执行历史编号为5的命令
           !ls--此项说明执行最后一次以“ls”开头的命令

    ==》
    tcp/ip基础
    tcp/ip协议由  (tcp,ip,udp,arp,rarp等协议组成)
    见图 1-2

    应用层
    传输层
    iP层
    链路层

    ping  ip   --拼命令
    tracert ip --查看拼接网络的追踪路由
    traceroute
    ifconfig   --下查看ip情况的命令是   windows是ipconfig
    ifconfig eth0 down  --禁用设备eth0
    ifconfig eth0 up    --打开设备eth0

    关闭linux中的防火墙 (用setup命令道text mode设置)
    --对网络配置进行生效使用下面语句
    /etc/rc.d/init.d/network restart 

    在linux中,所有的设备都是文件..
    ===>对网络进行配置
    1....
    setup      -- 永久修改
    /etc/rc.d/init.d/network restart  对网络配置进行生效

    2...
    ifconfig eth0 ip地址 
    ---这样配置网络将会立即生效但是是临时的。。

    3...
    修改 /etc/sysconfig/network-scripts/ifcfg-eth0
    这个文件里各个属性可以修改,包括ip,子网掩码,广播地址
    ,默认网关..是永久修改
    /etc/rc.d/init.d/network restart  对网络配置进行生效

    DEVICE=eth0    --设备名
    ONBOOT=yes     --开机是否启动
    BOOTPROTO=dbcp --dbcp代表自动分配ip  staic代表自己分配固
    定ip

    ===》
    rpm管理  redhat package manager 
       例如:apache-1.3.23-11.i386.rpm
    =》rpm常用命令
    rpm -qa   --查询linux中安装哪些rpm软件
    rpm -q 包名部分
    rpm -i rpm包全路径名称    ---安装包到当前系统
    rpm -ivh rpm包全路径名称  ---安装包到当前系统有提示和进度条
       i = install
       v = verbose
       h = hash

    rpm -e  rpm包全路径名称  --删除rpm包
    rpm -e --nodeps rpm包全路径名称 --强制删除rpm包
    rpm -u  rpm包全路径名称  --rpm包升级
       

    ===》
    samba服务器   ---用于window和linux文件共享

    samba的安装步骤
       1..   看看是否已经安装了samba
    rpm -q samba
       2..   如有就卸载
            rpm -e  samba
       3..   把自己安装的文件挂载到linux下
       4..    把samba安装文件copy到/home目录下准备安装
       5..   开始安装
             rpm -i  samba安装rpm文件
       6..  创建一个用户  useradd xx。。。
       7..  添加samba的使用用户
            cat /etc/passwd | mksmbpasswd.sh >                             /etc/samba/sabpasswd
       8..设置samba密码
    smbpasswd 用户
       9.. 启动samba服务器,测试
    service smb  start     ---启动smb服务
            service smb  stop      ---停止smb服务
            service smb  restart   ---重启smb服务
         
       10..启动samba后在 windows中访问   //linux使用的ip
           可以访问到linux中共享的文件
      

    ===》
    设置任务调度命令crontab
    1...
    crontab -e  --设置任务

    2...
    每隔一定时间去执行 date > /home/mydata1
      希望,每天凌晨2:00去执行 date >> /home/mydata2
    --  crontab -e 中加入0 2 * * *  date >>
    /home/mydata2
    ---0 2  * * *  带表了 分 时 月 年 星期

    3.怎样去调度多个任务
        1... 在crontab -e 中接着写
        2... 可以把所有的任务,写入到一个可执行文件(shell 编程)

    conrtab -r  --终止 任务

    ===》
    监控网络状态信息 
    进程.
          进程就是正在执行的程序
    线程
          轻量级的进程
          进程有独立的地址空间。线程没有
          线程不能独立存在,它是由进程创建。
          相对讲,线程耗费的cpu,和内存小于进程

    ps命令用来查看目前系统中有哪些正在执行。以及它们执行的状况
    1..ps -a --显示当前终端的所有进程信息
    2..ps -u --以用户的格式显示进程信息
    3..ps -x --显示后台进程运行参数
    pa -aux  --看的全面,信息也全面

    kill  进程pid号     --终止进程
    kill -9  进程pid号  --强制终止进程
    killlall 进程pid号  --删掉该进程和所有子进程

    top与ps命令很相似。它们都用来显示正在执行的进程。
    Top与ps最大的不同之处。在于top在执行一段时间可以更新正在运行的进程
    1.监视特定用户
    top:输入此命令。查看执行的进程
    u:然后输入u回车 再输入用户名,监视特定用户

    2.终止指定的进程
    top--》回车--》k --》回车--》进程id号

    tip -d 10 ---指定系统更新进程的时间为10秒。

    14:06:22 UP 4 MIN, 1 USER,LOAD AVERAGE:0.02,0.12,0.07
    --4 min  代表系统启动了多久  1 user 用户数  
    --load average: 0.02,0.12,0.07 当前系统负载情况  如果/3>0.6就
    代表系统使用率大于60%           
    37 processes:  36 sleeping,1 running,0 zombie, o stopped
    --37 processes: 进程数  36 sleeping:休眠数 1 running 运行数
      0 zombie  僵尸进程数 没用的进程 但是又占用了内存。
      0 stopped 停止数
    Cpu states : 0.0% user 0.1% system 0.0% nice 0.0% inwait 99.8% idle  
    --Cpu 使用情况 99.8% idle  代表有多少Cpu 闲置
    Mem: 255264k av, 39428k used,215836k free, 0 shrd, 5528k buff
    --内存使用情况 used 使用中的  free 空闲的
    Swap: 257032k av, 0k used, 257032k free
    --虚拟内存使用情况

    date --显示系统时间 MMDDHHMMCCYY.SS  月月日日时时分分年年年年.秒秒

    cal 3 2002 --查看2002年3月的日历

    cal 2008   --查看2008的年历

    netstat --网络信息
     netstat -an  --检测主机连接命令ping:

    ===》
    Mysql数据库在linux下的使用
    groupadd mysql
    useradd -g mysql mysql
    cd mysql  --进入mysql 才能执行下面一句
    scripts/mysql_install_db --user=mysql
    chown -R root . (修改 文件的 所有者)
    chown -R mysql data (修改date文件夹的所有者) 
    chgrp -R mysql . (改变用户组)
    启动mysql
    bin/mysqld_safe  ---user =mysql & 【&表示以后台的方式启动】
    检查一下

    下面命令是在msql bin目录下执行的
    cd bin
    ./mysql -u  root -p

    备份  mysqldump -u root -p密码 数据库名 > data.bak
    恢复:mysql -u root -p密码 数据库名 < data.bak 
    看表的结构 --desc  

    用户环境变量配置root/home/用户/.bash_profile中添加路径
         /.bashrc  用户登录的时候启动文件
    系统环境变量配置 /etc/profile
    /etc/bashrc

    特别注意mysql驱动要存放的位置jdk下的。
    /jre/lib/ext/

    ===》
    ssh(secure shell)的使用

    ===》
    ftp的安装与配置

    ===》
    linux 下网络编程

    1...如何使用linux

    2...

    3...

    4...



沪ICP备19023445号-2号
友情链接