cd /sata2/ 进入到sata2目录内
ll 显示所有当前目录下的文件信息
ls 显示当前目录下的所有文件夹和文件
sz filename 下载名字为filename的文件到windows本地
sz /sata2/anyu/vin_date_train/data/labelmap_card.prototxt
rz 将windows下的文件上传到linux服务器
通过win本地cmd命令从服务器下载文件或文件夹:
scp -r -P 10088 jiangming@192.168.34.129:/data/jiangming/train_sug D:/data/ 将129服务器端口号为10088,子用户为jiangming,目录为/data/jiangming/train_sug文件夹内的
所有文件下载到本地D:/data/目录内,-r是递归复制该目录下的所有目录和文件,-P表示后边要加上端口号(port)
如果要在后台执行scp传输文件命令,为了防止中断,按照下列步骤:
1:正常执行scp命令
scp -r -P 10088 jiangming@192.168.34.129:/data/jiangming/train_sug D:/data/
2:按ctrl+z暂停任务,输入ctrl+z后执行后,可以继续输入jobs命令查看任务状态是否为Stopped
3:bg将任务放入后台,输入命令:bg %1,即可将任务放入后台,此时再输入jobs,可以看到刚刚Stopped的任务状态变为了Running
4:输入:disown -h %1命令将这个任务忽略HUP信号,即可防止信号中断导致的传输文件中断
5:查看任务运行状态和父进程号:ps -ef|grep scp
zip -r newFilename.zip filedirname 将filedirname文件夹压缩为newFilename.zip,以方便下载到本地
rm * 删除当前目录下所有文件
rm filename 删除当前目录下的filename文件
rm -rf filedirname 删除文件夹
vi filename 进入编辑filename文件 之后按击键盘上的a键或者i键即可开始编辑
:/字符串 快速定位到文档中该字符串处
ESC键退出编辑调到命令模式然后进行保存退出或者不保存退出操作如下:
:q 在文件未作任何修改的情况下退出。
:q! 强制退出,不保存对文件所作的修改。
:wq 保存对文件所作的修改并退出。
:w 保存文件。
nvidia-smi 显示当前服务器中的GPU消耗情况
pwd 查看当前目录所在绝对路径
df -h df用来检查linux服务器的文件系统的磁盘空间占用的情况。-h是方便阅读显示
df /sata2/jiangming/data_jiang 可以查看 /sata2/jiangming/data_jiang所属的磁盘分区
mkdir filedirname 在当前目录下创建名为filedirname的文件夹
rmdir filedirname 删除当前目录下创建的名为filedirname的文件夹
mv /usr/lib/* /123 将/usr/lib/下所有的东西移动到/123/下
mv beforename.txt newname.txt 重命名文件
kill -9 32603 32603要结束的进程的PID号,可以通过nvidia-smi查看当前所用GPU进程的PID号
若kill 不掉时,用sudo kill PID 或者 sudo kill -9 PID ,然后需要输入password,密码输入时是不显示的,直接输就行,然后回车
nohup sh train_ssd.sh & 后台执行训练脚本,后台时,关闭xshell,不会影响服务器的训练,前台的训练的话关闭xshell会中断连接,会
中断训练
nohup sh train_ssd.sh >>nohup_tiche.out &后台执行训练脚本,打印日志到nohup_tiche.out文件,上边那句会默认输出日志到nohup.out
后台挂起后,重新打开xshell,连接服务器
nohup python -u generate_dataset_hunheshibie_5743.py > out.log & 后台执行python脚本,tail -f out.log可以查看动态实时日志,此处的python默认为python3
如果要用python2那么需要指定python2的路径如:nohup /usr/bin/python2 -u generate_dataset_hunheshibie_5743.py > out.log &
:~$ python #python命令进入python,然后输入以下python代码可以查看当前使用python的路径
#####
import sys
path = sys.executable
print(path)
#####可以查看当前使用python的路径
ux@ux:/sata2/jiangming/mobilenet_ssd_v1$ tail -f nohup.out 进入到mobienet_ssd_v1目录下,用命令tail -f nohup.out即可查看训练日志
cp复制命令
cp ./qrcode_error_info.lua ../../common 复制当前目录下的qrcode_error_info.lua文件到 上一次目录/上一次目录/common目录下
在终端下:
复制命令:Ctrl + Shift + C 组合键
粘贴命令:Ctrl + Shift + V 组合键
在控制台下:
复制命令:Ctrl + Insert 组合键 或 用鼠标选中即是复制
粘贴命令:Shift + Insert 组合键 或 单机鼠标滚轮即为粘贴
查看进程
ps-process status
ps用来查看进程,PS的参数非常多。
格式:ps [options]
ps -A 列出所用的进程
ps -aux 显示所有包含其他使用者的进程
ps -axi 列出所有的精灵进程
grep——Goobal Regular Expr ession Print,表示全局正则表达式版本。
格式: grep 查找内容 [options]
options负责限定查找的方式
一般都是grep和ps一块用,比如查找一个特定进程
ps -aux | grep test,查找进程名为test的进程
source ~/.bashrc
make clean 清除编译结果
sudo sh ***.sh
sudo python ***.py是利用超级用户允许后边的命令,一般默认为系统管理用户root
cat /usr/local/cuda/version.txt 查看cuda的版本号
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2 查看cudnn的版本号
cat /proc/cpuinfo | grep "cpu cores" | uniq 查看cpu核数
cat /proc/cpuinfo | grep "physical id" | uniq 查看cpu个数
cat /proc/meminfo | grep MemTotal 查看内存总大小(总数)
top -u jiangming 查看用户名为jiangming账户下的进程以及CPU利用率,用kill -9 PID可以删除进程
ps -ef | grep jiangming 查看用户jiangming下的线程以及该线程引起的路径,可以将用户名jiangming略写,例如ps -ef | grep jiangmi 或者ps -ef | grep jiang等等,可以查得更全面
htop 可以监控当前进程来源以及cpu和内存的消耗状态
kill -STOP [pid] 暂停某个进程
kill -CONT [pid] 恢复暂停的某个进程
curl ipinfo.io/ip 可以查看服务器的外网IP地址,以便于在局域网之外的外网连接该IP,用SCP传输数据等操作
du -h --max-depth=1 查看当前目录内各级子目录的磁盘占用情况
下载arxiv上的论文 wget --user-agent=Lynx https://arxiv.org/pdf/1608.00367v1.pdf
git新建分支并上传代码文件
1.git clone https://git.******.com/ji*****ocr/codejiangming
2.上边git clone得到的是主分支,ls命令后可以看到当前目录下载了codejiangming目录,cd codejiangming
3.进入codejiangming目录后,git branch或者git branch -a可以查看所有已存分支,带有*tree_name的,说明当前在这个分支内,现在应该是*master
4.新建分支,git checkout -b newtreename
4_1.新建分支除了用上一句之外,也可以用git branch tree_name 然后git checkout tree name,第一句是新建分支,第二句是切换到该分支
5.再执行git branch或者git branch -a会发现*出现在了新建分支上*newtreename,说明现在已经进入了新建分支内,但是此时ls命令会发现新建分支内有master分支的文件,这不用管,默认新建分支后,master文件会全部拷贝给新分支
6.执行rm -rf filename/filedir 将当前分支内拷贝的master分支文件都删掉
7.然后拷贝要上传的文件夹或者文件到当前目录内,cp -r ../../needuploadfiledir ./
8.此时ls命令,就能看到要上传的目录了
9.git add .
10.git commit -m '随便写'
11.git push,如果出现“fatal:The current branch printRegmodel has no upstream branch,To push the current branch and set the remote as upstream, use:git push --set-upstream origin printRegmodel”
12.git push origin newtreename -u
如果要修改仓库内某个文件
1.git clone -b 分支名 仓库url如:git clone -b 0926 https://gitlab.**.**.com/jm/**.git
2.上一句下载好0926分支的代码后,cd 下载的文件夹内
3.git branch 可以看到*0926,说明此时确实在0926分支内,而没有出现master等分支,是因为下载时是指定分支下载,没有下载所有分支,所以git branch看不到其他分支
4.进入要修改的文件夹内修改要修改的文件,在退回到根目录下
5.git add . 将该目录内的所有文件添加进仓库缓存
6.git commit -m '修改的地方备注信息'
7.git push即可,由于这里只有0926一个分支所以git push即可,但是如果起初下载的时候下载了整个仓库,然后用git checkout 0926进入的0926这个分支,修改文件后,git push这个命令会不起作用,因为此时的git branch会出现*0926 和master以及其他分支,git push默认推送master分支的内容,这时候需要用git push origin 0926 -u来推送
限制cpu利用率命令:export OMP_NUM_THREADS=2
查看某个目录挂载在linux系统的哪个盘区:df -h 目录名,如果查看home目录挂载的盘:df -h home
cat 1.txt 2.txt > 3.txt 将1.txt和2.txt合并为3.txt,2.txt中的内容在1.txt中内容的后边,相对内容的行顺序不变
cat 1.txt 终端显示1.txt中的内容,方便查看
shuf 1.txt -o 1_new.txt 打乱1.txt中的行序,重新写入1_new.txt,类似于python中的random.shuffle(lines),不过这个比较方便
Linux 常用命令
于 2018-10-21 23:13:05 首次发布