zoukankan      html  css  js  c++  java
  • linux命令

    [root@tz script]# ping -c1 www.baidu.com &>/dev/null && echo "baidu is up" || echo "baidu is down!"
    baidu is up
    

    &>

    包含正确输出和错误输出

    &&

    前面命令执行成功会返回一个参数$?,值为0,执行不成功值为非0

    #!/usr/bin/bash
    ping -c1 "114.114.114.114" &> /dev/null && echo "114 is up" || echo "114 is down!"
    
    /usr/bin/python <<-EOF
    print "hello python!"
    EOF
    
    echo "hello bash!"
    

    其中-EOF加上-,后续代码遇到tab键缩进也可以正常执行。

    EOF结束符,可以替换为任何大写字母,如YANG

    image

    [root@mysql Script]# cat bash.sh
    cd /root
    ls
    
    [root@mysql Script]# bash bash.sh
    anaconda-ks.cfg.back  mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
    js80.TQh!	      VMwareTools-10.0.6-3595377.tar.gz
    [root@mysql Script]# . bash.sh
    anaconda-ks.cfg.back  mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
    js80.TQh!             VMwareTools-10.0.6-3595377.tar.gz
    [root@mysql ~]# cd -
    /home/Script
    [root@mysql Script]# source bash.sh
    anaconda-ks.cfg.back  mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
    js80.TQh!             VMwareTools-10.0.6-3595377.tar.gz
    [root@mysql ~]#
    

    .跟source都是在父Shell中执行,所以当前目录会变。

    其他都是在子Shell执行。

    Shell是在用户登录后执行的第一个程序

    [root@mysql ~]# rpm -qc bash
    /etc/skel/.bash_logout
    /etc/skel/.bash_profile
    /etc/skel/.bashrc
    

    rpm -qc 查看某命令的配置文件

    [root@mysql ~]# rpm -qc bash
    /etc/skel/.bash_logout
    /etc/skel/.bash_profile
    /etc/skel/.bashrc
    

    更改用户的shell

    [root@mysql ~]# usermod -s /bin/bash tz
    

    su - 跟su 的区别

    [tz@mysql root]$ su - tz
    Password:
    Last login: Mon Jun  1 18:20:53 CST 2020 on pts/1
    [tz@mysql ~]$ pwd
    /home/tz
    [tz@mysql ~]$ exit
    logout
    [root@mysql ~]# su tz
    [tz@mysql root]$ pwd
    /root

    su - 会重新跳到登录用户的家目录

    login shell 会执行4个配置文件

    nologin shell 只会执行2个配置文件

    退出都会执行~/.bash_logout跟~/.bash_history两个配置文件

    image

    自动补齐软件包

    [root@mysql ~]# rpm -qa | grep bash-com
    bash-completion-2.1-6.el7.noarch
    

    命令历史记录

    !11

    ↑↓

    !da  等于!date

    !$ 上一个命令最后一个参数

    [root@mysql ~]# ls /etc/netconfig /etc/hostname
    /etc/hostname  /etc/netconfig
    [root@mysql ~]# head !$
    head /etc/hostname
    mysql
    

    !! 上一个命令,在脚本中常用

    [root@mysql ~]# cat /etc/hostname
    mysql
    [root@mysql ~]# !!
    cat /etc/hostname
    mysql
    

    alias 查看当前shell的别名

    [root@mysql ~]# alias cp
    alias cp='cp -i'
    [root@mysql ~]# unalias cp
    

    或者在命令前加

    [root@mysql ~]# cp -rf /etc

    临时定义别名

    [root@mysql ~]# alias yang="sl"
    [root@mysql ~]# yang
    

    ~/.bashrc 定义别名是永久的

    ctrl + R 搜索历史命令

    ctrl + D 退出,相当于logout 或exit

    ctrl + A 将光标移动到最前

    ctrl + E 将光标移动到最后

    ctrl + K 剪切当前光标后的字符串

    ctrl + U 剪切当前光标前的字符串

    ctrl + Y 粘贴粘贴板里的内容

    ctrl + S 锁屏,在当前环境下,输入所有东西都生效,只是不显示

    ctrl + q 解锁

    & 将程序后台执行

    tty 查看当前终端

    [root@mysql ~]# tty
    /dev/pts/2
    
    今天的学习是为了以后的工作更加的轻松!
  • 相关阅读:
    IHttpHandler and HttpModule
    sql page reship
    prototype
    google search engine theory
    ghost
    sql split
    Missing you is a kind of my deeppain in my life
    file control
    a story of c#(reship)
    teacher and student(reship)
  • 原文地址:https://www.cnblogs.com/tz90/p/12995688.html
Copyright © 2011-2022 走看看