Skip to content

Latest commit

 

History

History
207 lines (202 loc) · 17.1 KB

linux-usual-cmd2.md

File metadata and controls

207 lines (202 loc) · 17.1 KB
title photos
Linux每日一命令学习系列总结

这里是罗列出最常用的命令组合,而不是一个个详细介绍每个参数的用法,适合当你面对linux的终端的时候,知道有哪些命令,可是不知道加啥组合参数有啥效果的时候使用。

首页先要说的是,今天是2017年的年末的最后一个工作日,马上就要元旦过新年了,大家这一年过得怎么样?

不过如何,虽然又大了一岁,改变了很多事情,还是要说新年元旦快乐。

回到正文,居然没有人看,图片版本的上篇文章,那么只好弄一篇markdown版本的帮助你们复制粘贴了,原文可以去这里看,www.cnblogs.com/peida/tag/每日一linux命令/

说明,文中的,三个减号(---)代表linux的管道符合(|),因为markdown的表格冲突,暂时这样写

正式开始

| 命令 |使用场景 | 组合参数用法 | | ---------- | | |
| ls |列出某一个目录下的子目录以及文件 | ls -lRF / | | |因为total的原因不够直观,那么可以代替上面这个 | find $PWD ---xargs ls -ldF | | |如果还是不够直观,这次加颜色参数 | find $PWD --- xargs ls -ldF --color | | |当前文件目录最新修改的文件排序最前 | ls -ltr | | |直观的看出目录于名称后加"/", 可执行档于名称后加"*" | ls -F | | ---------- | | |
| cd | 进入当前登录用户的目录 | cd | | | 进入刚才的目录 | cd - | | | 后退上一级目录 | cd .. | | ---------- | | |
|pwd |当前工作目录的完整路径(软连接,-P物理地址)| pwd| | ---------- | | |
|mkdir |创建目录 (递归创建目录-p)|mkdir -p hank/a/b/c| | ---------- | | |
|rm |强制删除当前目录以及里面的文件| rm -rf *| | ---------- | | |
|rmdir |删除空目录(删除前目录必须为空)递归删除包括自身 | rmdir -p(不实用)| | ---------- | | |
|mv |文件改名| mv test.log test.txt| | | 文件移动| mv test.log(文件) test(文件夹)| | | 目录移动| mv testa(文件夹) testb(文件夹)| | | 移动当前文件夹下的所有文件到上一级目录| mv * ../| | ---------- | | |
|cp |复制单个文件到目标目录| cp test.log(文件) test(文件夹)| | |复制整个目录 (testb不存在那么就没有testa)| cp -a testa(文件夹) testb(文件夹)|
| ---------- | | |
|touch |创建文件| touch a b c| | |修改文件时间戳| touch a| | ---------- | | |
|cat |查看文件| cat a b c| | | 生成文件 | cat >test.log<<EOF| | |合并文件 | cat a b c > d| | ---------- | | |
|nl |显示行号不管是否为空行 | nl -b a test.log| | |让行号左边开头补全零 | nl -b a -n rz test.log| | ---------- | | |
|more |向后翻页|空格|
| | 向前翻页|b键| | | 从第n页开始 | more +n 文件| | | 每页设定n条记录 | more -n 文件| | | 查找一个指定字符串| more +/字符串 文件| | ---------- | | |
|less |升级版的more,低级版的vi,不需要像more一样全部加载文件|| | |查看文件 | less 文件(其他按键操作看vi)|
| ---------- | | |
|head |显示文件的前5行 | head -n 5 log.test| | | 显示文件的除了最后5行的全部内容 | head -n -5 log.test | | ---------- | | |
|tail |显示行末的最后5行| tail -n 5 log.test| | |刷新查看最新的文件内容 | tail -f log.test(超实用)| | | 显示文件第5行开始的内容 | tail -n +5 log.test| | ---------- | | |
|which |查询Path变量路径下的,某个系统可执行(不是任意的文件)的文件的位置| | | ||which ls| | | |which which| | | |which cd| | ---------- | | |
|whereis |搜索程序名包括,二进制文件,man说明文件,源代码文件三类(不要搞错)|| | || whereis svn| | || whereis tomcat| | || whereis resin| | ---------- | | |
|locate |快速查询档案系统是否有指定的档案(这里我也不太懂什么叫档案)|| | | 查询pwd相关的文件 | locate pwd |
| | 查询etc目录下所有m开头的文件 | locate /etc/m | | ---------- | | |
|find |查询24小时内修改过的文件 | find -atime -1| | | 根据关键字查询文件(文件夹) | find -name "*han*"| | | 只查询文件不包括文件夹 | find -type f -name "*han*"| | | 查询当前目录下的所有子目录 | find . type d| | | 查询当前目录下大于1k的文件 | find . -type f -size +1000c| | | 列出更加详细的文件信息组合命令 | find . -type f -exec ls -l {} \;| | | 把查找到的文件移动到指定目录| find . -type f -name "*han*" -exec mv {} hello| | | 把查找到的文件复制到指定目录| find . -type f -name "*han*" -exec cp {} hello| | | 查找当前目录文件并显示属于哪类文件| find . -type f --- xargs file| | |查找当面目录文件中包括关键字 | find . -type f --- xargs grep "hank"| | |在a目录查询避开b目录查询 | find a -path "b" -prune -o -print| | |优先在当前目录查找然后去子目录| find / -name "file" -depth -print| | ---------- | | |
|chmod |给文件一组默认执行权限| chmod 751 test.log| | |给文件一组默认读权限| chmod 444 test.log| | |给文件一组读写执行权限| chmod 777 test.log| | ---------- | | |
|tar | 搞清楚打包和压缩两个概念,tar是打包用的,但是可以参数进行压缩|| | | 解开一个tar包还原里面的文件| tar xvf file.tar| | | 把文件和目录达成一个tar包| tar cvf file.tar 对应目录| | |解开tar包的压缩包版本 (gzip)| tar zxvf file.tar.gz| | |压缩打包后的tar包 (bzip) | tar zcvf file.tar.gz 对应目录| | |产一个gz的压缩包| tar -ztvf file.tar.gz| | ---------- | | |
|chgrp |群组去/etc/group里面看||
| | 根据某个文件改变其他所属的类别| chgrp --reference=a b| | ---------- | | |
|chown |更改指定目录及其子目录所有的拥有者和群组| chown -R hank:han test.log| | ---------- | | |
|gzip |压缩当前目录下的所有文件(文件夹忽略)| gzip *| | | 解压当前目录下的压缩文件| gzip -d *| | | 压缩一个tar包 | gzip -r test.tar| | | 递归压缩目录 | gzip -r test/| | ---------- | | |
|df |显示磁盘使用情况| df| | | 查看文件系统类型 | df -T| | |更方面人理解的列表(H表示1000而不是1024)| df -h| | ---------- | | |
|du |查看当前目录下各个目录占用空间| du| | |查看当前目录下文件+目录各自占用空间| du -a| | |用人能看懂的方式展示| du -h| | |只看一级的子目录各自占用的空间大小| du -h --max-depth=1| | ---------- | | |
|ln |软硬链接的区别,软的是一种快捷方式,硬的直接指向文件所在位置|| | || ln -s test.log test.soft.link | || ln test.log test.hard.link | ---------- | | |
|diff | 比较2个文件(文件夹),推荐方式| diff a b -y| | | 生成补丁 | diff a b > a.patch| | | 打补丁 | patch a a.patch| | ---------- | | |
|date | 日期 | date "+%D"| | | 时间 | date "+%T"| | ---------- | | |
|cal | 本月的日历 | cal| | |全年的阳历 | cal -y 2017|
| ---------- | | |
|grep |查找指定进错| ps -ef --- grep svn| | | 从a文件中读取规则去b文件中找| cat b --- grep -f a| | | 从文件中找关键字| grep 'han' test.log| | | 查找ssh同时排除grep| ps aux--- grep ssh --- grep -v 'grep'| | | 查找包含a或者b或者c的内容行| grep -E 'a---b---c' test.log| | ---------- | | |
|wc |统计行数,单词数,字节数,文件名| wc test.log| | |只统计行数 | wc -l test.log | | ---------- | | |
|ps | 显示所有进程信息(常见) | ps -ef | | | 查找特定进程(常用) | ps -ef ---grep svn | | | 列出当前用户登录的pid相关 | ps -l | | | 显示所有内存当中的程序(实用) | ps aux | | ---------- | | |
|kill | 彻底杀死进程(超常用) | kill -9 进程号| | ---------- | | |
|killall | 杀死进程通过名字(可能误杀) | killall -9 进程名称 |
| ---------- | | |
|top| 显示完整命令(默认cpu排序,实用)| top -c| | ---------- | | |
|free| 查看内存 | free -m| | ---------- | | |
|vmstat |查看内存使用的详细信息 | vmstat -s| | ---------- | | |
|iostat| 查看所有设备负载情况| iostat| | ---------- | | |
|watch | 每隔一秒高亮显示网络中链接数的变化 | watch -n 1 -d netstat -ant| | ---------- | | |
|at | 一次性的定时任务 | at 时刻| | | 打开定时任务 | /etc/init.d/atd start| | | 查看定时任务 | atq| | | 删除定时任务 | atrm 任务号| | ---------- | | |
|crontab |打开crond服务 | service crond start | | | 每日执行一命令 | crontab -e |
| | 最后一行添加如hello | * * * * * /bin/echo 'hello' > /root/han/cron| | ---------- | | |
|lsof | 通过进程号显示该进程打开的文件 | lsof -p 进程号| | | 列出哪些进程在使用这个文件 | lsof /bin/bash| | |列出tcp网络连接信息| lsof -i tcp| | |查询谁在使用某个端口 | lsof -i :8080| | |主要解决了,这个进程打开了哪些文件,这个文件是由那个进程打开的|| | ---------- | | |
|ifconfig | 显示网络设备信息 | ifconfig| | ---------- | | |
|route | 查看路由信息 | route -n| | ---------- | | |
|ping |向指定的ip发送指定次数| ping -c 10 127.0.0.1| | ---------- | | |
|traceroute | 向指定的域名发送请求探测出路径| traceroute www.sogo.com| | ---------- | | |
|netstat | 显示监听的套接口| netstat -l| | | 显示所有udp的连接| netstat -u | | | 显示所有tcp的连接 | netstat -t| | |统计机器中网络连接各个状态个数| netstat -a -- awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'| | | 找出程序运行的端口 | netstat -ap --- grep ssh| | | 显示pid和进程名字 | netstat -p| | | 显示ip地址而不是域名 | netstat -n| | | 通过端口找到进程 | netstat -ap--- grep '80'| | ---------- | | |
|ss | 显示tcp链接 | ss -t -a| | | 列出所有打开的网络连接端口| ss -l| | ---------- | | |
|scp |本地文件(文件夹)到远程 | scp -r local remoteIP:remote| | |远程到本地 | scp -r remoteIP:remote local|