开发中常用的linux命令

​我们程序员在实际开发中或多或少会用到一些linux命令,这些命令可能会用于项目部署或者运维阶段等。那么对于这些命令我们可能并不是都能牢记,所以为了自己使用方便,这里为大家对常见的linux命令,进行了系统的总结。有需要的朋友,强烈建议收藏下。

那么,对于常用的linux查找命令,我们对其进行了划分,大概划分如下:

(1) 常用系统工作命令

(2) 系统状态检测命令

(3) 工作目录切换命令

(4) 文本文件编辑命令

(5)文件目录管理命令

(6) 打包压缩和查找命令

按照上述划分,我们对这6块常用的具体命令,再次进行具体列举:

一、常用系统工作命令

1.1 date 命令

该命令用于查看当前系统时间

[root@JavaCentos ~]# date
20220813日 星期六 20:12:32 CST

参数介绍

%t        	跳格[Tab]
%H      	小时( 00~23 )
%I        	小时(00~12)
%M      	分钟( 00~59 )
%S(00~59 )
%j        	今年中的第几天

举例说明

查看今天是今年的第几天
[root@JavaCentos ~]# date "+%j"
225
设置当前系统时间

[root@JavaCentos ~]# date -s "20220813 20:40:00"
20220813日 星期六 20:40:00 CST

1.2 reboot 命令

该命令用于重启linux系统,相当于windows系统中的重启

1.3 poweroff 命令

该命令用于关闭linux系统,相当于windows系统中的关机

1.4 ps 命令

该命令用于查看系统中的进程状态,常用用法:ps aux 或 ps -ef

[root@JavaCentos ~]# ps -ef | grep redis
root       4592      1  0 812 ?       00:02:57 redis-server *:6379
root      24754  24297  0 20:49 pts/2    00:00:00 grep --color=auto redis

1.5 pidof 命令

pidof命令用于查询某个指定服务进程的 PID值,格式为 pidof[参数][服务名称]

[root@JavaCentos ~]# pidof sshd
24293 21743 1010

1.6 kill 命令

kill命令用于终止某个指定 PID的服务进程,格式为“ kill [参数 ] [进程 PID]”

[root@JavaCentos ~]# kill 24754

二、系统状态检测命令

2.1 ifconfig 命令

该命令被用来获取网络接口配置信息

