【Linux-常用命令】Linux 常用命令大全

news2025/2/5 8:02:28

【Linux-常用命令】Linux 常用命令大全

  • 1)文件管理
    • 1.1.目录操作
    • 1.2.vim 操作
    • 1.3.打包压缩相关命令
    • 1.4.Linux 管道
    • 1.5.Linux 远程拷贝命令
    • 1.6.查看文件目录大小
  • 2)文件权限管理
    • 2.1.三种基本权限
    • 2.2.更改权限
  • 3)运行程序
    • 3.1.命令行运行
    • 3.2.后台运行
    • 3.3.服务方式运行
  • 4)系统相关
    • 4.1.系统管理命令
    • 4.2.防火墙
    • 4.3.关机和重启
    • 4.4.网络配置
  • 5)用户管理
  • 6)安装软件
    • 6.1.下载 rpm 安装包方式
    • 6.2.yum 方式
    • 6.3.下载压缩文件方式

img

无论你是编程小白还是职场老手,都建议你收藏这份常用 Linux 命令手册。

无论是后端程序员还是前端程序员,一定避免不了和Linux系统打交道。可能是自己在学习的时候搭建虚拟机环境,也可能是在公司测试环境进行服务的维护,甚至可能去线上服务器进行生产问题的排查。

这就要求我们要熟练使用Linux命令行,相关的常用命令很可能不经常使用就忘了,这里我收集了一些常用命令以便需要时查看,欢迎作补充。(这里的提到操作都默认以CentOS系统为基础)

如果你还没有安装 Linux 虚拟机,可以参考这篇文章:

开发攻城狮必备的Linux虚拟机搭建指南

img

1)文件管理

1.1.目录操作

切换目录 cd

查看目录 ls

  • -l 列出文件详细信息 或者直接ll
  • -a 列出当前目录下所有文件及目录,包括隐藏的a(all)

创建目录 mkdir

  • -p 创建目录,若无父目录,则创建p(parent)

输出信息 echo

打印文件到命令行(查看文件) cat

改变文件所属用户 chown

改变文件所属组 chgrp

下载文件 wget

在文本文件中查找某个字符串 grep

统计文本中行数、字数、字符数 wc

部分显示 more/less

查找文件 find / -name 'auto.cnf'

创建空文件 touch

复制文件 cp

移动或重命名 mv

删除文件 rm

  • -r 递归删除,可删除子目录及文件
  • -f 强制删除

删除空目录 rmdir

树形结构显示目录,需要安装tree包 tree

显示当前目录 pwd

创建链接文件 ln

分页显示文本文件内容 more、less

显示文件头、尾内容 head、tail

1.2.vim 操作

进入编辑器 vi/vim,vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。

  • 进入编辑模式插入 i
  • 退出编辑模式 esc
  • 保存:后面输入w
  • 退出:后面输入q
  • 不保存退出:后面输入q!
  • 显示行号 set number
  • 查找关键字 /xxxx 按n跳到下一个,shift+n上一个
  • 复制光标所在行,并粘贴 yyp
  • h(左移一个字符←)、j(下一行↓)、k(上一行↑)、l(右移一个字符→)

1.3.打包压缩相关命令

打包压缩 tar\gzip\bzip2

  • -c归档文件
  • -x 压缩文件
  • -z gzip压缩文件
  • -j bzip2压缩文件
  • -v 显示压缩或解压缩过程 v(view)
  • -f 使用档名

例如

只打包,不压缩:tar -cvf /home/abc.tar /home/abc

打包,并用gzip压缩:tar -zcvf /home/abc.tar.gz /home/abc

打包,并用bzip2压缩:tar -jcvf /home/abc.tar.bz2 /home/abc

如果想解压缩,就直接替换上面的命令 tar -cvf / tar -zcvf / tar -jcvf 中的“c” 换成“x” 就可以了。

1.4.Linux 管道

将一个命令的标准输出作为另一个命令的标准输入。也就是把几个命令组合起来使用,后一个命令除以前一个命令的结果。

例如

