精华内容
下载资源
问答
  • linux shell使用代理

    千次阅读 2019-03-25 11:21:00
    2019独角兽企业重金招聘Python工程师标准>>> ...
    export http_proxy=http://proxyAddress:port
    export http_proxy=http://proxyAddress:port

     

    export http_proxy=http://3.20.128.6:88
    export https_proxy=http://3.20.128.6:88

    转载于:https://my.oschina.net/angelbo/blog/3027216

    展开全文
  • shell:>add 1 2 3
  • shell

    万次阅读 多人点赞 2019-09-16 20:00:00
    现在我们使用的操作系统(Windows、Mac OS、Android、iOS等)都是带图形界面的,简单直观,容易上手,对专业用户(程序员、网管等)和普通用户(家庭主妇、老年人等)都非常适用;计算机的普及离不开图形界面。 然而...

    shell

    什么是shell:

    现在我们使用的操作系统(Windows、Mac OS、Android、iOS等)都是带图形界面的,简单直观,容易上手,对专业用户(程序员、网管等)和普通用户(家庭主妇、老年人等)都非常适用;计算机的普及离不开图形界面。
    然而在计算机的早期并没有图形界面,我们只能通过一个一个地命令来控制计算机,这些命令有成百上千之多,且不说记住这些命令非常困难,每天面对没有任何色彩的“黑屏”本身就是一件枯燥的事情;这个时候的计算机还远远谈不上炫酷和普及,只有专业人员才能使用。
    对于图形界面,用户点击某个图标就能启动某个程序;对于命令行,用户输入某个程序的名字(可以看做一个命令)就能启动某个程序。这两者的基本过程都是类似的,都需要查找程序在硬盘上的安装位置,然后将它们加载到内存运行。换句话说,图形界面和命令行要达到的目的是一样的,都是让用户控制计算机。然而,真正能够控制计算机硬件(CPU、内存、显示器等)的只有操作系统内核(Kernel),图形界面和命令行只是架设在用户和内核之间的一座桥梁。
    由于安全、复杂、繁琐等原因,用户不能直接接触内核(也没有必要),需要另外再开发一个程序,让用户直接使用这个程序;该程序的作用就是接收用户的操作(点击图标、输入命令),并进行简单的处理,然后再传递给内核。如此一来,用户和内核之间就多了一层“代理”,这层“代理”既简化了用户的操作,也保护了内核。
    用户界面和命令行就是这个另外开发的程序,就是这层“代理”。在Linux下,这个命令行程序叫做 Shell。

    2.shell 作用详析:

    Shell 除了能解释用户输入的命令,将它传递给内核,还可以:
    调用其他程序,给其他程序传递数据或参数,并获取程序的处理结果;
    在多个程序之间传递数据,把一个程序的输出作为另一个程序的输入;
    Shell 本身也可以被其他程序调用。
    由此可见,Shell 是将内核、程序和用户连接了起来。
    Shell 本身支持的命令并不多,但是它可以调用其他的程序,每个程序就是一个命令,这使得 Shell 命令的数量可以无限扩展,其结果就是 Shell 的功能非常强大,完全能够胜任 Linux 的日常管理工作,如文本或字符串检索、文件的查找或创建、大规模软件的自动部署、更改系统设置、监控服务器性能、发送报警邮件、抓取网页内容、压缩文件等。
    Shell 并不是简单的堆砌命令,我们还可以在 Shell 中编程,这和使用 C/C++、Java、Python 等常见的编程语言并没有什么两样。
    Shell 虽然没有 C/C++、Java、Python 等强大,但也支持了基本的编程元素,例如:
    if…else 选择结构,switch…case 开关语句,for、while、until 循环;
    变量、数组、字符串、注释、加减乘除、逻辑运算等概念;
    函数,包括用户自定义的函数和内置函数(例如 printf、export、eval 等)。
    站在这个角度讲,Shell 也是一种编程语言,它的编译器(解释器)是 Shell 这个程序。我们平时所说的 Shell,有时候是指连接用户和内核的这个程序,有时候又是指 Shell 编程。
    Shell 主要用来开发一些实用的、自动化的小工具,而不是用来开发具有复杂业务逻辑的中大型软件,例如检测计算机的硬件参数、一键搭建Web开发环境、日志分析等,Shell 都非常合适。

    3.3.常见的shell类型有 sh、bash、csh、tcsh、ash 等。

    常见的 Shell

    sh
    sh 的全称是 Bourne shell,由 AT&T 公司的 Steve Bourne开发,为了纪念他,就用他的名字命名了。
    sh 是 UNIX 上的标准 shell,很多 UNIX 版本都配有 sh。sh 是第一个流行的 Shell。

    csh
    sh 之后另一个广为流传的 shell 是由柏克莱大学的 Bill Joy 设计的,这个 shell 的语法有点类似C语言,所以才得名为 C shell ,简称为 csh。
    Bill Joy 是一个风云人物,他创立了 BSD 操作系统,开发了 vi 编辑器,还是 Sun 公司的创始人之一。
    BSD 是 UNIX 的一个重要分支,后人在此基础上发展出了很多现代的操作系统,最著名的有 FreeBSD、OpenBSD 和 NetBSD,就连 Mac OS X 在很大程度上也基于BSD。

    tcsh
    tcsh 是 csh 的增强版,加入了命令补全功能,提供了更加强大的语法支持。

    ash
    一个简单的轻量级的 Shell,占用资源少,适合运行于低内存环境,但是与下面讲到的 bash shell 完全兼容。

    bash
    bash shell 是 Linux 的默认 shell,本教程也基于 bash 编写。
    bash 由 GNU 组织开发,保持了对 sh shell 的兼容性,是各种 Linux 发行版默认配置的 shell。
    bash 兼容 sh 意味着,针对 sh 编写的 Shell 代码可以不加修改地在 bash 中运行。
    尽管如此,bash 和 sh 还是有一些不同之处:
    一方面,bash 扩展了一些命令和参数;
    另一方面,bash 并不完全和 sh 兼容,它们有些行为并不一致,但在大多数企业运维的情况下区别不大,特殊场景可以使用 bash 代替 sh。

    历史命令

    1.history 查询历史命令
    历史命令文件存放在 /root/.bash_history

    [root@localhost ~]# ls  /root/.bash_history  
    /root/.bash_history
    [root@localhost ~]# cat !$
    cat /root/.bash_history
    chmod ~/.ssh 700
    chmod /~.ssh 700
    iptable
    ipaddr
    ip addr
    dhclient
    ip addr
    ping www.baidu.com
    ip route
    vi /etc/sysconfig/network-scripts/ifcfg-ens33 
    ip addr
    ifconfig
    vi /etc/sysconfig/network-scripts/ifcfg-ens33 
    systemctl restart network
    ping www.baidu.com
    mkidr ~/.ssh/
    mkdir ~/.ssh/
    ls
    cd /
    cd 
    ls
    cd ..
    ls
    cd /.ssh
    cd
    ls
    cd ~/.ssh
    vi authorized_keys
    chmod 600authorized_keys
    chmod 600 authorized_keys
    ls
    cd ..
    ls
    cd ..
    cd ~
    ls
    cd ~/.ssh
    ls
    ll
    vi authorized_keys 
    chmod 600 authorized_keys 
    vi authorized_keys 
    chmod 600 authorized_keys 
    cd 
    ls
    cd ..
    ls
    chmod 700 home
    yum install -y lrzsz
    ls
    sz anaconda-ks.cfg 
    ls
    rz
    
    

    3.修改系统摩恩的存储历史命令的条数
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    4.设定history命令显示时间

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    5.历史命令的调用

    使用上下箭头调用以前的历史命令
    使用 !n 重复执行第n条历史命令
    使用 !! , !-1 重复执行上一条命令 Ctrl+p+enter亦可
    使用 !ls 重复执行最后一条以ls开头的命令

    命令补全和别名

    tab键补全命令:在输入命令的时候,输入命令的一部分,可以按两下tab键补全命令

    centos6 可以使用tab键补全命令,不支持补全选项;
    centos7 也可以使用tab键补全命令,也支持补全选项,但是需要安装一个bash-completion的包,安装完成后需要重启。

    在这里插入图片描述

    自定义别名

    在这里插入图片描述

    别名的配置文件:~/bash.rc 和 /etc/profile.d/

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    取消别名

    在这里插入图片描述

    通配符、输出重定向

    通配符

    符号作用
    *匹配任何字符串/文本,包括空字符串;*代表任意字符(0个或多个)
    匹配任何一个字符(不在括号内时)?代表任意1个字符
    [abcd]匹配abcd中任何一个字符
    [a-z]表示范围a到z,表示范围的意思 []匹配中括号中任意一个字符
    {…}表示生成序列. 以逗号分隔,且不能有空格
    [!abcd]或[^abcd]表示非,表示不匹配括号里面的任何一个字符

    在这里插入图片描述

    在这里插入图片描述

    输出重定向

    符号作用
    >正确输出重定向
    >>正确追加输出重定向
    2>错误输出重定向
    2>>错误追加输出重定向
    &>不管正确与否,输出重定向
    &>>不管正确与否,追加输出重定向
    <输入重定向

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    管道符、作业控制

    符号作用
    |把前面命令的结果给后面的命令

    在这里插入图片描述

    作业控制

    命令作用
    ctrl+c发送SIGINT信号,终止一个进程。
    ctrl+z发送SIGSTOP信号,挂起一个进程,将作业放置到后台(暂停状态)。与此同时,可以通过fg重启前台被中断的任务,也可以通过bg把中断的任务放到后台执行。
    jobs查看当前有多少在后台运行的命令
    fg将后台中的命令调至前台继续运行,如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
    bg将一个在后台暂停的命令,变成继续执行,如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
    命令+&这个用在一个命令的最后,可以把这个命令放到后台执行

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • shell 中的 -eq -ne -gt -lt ge le

    万次阅读 2017-12-30 21:25:11
    shell中的比较不是使用简单的> =  -eq //equal 等于  -ne //no equal 不等于  -gt //great than 大于  -lt // low than 小于  ge // great and equal 大于等于,注意没有"-"  le //low and ...

        shell中的比较不是使用简单的> = <等,而是用扩展符,如下所示:

      -eq     //equal  等于

      -ne     //no equal 不等于

      -gt      //great than 大于

      -lt       // low than  小于

      ge      // great and equal 大于等于,注意没有"-"

       le      //low and equal 小于等于,注意没有“-”

    展开全文
  • Linux使用Shell脚本写日志

    万次阅读 2020-09-30 14:30:37
    &gt;&gt;:向文件中追加文本内容 $date:获取系统日期时间 源代码 log.sh #!/bin/bash # 向`log.txt`文件中追加文本内容,包含日期时间 # 这是一个死循环,每隔1秒执行一次写日志操作 while [ true ] do # 可...

    所用指令

    • echo:用于字符串的输出
    • >>:向文件中追加文本内容
    • $date:获取系统日期时间

    源代码

    • log.sh
    #!/bin/bash
    
    # 向`log.txt`文件中追加文本内容,包含日期时间
    # 这是一个死循环,每隔1秒执行一次写日志操作
    while [ true ]
    do
    	# 可拼接两个字符串,一并写入日志文件,`$`、`()`、`%`、`+`不可省略,中间的`空格`及`-`、`:`是普通字符,用来使格式更美观,可省略
    	# `>>`表示追加内容,若想直接覆盖内容,用`>`代替
    	echo $(date "+%Y-%m-%d %H:%M:%S") "hello, log" >> log.txt
    	# 等待1秒
    	sleep 1
    done
    

    执行脚本

    ./log.sh
    

    查看日志内容

    cat log.txt
    
    展开全文
  • linux 下 shell 脚本 使用adb 命令

    千次阅读 2019-06-19 09:17:22
    echo "start dump meminfo" i=0 while : do ... #adb shell dumpsys meminfo &gt;&gt; ./shell.log adb shell cat /proc/meminfo &gt;&gt; ./shell.log i=$(( $i + 1 )) time=$(date "+%Y-%m-%...
  • Shell脚本

    万次阅读 2020-10-04 20:29:52
    这里写目录标题Shell脚本1.Shell脚本简介2.Shell2.1 Shell 脚本的解释器2.2 脚本的编写规范2.3 执行脚本的三种方式2.4变量的声明2.5变量的引用2.6删除变量 只读变量2.7字符串使用2.8字符串长度及截取2.9脚本参数传递...
  • Linux中编写Shell脚本

    万次阅读 多人点赞 2018-10-08 11:22:35
    Shell Shell脚本的执行 Shell脚本编写规范 Shell 中的变量 变量的算术运算 双小括号 (()) 数值运算命令的用法 let 运算命令的用法 expr 命令的用法 br 命令的用法 $[]符号的运算示例 Shell脚本的条件测试 ...
  • shell中的比较符区别(>和-gt

    千次阅读 2018-08-28 16:29:30
    今天在学习编写shell脚本时遇到了一个问题,就是判断式不符合预期结果,经查询后了解到是对判断符用法出错。代码如下 process_name=$(sed -n $[a+2]p var.txt |awk '{print $1}') start_pwd=$(sed -n $[a+2]p var....
  • shell命令使用nc传文件

    千次阅读 2018-12-14 13:14:16
    即在目的主机启动监听 nc -l 监听端口[ 未使用端口] &gt; 要接收的文件名   如 我们要传一个jar包 或者 tar.gz 包 nc -l 16666 &gt; test-0.0.1-SNAPSHOT.jar nc -l 14444 &gt; test.tar.gz  ...
  • /<script/{ : START;.../script&gt;#&#; t DEL; : LOOP; N; s#</script&gt;#&#; t DEL; b LOOP; : DEL; s#<script.*</script&gt;##; s#<script#&#; t START; }
  • shell脚本基础

    万次阅读 多人点赞 2019-11-21 13:14:10
    shell简介:shell是一种脚本语言,可以使用逻辑判断、循环等语法,可以自定义函数,是系统命令的集合 文章目录shell脚本结构和执行方法shell脚本中date命令的用法 shell脚本结构和执行方法 1.shell脚本开头需要加#!/...
  • Shell脚本中eq,ne,le,ge,lt,gt意义

    千次阅读 2020-07-03 16:36:54
    if [ 1 -ne 1 ];then … fi -eq:等于 -ne:不等于 -le:小于等于 -ge:大于等于 -lt:小于 -gt:大于
  • $ awk '$2<75 {printf "%s\t%s\n", $0, "REORDER";} $2&gt;=75 {print $0;}' testfile ProductA 30 REORDER ProductB 76 ProductC 55 REORDER
  • Shell脚本如下: #/bin/bash #disk space for d in `df -P | grep /dev | awk '{print $5}' | sed 's/%//g'` do if [ $d -gt 20 ]; then msg="TIME:$(date +%F_%T)
  • shell定义字符串变量时字符串可以用单引号,也可以用双引号,也可以不用引号,如果无特殊情况话,三者效果一样 1.单引号和双引号的区别 str=yalong echo "The str is $str" &gt;&gt; The str ...
  • {row key,column(=<family&gt;+<label&gt;),version}
  • 几种在Shell脚本中使用sftp命令的方法 转: 几种在Shell脚本中使用sftp命令的方法 感觉lftp的mirror还是挺好用的.贴一个帮助文档 lftp :~&gt; help mirror Usage: mirror [OPTS] [remote [local]] Mirror specified ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,688,711
精华内容 675,484
关键字:

shell使用gt