Linux 最常用命令

上午整理的Linux命令大全太多了,都记下来太耗费时间了,接下来看看这篇Linux最常用命令吧,都是生产、工作中经常接触到的。

目录:

  • 操作系统概述
  • Linux 文件系统
  • Linux 命令操作
  • Linux 权限管理
    • 用户和用户组
    • 用户操作命令
    • 权限操作
  • Linux 进程管理
  • Linux 其他常用命令大全
  • Linux 系统软件安装
    • 常用软件安装
    • 软件安装常用命令

ps:CSDN侧边栏也有目录,可以滑动到想看的章节

操作系统概述

操作系统 Operating System 简称 OS,通俗讲就是一款软件,不过和一般的软件不同,操作系统是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他的软件都必须在操作系统的支持下才能运行。

Linux 文件系统

  • /var:包含在正常操作中被改变的文件、假脱机文件、记录文件、加锁文件、临时文件和页格式化文件等。
  • /home:包含用户的文件:参数设置文件、个性化文件、文档、数据、EMALL、缓存数据等,每增加一个用户,系统就会根据其用户名在 home 目录下新建和其他用户同名的文件夹,用于保存其用户配置。
  • /proc:包含虚幻的文件,他们实际上并不存在于磁盘上,也不占用任何空间(用 ls-l 可以显示它们的大小)当查看这些文件时,实际上是在访问存在内存中的信息,这些信息用于访问系统。
  • /bin:包含系统启动时需要的执行文件(二进制),这些文件可以被普通用户使用。
  • /etc:为操作系统的配置文件目录(防火墙、启动项)
  • /root:为系统管理员(也叫超级用户或根用户)的 Home 目录。
  • /dev:为设备目录,Linux 下设备被当成文件,这样一来硬件被抽象化、便于读写、网络共享以及需要临时装载到文件系统中,正常情况下,设备会有一个独立的子目录,这些设备的内容会出现在独立的子目录下。

Linux 命令操作

  • 查看当前目录命令:pwd
  • 打开文件夹命令:cd
    • 打开指定文件夹:cd [目录名称]
    • 打开当前用户的根目录:cd ~
    • 返回上级目录:cd …
    • 返回进入目录:cd -
    • 打开根目录:cd /
  • 浏览目录下的文件列表命令:ls
    • 以列的方式查看当前目录下的文件列表:ls -l
    • 查看当前目录下所有的文件(包括隐藏文件):ls -a
    • 以列表的方式查看当前目录下的所有文件:ls -la
  • 创建文件目录命令:mkdir
    • 新建文件目录:mkdir 文件夹名称
    • 递归新建多级目录:mkdir -p 文件夹名称
    • 例如在用户目录下新建 test 目录,命令这样写:mkdir -p test/test1/test2/test3 递归新建多级目录的写法
  • 删除文件目录命令:rmkdir
    • 删除指定目录:rmkdir 目录名称
    • 递归删除指定目录及中间目录:rmdir -p 目录名称 这里没有写错,没有字母 k
  • 删除文件或者目录命令:rm
    • 常用命令:rm -rf [目录或文件] rm -ri [目录或文件]
    • 强制删除文件或目录:rm -rf 目录或者文件
    • 在删除前询问是否确认删除:rm -ri 目录或文件

因为强制删除的后果不太好,一般不建议使用 rm -rf 进行文件删除

rm 命令中不跟 r 参数,无法删除目录,只能删除文件

  • 复制文件或目录命令:cp
    • 递归复制目录1下的所有的文件和文件夹到目录2:cp -r [目录1][目录2]
    • 执行复制操作时覆盖原有目录前询问用户:cp -ri [目录1][目录2]
  • 移动文件、修改文件名命令:mv
    • 将文件夹1名称更改为文件夹2:mv 文件1 文件2 (给文件更名)
    • 将目录1的文件移动到目录2:mv 目录2 目录2 (将目录1的文件移动到目录2)
  • 创建文件命令:touch
    • touch 文件名称
  • 查看、编辑文件命令:vi
    • vi 命令为 UNIX 操作系统或者类 UNIX 操作系统都有具有的功能强大的文件编辑命令,用户输入 vi ++ 文件名,便可以进入 vi 模式进行文件内容的查看和编辑,如果文件已经存在,则直接打开文件,如果文件不存在,则系统将打开一个全新的空文件。

