导航

Linux shell相关

Posted on 2016-05-25 21:42  talenth  阅读(251)  评论(0编辑  收藏  举报

1 一些常见的问题及解决方法

<1> ssh登录不显示用户名跟路径

  可能原因: ssh登录的用户没有配置shell

  对应解决方案:在/etc/passwd文件对应用户那一行末尾添加/bin/bash,保存退出, 重新用该用户登录即可

<2> rz上传文件失败

  可能原因: 不带参数的rz命令上传大文件时,常常上传一半就断掉了,很可能是rz以为上传的流中包含某些特殊控制字符,造成rz提前退出

  对应的解决方案: 用rz -be,并且去掉弹出的对话框中“Upload files as ASCII”前的勾选

  相关参数说明:

    -a, –ascii
    -b, –binary 用binary的方式上传下载,不解释字符为ascii
    -e, –escape 强制escape 所有控制字符,比如Ctrl+x,DEL等

<3> 配置无线网卡上网

  系统: ubuntu 16.04 x86_64

  前提: 系统已经识别无线无线网卡,并且正确安装了驱动程序, 只是由于没有正确配置导致不能上网

  步骤:

    (1) 查看无线网卡的名字

      lshw -C network

      从输出的信息中找到无线网卡, 这个找不到的话, 就不用往下看了, "logical name"那一行就是该网卡的名字, 一般是wlan0, 我的是"wls1"

    (2) 配置ip,gateway,wifi信息,以下以配置静态ip为例

      打开 /etc/network/interfaces

      在里面添加如下信息

        auto wls1

        iface wls1 inet static

        address 192.168.1.44

        gateway 192.168.1.1

        netmask 255.255.255.0

        dns-nameservers 114.114.114.114 8.8.8.8 (这个在重启网卡服务后会自动写入/etc/resolv.conf文件中, 印象中应该是最多写两个)

        wpa-ssid xxx (要连接的无线ssid, 我这里连接的是wpa2-psk 无线网络,其他的根据实际情况修改)

        wpa-psk xxx(连接密码, 这个是密码的明文)

    (3) 重启network 服务或者重启电脑 (看网上其他人说无线网卡开机不会自己启动, 但是我实际测试发现我这台机器的无线网卡是开机自启动的)

      /etc/init.d/networking restart

    经过上述步骤, 不出意外的话, 就通过无线上网了

 

<3> 因为显示语言编码导致的问题

 

  引用: http://www.360doc.com/content/14/0428/16/17044736_372964025.shtml(不输入帐号直接复制的方法就是禁止在该页面执行js脚本)

  系统: ubuntu

  一些因为显示语言设置错误导致的显示乱码, 本地化的命令执行不成功等等的解决方法

  (1) 查看当前locale设置

    $ su - root
    # locale
    locale: Cannot set LC_CTYPE to default locale: No such file or directory
    locale: Cannot set LC_MESSAGES to default locale: No such file or directory
    locale: Cannot set LC_ALL to default locale: No such file or directory
    LANG=zh_CN.UTF-8
    LANGUAGE=zh_CN:zh
    LC_CTYPE="zh_CN.UTF-8"
    LC_NUMERIC=zh_CN
    LC_TIME=zh_CN
    LC_COLLATE="zh_CN.UTF-8"
    LC_MONETARY=zh_CN
    LC_MESSAGES="zh_CN.UTF-8"
    LC_PAPER=zh_CN
    LC_NAME=zh_CN
    LC_ADDRESS=zh_CN
    LC_TELEPHONE=zh_CN
    LC_MEASUREMENT=zh_CN
    LC_IDENTIFICATION=zh_CN
    LC_ALL=
  (2) 查看系统已安装的locale
    # locale -a
    locale: Cannot set LC_CTYPE to default locale: No such file or directory
    locale: Cannot set LC_MESSAGES to default locale: No such file or directory
    locale: Cannot set LC_COLLATE to default locale: No such file or directory
    C
    C.UTF-8
    POSIX
    en_US.utf8
    zh_CN
    zh_CN.gb2312
  (3) 解决方法:
    设置LC_ALL的值为zh_CN.UTF-8 
      # vi /etc/default/locale
    执行
      # cd /usr/share/locales
      # ./install-language-pack zh_CN
    为了避免中文出现乱码问题
    将/etc/default/locale文件中的zh_CN 改成zh_CN.utf-8(这个值根据locale -a 命令返回的内容填写, 不确定是否区分大小写), 然后重新登录即可    
      LANG="zh_CN.UTF-8"
      LANGUAGE="zh_CN:zh"
      LC_NUMERIC="zh_CN.UTF-8"
      LC_TIME="zh_CN.UTF-8"
      LC_MONETARY="zh_CN.UTF-8"
      LC_PAPER="zh_CN.UTF-8"
      LC_NAME="zh_CN.UTF-8"
      LC_ADDRESS="zh_CN.UTF-8"
      LC_TELEPHONE="zh_CN.UTF-8"
      LC_MEASUREMENT="zh_CN.UTF-8"
      LC_IDENTIFICATION="zh_CN.UTF-8"

2 一些常用但网上不太好找的shell命令

<1> 批量解压缩

  ls 2015*.tar.bz2 | xargs -n1 tar jxvf

<2> 后台运行管道命令

  nohup bash -c "cat aaa.txt | xargs -n1 host" &

<3>将大文件分割成小文件

  模式一:指定分割后文件行数

    split -d -l 300 large_file.txt new_file_prefix

  模式二:指定分割后文件大小

    split -d -b 10m server.log waynelog

 

<4>查看cpu相关的信息

  from: http://www.cnblogs.com/emanlee/p/3587571.html

  # 总核数 = 物理CPU个数 X 每颗物理CPU的核数 
  # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数

  # 查看物理CPU个数
  cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

  # 查看每个物理CPU中core的个数(即核数)
  cat /proc/cpuinfo| grep "cpu cores"| uniq

  # 查看逻辑CPU的个数
  cat /proc/cpuinfo| grep "processor"| wc -l

   #查看CPU信息(型号)
   cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c