ubuntu下有用的命令摘记

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为待搜索的信息

【待续】

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值