Category - Linux

? linux ?    2019-01-11 16:22:44    1337    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    946    0    0

进制互换

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

.........

? expect ? ? ftp ?    2019-01-11 16:22:44    846    0    0

expect是一种脚本语言,它能够代替我们实现与终端的交互。

核心命令是spawn expect send set

? python ?    2019-01-11 16:22:44    690    0    0

 virtualenv 概述

virtualenv提供了一个独立的python开发环境,用于多个python项目不同环境的隔离。当我们多个项目并行时,并且项目彼此之间需要导入同一模块的不同版本时,virtualenv所提供的虚拟环境就非常有用。

这是一个开源的项目。

源码访问: https://github.com/pypa/virtualenv 

文档参考: https://virtualenv.pypa.io/en/latest

2019-01-11 16:22:44    715    0    0
chmod g+s
使文件或目录被使用时,进程属主u/属组g临时变为文件或目录的属主/属组
g+s
chmod g+s filename/directory
chmod g+s /var/svn/public/Doc_template
没使用g+s时,当别组的成员A在Doc_template下新建文件或目录时,新建的文件的属组会变成A的属组,当使用了g+s , A 在Doc_template 下新建时,A的属组临时变为与Doc_template的属组,此时由A 创建出来的文件,属组与父目录一致。
当我们要使任何人在此目录新建的所有目标都继承此文件夹的属组,使用chmod g+s
 
chmod g+u
chmod u+s filename/directory
还有一种情况,当脚本test.sh执行时,会用到写log 到test.log
test.log 是B用户的文件,权限是rw- --- --- ,只有B能读写。
test.sh 是B用户的文件是r-x r-x r-x 任何人能执行。
此时C用户执行了test.sh , 却因权限问题写不了日志。
用chmod u+s test.sh 来解决,当B调用test.sh时,C的这个调用进程的属主临时变成了B,使可以顺利读写log。
2019-01-11 16:22:44    820    1    0

Samba概述

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。


 

ubuntu 安装smb

apt-get install samba

...........

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

在linux 操作时一些频繁使用的长命令,经常使用别名代替,简化输入。

个人使用:在$HOME目录下 ,配置文件vi ~/.bash_profile

加入 alias <alias_name>='CMD' ,命令用单引号括起,多条命令用分号隔开。


alias ftpcasa='ftp ftp.xxx.com'​
alias cdsvn='cd /var/svn/svn_dir'

保存后使配置生效:

source  ~/.bash_profile

全局使用:需 root 权限 在/etc/profile中加入alias 条目,

source  /etc/profile 

配置生效后,执行cdsvn ,等效于执行

cd /var/svn/svn_dir

root@tclserver:~# cdsvn
root@tclserver:/var/svn/svn_dir# pwd
/var/svn/svn_dir

? ftp ?    2019-01-11 16:22:44    14862    1    0

....

此时我们需要批量上传,需要把 Interactive mode 关了

ftp>prompt

//执行一次是off ,两次则是打开on

...... 

 

2019-01-11 16:22:44    963    0    0

tar 是linux 上的打包压缩工具,以下是一些常用功能的小结,包括打包,压缩,增删改tar包,选择性打包,选择性解包等等。

jk_scripts.gz  <  jk_scripts.tar.gz  <  jk_scripts.tar

直接打包并压缩成-zcvf最小,分开打包再压缩居中,只是tar包无压缩最大


 

那么

为什么还经常看到xx.tar.gz呢。

因为tar比gz 更好维护,.tar能增删改,而已压缩的.gz 是无法更新的。

tar -uvf jk_scripts.gz jk_scripts/sent_to_FTP.sh
tar: Cannot update compressed archives
tar: Error is not recoverable: exiting now


tar -uvf jk_scripts.tar jk_scripts/sent_to_FTP.sh
jk_scripts/sent_to_FTP.sh

.......

 

2019-01-11 16:22:44    702    0    0

新旧匹配 -newer filename ,查找比finename 这个文件更新的文件

find -type f -name "*log" -newer 201809150510.log

可以利用这个命令以更精细的时间戳进行查找

touch -t 201810100400.00 timetamp.txt

find -type f -name "*log" -newer  timetamp.txt

............

6/7