Linux/超算中PBS常用命令新手,纯纯搬运工【出处引用自:】
1. Linux常用命令
最常用:
ls(英文全拼:list files):列出目录及文件名
ls -l:列出目录及文件名 , 可查看更多
ls -al:可以看到隐藏文件
cd(英文全拼:change directory):切换目录
cd .. :返回上一级
【linuxtask命令的简单介绍】 cd 文件夹名:进入目录
pwd(英文全拼:print work directory):显示目前的目录
mkdir 文件夹名(英文全拼:make directory):创建一个新的目录
rmdir 文件夹名(英文全拼:remove directory):删除一个空的目录
cp xxx xxx(英文全拼:copy file): 复制文件或目录
mv xxx xxx(英文全拼:move file): 移动文件或目录,或修改文件或目录的名称
rm(英文全拼:remove): 删除文件
rm -r 文件夹名:递归删除某目录
clear:清空terminal的所有内容(或者使用Ctrl L)
tab按键:补充完整文件名或文件夹名
次常用:
vim/vi 某文件 (编辑文件)
nano 某文件 (编辑文件)
touch 文件 (新建空文件)
sudo -s (切换到root模式)
exit (退出root模式等)
sudo chmod -R 755 文件名/文件夹名 (获取文件/文件夹的755权限)
chown [用户] [文件或目录] (改变文件或目录的所有者)
chgrp [用户组] [文件或目录] (改变文件或目录的所属组)
make (编译成.exe)
解压/解包:
tar文件 (注:tar是打包,不是压缩?。?
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
.gz文件
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
.tar.gz 和 .tgz文件
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
安装和卸载deb软件包:
安装:sudo dpkg -i deb文件
查看:sudo dpkg -l
卸载:sudo dpkg -r 软件名
参考资料:
[1]Linux 教程
[2]Linux常用命令
[3]linux中tar命令的用法
[4]全网最全Linux命令总结
2. vim/vi里的操作
:q 退出
:wq 保存并退出
:w 保存
:q! 强行退出(不保存退出)
:w! 强行保存
i 进入编辑,转为输入模式(光标前面)
a 进入编辑,转为输入模式(光标后面)
o 进入编辑,转为输入模式(光标下方新建一行)
Esc 退出i(插入)命令
3. 超算中PBS常用命令
pbsnodes (查看所有节点)
pbsnodes -l free (查看空闲节点)
pbsnodes 某节点 (查看某节点状态)
.sh 某节点 (转到某节点)
exit (离开节点)
qsub 文件名.pbs/sh (提交任务)
qstat (列出状态)
qstat -q (列出队列)
qstat -n (列出队列中使用的节点)
qstat -f jobid (查看jobid任务的详细信息)
qdel jobid (取消任务)
4. 其他
(1)Linux开机自启
sh文件中包含:
#!/bin/bash#chkconfig: 2345 80 90#description:auto_run
sh文件移动到/etc/init.d后,分别输入命令:
chkconfig --add xxx.sh
chkconfig --list
chkconfig xxx.sh on
service xxx.sh start
参考资料: linux 开机启动 .sh 文件 - 自己的太阳 - 博客园
(2)Linux环境变量
方法1:临时使用环境变量:export PATH="/home/www/anaconda3/bin:$PATH"
方法2:修改.bashrc文件
参考资料: Linux PATH 作用以及查看和修改方法_haozhepeng的专栏
(3)两个sh文件
a.sh文件(用于提交任务,执行a.py文件)
#!/bin/sh#PBS -N task#PBS -l nodes=1:ppn=1#PBS -q scorecd $PBS_O_WORKDIRexport OMP_NUM_THREADS=1python a.py
a.sh文件(用于提交任务,执行a.exe文件)
#!/bin/sh#PBS -N task#PBS -l nodes=1:ppn=1#PBS -q scorecd $PBS_O_WORKDIRexport OMP_NUM_THREADS=1./a.exe
(4)一个makefile文件
makefile文件(用于编译Fortran文件)
INC := -I/public/software/compiler/intel/composer_xe_2015.2.164/mkl/include/intel64/lp64
LIB := -L/public/software/compiler/intel/composer_xe_2015.2.164/mkl/lib/intel64
mpi:= -I/public/software/mpi/mpich/3.1.4/intel/include /public/software/mpi/mpich/3.1.4/intel/lib -lmpich -limf -lsvml -lintlc
src:=Console1exec:=a
all: $(src).f90
ifort$(src).f90$(INC) $(LIB) -openmp -lmkl_intel_lp64 -Wl,--start-group -lmkl_intel_thread -lmkl_lapack95_lp64 -lmkl_core -lmkl_blas95_lp64-Wl,--end-group -liomp5 -lpthread -O2 -o $(exec).exe
mac 有没有linux下的taskset一 , 使用taskset充分利用多核cpu , 让cpu的使用率均衡到每个cpu上#taskset-p,设定一个已存在的pid , 而不是重新开启一个新任务-c,指定一个处理,可以指定多个 , 以逗号分隔,也可指定范围,如:2,4,5,6-8 。1,切换某个进程到指定的cpu上taskset-cp3132902,让某程序运行在指定的cpu上taskset-c1,2,4-7tarjcftest.tar.gztest需要注意的是,taskset-cp313290在设定一个已经存在的pid时,子进程并不会继承父进程的,因此像tarzcfxxx.tar.gzxxx这样的命令,最好在启动时指定cpu,如果在已经启动的情况下,则需要指定tar调用的gzip进程 。二,使用nice和renice设置程序执行的优先级格式:nice[-n数值]命令nice指令可以改变程序执行的优先权等级 。指令让使用者在执行程序时,指定一个优先等级 , 称之为nice值 。这个数值从最高优先级的-20到最低优先级的19 。负数值只有root才有权力使 。一般使用者,也可使用nice指令来做执行程序的优先级管理,但只能将nice值越调越高 。可以通过二种方式来给某个程序设定nice值:1,开始执行程序时给定一个nice值,用nice命令2,调整某个运行中程序的PID的nice值,用renice命令通常通过调高nice值来备份 , 为的是不占用非常多的系统资源 。例:nice-n10tarzcftest.tar.gztest由nice启动的程序,其子进程会继承父进程的nice值 。查看nice值#nice-n-6vimtest.txtps-lFSUIDPIDPPIDCPRINIADDRSZWCHANTTYTIMECMD4S01942726370750–16551waitpts/600:00:00bash4T02165419427071-6–23464finishpts/600:00:00vimrenice调整运行中程序的nice值格式:renice[nice值]PID三,使用ulimit限制cpu占用时间注意,ulimit限制的是当前shell进程以及其派生的子进程 。因此可以在脚本中调用ulimit来限制cpu使用时间 。例如,限制tar的cpu占用时间,单位秒 。#catlimit_cpu.shulimit-SHt100tartest.tar.gztest如果tar占用时间超过了100秒,tar将会退出,这可能会导致打包不完全,因此不推荐使用ulimit对cpu占用时间进行限制 。另外,通过修改系统的/etc/security/limits配置文件,可以针对用户进行限制 。四,使用程序自带的对cpu使用调整的功能某些程序自带了对cpu使用调整的功能,比如nginx服务器,通过其配置文件,可以为工作进程指定cpu,如下:worker_processes3;worker_cpu_affinity0001001001001000;这里0001001001001000是掩码,分别代表第1、2、3、4颗cpu核心 , 这就使得cpu的使用比较平均到每个核心上 。
在linux上更改已经运行的程序的优先级程序命令输入更改已经运行程序的优先级 。
#taskset:
-p,设定一个已存在的pid , 而不是重新开启一个新任务
-c,指定一个处理,可以指定多个 , 以逗号分隔,也可指定范围,如:2 , 4,5 , 6-8 。
切换某个进程到指定的cpu上:taskset-cp313290 。让某程序运行在指定的cpu上:taskset-c1,2,4-7tarjcftest 。tar 。gztest 。
需要注意的是 , taskset-cp313290在设定一个已经存在的pid时 , 子进程并不会继承父进程的,因此像tarzcfxxx tar 。gzxxx这样的命令,最好在启动时指定cpu,如果在已经启动的情况下 , 则需要指定tar调用的gzip进程 。
优点:
1、Linux由众多微内核组成,其源代码完全开源 。
2、Linux继承了Unix的特性,具有非常强大的网络功能,其支持所有的因特网协议,包括TCP/IPv4、TCP/IPv6和链路层拓扑程序等 , 且可以利用Unix的网络特性开发出新的协议栈 。
3、Linux系统工具链完整 , 简单操作就可以配置出合适的开发环境,可以简化开发过程,减少开发中仿真工具的障碍 , 使系统具有较强的移植性 。
linux下的命令都是干什么用的?前三个和最后一个是两个类型 。前三个主要是Linux用来创建新的进程(线程)而设计的,exec()系列函数则是用来用指定的程序替换当前进程的所有内容 。所以exec()系列函数经常在前三个函数使用之后调用,来创建一个全新的程序运行环境 。Linux用init进程启动其他进程的过程一般都是这样的 。
下面说fork、vfork和clone三个函数 。这三个函数分别调用了sys_fork、sys_vfork、sys_clone , 最终都调用了do_fork函数 , 差别在于参数的传递和一些基本的准备工作不同 。可见这三者最终达到的最本质的目的都是创建一个新的进程 。在这里需要明确一下,Linux内核中没有独立的“线程”结构,Linux的线程就是轻量级进程,换言之基本控制结构和Linux的进程是一样的(都是通过struct task_struct管理) 。
fork是最简单的调用,不需要任何参数 , 仅仅是在创建一个子进程并为其创建一个独立于父进程的空间 。fork使用COW(写时拷贝)机制,并且COW了父进程的栈空间 。
vfork是一个过时的应用,vfork也是创建一个子进程,但是子进程共享父进程的空间 。在vfork创建子进程之后,父进程阻塞,直到子进程执行了exec()或者exit() 。vfork最初是因为fork没有实现COW机制 , 而很多情况下fork之后会紧接着exec,而exec的执行相当于之前fork复制的空间全部变成了无用功,所以设计了vfork 。而现在fork使用了COW机制,唯一的代价仅仅是复制父进程页表的代价,所以vfork不应该出现在新的代码之中 。在Linux的manpage中队vfork有这样一段话:Itis rather unfortunate that Linux revived this specter from the past.The BSD man page states: "This system call will be eliminated when proper system sharing mechanisms are implemented.Users should not depend on the memory sharing semantics of vfork() as it will, in that case, be made synonymous to fork(2)."
clone是Linux为创建线程设计的(虽然也可以用clone创建进程) 。所以可以说clone是fork的升级版本,不仅可以创建进程或者线程,还可以指定创建新的命名空间(namespace)、有选择的继承父进程的内存、甚至可以将创建出来的进程变成父进程的兄弟进程等等 。clone和fork的调用方式也很不相同,clone调用需要传入一个函数,该函数在子进程中执行 。此外,clone和fork最大不同在于clone不再复制父进程的栈空间,而是自己创建一个新的 。
关于Linux命令的介绍,看看《linux就该这么学》,具体关于这一章地址3w(dot)linuxprobe/chapter-02(dot)html
linux定时任务怎么写linux下的定时访问可以使用corntab来实现
1、首先编辑corntab,添加如下命令
#每两个小时
0*/2***sometask.sh
上面的这段代码是每两个小时 执行sometask.sh , 这样我们可以在sometask.sh里
实现访问网络地址;
2、sometask.sh代码
#!/bin/sh
curl xxx.xxx.xx.xxx
经过以上两部就可以实现定时访问了 。
具体详细信息可以参看下面的连接 。
网页链接
关于linuxtask命令和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- weboracle通用查询,oracle数据库查询工具
- mysql多个库关联查询,mysql1对多关联查询
- 怎么把文本复制到电视盒子,电视怎么复制文字
- mysql全局锁怎么用 0p手机忘记密码怎样打开
- 打java代码,打java代码的软件
- 手机无预览器怎么下载软件,手机无预览器怎么下载软件安装
- 怎么申请做手机直播主播,怎么开通手机直播平台
- 求最大值函数python 求最大值函数是什么?求最小值函数是什么?
- 为什么视频会有雪花点,视频有雪花什么原因