linux相关

linux相关的笔记。

hopkins qsub相关

提交任务

普通
qsub -cwd -l mem_free=4G,h_vmem=6G batch.sh
多cpu
qsub -l cegs,mf=30G,h_vmem=32G -pe local 8

转到指定node

qrsh -l hostname=compute-0-14

显示queue name

qconf -sql

改变已提交job的queue

qalter -l gwas,mf=50G,h_vmem=10G -pe local 4 429435

版本查询

  • uname -a 可显示电脑以及操作系统的相关信息
  • cat /proc/version 说明正在运行的内核版本
  • cat /etc/issue 显示的是发行版本信息
  • lsb_release -a 适用于所有的linux,包括Redhat、SuSE、Debian等发行版

用户管理

查看group 信息

  • 查看当前登录用户的组内信息groups
  • 查看用户ztftp所在的组及组内成员group ztftp
  • /etc/group文件包含所有组

创建用户

1
2
adduser tommy
passwd tommy

给用户root权限

1
2
3
4
5
6
7
方法1:
修改/etc/sudoers 文件,使得%wheel ALL=(ALL) ALL
然后修改用户,使其属于root组(wheel):usermod -g root tommy
修改/etc/sudoers 文件,找到下面一行,在root下面添加一行
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
tommy ALL=(ALL) ALL

改变目录属主

chown

登陆bash_profile, bashrc文件

ls -la /etc/skel/一般创建用户目录时,会讲此路径下文件拷贝至home下

数据传输

wget下载

wget http://ftp.gnu.org/pub/gnu/wget/wget-1.10.2.tar.gz
-q 禁止消息提示,-i给定列表下载

###curl上传
curl -T $file ftp://ftp1.archive.example.com

两个主机之间同步文件夹

1
nohup rsync -av xinli@lore.ebalto.jhmi.edu:/amber3/feinbergLab/core/sequencing/hiseq/ /targ/Coredocs/data/sequencing/hiseq/demuxed/`

环境变量设置

显示某个环境变量

echo $HOME

设置一个新的环境变量

export MYNAME="my name is kevin"

修改已存在的环境变量

MYNAME="change name to jack"

使用env命令显示所有的环境变量

使用set命令显示所有本地定义的Shell变量

使用unset命令来清除环境变量

1
2
3
4
5
export TEMP_KEVIN="kevin"     #增加一个环境变量TEMP_KEVIN
env | grep TEMP_KEVIN #查看环境变量TEMP_KEVIN是否生效(存在即生效)
TEMP_KEVIN=kevin #证明环境变量TEMP_KEVIN已经存在
unset TEMP_KEVIN #删除环境变量TEMP_KEVIN
$ env | grep TEMP_KEVIN #查看环境变量TEMP_KEVIN是否被删除,没有输出显示,证明TEMP_KEVIN被清除了。

使用readonly命令设置只读变量

如果使用了readonly命令的话,变量就不可以被修改或清除了。

1
2
3
4
5
6
7
8
export TEMP_KEVIN ="kevin"    #增加一个环境变量TEMP_KEVIN
readonly TEMP_KEVIN #将环境变量TEMP_KEVIN设为只读
env | grep TEMP_KEVIN #查看环境变量TEMP_KEVIN是否生效
TEMP_KEVIN=kevin #证明环境变量TEMP_KEVIN已经存在
unset TEMP_KEVIN #会提示此变量只读不能被删除
-bash: unset: TEMP_KEVIN: cannot unset: readonly variable
TEMP_KEVIN ="tom" #修改变量值为tom会提示此变量只读不能被修改
-bash: TEMP_KEVIN: readonly variable

通过修改环境变量定义文件来修改环境变量

需要注意的是,一般情况下,仅修改普通用户环境变量配置文件,避免修改根用户的环境定义文件,因为那样可能会造成潜在的危险。
修改vi .bash_profile
修改后$source .bash_profile使其生效

环境变量的种类

按变量的生存周期来划分,Linux变量可分为两类:
1. 永久的:需要修改配置文件,变量永久生效
例如在/etc/profile文件中添加变量,对所有用户生效(永久的)。
在用户目录下的.bash_profile文件中增加变量,对单一用户生效(永久的)。
2. 临时的:使用export命令行声明即可,变量在关闭shell时失效。

linux下安装库文件

源码安装之(静态库版)

1
2
3
4
wget ftp://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.7.tar.gz
tar xvfz ncurses-5.7.tar.gz
./configure --prefix=/home/nemo/ncurses
make && make install

源码安装之(动态库版)

1
2
./configure --prefix=/home/nemo/ncurses  -–with-shared –-without-debug
make && make install

查询一安装的lib

ldconfig -p

关于一些报错信息的处理

error while loading shared libraries的解決方法

./tests: error while loading shared libraries: xxx.so.0:cannot open shared object file: No such file or directory

出现这类错误表示,系统不知道xxx.so放在哪个目录下,这时候就要在/etc/ld.so.conf中加入xxx.so所在的目录。
一般而言,有很多的so会存放在/usr/local/lib这个目录底下,去这个目录底下找,自己所需要的.so文件。
/etc/ld.so.conf中加入/usr/local/lib这一行,保存之后,再运行sbin/ldconfig –v更新一下配置即可。

测试