grep text file 在文件中搜索文件 -i 忽略大小写 -n 显示所在行号 -v颠倒(所有不包含的) -r递归(此时file为目录名) grep -i text filename rgrep 等效 grep -r grep -E text file 使用正则表达式搜索 -E egrep 等效 grep -E sort 为文件的行进行排序 sort filename 只是显示排序后的内容,文件内容行没有改变 sort -o sortfilename filename 将排序后的内容另存为sortfilename sort -r 倒序排列 sort -R 随机排列 sort -n 按数字从小到大排列 wc 文件统计 wc filename 行数/单词数/字节 wc -l filename 只统计行数 wc -e filename 只统计单词数 wc -c filename 只统计字节数 uniq 删除文件中重复的内容,只能删除连续的行 uniq filename 只显示删除后的内容,文件内容没有改变 uniq filename unfilename 把删除后的内容另存到unfilename文件中 uniq -c filename 统计行数 uniq -d filename 只显示重复的内容 cut 剪切文件的一部分内容 cut -c filename 根据字符数剪切 原文件不改变 cut -c 2-4 filename 每行只保留第二到第四个字符 cut -d , -f 1 filename -d分割符(以","分割) -f区域(第一个区域) cut -d , -f 1 notes.csv 在notes.csv中以","为分割符,剪切出第一区域的内容 tngh,74/100,不错 annier,87/100,还行 #notes.csv中的内容 cut -d , -f 1,3 fliename 剪切出以","分割的 第一和第三区域的内容 cut -d , -f 2- filename 剪切出以","分割的 从第二区域开始至到最后的内容 >和>>:重定向到文件 >创建新文件,如果文件存在就重写(覆盖)文件。 >>把内容添加到文件的结尾,不重写 cut -d , -f 2- filename > refilename 将剪切出的结果重定向到refilename文件中 /dev/null 黑洞文件 2> 标准错误输出 2>>标准错误重定向到文件结尾 2>&1 标准错误与标准输出文件 输出到一个文件中 cat not_exist_file.txt > results.txt 2> errors.log #将not_exist_file文件重定向到results.txt文件中显示,如果出错重定向到errors.log文件中. cat not_exist_file.txt > results.txt 2>&1 #将标准输出与标准错误都输出到results.txt文件中 cat not_exist_file.txt >> results.txt 2>&1 #将标准输出与标准错误都追加到results.txt文件中 < ,<< :从文件或键盘读取 < 用于指定命令的输入 cat < filename 结果同效于 cat filename 但过程不同“<”是直接在终端打印出文件的内容,而cat是先在终端打开文件,再将文件的内容打印出来 << 从键盘读取 sort -n << END #将是键盘输入模式(回车为换行) 以end结束,将键盘输入的结果排序 sort -n << END > filename 2>&1 将键盘输入的内容排序结果重定向到filename文件中 | :管道 #一个命令的输出是另一个命令的输入 cut -d , -f 1 fliename | sort 先剪切出文件的内容(以","分割,文件的第一区域),再将剪切出的内容排序 du | sort -nr | head #du 遍历当前目录下的所有子目录 ,这句命令是将当前目录下的所有子目录以数据大小倒序排序,只输出前十个。 w #谁 在做什么 update #正常运动时间 who #当前哪些用户在登陆 ps #进程的静态列表 默认只输出当前用户当前终端的进程 ps -ef #所有用户 所有终端的进程 ps -efH #以乔木状列出所有的进程 ps -u who #某个(who)用户下所有的进程 ps -aux #通过CPU和内存使用来过滤进程 ps -aux --sort -pcpu #根据CPU使用率降序排列 ps -aux --sort -pmem #根据内存使用率降序排列 ps -aux --sort -pcpu,+pmem #CPU和内存参数合并一起使用 pstree #以树形结构显示进程 ps -axjf和pstree效果比较类似 top #进程的动态列表 默认使用处理器的比率来排序的 使用第三方软件 glances htop 在终端中停止进程Ctrl+C 终端中拷贝与粘贴是Ctrl+Shift+C ,Ctrl+Shift+V kill #结束一个进程 kill -9 #强制结束进程 killall #结束所有进程,后接程序名而不是进程号 halt #关闭系统 reboot # 重启系统 shutdown #定时关机或重启系统 poweroff #关机 & #在后台运行进程,此时运行在后台进程与终端是有关系的,若终端关闭,进程也是结束 sudo find / -name "*.log" & sudo find / -name "*.log" > filename & #重定向与后台运行结合使用 sudo find / -name "*.log" > filename 2>&1 & # nohup #使进程与终端分离 nohup cp filename file_copy_name #在后台运行复制文件 Ctrl+Z #转到后台,并暂停运行 bg #使进程转到后台 进程状态 R(正在运行或在运行队列中等待) S (中断,休眠中,受阻) D(不可中断) Z(僵死,进程已终止,但进程描述符依然存在) T(停止) jobs 显示后台进程状态 fg #使进程转到前台 date #时间 date "+%H:%M:%S" #定制时间格式 时:分:秒 at #延时执行一个程序,只能让程序执行一次.at命令需要安装 sudo yum install at at 22:12 #先输入要执行的时间,再输入要执行的程序或命令 sudo find...... 退出按Ctrl+D at 22:10 12/10/14 #在某年某月某日某时执行 at now +10 minutes #在十分钟之后执行 atq 和atrm #列出和删除正在等待执行的at命令 sleep #休息一会 touch file.txt; sleep 10m; rm file.txt # ";" 可以隔开多个要执行的命令,touch创建文件 1)";"前后的命令执行与";"没有关系,都会被执行 2)"&&"符号前的命令执行成功才会执行"&&"符号后的命令 3)"||"符号前的命令执行失败才会执行"||"符号后的命令 crontab #定时执行程序 at只能一次执行某个(某几个)命令,crontar可以重复执行 sudo yum install vixi-cron crontab #crontab 也需要安装 chkconfig crond on #设为开机自启动 service crond start #启动 Ubuntu系统中 sudo apt install cron #安装crontab service cron restart或者restart cron #重启crontab 需要修改 .bashrc文件 echo "export EDITOR=nano" >> ~/.bashrc #使用输出重定向,设置nano为默认文本编辑器.将export EDITOR=nano写入到.bashrc文件的结尾 source ~/.bashrc #立即生效 crontab用于修改crontab文件,cron用于实际执行定时的程序 crontab 参数 -l:显示crontab文件 -e:修改crontab文件,文件不存在就创建文件 -r:删除crontab文件 crontab文件格式: m h dom mon dow command #分 时 天(一月中的某天) 月 星期几 定时执行的命令 10 22 * * * touch filename #每天的22点10分创建文件 tar #归档 tar -cvf #创建一个tar归档 tar -cvf file.tar file/ #此时为将目录里所有的文件归档 tar -cvf file.tar file1,file2,file3 #将文件1,2,3归档,此时归档的是文件 tar -tf #显示归档里的内容,并不解开归档 tar -tf file.tar tar -rvf #追加文件到归档 tar -rvf file.tar file1.txt #将file.txt文件追加到file.tar归档里 tar -xvf #解开归档 tar -xvf file.tar gzip和bzip2 压缩归档 gzip file.tar #压缩后,后缀名为.gz bzip2 file.tar #压缩后,后缀名为.bz2 gunzip和bunzip2 解压 gunzip file.tar.gz tar -zcvf file.tar.gz flie #一步到位,tar归档并用gzip压缩 tar -zxvf file.tar.gz #解压 tar -jcvf file.tar.bz2 file #一步到位,tar归档并用bzip2压缩 tar -jxvf file.tar.bz2 #解压 zcat/bzcat,zmore/bzmore,zless/bzless,显示用gzip/bzip2压缩的文件内容 zip/unzip和rar/unrar 压缩/解压 zip和rar文件 命令有时可能需要安装才能运行 sudo yum install unzip unzip file.zip #解压.zip文件 unzip -l file.zip #不解压,只看其中的内容 zip -r file.zip file #压缩 递归的压缩子目录中所有的文件 rar a file.rar file #压缩 unrar e file.rar #解压 unrar l file.rar #不解压只看内容 编译安装软件 alien软件 #将deb(Debian,Ubuntu)安装包和rpm(Centos)安装包互相转换 首先需要安装alien sudo yum install alien alien -r file.deb #将.deb安装包转换成.rpm安装包 sudo rpm -i file.rpm #安装.rpm安装包 #注 yum安装时会安装依赖包 ,直接rpm安装不会安装依赖包 源代码编译安装 1)从网上下载程序源代码 wget http://www.XXXXXXXX #通常为.tar.gz的格式 2)解压压缩包 tar -zxvf xxx.tar.gz 3)进入解压目录中,运行configure文件 ./configure #用"./"直接运行 ,configure是可执行程序 4)运行make编译 sudo make sudo make install