时间:2015-4-10 12:40

Linux第一天

Linux基本命令 

Linux各文件夹的作用
    bin  二进制可执行命令
    dev  设备特殊文件
    etc  系统管理和配置文件
    etc/rc.d  系统启动的配置文件和脚本
    home  用户文件夹
    lib  标准程序设计库  作用类似于Windows中的 .dll
    sbin   系统管理命令
    tmp  公用的临时文件储存点
    root  特权阶级
    mnt  临时挂载其他的文件系统
    var  可编数据
    opt  第三方软件(非应用  支持系统)
    usr  应用软件
    boot  启动文件
————————
基本命令
    ls  显示目录(d表示文件夹、-表示文件、l 表示软链接、红色表示压缩文件、蓝色表示文件夹、绿色表示可执行文件)
        -a 显示所有文件,包括隐藏文件
        -l  显示详细信息
        -d 查看目录属性 
    chmod 766 文件名  或者  chmod u+rwx 文件名/*给user添加rwx权限*/
        rwx        rwx          rwx             root         root
        所有者   所属组     其他人        所有者    所属组
        user       group      others
    r = 4  w = 2  x = 1
——————————————————————————————————————
|    代表字符    |       权限      |        对文件的含义        |                对目录的含义                |
——————————————————————————————————————
|           r           |    读权限     |    可以查看文件内容    |         可以列出目录中的内容         |
——————————————————————————————————————
|          w           |    写权限     |    可以修改文件内容    |    可以在目录中创建、删除文件   |
——————————————————————————————————————
|           x           |  执行权限   |        可以执行文件        |                可以进入目录                |
——————————————————————————————————————
    rwx 对文件的权限
        r - cat、more、head、tail
        w - echo、vi
        x - 命令、脚本
    rwx 对目录的权限
        r - ls
        w - touch、mkdir、rm
        x - cd
    chown 用户名
        改变文件或目录的所有者
    chgrp 用户名
        改变文件所属组
    su - 用户名   
        切换当前用户 
    touch 文件名 
        创建空文件
    cp -R 源文件或目录 目的目录 
        复制文件
    which 命令名称
        显示系统命令所在目录
    例子:$which ls
    find查找
    find 搜索路径 搜寻关键字
        功能描述:查找文件或目录 
    find -name 文件名
        * 匹配任意字符 init*
        ? 匹配单个字符 init??
    find -size 文件大小
        数据块 512字节  block
        大于 +
        小于 -
    find -user 所有者
    find -time
        1、天 ctime、atime、mtime
        2、分钟 cmin、amin、mmin
    c = change 改变  表示文件的属性被修改过,文件的所有者 
    a = access  访问
    m = modify  修改  表示文件的内容被修改过
    - 之内
    + 超过
    例:
        find /etc -mmin -120    /*查找120分钟内被修改过的文件*/ 
gzip压缩:
    gzip 文件名
        gzip 只能压缩文件 不能压缩目录 
        gzip  压缩后不保留源文件
解压缩:
    gunzip -d  或者  gzip -d
tar压缩:
    tar  选项  目录
        -c 产生.tar打包文件
        -v 显示详细信息
        -f 制定压缩后的文件名
        -z 打包同时压缩
功能描述:
    打包目录
    压缩后文件格式.tar.gz
例子:
    $tar  -zcvf  dir1.tar.gz dir1  /*打包后产生的文件名在后*/
        将目录 dir1压缩成一个打包并压缩的文件
解压缩:
    $tar -xfz 文件名
        -x  是解压
        当文件名后缀没有.tar.gz   可以用 file  xxx 来查看文件
bzip2压缩:
    bzip2 选项 文件
        -k  产生压缩文件后保留源文件
    功能描述
        压缩文件
    压缩后文件格式:
        .bz2
    例子:
        $bzip2 -k file1
解压缩:
    bunzip2 -k 压缩文件
        -k  解压缩后保留原文件
    功能描述:
        解压缩
    例子:
        $bunzip2 -k file.bz2 
    bc  计算器
    cal  日历
    date  时间
    exit  退出
    reboot  重启
    vi/gedit  编辑器
    gcc 123.c -o 32.c  重命名 123.c文件为321.c
    ./123.c  运行123.c程序
    whereis 123.c  寻找123.c文件的位置
    pwd  显示当前文件位置
    cp  复制
    mv  移动/剪切
    rm  删除
    rmdir  删除空目录/*只能删除空目录*/
    cat  查看文件内容
    more  文件名/*分页显示文件内容*/
        空格 或 f    显示下一页
        Enter         显示下一行
        Q 或 q       退出
    head  -5  文件名 /*显示文件前5行内容*/
    tail  -5  文件名  /*显示文件后5行内容*/ 
    mkdir  创建文件夹
    ctrl + c  终止命令
    双击tab  补全命令
    cd + 文件名  下层目录
    cd(空格)..  退到上层目录
    cd(空格)/  退到根目录