vi 的三种模式如下:

  1. 命令模式

当用户使用 vi 命令打开文件后,则进入命令模式,用户可以输入命令来执行各种功能。

取值

说明

L

光标移至屏幕最后一行

space

光标右移一个字符

backspace

光标左移一个字符

N+

光标向上移动 N 行

n+

光标移下移 n 行

  1. 输入模式

如果用户要对文件做修改,则可以使用下面几种命令,进入输入模式,用户进入输入模式之后,可以任意修改文件,除了 Esc 键外,用户输入的任何字符都会被作为内容写入文件中,用户输入 Esc 可以对文件进行相关操作。

取值

说明

a、i、r、o、A、I、R、O

编辑模式

dd

删除当前光标

ndd

删除 n 行

  1. 末行模式

如果用户完成编辑命令,则可以按照 esc + “:” 进入末行模式,用户可以对文件内容继续进行搜索,也可以输入 “:wq!” 进行文件保存并退出,或者输入 “:q!” 强制退出文件编辑。

取值

说明

:wq!

保存并退出

:q!

强制退出

: s/字符串 1/字符串 2

将文件中出现的字符串 1 替换为字符串2

:set nu

显示所有行号

查看、编辑文件命令:cat

    • 显示一个小的文件的内容:cat 文件名称
    • 创建并打开一个新的文件:cat > 文件名称

查看文件开头内容命令:head

    • head [参数] [文件名]

例如,使用 head 命令显示某个文件开始的 n 行数据:head -n 文件名称

取值

说明

-n

< 行数 > 显示的行数

默认

默认显示文件前 10 行数据

查看文件结尾内容命令:tail

    • 动态加载某个文件的内容(常用于查看日志文件):tail -f 文件名称
    • 展示文件最后几行的数据:tail -n 行数文件名称

Linux 权限管理

用户和用户组

用户是指在一个操作系统中,一系列权限的集合体,操作人员通过用户名和口令可以在系统中执行某一些被允许的操作。不同的用户可以具有不同的权限。Linux 操作系统中每个用户都具有唯一标识 UID,当使用命令创建用户时,如果不指定用户的 UID,则系统将自动为其分配 UID。

用户组就是具有相同特征的用户的集合体,在 Linux 系统中,每一个用户都属于至少一个用户组。Linux 操作系统中每个用户分组都具有唯一标识 GID,当使用命令创建用户组时,如果不指定用户组的 GID,则系统将自动为其分配 GID。当使用 -u 指定用户 id 时,用户 id 尽量大于500,以免冲突。因为 Linux 操作系统安装后,会默认建立一些用户,所以可能会占用 500 之内的 id 号。

Linux 权限机制有以下特点:

  • 系统有一个权限最大的用户,其名称为 root ,root 用户属于 root 用户组。
  • 系统默认只有 root 权限可以添加和删除用户。
  • 添加用户之后,如果没有给用户指定用户组,则系统会为用户添加一个同名的用户组,用户属于该组。
  • root 切换到普通用户无需登录,普通用户切换到 root 用户需要登陆。
  • root 可以给用户赋予和回收某一个文件的读、写、执行的权限。

用户操作命令

切换用户命令:su
    • su [用户名] 或者 su -[用户名]
    • su[用户名]su -[用户名]都可以切换用户,前者类似于临时切换用户,当使用该命令进行切换新用户时,用户配置仍然沿用原来的用户配置,如环境变量、系统变量等。而后者进行切换用户时,环境变量、系统设置全部切换成新用户的用户配置。
查看当前登陆用户命令:whoami
查看当前用户所属分组命令:groups
查看当前用户 UID 和 GID 命令:id
添加新用户命令:useradd

取值

说明

-c

代表 comment 指定一段注释性描述

-d

