Category - Linux

2019-07-05 17:16:06    364    0    0

rel7.1 默认安装的python 没有连带安装python-pip,需要另装。

1.安装epel库

  1. #官方源中无python-pip
  2. yum search pip 发现无python-pip
  3. #搜索后发现需要安装第三方软件库
  4. yum -y install epel-release
  5. vi /etc/yum.repos.d/epel.repo
  6. [epel]
  7. baseurl //打开注释
  8. #metalink //注释
  9. yum clean all
  10. yum makecache

2.安装 pip

  1. yum install python-pip
? linux ?    2019-01-29 16:02:24    539    1    0
grep  查找匹配的行
持续更新 ......
 
? shell ?    2019-01-29 15:36:08    279    1    0
  1. sed -i "/key/c\modify key line " file
  2. #把file 中带有 key 的所有行替换为modify key line

eg.

  1. change_list=`cat temp3.txt `
  2. for i in ${change_list}
  3. do
  4. if [[ $exp ]]; then
  5. sed -i "/${i}/c\\${i} <-- change" temp2.txt
  6. fi
  7. done

在exit 0 前面插入一行:i

  1. sed -i '/^exit 0/i \/sbin\/start ttyS0' /etc/rc.local

在exit 0 后面插入一行:a

  1. sed -i '/^exit 0/a \/sbin\/start ttyS0' /etc/rc.local

处理同一个打印结果 中,取多行标题及关键字匹配行

  1. accurev show wspaces | head -n 5 ; accurev show wspaces | grep EPDG_R16

以上accurev show wspaces 执行了两次,在两次结果里各取结果 再拼接,效率较低

  1. sed -n '1,5p'
  2. sed -n '/xxxxx/p'
  3. sed -n '1,5p;/^EPDG_R16_xxxx/p'

使用sed 将两个条件用分号串成多个条件,对结果进行“或关系”匹配

  1. accurev show wspaces | sed -n '1,5p;/^EPDG_R16_xxxx/p'
  2. Stream #
  3. | Target X-Action
  4. | | X-Action
2019-01-29 14:49:09    1617    0    0
Shell if
.........
? shell ?    2019-01-25 15:42:49    767    0    0
paste 按列拼接将文件拼接
 
  1. paste text1.txt text2.txt
直接字符串拼接
 
  1. B="case_"${A}".test"
将文件中的一组字符全部加上一样的前缀和后缀
 
  1. cat temp.txt | while read line
  2. do
  3. echo MME_case${line}.test >>temp_MME.txt
  4. done
? shell ? ? linux ?    2019-01-25 15:30:51    694    0    0

规律用法记忆点tips
从左边开始匹配:#  ##
从右边开始匹配:%  %%
最大化匹配:叠号 ##  %%  (从左/右匹配,当匹配到多个关键符时,匹配到最后一个停下)
最小化匹配:单号 #   %   (从左/右匹配,当匹配到多个关键符时,匹配到第一个停下)
从左匹配,* 号放在匹配符左边: */  *.  *-
从右匹配,* 号放在匹配符右边: /*  .* 
var=/vob/lcf/test.txt
常用取文件名:剩下的是从左起最后一个/的右边部分 ${var##*/}
常用取后缀:剩下的是从左起最后一个.的右边部分 ${var##*.}
常用取路径:剩下的是从右起第一个.的左边部分 ${var%/*}

.......


? 分区 ?    2019-01-15 18:12:59    617    0    0

使用ssm
将以下 挂载点 的空间
/dev/mapper/centos-home 407G 33M 407G 1% /home
换到 root 下:
/dev/mapper/centos-root      50G 19G 32G 37%  /
......
......

? shell ?    2019-01-11 17:34:45    690    0    0

......... 

处理 行首空格 行尾空格 空行

去行首的空格

 sed 's/^[ \t]*//g'​

去掉空行

grep -v "^$" ​

.......

? linux ?    2019-01-11 16:22:44    1300    0    0

服务端开启NFS 服务, 配置共享目录 ,在客户端使用mount 命令将远程服务端的共享目录挂载到本机挂载点

服务端:
安装NFS,创建共享目录,修改exports配置,重启nfs服务
sudo apt install nfs-kernel-server
mkdir /vob
chmod 777 /vob
vi /etc/exports
/vob *(rw,no_root_squash,no_all_squash,no_subtree_check)
sudo service nfs-kernel-server restart
service nfs restart
service nfs status

客户端:
//将xx.xx.xx.xx:/version 挂载到本机/vob_jinsha(mount point)
//如果挂载点原本非空,则本机原来目录下的东西会被隐藏,进入到该目录会访问到共享目录的内容,umount可以恢复。
mount -t nfs -o rw xx.xx.xx.xx:/version /vob_jinsha

有时df -h 会一直卡住,出不来结果,这时可能是因为客户端挂载的一个共享目录在远程服务器上已经不存在,解决如下:
检查执行 :mount 查看共享目录列表是否有目录删除的情况
umount -l /var/www/html/qa-doc(mount point)
df -h 成功show

? shell ?    2019-01-11 16:22:44    935    0    0

进制互换

这里使用到:bc外部命令完成。bc命令格式转换为:
echo "obase=进制;值"|bc
echo "obase=2;31"|bc
echo "obase=16;31"|bc

.........

5/7