grep -r “close” /home/* | more 在home目录下所有文件中查找,包括close的文件,并分页输出。

1.5.Linux 远程拷贝命令

# 1、从本地拷贝文件到远程的命令
scp 本机文件名  远程主机用户名@远程主机名或ip:本地存放路径
# 2、从本地 拷贝文件夹到 远程的命令
scp -r 本机文件名  远程主机用户名@远程主机名或ip:本地存放路径
# 3、从远程拷贝文件到本地的命令
scp 远程主机用户名@远程主机名或ip:本地存放路径  本机文件名
# 4、从远程拷贝文件夹到本地的命令
scp -r 远程主机用户名@远程主机名或ip:本地存放路径  本机文件名

1.6.查看文件目录大小

目录的容量(du)语法格式[plain] du [-ahskm] 文件或者目录名

参数解释:

-a:列出所有的文件与目录容量,因为默认仅统计目录的容量而已

-h:以人们较易读的容量格式呈现(G/M/K)显示,自动选择显示的单位大小

-s:列出总量而已,而不列出每个个别的目录占用容量

-k:以KB为单位进行显示

-m:以MB为单位进行显示常用命令参考 查看当前目录大小[plain] du -sh ./

查看某一指定目录大小:[plain] du -sh directory_name

在指定目录下显示10个占用空间最大(最小)的目录或文件最大:[plain] du -sh * | sort -nr | head

最小:[php] du -sh * | sort -n | head

2)文件权限管理

2.1.三种基本权限

R:读,数值表示为 4

W:写,数值表示为 2

X:可执行,数值表示为1

[root@VM-16-2-centos ~]# ll
total 597952
-rw------- 1 root root  12387614 Aug 29  2021 apache-zookeeper-3.7.0-bin.tar.gz
-rw-r--r-- 1 root root 113304268 May  3 12:22 jdk-8u281-linux-x64.rpm

如上所示,jdk-8u281-linux-x64.rpm文件的权限为-rw-r--r--,一共十个字符,分成四段。

  • 第一个字符“-”表示普通文件;这个位置还可能会出现l链接;d表示目录
  • 第二三四个字符rw-表示当前所属用户的权限,所以用数值表示为 4+2=6
  • 第五六七个字符r--表示当前所属组的权限,所以用数值表示为 4
  • 第八九十个字符r--表示其他用户权限,所以用数值表示为 4

所以操作此文件的权限用数值表示为 644

2.2.更改权限

更改权限:sudo chmod [u所属用户 g所属组 o其他用户 a所有用户] [+增加权限 -减少权限] [r w x] 目录名

例如:有一个文件 filename,权限为-rw-r----x ,将权限值改为-rwxrw-r-x,用数值表示为765

sudo chmod u+x g+w o+r filename` 也可以用数值表示 `sudo chmod 765 filename

3)运行程序

3.1.命令行运行

运行./filename

退出ctrl+c

3.2.后台运行

后台运行jar nohup java -jar xxx.jar 2>&1 &

运行 nohup command >out.file 2>&1 &

退出 ps -ef |grep 关键字 |awk '{print $2}'|xarg kill -9

3.3.服务方式运行

设置开机启动 systemctl enable

启动systemctl start

关闭systemctl stop

4)系统相关

4.1.系统管理命令

查看端口占用情况 netstat -tunlp | grep 端口号

查看cpu使用情况 lscpu或者cat /proc/cpuinfo

指定行数查看日志信息 tail -f xx

显示指定文件的详细信息,比ls更详细 stat

显示在线登陆用户 who

显示当前操作用户whoami

显示主机名hostname

显示系统信息uname

动态显示当前耗费资源最多进程信息top

显示瞬间进程状态 ps \ ps -aux

查看目录大小 du -h /home (带有单位显示目录信息)

查看磁盘大小 df -h (带有单位显示磁盘信息)

查看内存 top

查看磁盘IO读写情况 iotop(需要安装一下:yum install iotop

直接查看输出比较高的磁盘读写程序 iotop -o

查看网络情况 ifconfig

测试网络连通 ping

显示网络状态信息 netstat

命令不会用了,看文档 如:man grep

[root@VM-16-2-centos ~]# man grep
GREP(1)                    General Commands Manual                       GREP(1)
NAME
       grep, egrep, fgrep - print lines matching a pattern

SYNOPSIS
       grep [OPTIONS] PATTERN [FILE...]
       grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]
……

清屏 clear

对命令重命名 alias ,如:alias showmeit="ps -aux" ,解除使用unaliax showmeit

杀死进程 kill,可以先用pstop命令查看进程的id,然后再用kill命令杀死进程。kill -9 强制删除

查看进程 ps aux

查看端口号占用情况 nestat -tunlp | grep

远程传输 scp -r /dir/xx root@ip:/dir

4.2.防火墙

查看防火墙状态 firewall-cmd --state

停止防火墙 systemctl stop firewalld.service

禁止firewall开机启动 systemctl disable firewalld.service

4.3.关机和重启

关机 shutdown -h now

  • -r 关机重启
  • -h 关机不重启
  • now 立刻关机

重启 reboot

关机 halt

4.4.网络配置

查看网卡信息 ifconfig

网络配置 /etc/sysconfig/network-script/ifcfg-eth0

配置网卡 /etc/udev/rules.d/70-persistent-net.rules

5)用户管理

创建用户 useradd

设置密码 passwd

  • 存储组账号 /etc/group
  • 系统用户配置文件 /etc/passwd

存储用户账号的密码 /etc/shadow

存储用户组账号的密码/etc/gshadow

用户名useradd

用户名userdel

用户名adduser

组名groupadd

组名groupdel

给root设置密码passwd root

su root
su - root

系统环境变量/etc/profile

用户环境变量bash_profile

用户环境变量.bashrc

su user 切换用户,加载配置文件.bashrc

su - user 切换用户,加载配置文件/etc/profile ,加载bash_profile

更改文件的用户及用户组

sudo chown [-R] owner[:group] {File|Directory}
-rw-r--r-- 1 root root 113304268 May  3 12:22 jdk-8u281-linux-x64.rpm

例如

还以 jdk-8u281-linux-x64.rpm 为例。属于用户root,组root

要想切换此文件所属的用户及组。可以使用命令。

sudo chown daley:java jdk-8u281-linux-x64.rpm

6)安装软件

6.1.下载 rpm 安装包方式

安装 rpm -i jdk-XXX_linux-x64_bin.rpm

查找 rpm -qa | grep jdk

列表 rpm -qa | more

ubuntu dpkg 方式

查找dpkg -I | grep jdk

列表dpkg -I | more

安装dpkg -i jdk-XXX_linux-x64_bin.deb

6.2.yum 方式

比如安装 vim:yum install -y vim

比如卸载 vim:yum erase vim*

安装 rz:yum install lrzsz

  • rz:从本地上传文件至服务器

  • sz filename:从服务器下载文件至本地

离线下载安装包:yum -y install vim --downloadonly --downloaddir /home/test/

搜索 yum search jdk

安装 yum install java-11-openjdk.x86_64

删除 yum erase java-11 -openjdk.x86 64

配置文件 /etc/yum.repos.d/CentOS-Base.repo

ubuntu apt-get 方式

搜索 apt・cache search jdk

安装apt-get install openjdk-9-jdk

删除apt-get purge openjdk-9-jdk

配置文件/etc/apt/sources. Iist

6.3.下载压缩文件方式

编辑 .bashrc

环境变量配置

  • 打开环境变量文件 vi /etc/profile
  • 配置环境变量 export JAVA_HOME=/root/j d k-XXX_lin ux-x64
  • export PATH=$JAVA HOME/bin:$PATH
  • 刷新配置 source /etc/profile

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1427016.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

睿尔曼超轻量仿人机械臂—外置按钮盒使用说明

睿尔曼RM系列机械臂的控制方式有很多种,包括:示教器、JSON、API等。在此为大家介绍外置按钮盒的使用方法。 按钮盒接线安装 按钮盒外观如下图所示,有:急停、暂停、开始、继续。四个功能按钮。用户可通过这四个按钮来实现对机械臂运…

FileGDB文件地理数据库的大小和名称限制

FileGDB文件地理数据库的大小和名称限制 官方链接 文件地理数据库的大小和名称限制如下: 文件地理数据库的大小 - 无限制 表或要素类大小 - 1 TB(默认值)、4 GB 或 256 TB(带关键字) 要素类和表的数量 - 2,147,483,6…

公共用例库计划--个人版(六)典型Bug页面设计与开发

1、任务概述 本次计划的核心任务是开发一个,个人版的公共用例库,旨在将各系统和各类测试场景下的通用、基础以及关键功能的测试用例进行系统性地归纳整理,并以提高用例的复用率为目标,力求最大限度地减少重复劳动,提升…

数据结构-内部排序

简介 排序(Sorting):将一个数据元素(或记录)的任意序列,重新排列成一个按关键字有序的序列 排序算法分为内部排序和外部排序 内部排序:在排序期间数据对象全部存放在内存的排序 外部排序&am…

【c++】取地址及const取地址操作符重载

1.const成员 将const修饰的“成员函数”称之为const成员函数,const修饰类成员函数,实际修饰该成员函数隐含的this指针,表明在该成员函数中不能对类的任何成员进行修改 我们来看看下面的代码 class Date { public:Date(int year, int month,…

2024年美赛数学建模C题思路分析 - 网球的动量

# 1 赛题 问题C:网球的动量 在2023年温布尔登绅士队的决赛中,20岁的西班牙新星卡洛斯阿尔卡拉兹击败了36岁的诺瓦克德约科维奇。这是德约科维奇自2013年以来首次在温布尔登公开赛失利,并结束了他在大满贯赛事中历史上最伟大的球员之一的非凡…

2024年美赛数学建模思路 - 案例:退火算法

文章目录 1 退火算法原理1.1 物理背景1.2 背后的数学模型 2 退火算法实现2.1 算法流程2.2算法实现 建模资料 ## 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 退火算法原理 1.1 物理背景 在热力学上&a…

WordPress SMTP发信避坑指南

前言 Clip_2024-01-31_19-46-18803285 10.5 KB 目前不少主题已经内置了SMTP发信功能,这是因为WordPress自带的mail()函数发信时基本无法发送。 但是在之前(约2021年末)貌似可以通过WordPress自带的函数发信,并且收信方提示由xxx代…

༺༽༾ཊ—Unity之-04-原型模式—ཏ༿༼༻

首先创建一个项目, 在这个初始界面我们需要做一些准备工作, 建基础通用文件夹, 创建一个Plane 重置后 缩放100倍 加一个颜色, 任务1:使用 建造者模式 创建三种 金刚猿猴 零部件 拼接组合 首先资源商店下载 金刚猿猴 模…

从0开始搭建、上传npm包

从0开始搭建、上传npm包 1、上传一个简单获取水果价格的包创建 vite 项目在项目根目录 src 文件夹中创建 index.ts 文件,文件内容如下:在 main.ts 文件中导入、导出上面创建的方法创建 vite.config.ts 配置文件,文件内容如下配置 package.jso…

npm 包管理工具

简介 Node官网:https://nodejs.org/ Npm官网:https://www.npmjs.com/ 在现代的软件开发世界中,包管理工具起着至关重要的作用。它们为开发者社区提供了一种高效共享和使用代码的方式。在 JavaScript 的范畴内,npm(Node…

EMQX 性能调优:TCP SYN 队列与 Accept 队列

在上一篇博客(EMQX 性能调优:最大连接与文件描述符),我们深入研究了 MQTT 连接与文件描述符之间的关系,介绍了如何修改文件描述符相关的内核参数来突破默认的最大连接数量限制。 但你可能会发现,在某些情况…

9.1斐波那契数(LC509-E)

算法: 动态规划五部曲: 1.确定dp数组及下标含义 dp[i]的定义为:第i个数的斐波那契数值是dp[i] 2.确定递归公式 题目已给出:状态转移方程 dp[i] dp[i - 1] dp[i - 2]; 3.dp数组如何初始化 题目已给 dp[0] 0; dp[1] 1; …

SpringBoot使用Rabbit详解含完整代码

1. 摘要 本文将详细介绍如何在Spring Boot应用程序中集成和使用RabbitMQ消息队列。RabbitMQ是一个开源的消息代理和队列服务器,用于通过轻量级和可靠的消息在应用程序或系统之间进行异步通信。本文将通过步骤说明、代码示例和详细注释,指导读者在Spring…

2023年上-未来几年我要做什么

1月份,离职。 2月份,春节休假回来,中旬去参加了一个月的瑜伽培训,学会了倒立、鹤蝉。。。。 3月份,瑜伽培训结束,开始收拾房子,并调研各类项目。 4月份,参与了朋友的区块链项目 …

web前端开发--------阴影与转换

1.阴影分为文本阴影和盒子阴影 我们使用text-shadow属性为文本添加阴影效果,使用结构伪类为第一个子元素p添加阴影效果; 水平偏移量为负值时,表示阴影向左偏移; 垂直偏移量为负值时,表示阴影向上偏移。 …

【Linux】初始进程地址空间

最近,我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念,而且内容风趣幽默。我觉得它对大家可能会有所帮助,所以我在此分享。点击这里跳转到网站。 目录 一、再谈fork二、程序地址空间2.1代码验证 三、虚拟地址&am…

Error: Projects must list all files or use an ‘include‘ pattern.

博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

【解决方案】在Vue、HTML项目中使用@spacechart/translate 插件实现在线实时翻译、自定义翻译

SpaceChart/Translate SpaceChart/Translate 是一个可配置的翻译插件,适用于任何环境,让开发者不再需要注重插件本身;插件支持自定义翻译引擎,快速生成对应的AI翻译模型客户端插件 Repository GitHubNPM Browser Support La…

计算机图形学 实验

题目要求 1.1 实验一:图元的生成:直线、圆椭区域填充 你需要完成基本的图元生成算法,包括直线和椭圆。 在区域填充中,要求你对一个封闭图形进行填充。你需要绘制一个封 闭图形(例如多边形),并选…