[root@JavaCentos ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.29  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::fb9b:6787:bf0f:e53c  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:94:ee:e3  txqueuelen 1000  (Ethernet)
        RX packets 1731788  bytes 2406778821 (2.2 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 395540  bytes 49209244 (46.9 MiB)
      TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

2.2 uname命令

uname命令用于查看系统内核与系统版本等信息,格式为“ uname [-a]”。

在使用uname命令时,一般会固定搭配上 -a参数来完整地查看当前系统的内核名称、主机名、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理器类型以及操作系统名称等信息

[root@JavaCentos ~]# uname -a
Linux JavaCentos 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

2.3 uptime 命令

uptime用于查看系统的负载信息,格式为 uptime。

它可以显示当前系统时间、系统已运行时间、启用终端数量以及平均负载值等信息。

平均负载值指的是系统在最近 1分钟、 5分钟、 15分钟内的压力情况(加粗的信息部分);

负载值越低越好,尽量不要长期超过 1,在生产环境中不要超过 5。

[root@JavaCentos ~]# uptime
 21:01:17 up 1 day, 34 min,  4 users,  load average: 0.00, 0.01, 0.05

2.4 free 命令

free用于显示当前系统中内存的使用量信息,格式为“ free [-h]”。

为了保证Linux系统不会因资源耗尽而突然宕机,运维人员需要时刻关注内存的使用量。

[root@JavaCentos ~]# free -h
                   total        used        free      shared  buff/cache   available
Mem:           1.9G        1.2G         69M        3.7M        646M        444M
Swap:          2.0G        566M        1.4G

2.5 who 命令

who用于查看当前登入主机的用户终端信息

[root@JavaCentos ~]# who
root     :0           2021-12-27 19:25 (:0)
root     pts/1        2022-07-18 10:16 (192.168.1.10)
root     pts/0        2022-02-11 15:20 (:0)
root     pts/2        2022-08-13 20:12 (192.168.1.10)

2.6 history 命令

用于显示历史执行过的命令,非常好用

该命令可以显示出当前用户在本地计算机中执行过的最近 1000条命令记录

[root@JavaCentos ~]# history

2.7 netstat 命令

该命令是一个用于监控 TCP / IP 网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。

参数介绍

-n
直接使用ip地址,而不通过域名服务器
-o
显示计时器
-p
显示正在使用 Socket 的程序识别码pid和程序名称
-r
显示核心路由信息
-s
显示网络工作信息统计表
举例说明

[root@JavaCentos ~]# netstat -s     # 显示所有端口的统计信息
[root@JavaCentos ~]# netstat -st    # 显示所有TCP的统计信息
[root@JavaCentos ~]# netstat -su    # 显示所有UDP的统计信
[root@JavaCentos ~]# netstat -antp | grep ssh    # 查看端口和服
[root@JavaCentos ~]# netstat -p    # 显示pid和进程名

2.8 top 命令

该Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器

参数介绍

-b
批处理
-u<用户名>
指定用户名
-p

指定进程
-n
循环显示的次数
-S
累积模式

显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等

[root@JavaCentos ~]# top

三、工作目录切换命令

3.1 pwd命令

pwd命令用于显示用户当前所处的工作目录

[root@JavaCentos ~]# pwd
/root

3.2 ls 命令

ls命令用于显示目录中的文件信息

“-a”参数看到全部文件(包括隐藏文件),

“-l”参数可以查看文件的属性、大小等详细信息。

将这两个参数整合之后,再执行 ls命令即可查看当前目录中的所有文件并输出这些文件的属性信息

[root@JavaCentos ~]# ls -al

四、文本文件编辑命令

4.1 cat命令

用于查看纯文本文件(内容较少的),如果在查看文本内容时还想顺便显示行号的话,可以追加参数 -n

[root@JavaCentos ~]# cat -n text.sh

4.2 more 命令

more命令用于查看纯文本文件(内容较多的)

4.3 head 命令

head命令用于查看纯文本文档的前 N行

[root@JavaCentos ~]# head -n 20 text.sh

4.4 tail 命令

tail命令用于查看纯文本文档的后N行或持续刷新内容

[root@JavaCentos ~]# tail -n 20 text.sh

4.5 stat 命令

stat命令用于查看文件的具体存储信息和时间等信息,格式为“ stat 文件名称”

[root@JavaCentos ~]# stat text.sh

五、文件目录管理命令

5.1 touch 命令

touch命令用于创建空白文件或设置文件的时间

参数作用

-a	仅修改“读取时间”( atime )
-m	仅修改“修改时间”( mtime )
-d	同时修改atime 与 mtime
[root@JavaCentos ~]# touch text.sh

5.2 mkdir 命令

mkdir命令用于创建空白的目录,格式为“ mkdir [选项 ] 目录”。

在Linux系统中,文件夹是最常见的文件类型之一。除了能创建单个空白目录外, mkdir命令还可以结合 -p参数来递归创建出具有嵌套叠层关系的文件目录。

[root@JavaCentos ~]# mkdir -p a/b/c

5.3 cp 命令

cp命令用于复制文件或目录,格式为“ cp [选项 ] 源文件 目标文件”。

大家对文件复制操作应该不陌生,在Linux系统中,复制操作具体分为 3种情况:

1、如果目标文件是目录,则会把源文件复制到该目录中;

2、如果目标文件也是普通文件,则会询问是否要覆盖它

3、如果目标文件不存在,则执行正常的复制操作

5.4 mv 命令

mv命令用于剪切文件或将文件重命名,格式为“ mv [选项 ] 源文件 [目标路径 |目标文件名 ]”。

剪切操作不同于复制操作,因为它会默认把源文件删除掉,只保留剪切后的文件。如果

在同一个目录中对一个文件进行剪切操作,其实也就是对其进行重命名:

[root@JavaCentos ~]# mv text.sh text1.sh

5.5 rm 命令

rm命令用于删除文件或目录,格式为“ rm [选项 ] 文件”。

在Linux系统中删除文件时,系统会默认向您询问是否要执行删除操作,如果不想总是

看到这种反复的确认信息,可在 rm命令后跟上 -f参数来强制删除。另外,想要删除一个目录,

需要在 rm命令后面一个 -r参数才可以,否则删除不掉。我们来尝试删除前面创建的 install.log和 linux.log文件

[root@JavaCentos ~]# rm test.sh
[root@JavaCentos ~]# rm -f test.sh

5.6 dd 命令

dd命令用于按照指定大小和个数的数据块来复制文件或转换文件,格式为“ dd [参数 ]”。

dd命令是一个比较重要而且比较有特色的一个命令,它能够让用户按照指定大小和个数的数据块来复制文件的内容

参数作用

if	输入的文件名称
of	输出的文件名称
bs	设置每个“块”的大小
count	设置要复制“块”的个数

六、打包压缩与搜索命令

6.1 tar 命令

tar命令用于对文件进行打包压缩或解压

参数作用

-c		创建压缩文件
-x		解开压缩文件
-t		查看压缩包内有哪些文件
-ZGzip压缩或解压
-j		用bzip2压缩或解压
-v		显示压缩或解压的过程
-f		目标文件名
-p		保留原始的权限和属性
-P		使用绝对路径来压缩
-c		指定解压到的目录
[root@JavaCentos tools]# tar -zxvf redis-3.2.5.tar.gz /    解压
[root@JavaCentos tools]# tar -czvf redis-3.2.5.tar.gz /    压缩

6.2 grep 命令

grep命令用于在文本中执行关键词搜索,并显示匹配的结果

参数作用

-n		参数用来显示搜索到信息的行号
-v		参数用于反选信息(即没有包含关键词的所有信息行)

6.3 find 命令

find命令用于按照指定条件来查找文件,格式为“ find [查找路径 ] 寻找条件 操作”。

“Linux系统中的一切都是文件”

参数作用

-name		匹配名称
-perm		匹配权限( mode为完全匹配,-mode为包含即可)
-user		匹配所有者
-group		匹配所有组
-mtime -n +n		匹配修改内容的时间(-n指n天以内,+n指n天以前)
-atime -n +n			匹配访问文件的时间(-n指n天以内,+n指n天以前)
-ctime -n +n			匹配修改文件权限的时间( -n指n天以内,+n指n天以前)
-exec		用于把find命令搜索到的结果交给紧随其后的命令做进一步处理

以上这些命令是结合实际开发总结的常用命令,大家有补充的话,也可以在公众号下为博主留言,希望可以帮助到大家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值