Linux这些常用命令你都会吗(命令总结,自己复习用)

cd、Is、 pwd、clear、chmod、chown、chattr、useradd、userdel、groupadd、vi、vim、cat、more、less、mv、cp、rm、rmdir、touchifconfig、ip addr、ping、route、echo、wC、expr、bc、In、head、tail、whohostname、top、df、du、netstat、ss、kill、alias、man.tar、zip、unzip、jar、fdisk、free、uptime、lsof、Ismod、lsattr、dd、date、crontab、ps、find、awk、sedgrep、sort、uniq (centos7)

最近我是开始看吴光科的Linux企业运维实战这本书,打算从头系统的复习一下Linux的知识,在开头时,作者在“菜鸟学好Linux大杀招”一节介绍说到上面这些Linux必备命令都要熟悉,每个自己要练习30遍以上(应该说的是对小白)。

虽然之前有一定的基础了,但是其中有很多命令突然看到想不起来,或者很不熟悉只是眼熟,所以决定在这篇文章里总结一下我觉得稍微不太常用或我经常忘了的命令,也方便以后复习。

像类似cd,ls,pwd个人觉得很基础的就不再赘述了。
你可以扫一遍上面的命令,看看有哪些不熟悉的,然后做对应的学习。

有心的读者可以跟着在虚拟机上敲一敲

我这里暂时要总结的是主要以下命令(以后可能会继续扩展)

**ps netstat lsof w/who chattr wc expr bc hostname df du ss fdisk uptime lsmod dd date crontab awk sed sort uniq **

还是要说一下:博主这里只是总结了相关命令个人认为比较常用的用法及参数,没有把其所有参数列出来,我觉得也没有什么意义,那些不常用的需要的时候再查就行了

1.ps:
功能:查看进程的情况
常用参数含义:-a(前台进程) -x(后台进程) -u(该进程是由哪个用户产生的) -A/-e(显示所有进程) -f(更完整的输出) -l(更更详细的输出)

常用方法: ps -aux ps -ef (后面跟管道符与grep来进行筛选)
例:ps -ef|grep httpd
top命令可查看系统健康状态信息

查看到的结果详解看以下链接
https://blog.csdn.net/sinat_24928447/article/details/49869199?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

2.netstat:
查看网络相关信息(套接字,路由表等)
常用参数含义:-t(tcp协议) -u(udp协议) -l(仅显示监听选项) -n(显示ip地址与端口号即套接字 而不是域名) -p(显示pid) -r(路由信息) -a(显示所有选项)

例:netstat -tlun | grep 80 查看80端口有没有再被监听 有说明 http服务正在运行
注意,后面跟的是端口号,不是服务名(httpd等)

3.lsof:
lsof 列出进程调用或打开的文件的信息
-c +进程名
-p +pid号

4.w/who:
功能:查看当前登录用户信息
还有一个last命令lastlog命令都是查看用户登录历史信息
w查看当前登录的用户信息后 可以使用 pkill命令 按照tty终端号踢出指定用户 例:pkill -t -9(强制) tty1

5.chattr:
这个命令可以用来“锁住某文件或目录”
主要有-i和-a两个参数。我在下面文章中有详细介绍,有兴趣的小伙伴可以看一下,很好理解的(●’◡’●)。
点我,我是超链接

6.wc:
功能:统计指定文件中的字节数、字数、行数并输出
-c:字节数 -l行数 -w字数
直接不加参数也行wc +文件名,如下图
需要注意 参数顺序不会改变输出顺序
在这里插入图片描述
统计当前目录下的文件数量:
在这里插入图片描述

7.expr:
这个命令是shell编程中用的比较多,包含四则运算和字符串的操作。
博主再过些天看到shell编程的时候再回来总结…暂时先跳过

8.bc:
同上expr命令,shell编程用的较多,后面来填坑
大概就是用于进制转换和计算用,如下图可以简单认识一下先
在这里插入图片描述

9. hostname:
直接输入 hostname 显示自己主机名
-f/-d 都能查看全限定域名
或者使用hostnamectl命令也可以
在这里插入图片描述
顺便说一下修改主机名的方法
1)临时更改:hostname +新主机名
2)永久更改:hostnamectl set-hostname +新主机名
然后输入bash使新主机名立刻生效
这其实本质是修改了/etc/hostname文件,这个文件保存的是主机名

10.df:
功能:磁盘分区查询

常用的就是 df -h
-h的含义是以方便我们读取的形式显示(KB/MB/GB) 对比如下图
在这里插入图片描述
还有一个 -a 参数显示所有文件系统使用情况(包括虚拟文件系统)

11.du:
功能:查看当前目录下所有内容(文件和目录)的使用量

我们知道,查看文件大小直接可以用 ll -h,但如果我们用这个命令查看目录,会发现只有几KB,只是因为ls只会显示目录本身大小,而不会统计目录及它里面所有文件的大小。所以我们需要du命令。

常用的是 du -sh
-h 同样是人性化显示(KB/MB/GB)
-s是只显示当前目录下内容的总大小,不加的话会递归分别显示这个目录子目录,子文件的大小

12.ss:
Socket Statistics的缩写
功能:ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效

其参数与netstat也相似 常用的就是 -t(tcp) -u(udp) -l(listen) -n(显示ip+端口号) -a(all)
常用:ss -tlun
这个命令可以和前面netstat一起记,当服务器连接socket量很大时,这个命令比netstat更高效

13.fdisk:
常用:fdisk -l 查看系统中有多少可以被识别的硬盘,U盘等设备