————————
VI编辑器

    v:显示
    y:复制
    a:编辑
    w:保存
    q:退出 
————————

 Linux第二天
shell命令编程
    用VI创建一个名为“hello.sh”的shell文件
    vi  hello.sh
    输入语句
    #!/bin/sh
    echo "hello world!"
    修改权限
    chmod 766 hello.sh
    运行“hello.sh”
    ./hello.sh 
————————
变量赋值
    var1= 1      var2= “aaa”  /*Linux中没有数据类型,所以直接定义变量*/
输入输出
    read  输入  相当于C语言中的 scanf
        read var    属于一个数据存储到var当中
     echo 输出  相当于C语言中的printf
        echo “$var”  输出变量var的值
    调用变量时要用$引用变量  $var /*当变量为右值使用时必须使用$*/
数学运算命令
    expr $var+1 或 (($var  + 1))  
引用命令时用反短斜线 ` `  /*数字1左边的键*/ 或
 $()
————————
简单运算
    #!/bin/sh
    echo "input a number"
    read var1
    var= `expr $var1 + 1`
    echo $var
    /*  
        输入一个数字  将该数字赋值给var1
        调用var1  使var+1  将相加后的结果赋给var
         输出var
    */
————————
条件执行
    命令1;命令2    /*命令1执行完毕,无条件执行命令2*/
    命令1&&命令2   /*当命令1执行成功则执行命令2,命令2执行完毕返回“成功”,否则返回“失败”*/
    命令1 || 命令2    /*当命令1执行失败则执行命令2,命令1执行成功则不执行命令2*/
例句
    ls~/abc || mkdir~/abc && touch~/abc/aa
        touch的作用是修改文件 时间戳
    -a    &&    逻辑与  -and
    -o    ||    逻辑或  -or
————————
Linux流程控制结构
    if语句结构[if/then/elif/else/fi]
    if 条件
    then
    语句
    elif 条件
    语句
    else
    语句
    fi
    /*

        如果对于:条件测试语句不是很清楚,可以参考:linux shell 逻辑运算符、逻辑表达式详解shell命令
       [chengmo@centos5 ~]$ a=5;if [[ a -gt 4 ]] ;then echo 'ok';fi;                       
       ok
    */ 

    实例:
    (test.sh)#!/bin/shscores=40;
    if [[ $scores -gt 90 ]]; then
        echo "very good!";
    elif [[ $scores -gt 80 ]]; then
        echo "good!";
    elif [[ $scores -gt 60 ]]; then
        echo "pass!";
    else
        echo "no pass!";
    fi; 
    
    条件测试有:[[]],[],test 这几种,注意:[[]] 与变量之间用空格分开。
———— 
    for … in 语句
    for 变量 in seq字符串
    do
    语句
    done

    说明:seq字符串 只要用空格字符分割,每次for…in 读取时候,就会按顺序将读到值,给前面的变量。

    实例
    (testfor.sh):
    #!/bin/sh
    for i in $(seq 10); do
    echo $i;
    done;
    
    seq 10 产生 1 2 3 。。。。10空格分隔字符串
    [user@bogon ~]$sh xxx.sh  相当于 . / 运行shell文件
————
    for((赋值;条件;运算语句))
    do
    语句
    done;

实例(testfor2.sh):#!/bin/shfor((i=1;i<=10;i++));do
    echo $i;
    done;


————

    while 条件语句
    do
    语句
    done;
    
    实例1:
    #!/bin/sh
    i=10;
    while [[ $i -gt 5 ]];do
    echo $i;
    ((i--));
    done;
    运行结果:
    ========================
    sh testwhile1.sh
    10
    9
    8
    7
    6
    !!实例2:(循环读取文件内容:)
    #!/bin/sh
    while read line;do
        echo $line;
    done < /etc/hosts;
 
    运行结果:
    ===================
    sh testwhile2.sh

    # Do not remove the following line, or various programs
    # that require network functionality will fail.
    127.0.0.1 centos5 localhost.localdomain localhost
