您的位置:首页 > 运维架构 > Linux

Linux每日一命令学习系列总结

2017-12-29 16:29 232 查看

Linux每日一命令学习系列

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

具体的可以去,这里www.cnblogs.com/peida/tag/每日一linux命令/,有详细介绍,此处是一个快捷的使用总结,方便作为简单的入门手册查询

这篇文章是上篇图片版本的markdown版本,居然没有人看那个,果然是因为复制粘贴不了吗?看看这篇文章浏览量对比那个怎么样

正式开始

说明,文中的,三个减号(—)代表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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: