title | photos | |||
---|---|---|---|---|
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
|