————
    语法结构:
    until 条件
    do
    action
    done
    意思是:直到满足条件,就退出,否则执行action。

    实例
    (testuntil.sh):
    #!/bin/sh
    a=10;
    until [[ $a -lt 0 ]];do
    echo $a;
    ((a--));
    done;
    结果:
    sh testuntil.sh
    10
    9
    8
    7
    6
    5
    4
    3
    2
    1
    0
————
    case选择语句使用(case/esac)
    语法结构
    case $arg in  
        pattern | sample) # arg in pattern or sample  
        ;;  
        pattern1) # arg in pattern1  
        ;;  
        *) #default  
        ;;  
    esac 
    说明:pattern1 是正则表达式,可以用下面字符:
                 *       任意字串
                 ?       任意字元
                 [abc]   a, b, 或c三字元其中之一
                 [a-n]   从a到n的任一字元
                 |       多重选择
      
    实例:
    #!/bin/sh 
    case $1 in
    start | begin)
        echo "start something"  
    ;;
    stop | end)
    echo "stop something"  
    ;;
    *)
    echo "Ignorant"  
    ;;
    esac
    运行结果:
    ======================
 
    testcase.sh start
    start something
————
    select语句使用方法(产生菜单选择)

    语法:select 变量name  in seq变量do    actiondone实例:#!/bin/sh select ch in "begin" "end" "exit"
    do
    case $ch in
    "begin")
    echo "start something" 
    ;;
    "end")
    echo "stop something" 
    ;;
    "exit")
    echo "exit" 
    break;
    ;;
    *)
    echo "Ignorant" 
    ;;
    esac
    done;运行结果:
    
    说明:select是循环选择,一般与case语句使用。
————————
重定向
    标准输入            命令<文件(覆盖)  <<(追加)
    标准输出            命令>文件(覆盖)  >>(追加)
    标准错误输出     错误命令 2>文件(覆盖)  2>>(追加)
例句
    ls -l > aa.txt  /**/
    vi bb.txt < aa.txt
————————
正则表达式
      简单的说,正则表达式就是处理字符串的方法,它是以行为单位来进行字符串的处理行为,正则表达式通过一些特殊符号的辅助,
      可以,让用户轻易达到查找、删除、替换某特定字符串的处理程序。
     正则表达式主要分为两类:基本正则表达式和扩展正则表达式。
     特殊符号   
        符号 含义 举例
        ^ 开始标记 "^abc"满足的例子abc、abcd
        ^ 非(在[]内) "[^abc]"满足的例子:ddd、mpd
        $ 结束标记 ”abc$”满足的例子abc、mmabc
        . 任意字符 "a.c"满足的例子abc、fapcc
        \< 匹配单词开始 "\<abc"满足的例子abc、abcd
        \> 匹配单词结束 "abc\>"满足的例子abc、pmrabc
        | "AAA|BBB"满足的例子AAA、BBBpp
    ^ 行首锚定符
    & 行尾锚定符
    grep ‘wang’ file    /*筛选文件名为'wang’的文件*/
    grep 'wang[12]' file     /*筛选出“wang1”,“wang2”*/
    grep 'wang[^2]' file     /*筛选出不包括2的所有文件名为“wang”的文件*/
    grep 'wang[1-5]' file     /*筛选出包含“1—5”的所有文件名为"wang"的文件*/
    grep '^a' file     /*筛选出以a开头的所有文件*/
    grep 'g$' file     /*筛选出以g结尾的所有文件*/
    grep 'a\{2\}' file     /*表示精确匹配2次*/
    grep 'a\{2,5\}' file     /*表示其前面的字符a最少出现2次,最多出现五次*/
    grep ’a\{2,\}' file   /*表示匹配其前面的字符a最少出现2次,最多无限*/
    grep 'wa*' file     /*匹配其前面的字符零到多次,例如 waaang,wngg*/
    grep 'w..g' file    /*匹配任意单个字符,一个  .  一个字符,例如love,line*/
    grep '[a-z]' file     /*指定范围内的任意单个字符,例如 actor,build*/
    grep ‘^[a-z]' file     /*筛选除指定字符外的其它任意字符*/
———————— 
管道命令   |
    1)把前面的命令结果作为后面命令的输入数据
    2)后面的命令必须是管道命令(以文件为输入,可以处理文件内容)
    筛选 grep 'xx'文件  /*xx是文件名*/
    切行 cut -d'分隔符' -f 字段
    排序 sort -r(反向)
    合并行 uniq 计数 wc -l 行 -w 词
