zoukankan      html  css  js  c++  java
  • 整理那些用于基本生存的shell命令

    变量定义相关的

    export

    export可以将临时定义的变量定义成环境变量 比如在一个shell中临时定义的一个变量就没法在新打开的那个shell中继续再使用 使用export之后 这个变量就变成了环境变量 就可以在子进程中(新开的shell貌似不是子进程)再进行使用了

    echo

    用于显示环境变量 echo $变量名 可以显示出具体的变量来

    unset 变量名

    这个用于取消刚才已经设置好的变量 unset之后 刚才已经定义好的变量就不在了

    文件处理相关

    scp

    这个在配置各种平台的时候 文件移动常常用到

    cp

    是在同一台linux上互相拷贝文件 而scp是在不同linux系统之间互相拷贝文件

    scp

    本地文件的路径 用户名@远程服务器的ip:远程服务器上的路径
    如果要通过特殊的端口登录 可采用以下方式:
    scp -p 4588 remote@www.abc.com:/usr/local/sin.sh /home/administrator

    -v 用来显示具体的进度
    -p 选择被占用的端口
    -r 拷贝目录?

    tar

    可以用来压缩或者解压缩 具体的命令比较多 可以参考鸟叔p254
    一般对tar.gz文件解压的时候 采用-xzvf参数 –x 表示使用解打包或解压缩的功能 –z表示通过gzip的方式进行解压 此时文件后缀最好是*.tar.gz –v表示在解压的过程中将处理的文件名显示出来 –f表示 filename后面接的是实际要进行处理的文件名
    tar 用于打包的时候要这样使用
    tar -czvf 打包之后所生成的文件名 需要打包的文件或目录
    具体命令含义可以参考鸟叔p254
    –z是打包成.tar.gz -j是打包成.tar.bz2

    cp

    复制文件或目录 cp [参数] 源文件 目标文件
    重要参数 –a(相当于-pdr组合在了一起) 复制过去之后文件属性的参数也是一样的 默认情况 属性是不一样的

    mv

    移动文件或者重命名

    rm

    删除文件或目录
    -f 强制删除 –r递归删除 –i产生交互的信息
    注意删除文件的时候一定要谨慎使用-rf的参数

    ssh

    这个是使用security shell远程登录其他的终端

    查看磁盘的使用情况 处理空间不足的问题

    df

    查询目录的挂在情况 以及使用到的文件系统 以及基本的可用空间

    du

    查询到了哪个挂载的目录比较大的话,进入对应的那个挂载的目录,之后使用 du -ah --max-depth=1 . 可以查询当前目录下每一个子目录的大小。

    进程相关

    ps

    查看当前进程 具体参数较多 常用的有
    ps –af查看全部的进程并且以全格式的方式显示出来

    service start/status/restart

    service –status-all 这个命令可以列出全部的可以用供求service来使用的脚本
    service命令可以使用的启动脚本或者服务 都要是在/etc/init.d文件夹下已经存在的?

    pgrep

    pgrep 是通过程序的名字来查询进程的工具,一般是用来判断程序是否正在运行
    -l 列出程序名和进程ID;
    -o 进程起始的ID;
    -n 进程终止的ID;

    od命令

    这个命令可以用来查看某个文件中的详细信息,主要是可以根据不同的进制将每个字节的信息显示出来,文件内容可以通过管道的方式传过来,也可以直接跟在后面用od打开。
    注意几个具体的参数,w是表示每列可显示的字符数,d 表示十进制 o 表示八进制(系统默认值)x 表示十六进制 n表示不打印位移值

    网络相关(使用vi那些的?)

    查看端口的占用情况

    lsof -i tcp:port

    lsof可以列出系统当前所打开的文件

    nc –zv hostip 80

    这个命令可以检查以hostip主机的80端口 看是否这个端口已经被打开
    比如 nc –zv localhost 80
    这个可以查看主机的80端口是否正常被打开

    重启网络服务(ubuntu)

    sudo /etc/init.d/networking restart
    service network-manager restart

    快捷键

    ctrl+D 用户注销 并且按两下会关闭terminal
    ctrl+alt 弹出新的terminal(in ubuntu)
    ctrl+shift+T 在同一个大的Terminal窗口中生成新的小的窗口 这样切换比较方便 看起来比较好
    shift+ctrl+v 将剪贴板中的内容粘贴到terminal中

    其它

    关于 点好 空格 文件名
    可以参考这个
    http://www.aliog.com/7903.html

    还是执行的意思,只不过不用改变文件的权限,root用户也可以这样操作。

    shell脚本中的一些技巧

    Here document
    http://blog.csdn.net/wangjunjun2008/article/details/24351045

    关于脚本中参数的传递问题

    脚本名称叫test.sh 入参三个: 1 2 3
    运行test.sh 1 2 3后
    $*为"1 2 3"(一起被引号包住)
    $@为"1" "2" "3"(分别被包住)
    $#为3(参数数量)

    输出格式比较好的json信息

    echo '{"foo": "lorem", "bar": "ipsum"}' | python -m json.tool

    找固定后缀的文件

    find -name .pyc .
    递归查找
    find -name '
    .pyc'

  • 相关阅读:
    js数组操作
    docker操作命令
    swoole使用案例
    swoole实现视频弹幕效果
    swoole的UDP服务
    swoole的TCP服务
    安装回环网卡&安装Linux前准备
    Linux之安装Linux详细步骤
    Spring Boot的面试题
    Shell 脚本面试问题大全
  • 原文地址:https://www.cnblogs.com/Goden/p/4490593.html
Copyright © 2011-2022 走看看