离线后台跑程序
nohup python -u example.py >outfile.txt&
将程序的输出保存在某个文件
python train.py example>outfile.txt
查看当前正在运行的程序
ps -u
查看用户liuying正在运行的程序
ps -u liuying
终止某个程序的运行
ps -u liuying (查看该程序的 PID)
kill 28260(PID)
在服务器上下载网页上的文件, wget
网页:
http://www.cnblogs.com/peida/archive/2013/03/18/2965369.html
用法:
wget -b --http-user='zhangdo@uestc.edu.cn' --http-password='1O|)8f+%Z8' -directory-prefix='/home/liuying/download' -- tries=100 http://megaface.cs.washington.edu/dataset/download/content/identities_0.tar.gz
不需要用户密码的:
wget -b
http://shannon.cs.illinois.edu/DenotationGraph/data/graph.tar.gz
其中,
- wget:下载文件的工具
- -b:后台下载
- –http-user:用户名
- –http-password:用户密码
- -directory-prefix:保存目录
- –tries:下载尝试次数
剪切文件
mv /home/liuying/after_ori_data.txt /home/liuying/dataset
查看内存
df -l /home/liuying
df -l -Bg /home/liuying
解压
tar zxvf file.tar
tar -xvf file.tar //这个常用
gunzip file.gz
tar zxvf file.tar.gz
unzip file.zip
删除
rm -rf 目录 //删除文件夹
rm -f 目录 //删除文件
查看文件夹下面的文件个数
ls -l |grep "^-"|wc -l
撤销
u 撤销, ctrl+r 反撤销(命令模式下)
将文件夹下面的所有文件名存在txt文件中
ls /home/liuying/image_dataset/flickr30k/flickr30k-images/ >
/home/liuying/workspace/image_caption/feature_extr/flickr30k.txt
这个是把路径都存下来了
find pwd/examples/images -type f -
exec echo {} \; > examples/_temp/temp.txt
vim 查找
命令模式下,按 / ,输入要查找的内容,回车. n:下一个,N:上一个
screen使用 后台运行
screen -S img_cap //新建一个img_cap的screen
ctrl + a + d //退出当前screen
screen -r img_cap //回到img_cap的作业
screen -d img_cap //远程detachimg_cap作业
screen -wipe //检查目前所有的screen作业,并删除无法使用的screen作业
如果screen -r img_cap,发现提示attached,则
先 screen -d img_cap,再screen -r img_cap
screen -ls 查看当前的screen作业
查看当前的screen进程,并关闭
查看
ps -ef|greap screen
关闭
kill -s 9 1234(PID)
从github上面获取文件
git clone 地址.git
从一台服务器复制文件到另一台服务器(-P 端口号)
scp -P 88 Flickr8k_Dataset.zip liuying@222.197.181.28:/home/liuying/
- -r 对文件夹进行复制
- -v 显示进度
安装在本地
pip install --user nltk
ps用法
ps -aux | grep liuying 查看跟liuying有关的进程的所有信息
输出重定向
python evaluate_coco.py >out.txt 覆盖原有内容
python evaluate_coco.py >>out.txt 在原来内容里面添加
直接在命令行下面执行python语言,分号隔开
python -c "from deepst.datasets import stat;
stat('BJ16_M32x32_T30_InOut.h5')"
配置
vim ~/.bashrc
source ~/.bashrc
复制粘贴文件到当前目录并重命名
cp check.py evaluation.py
遇到 setup.py 文件
python setup.py build
python setup.py install
查看当前路径
pwd
查看系统盘内存
sudo du -h --max-depth=1
df -h
查看文件开头结尾
head a.txt
tail a.txt
截取文件部分
awk '{if($1<1000)print}' a.txt > b.txt //将a.txt中第一列小于1000的所有行写入b.txt
vim 编辑器的使用
查看进程是否在跑
ps aux | grep 20900
查看当前文件夹下面文件个数
ls -1 (数字) | grep "^" | wc -l (英文)
修改服务器显示的名字(如new416)
vim !/.bashrc
第二个 PS1 后面,替换 \h
修改服务器主机名字
修改 /etc/hostname 和 /etc/hosts,保证修改的名字是一样
再重启服务器:reboot(需要权限)
ps 命令
ps -A (显示所有进程,包括终端的)
ps -a (显示不与 terminal 有关的所有进程)
ps -u (显示自己的进程)
查看文件类型 file
file filename (查看没有后缀的文件的基本类型)
查找,grep 命令
grep -i "train" train.py (在 train.py 中查找字符串 "train")
grep -r "train" (在该文件夹下面查找字符串 "train")
查找,find 命令
find -iname "train.py" (在该目录下面,查找所有 train.py 文件)
对文件进行排序, sort 命令
sort names.txt (对文件内容进行排序,升序)
sort -t names.txt (对文件内容进行排序,降序)
ls, 按修改时间升序列出文件
ls -ltr # 升序
ls -lt # 降序
查看指定用户的进程
top -u liuying (只查看 liuying 的进程)
查看磁盘使用情况
df -h
修改密码
passwd
查找,定位文件位置
locate train.py
查看文件开头末尾 head tail
tail log.txt (显示文件最后10行文本)
tail -n 20 log.txt (显示文件最后20行文本)
查看大文件时,可以用 less 进行查看
less lot_train.txt (在不加载整个文件的前提下显示文件内容)
切换用户,su
su xuying (切换到 xuying 的目录,需要输入密码)
查看当前登录该服务器的用户
who (将显示登录服务器的用户,以及 IP)
who am I (显示当前自己的信息)
比较两个文件的差别
diff file1 file2
查看文件夹下面的文件个数
ls -l |grep "^-"|wc -l
查看目录下面每个文件的行数
wc -l *
在当前目录下的所有文件中进行查找
grep "want to find" rn .
查看自己的进程
ps
ps -aux 查看所有进程
ctrl+z暂停,fg恢复
查找进程
ps -ef | grep "key word"
取出前面m行的数据作为新的文件
head -m input > output
取出后面m行的数据作为新的文件
tail -m input > output
取出中间的m到n行数据作为新的文件
head -n input > output $$ tail - (n-m) output > output1
批量修改一个文件中的变量
sed -i "s/geolife/sigapore/g" ./orgnize_data_y.py
sh copy.sh target_path 复制整个目录文件
1 | #!/bin/bash |
自动发送邮件
1 | #!/bin/bash |
awk 取一列数据
awk "{print $2}" total > time
sed -i 含有斜杠
sed -i "s/\\\N/0/g" a.txt (将\N变为0)
利用cut提取一列数据(可以是\t分割的数据)
cut -f 1,3 final_data.txt > final_passenget.txt #第一列和第三列
复制服务器上的数据到本地
scp -P 1024 liuying@121.48.158.72:/mnt/disk2/liuying/T-ITS/dataset/geolife/geolife_total ./
根据pid查看进程完整信息
ll /proc/30010
ll /proc/30010/cwd 查看运行的目录
两个文件 按行拼接
paste -d delimiter file1.txt file2.txt > out.txt
安装tensorflow
pip install tensorflow-gpu==1.2.0
递归创建多重目录文件
mkdir -p file1/file2
pdf 转 eps
pdf2ps -eps abc.pdf
awk交换文件两列
awk ' { t = $3; $3 = $4; $4 = t; print; } ' beijing_test> after_beijing_test
sqlite3创建数据
1 | 以singapore数据集为例: |
两个文件按行拼接
paste aa bb > cc
对文件排序
sort aa
sort -n 830.txt > 830_sort.txt 按数值
sort -k1,1n -k2,2n 830.txt > 830_sort.txt 第一列和第二列都按照数值
使用git
git init #将当前文件初始化git
git remote add origin git@github.com:liuyinglxl/JIANZHI_offer_python_implement.git #绑定github
查看nohup信息
history | grep nohup
kill 多进程
ps -ef | grep random_sample.py | grep -v grep | cut -c 9-15|xargs kill -9
解释:“ps - ef”是Red Hat 里查看所有进程的命令。这时检索出的进程将作为下一条命令“grep tt.py”的输入。
“grep tt.py”的输出结果是,所有含有关键字“tt.py”的进程
“grep -v grep”是在列出的进程中去除含有关键字“grep”的进程。
“cut -c 9-15”是截取输入行的第9个字符到第15个字符,而这正好是进程号PID。
“xargs kill -9”中的xargs命令是用来把前面命令的输出结果(PID)作为“kill -9”命令的参数,并执行该令。
“kill -9”会强行杀掉指定进程
查看当前文件夹下面的文件数量
ls -l | grep "^-" | wc -l
求均值
cat mlp_lstm_singapre_10step_pre_file_error | awk '{sum+=$1} END {print "Average = ", sum/NR}'
在vim下面将cat批量改为god
%s/cat/dog
在当前服务器切换到另一个服务器
1 | ssh dev01 |
Linux下面python创建虚拟环境
1 | # 建立虚拟环境 |
awk 获取满足条件的数据
1 | # 对 a.txt 中第二列小于100的行,输出其对应的第一二三四列,作为新的文件 b.txt |
虚拟环境配套安装
安装虚拟环境
virtualenv -p python2.7 ~/env
或者 virtualenv -p /usr/bin/python2.7 venv
安装 anconda
下载要安装的包,地址 https://www.anaconda.com/download/#linux
wget https://repo.anaconda.com/archive/Anaconda2-5.3.1-Linux-x86_64.sh
bash Anaconda2-5.3.1-Linux-x86_64.sh
如果ipython运行不成功,则需要自己在 ~/.bashrc 中加入路径:
export PATH=/home/liuying/anaconda2/bin:$PATH
激活配置文件 source ~/.bashrc
安装 tensorflow
pip install –upgrade tensorflow-gpu==1.4 (这个支持 CUDA8,如果安装1.5,则必须要CUDA9)
linux 终端中文txt乱码问题
1 | # 在linux终端下输入: |