例句
    ls -l | grep 'wang' | cut -f 3,5 | sort
 ————————
 awk命令
    awk '条件{动作}条件{动作}......'文件名
    awk '{print $1"\t" $3}' aa.txt
    awk '{print $1"\t" NR "\t" NF}' aa.txt     /*NR  行号    NF  字段号*/
    awk 'BEGIN{FS="\t"}$3>10{print $}' aa.txt      /*FS  分隔符*/
    awk 'NR=1{} NR >= 2{}' aa.txt 
例句(删除存储大小为0的文件)
    #!/bin/sh
    for filename in 'ls'
    do
    if test -d $filename;then 
    b=0
    else
    a= $(ls -l $filename | awk '{print$5}')
    if test $a -eq 0; then
    rm $filename
    fi
    fi
    done
 ————————
Linux中字符比较的写法
    -eq    相等
    -ne    不等
    -lt     小于
    -le    小于等于
    -gt    大于
    -ge    大于等于
    -f xxx    文件存在
    -d xxx    目录存在
    -x xxx    文件可执行
    -n xxx    变量有数据
    -a    &&  逻辑与
    -o    ||  逻辑或
————————

Linux第三天

Linux服务器
软件安装
    1、源码安装
        下载 wget http://www.xxx.com/xxx.tar.bz2
        解压 tar -jxvf xxx.tar.bz2
        编译和安装 make   make install
    2、yum安装
        yum info xxx  /*information  显示安装文件信息*/
        yum install xxx  /*install  安装文件*/
        yum remove xxx   /*remove  删除安装文件*/
        yum list xxx    /*list  显示安装文件列表*/
        yum search xxx    /*search  查找安装文件*/
 ————————
网络命令和配置文件
    IP地址 ifconfig    /*查看网卡信息*/
        ifconfig etho 192.168.111.128 netmask 255.255.255.0
    防火墙 /etc/sysconfig/iptables
        -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT 
————————
SSH
    安装服务端
        yum install openssh-server
    启动
        /etc/init.d/sshd start (stop or restart)
    连接
        yum install ssh
        ssh xxx.xxx.xxx.xxx    /*输入IP地址*/
    Windows平台
        下载安装putty(远程登录)
————————
LAMP(Linux+Apache+MySQL+PHP)
    安装
        yun install httpd mysql mysql-server php php-mysql
    启动
        /etc/init.d/mysql start
        /etc init.d/httpd start    /*d代表服务端*/
    测试
        在/var/www/html/下创建phpinfo.php文件    /*创建php脚本文件*/
        在phpinfo.php文件中输入<?php phpinfo();?>
        用浏览器打开 http://xxx.xxx.xxx.xxx/phpinfo.php
————————
    1、安装
        yum install xxx
    2、查看IP地址 
        ifconfig
    3、设置防火墙端口
        /etc/sysconfig/iptables
    4、安装远程登录服务端
        yum install openssh-server
    5、启动/重启/关闭
        /etc/init.d/xxxd start/restart/stop(d  服务端,相当于server,ssh-server、mysql-server)