指定用户主目录

-g

指定用户所属的用户组

-G

指定用户所属的附加组

-u

指定用户的用户好

缺省

直接添加用户

在 Linux 操作系统中添加用户:useradd 用户名

在 Linux 操作系统中添加用户并指定用户 UID:useradd -u 指定的 UID 用户名

修改用户密码命令:passwd

例如:修改当前用户名为 sang 的用户密码:passwd sang

在添加用户之后,只有为其设置密码,用户才能登陆

取值

说明

-d

删除密码。仅有系统管理员才能使用

-f

强制执行

-k

设置只有密码过期后才能更新

-l

锁着密码

-s

列出面膜的相关信息,仅有系统管理员才能使用

-u

解开已上锁的账号

删除用户命令:userdel
    • 删除用户:userdel 用户名
    • 删除用户并同时删除其登陆信息:userdel -r 用户名

取值

说明

-r

删除用户以及其登陆日志等信息

-f

强制删除用户,即使用户已经登陆

缺省

直接删除用户

修改用户信息命令:usermod
    • 语法:usermod [选项] [参数] [用户名]
    • 修改用户登录名:usermod -l 新用户名 旧用户名
    • 修改用户所属分组:usermod -g 新组名称 用户名

取值

说明

-c

修改用户账号的备注文字

-d

修改用户登陆时的目录

-e

修改账号的有效期

-f

修改密码过期后多少天关闭账号

-g

修改用户所属的群组

-G

修改用户所属附加组

-l

修改用户账号名称

-L

锁定用户密码,使密码无效

-u

修改用户 id

-U

解除密码锁定

添加用户组命令:groupadd
    • 语法:groupadd [选项] [组名称]
    • 修改用户登陆名:groupadd 组名
    • 修改用户所属分组:groupadd -g 组 GID 组名

取值

说明

-g

指定工作组的 id

-r

创建系统工作组

-o

允许添加组 ID 不唯一的工作组

缺省

添加用户分组

权限操作

Linux 操作系统为文件定义了读、写、执行三种权限,不同的用户或者用户组可以具有不同的权限,系统采用 “r”、“w”、“x” 来分别表示文件的读、写、执行权限。使用 ls -l 命令可以查看到用户在当前目录或者文件的操作权限。

举列:

drwxr -xr -x. 2 root root 4096 Sep 23 2011 bin

从左至右分别表示如下含义:

  • d:代表 bin 数目目录而不是文件
  • rwx:代表拥有者具有读、写、执行的权限
  • r -x:代表同组用户具有读、执行的权限,但是没有写权限
  • r -x:代表其他组用户具有读、执行权限,没有写权限

常用的变更权限命令为:chmod

语法:chmod [选项] [参数]

取值

说明

-c

显示指令执行过程,但只返回更改的部分

-f

不显示错误信息

-r

递归授权

-v

显示指令执行过程

chmod 的参数可以分为两种,分别是权限模式和数字模式。

权限模式:

权限模式使用 u、g、o 分别代表拥有者、同组用户、其他组用户,使用 + 和一代表赋予和收回权限,使用 r、w、x 代表读、写、执行权限。

例如:将文件01的执行权限给当前用户,写权限赋给用户所在的用户组和其他用户。

chmod -r U+X,G+W F01

例如:将文件 f01 的读、写、执行的权限赋给当前用户,将读、写权限赋给用户所在的用户组和其他用户。

chmod -r u=rwx,g=rw,o=rw f01
数字模式:

为了简化授权步骤,用户也可以采用数字模式进行授权,使用二进制的形式代表 r、w、x 三种权限,如 101 (5) =r -x,111 (7) =rwx,100 (3) =r- -

例如:将文件 f01 的读、写、执行的权限赋给当前用户,将读和执行权限赋给用户组、将写和执行权限赋给其他用户。

chmod 753 -r f01

例如:将文件 f01 的读、写、执行权限赋给所有用户。

chmod 777 -r f01

Linux 进程管理

在 Linux 的应用中,需要对进程进行管理,如查看某个进程是否启动、以及在必要的时刻,杀掉某个线程。

查看进程命令:ps

ps 命令是 Linux 操作系统中查看进程的命令,通过 ps 命令可以查看 Linux 操作系统中正在运行的过程,并可以获得进程的 PID(进程的唯一标识),通过 PID 可以对进程进行相应的管理。

ps -ef | grep [进程关键字]

根据进程关键词查看进程命令显示如下,显示的进程列表中第一列表示开启进程的用户,第二列表示进程唯一标识 PID,第三列表示父进程 PPID,第四列表示 CPU 占用资源比列,最后一列表示进程所执行程序的具体位置。

[shang@localhost ~]$ ps -ef|grep sshd
root 1829 1  0 May24 ?   00:00:00 /usr/sbin/sshd
shang 24166 24100  0   20:17 pts/2  00:00:00      grep  sshd
[shang@localhost ~]$

杀掉进程命令:kill

当系统中有进程进入死循环,或者需要被关闭时,可以使用 kill 命令对其关闭。

kill -9 [PID] PID 为 Linux 操作系统中进程的标识

Linux 其他常用命令大全

  • 清屏命令:clear
  • 查询命令详细参数命令:man
  • 挂载命令:mnt
  • 远程连接服务 SSH 相关命令:
  • 启动 SSH 服务命令:service sshd start
  • 重启 SSH 服务命令:service sshd restart
  • 关闭 SSH 服务命令:service sshd stop

Linux 大多数情况下都是远程服务器,开发者通过远程工具连接 Linux ,启动了某个项目的 JAR,一旦窗口关闭,JAR 也就停止运行了,因此一般通过如下命令启动 JAR:nohup java -jar jar-0.0.1-SNAPSHOT.jar &

这里多了 nohup ,表示当前窗口关闭时服务不挂起,继续在后台运行

Linux 系统软件安装

常用软件安装

Linux 下常用的软件安装方式有3种。

  • tar 安装:如果开发商提供的是 tar、tar.gz、tar.bz 格式的包(其中 tar 格式的为打包后没有压缩的包,gz 结尾的是按照 gzip 打包并压缩的软件包,tar.bz 是按照二进制方式打包并压缩的软件包),可以采用 tar 包安装,tar 安装方式本质上是解压软件开发商提供的软件包,之后在通过相应配置,完成软件的安装。
  • rpm 安装:rpm 安装方式是 redhat Linux 系列推出的一个软件包管理器,类似于 Windows 下的 exe 安装程序,可以直接使用 rpm 命令安装。
  • yum 安装:yum 安装本质上依然是 rpm 包安装,和 rpm 安装方式的不同之处是用户可以通过 yum 参数,指定安装的软件包,系统将自动从互联网上下载相应的 rpm 软件包。而无须用户关心软件包的下载地址,以及软件包的依赖关系。

软件安装常用命令

  • 解压压缩命令:tar
  • 语法:tar [选项] [压缩包]
  • 解压 gzip 包:tar -zxvf [包名]
  • 解压 bz 包:tar -jxvf [包名]
  • 解压普通包:tar -xvf [包名]

取值

说明

-c

指定特定目录压缩

-x

从备份文件中还原文件

-t

列出备份文件的内容

-r

添加文件到已经压缩的文件

-z

有 gzip 属性的(后缀是 gz 的)

-j

有 bz2 属性的(后缀是 bz 的)

-Z

有 cpmpress 属性的

-v

显示所有进程

-O

将文件解压到标准输出

-f

使用档案名称

安装卸载命令:rpm

  • 语法:rpm [选项] [软件包]
  • 查询是否已经安装了某软件包:rpm -qa|grep [软件包关键词]
  • 卸载已经安装的软件包:rpm -e 软件包全名
  • 安装软件包并查看进度:rpm -ivh 软件包路径

取值

说明

-ivh

安装显示安装进度

-Uvh

升级软件包

-qpl

列出 rpm 软件包内的文件信息

-qpi

列出 rpm 软件包的描述信息

-qf

查找指定文件属于哪个 rpm 软件包

