apt-get的相关命令
apt-get update更新源列表
apt-get install xxx,从源中安装xxx软件
apt-get download xxx,从源中下载xxx包
apt-get source xxx,从源中下载xxx的源码包
apt-get remove xxx删除包
apt-file,搜索包依赖关系,安装方式apt install apt-file
建立链接
ln –s 源文件 目标文件
安裝gcc,g++,make等
sudo apt-get install build-essential
添加安装源
1. 您可以使用以下列表中的任何一个源镜像只要往您的 /etc/apt/sources.list 文件中像下面这样添加一行:deb
例如:http://cz.archive.ubuntu.com/ubuntu dapper main universe (安装libstdc++2.10-glibc2.2时该源有效)
2. 更新软件包列表。sudo apt-get update
创建、重命名、删除文件及文件夹
创建目录:mkdir 目录名
删除空目录:rmdir 空目录名
删除文件:rm 文件名 文件名
删除目录及其中所有内容:rm -rf 目录名
创建一个空文件:touch 文件名
重命名文件(夹) / 移动文件(夹)到指定文件夹:mv xxx yyy #yyy为存在的文件夹,则为移动,否则为重命名
批量重命名文件:
方案1:rename 源文件名字段 替换字段 文件名
rename .cnf.out .cnf *.cnf.out
方案2:
files=$(ls *.out)
for file in ${files}
do
filename=$(basename ${file} .out)
echo ${filename}.out => ${filename}
mv ${filename}.out ${filename}
done
为程序计时
time + 某个命令 输出该命令的运行时间
限定程序运行时间、内存等资源
timeout+时间+命令
时间单位可以是s、m、h
ulimit:【待续】
一次运行多个命令
可以用“;”、“&&”、“||”连接不同的命令
“;”:连续执行
“&&”:若前面的命令执行成功,才会去执行后面的命令
“||”:若前面的命令执行失败,才会去执行后面的命令
source:将命令写入文件file后调用source file,可改变当前文件目录等环境信息
获取进程信息的ps命令
获取单个PID进程的信息:ps -eo pid,etime,%mem | grep 20104
给某个进程定时发送Ctrl+C要用到的命令
第一步,通过如下命令获取进程信息:ps -ef |grep NAME或pidof NAME
第二步,通过如下命令进行定时的sleep脚步:
#!/bin/sh
current_epoch=$(date +%s)
target_epoch=$(date -d '12/15/2018 21:21' +%s)
sleep_seconds=$(( $target_epoch - $current_epoch ))
sleep $sleep_seconds
第三步,通过如下命令定时发送Ctrl + C:./sleep; kill -SIGINT ID
对文本文件进行处理
查找模式字符所在的行:grep 'time: .*s' ${file} #查找类似于“time: 10.5s”的行
sed:正则表达式参见sed的基础应用 - 每天1990 - 博客园
- 插入特定行:sed "15i contents" filename
- 删除\r换行符:sed -i 's/\r$//g' *.cpp
- 删除前缀后缀:sed -n "/time: .*s/p" ${file} | sed "s/s//" | sed "s/time: /${filename}: /" #前缀为time:,后缀为s
- 删除含某些关键词的行:sed -i '/key words/d' filename
- 将多个空格或TAB替换为一个:sed 's/[\t ]\+/ /g' a.txt或sed 's/\s\+/ /g' a.txt
合并数据文件:join a b #会将同行首的行合并
vim:
- 替换1::%s/.out[0-9,a-z]/\r/gc #%表示每一行,s表示替换,\r表示换行,g表示全局,c表示需要用户确认;
- 替换2::180,$s/^/Begin_/c #180,$表示从180行到末尾,^表示行首;
- 删除::%g/^[0-9]*$/d
对pdf文件进行处理
首先安装pdfcrop、ghostscript
裁剪:pdfcrop --margins "10 10 10 10" input.pdf output.pdf,其中,10为裁剪后留下的空白长度
合并:gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=foo.pdf -f foo1.pdf foo2.pdf
拆分:gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=foo.pdf -dFirstPage=2 -dLastPage=3 input.pdf
对终端历史命令进行处理
显示历史命令:history
删除部分历史命令:第一步:vim ~/.bash_history;第二步:手动删除;第三步:history -r
寻找历史命令:
- 命令后加注释#infor,终端Ctrl + R启动反向搜索,输入infor,infor可换成其他信息
- 使用history | grep infor组合搜索,infor为待搜索的信息
【待续】