Linux 常用命令

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),不过这个比较方便

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HaoRenkk123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值