-Va

校验所有的 rpm 软件包,查找丢失的文件

-e

删除包

-qa

查找已经安装的 rpm 包

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

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

相关文章

(八)目标跟踪中参数估计(似然、贝叶斯估计)理论知识

目录 前言 一、统计学基础知识 &#xff08;一&#xff09;随机变量 &#xff08;二&#xff09;全概率公式 &#xff08;三&#xff09;高斯分布及其性质 二、似然是什么&#xff1f; &#xff08;一&#xff09;概率和似然 &#xff08;二&#xff09;极大似然估计 …

Pycharm显示Low memory的解决办法

这种情况该怎么办呢&#xff1f; 按照网上的说法&#xff0c;首先按照下图&#xff0c;选择memory Indicator: 就可以在pycharm的右下角看到内存以及其分配情况&#xff08;allocated表示被分配的&#xff0c;可以看到我的已经被分配完了&#xff0c;应该是这个意思&#xff0…

小程序界面如何传参,另一界面如何接收的方法, 如何获取小程序中data参数的值

A界面 WXML 示例 <view class""><button bindtap"onTiaozhuan">跳转界面按钮</button></view>A界面 js 示例 Page({data: {pro_src: /statics/img/25431.jpg},onTiaozhuan() { // 获取data中的图片路径值const pro_src this.data…

spring boot 业务数据分页(不能直接用mybatis 分页插件分页)用Java 8 stream 快速实现

目录标题 一、适用范围二、利用 Java 8 的 stream 流提供的skip() 和 limit()方法三、一般还需要对数据进行排序 一、适用范围 这种方式适用于数据量较少的情况。如果数据量太大&#xff0c;一下子放到内存&#xff0c;可能内存吃不消。 二、利用 Java 8 的 stream 流提供的s…

Matlab|计及需求侧响应日前—日内两阶段鲁棒备用优化

目录 1 主要内容 日前计划模型 日内调整模型 不确定集建模 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序复现文章《计及需求侧响应日前—日内两阶段鲁棒备用优化》&#xff0c;以6节点系统为例&#xff0c;综合考虑风电出力不确定性与电力设备 N-k强迫停运&…

NASA数据集——包括阿拉斯加的 39 个站点和加拿大西北部的 12 个站点)的季节性沉降、活动层厚度 (ALT)、垂直土壤水分剖面数据

ABoVE: Active Layer Thickness from Airborne L- and P- band SAR, Alaska, 2017, Ver. 3 简介 文件修订日期&#xff1a;2022-09-15 数据集版本: 3 摘要 本数据集以 30 米的分辨率提供了整个 ABoVE 域 51 个站点&#xff08;包括阿拉斯加的 39 个站点和加拿大西北部的 1…

数据可视化之极坐标

极坐标/雷达图***** polarTrue?import numpy as npimport matplotlib.pyplot as plt plt.rcParams[font.family] [SimHei]# 准备数据rnp.arange(0,2,0.01) theta 2*np.pi*r# 准备画布fig plt.figure() ax plt.subplot(111,projectionpolar) ax.plot(theta,r) ax.set_rma…

救砖刷机------MTK芯片类线刷 救砖 常规线刷不开机 MTK分区表修复【二】

救砖刷机------MTK芯片类线刷 救砖 免授权的一些操作步骤与工具解析【一】 在上期的博文中解析了mtk刷机平台的一些基本选项说明和授权刷写的一些常识。这期将着重说明下mtk机型分区表损坏如何解决。 众所周知。高通分区表在高通线刷包中显而易见,在常规9008刷写中你会正常刷…

什么是Redis共享Session?

如图所示&#xff0c;一个分布式部署的Web服务器将用户的Session信息&#xff08;例如用户登录信息&#xff09;&#xff0c;保存在各自服务器内部。这样会造成一个问题&#xff0c;在分布式部署多个Web服务器时&#xff0c;我们通常会采用负载均衡算法&#xff0c;将多个用户的…

概率论基础——拉格朗日乘数法

概率论基础——拉格朗日乘数法 概率论是机器学习和优化领域的重要基础之一&#xff0c;而拉格朗日乘数法与KKT条件是解决优化问题中约束条件的重要工具。本文将简单介绍拉格朗日乘数法的基本概念、应用以及如何用Python实现算法。 1. 基本概念 拉格朗日乘数法是一种用来求解…

洛谷 P1747 好奇怪的游戏

题目背景 《爱与愁的故事第三弹shopping》娱乐章。 调调口味来道水题。 题目描述 爱与愁大神坐在公交车上无聊&#xff0c;于是玩起了手机。一款奇怪的游戏进入了爱与愁大神的眼帘&#xff1a;***&#xff08;游戏名被打上了马赛克&#xff09;。这个游戏类似象棋&#xff…

FPGA简介

FPGA&#xff08;Field-Programmable Gate Array&#xff09;是一种可编程逻辑器件&#xff0c;用于实现数字电路的设计和实现。与传统的ASIC&#xff08;Application-Specific Integrated Circuit&#xff09;相比&#xff0c;FPGA具有可重新配置的特性&#xff0c;可以根据需…

nginx报错相关问题

D:\nginx-1.22.0>nginx -s stop nginx: [emerg] unknown directive “锘?user” in D:\nginx-1.22.0/conf/nginx.conf:1 编码问题&#xff0c;还好我提前压缩了nginx的压缩包&#xff0c;具体哪行我没发现&#xff0c;复制过去就好了 D:\nginx-1.22.0>nginx -s stop ngi…

从数据孤岛到信息共享,应用集成网关打造业务新生态

想象一下&#xff0c;你坐在剧院里&#xff0c;期待着享受一场精彩的音乐剧表演。但当灯光渐暗&#xff0c;音乐开始奏响时&#xff0c;你却发现演出陷入了混乱之中&#xff1a;没有人站在正确的位置&#xff0c;每个人都在互相交谈或保持沉默&#xff0c;管弦乐队的演奏时机也…

0基础学习Mybatis系列数据库操作框架——增删改操作

大纲 新增Mapper配置代码Mapper接口文件应用 删除简单方案Mapper配置代码 高级方案Mapper配置代码Mapper接口文件应用 完整代码 修改Mapper配置代码Mapper接口文件应用 参考资料 在《0基础学习Mybatis系列数据库操作框架——目录结构》一文中&#xff0c;我们已经搭建了查询操作…

绿色wordpress外贸建站模板

绿色wordpress外贸建站模板 https://www.mymoban.com/wordpress/6.html

【JavaScript编程】encodeURI和encodeURIComponent的区别

一、encodeURI encodeURI函数主要用于编码整个URL。当URL中包含非ASCII字符、空格或其他在URL中有特殊意义的字符时&#xff0c;可以使用encodeURI进行编码。下面是一个使用encodeURI的例子&#xff1a; // 假设有一个URL var url "https://www.example.com/index.html?…

Oracle控制文件管理

控制文件作用&#xff1a;记录了数据库的结构和行为&#xff0c;有多少个数据文件&#xff0c;日志文件及其位置名称&#xff0c;状态&#xff0c;维护数据库的一致性&#xff0c;即记录了数据库的启动SCN号和终止SCN号。 控制文件的位置和个数记录在参数文件中&#xff0c;通…

C语言什么是局部变量?

一、问题 C程序中的变量有局部变量和全局变量&#xff0c;那么什么是局部变量呢&#xff1f; 二、解答 局部变量也称为内部变量&#xff0c;即在函数内部定义的变量。它只在本函数范围内有效&#xff0c;在函数外是不能使⽤该变量的。例如&#xff1a; int f1(int a) {int b,…

Android 窗口那些事儿

目录 1. &#x1f4c2; 前言 你&#xff0c;是否有过这些疑问&#xff1f; 2. &#x1f531; Window 2.1 认识 Window 的几个阶段 1&#xff09;阶段一&#xff1a;Window 约等于 Activity 2&#xff09;阶段二&#xff1a;Window 约等于 View 3&#xff09;阶段三&…