但更多的是用它就行硬盘分区,需要的话可以看博主下面这篇文章,带图的很详细哦(●’◡’●)
https://blog.csdn.net/keith6785753/article/details/107324335

14.uptime:
望名生义,uptime 命令告诉你系统启动up了(运行了)多长时间。
这个命令其实相当于top命令的第一行;w命令也有。

uptime会在一行中显示下列信息:
当前时间、系统运行了多久时间、当前登录的用户有多少,以及前 1、5 和 15 分钟系统的平均负载。
如图: 在这里插入图片描述
其他参数:-p 更具体显示当前主机运行了多长时间;-s显示开始运行的时间;-V显示开始运行的版本
在这里插入图片描述

15.lsmod:
(list modules)
用来显示文件、proc/modules的信息,也就是显示当前内核模块装载的模块。

关于 /proc这个特殊的目录,读者有兴趣可以看博主另外一篇“常见目录总结”的文章

16.dd:
把指定的输入文件拷贝到指定的输出文件中,并且在拷贝的过程中可以进行格式转换。
基本用法:
例: 将本地的/dev/hdb整盘备份到/dev/hdddd

  #if=/dev/hdb of=/dev/hdd

if=源文件;of=目的文件
这个命令可以创建一个指定大小的文件:
例:创建一个100M的空文件

dd if=/dev/zero of=hello.txt bs=100M count=1

bs = bytes 同时设置读/写缓冲区的字节数;
count = blocks 指拷贝输入的blocks块。

/dev/zero解释如下
在这里插入图片描述

17.date:
直接输入date查看当前时间
使用date命令更改时间的方法:
date -s “2020-07-11 16:36:00”(双引号里是新的时间,-符号可不加)

另外一些常见用法(按照指定格式输出时间):
在这里插入图片描述

18.crontab:
功能:设置一些系统定时任务
注意,使用的时候要确保crond服务是开启的。service crond restart

常用参数:crontab
-e:编辑crontab定时任务
-l:查询crontab任务
-r:删除之前用户所有crontab任务

19. awk:
awk与下面sed可以看博主下面的文章,带图总结了Linux中处理文本命令(awk,sed,grep,cut)的常用用法

https://blog.csdn.net/keith6785753/article/details/107458806

20.sed

21.sort:
可以看作一个处理文本的工具命令。

常用用法:

  • sort 文件名 :以行为单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出

  • sort -r 文件名 :与上面相同,但是是降序

  • sort -u 文件名 :去掉重复行

  • sort -r 文件名 -o 新文件名 :-o是重定向的作用,把源文件降序的结果放到新文件中

  • sort -n 文件名:排序数字

22.uniq:
也是一个去掉重复行的命令
与上面的sort -u功能类似

如果有需要看下面这个博主总结的吧,挺详细清楚的
https://blog.csdn.net/BigData_Mining/article/details/80875339

其他:

1.mail命令:
mail -s “主题” 邮件地址 < 要发送的文件
例:mail -s “hello world” **********@qq.com </etc/hosts
自己写正文时“ ctrl+D”保存发送
/var/spool/mail是保存用户邮件信息的文件夹,新建用户会自动在这个目录中建一个该用户的邮件文件,记录其收到的邮件

2.把进程放入后台的方法:1)执行的命令后+& 2)ctrl + Z 暂停一个进程到后台
后续操作:
jobs -l 查看后台进程
fg -工作号 恢复到前台
bg -工作号 恢复到后台(top,vim等交互命令不能恢复到后台)

3.free命令
功能:查看内存使用状况
-m 按兆为单位显示

4.file命令
功能:查看文件类型
file /bin/ls(任意外部命令都可) 判断当前系统位数 32位还是64位
在这里插入图片描述
5.查看cpu信息
cat /proc/cpuinfo
(proc目录保存着系统和进程的信息,uname,free,top等命令本质都是查看的这个目录中的文件内容,想具体学习proc目录原理可查看博主另一篇介绍常见目录作用的文章)

6.cat命令:
这个命令大家应该很熟悉,直接 cat +文件名 显示文件内容
我这里写两个cat其他两个常见的用法:
1)cat >>文件名<<结束符号 给文件追加任意行内容,直到输入结束符回车结束(下图中结束符是“0”)。
在这里插入图片描述
2)cat 文件名| more
more换成less也可以,当你想分页显示一个比较大的文件时,可以这样使用

顺便说一下 echo命令也可以追加内容,不过需要注意:
echo 内容 > 文件是覆盖文件,
echo 内容 >> 文件 才是追加
echo 内容 是直接回显内容

而且echo命令有一个比较有意思的玩法,打印带颜色字符,有兴趣可以自己查一查具体参数:
在这里插入图片描述
7.stat命令
功能:查看文件的inode信息
使用方法直接stat +文件名,信息如下
在这里插入图片描述
这也是因为最近复习到了inode,简单说一下,系统存储文件数据是分为两部分的:

  • 一部分是文件的数据部分,即文件内容,存放在硬盘的block中
  • 另一部分是文件的权限和属性信息,存放在inode中,所以每个文件都要对应唯一的inode号
    每个inode和block都有对应的编号,这个编号也记录在inode中,所有知道了文件的inode,就可以找到文件的block,从而得到文件内容。

上面图中还有三个时间 分别对应atime;mtime;ctime,一开始mtime和ctime总是分不清,其实mtime对应的是文件内容,数据被修改的时间,而ctime是文件的状态,权限,属性被修改的时间

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值