Linux操作系统基本应用(完结)的更多相关文章

  1. Linux操作系统基础(完结)

    摘要 一.Linux操作系统概述 二.Linux操作系统安装 三.Linux文件系统及文件基础 四.Linux操作系统命令使用基础 五.Linux应用程序的安装与卸载基础 五.用户及进程 六.相关信息 ...

  2. 献给初学者:谈谈如何学习Linux操作系统

    本文出自 “技术成就梦想” 博客,请务必保留此出处http://ixdba.blog.51cto.com/2895551/569329. 为了能把这篇不错的文章分享给大家.所以请允许我暂时用原创的形式 ...

  3. 谈谈如何学习Linux操作系统

     献给初学者:为了能把这篇不错的文章分享给大家.所以请允许我暂时用原创的形式展现给大家. @hcy 更多资源:http://blog.sina.com.cn/iihcy 一. 选择适合自己的linux ...

  4. Linux操作系统备份之三:通过二进制拷贝(dd)方式实现Linux操作系统数据的备份

    前面有两篇文章,<Linux操作系统备份之一:使用LVM快照实现Linux操作系统数据的在线备份>和<Linux操作系统备份之二:通过tar拷贝分区实现Linux操作数据的在线备份& ...

  5. Linux操作系统备份之二:通过tar拷贝分区实现Linux操作数据的在线备份

    http://www.tektea.com/archives/2163.html. 在<Linux操作系统备份之一:使用LVM快照实现Linux操作系统数据的在线备份>文章中,我们介绍了使 ...

  6. 安装linux操作系统

    安装双操作系统; 1 0. 介绍: 1 1 实验环境: 2 2. 实验准备: 2 3.开始安装: 2 1 制作U盘启动工具: 2 2.安装LinuxOS. 3 2.1在windowOS中划分60G空间 ...

  7. 在Linux操作系统下备份恢复技术的应用 转自https://yq.aliyun.com/articles/50205?spm=5176.100239.blogcont24250.9.CfBYE9

    摘要: 安全防护:在Linux操作系统下备份恢复技术的应用  原文参见:http://linux.chinaunix.net/techdoc/system/2005/12/19/925898.shtm ...

  8. Linux操作系统备份之一:使用LVM快照实现Linux操作系统数据的在线备份

    这里我们讨论Linux操作系统的备份. 在生产环境,客户都会要求做全系统的数据备份,用于系统崩溃后的一种恢复手段.这其中就包含操作系统数据的备份恢复. 由于是生产环境,客户都会要求备份不中断业务,也就 ...

  9. 安装Kali Linux操作系统Kali Linux无线网络渗透

    安装Kali Linux操作系统Kali Linux无线网络渗透 Kali Linux是一个基于Debian的Linux发行版,它的前身是BackTrack Linux发行版.在该操作系统中,自带了大 ...

  10. 使用 /proc 文件系统来访问 linux操作系统 内核的内容 && 虚拟文件系统vfs及proc详解

    http://blog.163.com/he_junwei/blog/static/19793764620152743325659/ http://www.01yun.com/other/201304 ...

随机推荐

  1. easyui-textbox使用value设置默认值失效

    1,使用easyu-textbox的value参数设置默认值失效,easyui-textbox放到dialog弹框中,当dialog的closed为false时,也就是打开dialog时,设置的val ...

  2. C语言变量为何先定义后使用

    C语言中,对变量的使用,首先要先定义.说明其数据类型.原因可能如下: 1不同类型的变量,其编码表示方式可能不同. 2不同类型的变量,其占有的空间大小不同.不事先说明无法在内存中开辟空间.

  3. Linux服务系统申请SSL证书方法

    inux主要面向专业性较强的技术人员,如果是WEB站点通常采取PHP语言为主选,可选的服务器环境中有Apache.Nginx.Tomcat这几类为主的框架环境,有的图方便会用一些可视化一键式的控制面板 ...

  4. 开发工具IDE从入门到爱不释手(五)更多实用操作

    更多实用技巧 Tabs分屏和独立 日志链接及浏览器 设置浏览器 本地修改历史 三秒钟不操作,自动保存一个版本 右键--Local History--Show History 查看方法调用情况 按住方法 ...

  5. 深入刨析tomcat 之---第15篇 对应20章, myAdmin案例代码

    writedby 张艳涛 有没有和我一样做到第20章的?今天基本结束了本书的阅读.最后一个案例没有demo,那我写了一回,如果有需要的可以在本地试试 路径 D:\wksp_study\designbo ...

  6. 构建前端第7篇之---elementUI设置主题,进而改变全局button底色

    张艳涛写于2020-1-20 What:是elementUI主题? 是内置的格式,elementUI默认只有一个主题,如果想整体替换按钮的颜色等问题,那么就可以用主题 设置步骤 在路径src/styl ...

  7. 使用C#winform编写渗透测试工具--SQL注入

    使用C#winform编写渗透测试工具--SQL注入 本篇文章主要介绍使用C#winform编写渗透测试工具,实现SQL注入的功能.使用python编写SQL注入脚本,基于get显错注入的方式进行数据 ...

  8. sort,uniq,tr,cut,eval命令

    目录 一.排序命令sort 1.格式 2.常用选项 3.例子 二.去除重复行操作命令uniq 1.格式 2.常用选项 3.示例 三.字符转换命令tr 1.格式 2.常用选项 3.参数 4.示例 四.数 ...

  9. 跟Waf斗智斗勇的一天

    差点心态爆炸 幸亏整出来了... 最近快放寒假了..临近高考不到最后一星期绝对不学习.. 挖下SRC 这家自带的waf头疼死我了 想几次Fuzz全都撞壁了 然后发现了这家waf的规则 信息搜集不说了 ...

  10. goproxy.io

    goproxy.io 是全球最早的 Go modules 镜像代理服务之一, 采用 CDN 加速服务为开发者提供依赖下载, 该服务由一批热爱开源, 热爱 Go 语言的年轻人开发维护.从 Go 1.11 ...