Linux常用命令大全(Linux初学者快速入门)

文章目录

  • 前言
  • 一、Linux 简介
  • 二、Linux系统目录结构
  • 三、Linux命令基本格式
  • 四、Linux常用命令和快捷键
    • 基本概念
      • 目录
      • 特殊路径符
      • 绝对路径
      • 相对路径
    • 目录和文件操作
      • 显示目录内容:ls
      • 切换工作目录:cd
      • 展示当前工作目录:pwd
      • 创建新目录:mkdir
      • 创建文件:touch
      • 复制文件或目录:cp
      • 移动文件或目录:mv
      • 删除文件或目录:rm
      • 通配符:*
      • 创建软连接:ln
    • 文件内容查看和编辑
      • 查看文件内容(全部显示):cat
      • 查看文件内容(翻页显示):more
      • 搜索指定文件:find
      • 查看命令程序文件的存放位置:which
      • 从文件中通过关键字过滤文件内容:grep
      • 统计文件内容数量:wc
      • 管道符:|
      • 在命令行内输出指定内容:echo
      • 重定向符:>
      • 重定向符:>>
      • 查看文件尾部内容:tail
      • 查看文件头部内容:head
      • 文本编辑器:vim
    • 用户和权限管理
      • 切换系统用户:su
      • 临时以root身份执行命令:sudo
      • 查看当前系统中的用户:getent passwd
      • 创建用户:useradd
      • 删除用户:userdel
      • 查看当前系统中的用户组:getent group
      • 创建用户组:groupadd
      • 删除用户组:groupdel
      • 查看用户所属组:id
      • 修改用户所属组:usermod
      • 修改文件或目录的权限信息:chmod
      • 修改文件或目录的所属用户和用户组:chown
    • Linux各类实用快捷键
      • 清空屏幕:ctrl + l
      • 强制停止当前执行的命令:ctrl + c
      • 退出当前命令的输入:ctrl + c
      • 退出账户登录:ctrl + d
      • 退出某些特定程序的专属页面(例如:python解释器):ctrl + d
      • 历史命令搜索:history
      • 匹配历史命令:ctrl + r
      • 光标跳到命令开头:ctrl + a
      • 光标跳到命令结尾:ctrl + e
      • 光标向左跳一个单词:ctrl + 键盘左键
      • 光标向右跳一个单词:ctrl + 键盘右键
    • 系统管理
      • 安装、卸载、查找应用:yum
      • yum常用命令
      • 控制应用的启动和关闭:systemctl
      • 常用的系统内置服务
      • 查看日期时间:date
      • 查看主机名:hostname
      • 修改主机名:hostnamectl
    • 网络和连接
      • 检查服务器是否联通:ping
      • 下载网络文件:wget
      • 发起网络请求:curl
    • 进程管理
      • 查看进程:ps
      • 关闭进程:kill
    • 系统监控
      • 查看系统资源占用:top
      • 查看端口占用情况:nmap
      • 查看指定端口或进程占用情况:netstat
      • 磁盘信息监控:df
      • 查看CPU/磁盘相关信息:iostat
      • 网络状态监控:sar
      • 查看环境变量:env
      • 取到环境变量的值:$
      • 配置环境变量:export
    • 文件上传下载与压缩解压
      • 上传和下载:rz 和 sz
      • 压缩和解压:tar、zip、unzip
  • 总结


前言

  本文旨在为Linux初学者提供一份Linux常用命令总结。我将介绍一系列常用的命令及其用法,包括文件和目录相关操作、系统管理、进程控制、网络操作等方面。通过学习这些命令,读者将能够更好地管理和操作Linux系统,提高工作效率。

  在本文中,我将详细讲解每个命令的作用和具体用法,并提供丰富的示例,以帮助读者更好地理解和应用这些命令。我将从简单的基础命令开始,逐步深入,涵盖了广泛而实用的命令。不仅如此,我还将介绍一些常见的技巧来帮助读者充分提高以提高读者的学习效率。

  让我们一起开始探索Linux的世界吧!相信本文能为你提供实用的知识和技巧,助你在Linux的舞台上腾飞!


一、Linux 简介

  Linux内核最初只是由芬兰人李纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。

  Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。

  Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

  目前市面上较知名的Linux发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、TurboLinux、BluePoint、RedFlag、Xterm、SlackWare等。


二、Linux系统目录结构


├── /			# 根目录
├── /bin		# 存放着最经常使用的命令。
├── /boot 		# 存放启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
├── /dev 		# 存放Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
├── /etc 		# 存放所有的系统管理所需要的配置文件和子目录。
├── /home 		# 用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
├── /lib		# 存放系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。
├── /lib64		# 存放64位库文件。
├── /media 		# 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
├── /mnt 		# 让用户临时挂载别的文件系统,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
├── /opt 		# 这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
├── /proc 		# 该目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
├── /root 		# 该目录为系统管理员,也称作超级权限者的用户主目录。
├── /run 		# 存放系统运行时所产生的临时文件。
├── /sbin		# s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
├── /srv 		# 该目录存放一些服务启动之后需要提取的数据。
├── /sys 		# 系统所使用的目录。
├── /tmp 		# 该目录用于存放一些临时文件。
├── /usr 		# 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。
└── /var 		# 存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。


三、Linux命令基本格式

  Linux命令基本格式:command [-options] [parameter]

  command:命令名,即命令本身,也就是相应功能的英文单词或单词的缩写;

  -options:命令的一些选项,可通过选项控制命令的行为细节,可选;

  parameter:命令的参数,多数用于命令的指向目标等,可能是零个、一个或者多个,可选。

命令的本质:可行性程序,类似于windows中的.exe文件

注:下文中并没有列出所有命令的所有选项,只是列出一部分常用选项供读者参考,无选项并不代表该命令真的无选项,如果想要查看命令具体信息可以点击以下链接查看Linux手册。
w3cschool——Linux手册


四、Linux常用命令和快捷键

基本概念

目录

  目录其实就是Windows中的文件夹,Linux中统一用目录来表述。

下文中目录路径如无特殊说明,则可以是相对路径,也可以是绝对路径,并且支持特殊路径符。

特殊路径符

  当前目录: .

  上一级目录:. .

  home目录:~

绝对路径

  绝对路径的写法一定由根目录“/”写起,例如/usr/local/mysql 这就是绝对路径。

相对路径

  路径的写法不是由根目录“/”写起,例如,首先用户进入到 / 然后再进入到 home ,命令为 cd /home 然后 cd test 此时用户所在的路径为 /home/test 。第一个cd命令后跟 /home 第二个 cd 命令后跟 test ,并没有斜杠,这个test是相对于/home 目录来讲的,所以叫做相对路径。

目录和文件操作

显示目录内容:ls

选项:(可省略,默认以平铺的形式显示文件和目录名称)

-a:显示所有内容,包括隐藏文件

-l:以列表的形式显示

-h:显示文件大小单位,必须和 -l 组合使用

参数:目录路径(可省略,默认显示当前工作目录下的内容)

当前工作目录:执行命令时所在的目录,用户登录后的工作目录默认为home目录。

home目录:每个Linux操作用户再系统中的个人账户目录,路径在:/home/用户名。

切换工作目录:cd

选项:无

参数:要切换到的目录路径(可省略,默认切回home目录)

展示当前工作目录:pwd

选项:无

参数:无

创建新目录:mkdir

选项:(可省略,默认只能创建单个目录)

-p:一次性创建多个层级目录

参数:新目录名(不可省略)

普通用户创建新目录要在home目录下,否则会显示权限不够。

创建文件:touch

语法:touch 参数

选项:无

参数:文件路径(不可省略)

两种方法判断是文件还是文件夹:

  1. 文件名以白色显示,文件夹名以蓝色显示。
  2. 以列表形式显示内容,该行以d开头表示文件夹,以 - 开头表示文件。

注:以列表形式显示内容,最前面十位为槽,表示文件夹的权限信息,具体请看权限管理部分

复制文件或目录:cp

选项:(可省略,默认只能复制文件)
-r:复制目录

参数:(不可省略)

路径1:被复制的文件或目录

路径2:要粘贴到的路径(可重命名)

移动文件或目录:mv

选项:无

参数:(不可省略)

路径1:被移动的文件或目录

路径2:要移动到的路径(可重命名)

删除文件或目录:rm

选项:(可省略,默认只能删除文件)

-r:可删除文件或目录

-f:强制删除(不弹出提示确认信息)

参数:(不可省略)

路径1:要删除的第1个文件或目录路径

路径2:要删除的第2个文件或目录路径
. . .
路径N:要删除的第N个文件或目录路径

注意:普通用户删除内容不会弹出提示信息,只有root管理员删除内容才会有提示,所以普通用户不需要-f选项

该命令支持通配符来模糊匹配

通配符:*

含义:匹配任意内容,包含空

示例:

test* :表示匹配任何以test开头的内容

*test :表示匹配任何以test结尾的内容

*test*:表示匹配任何包含test的内容

创建软连接:ln

含义:将文件或目录链接到其他位置,类似于Windows系统中的快捷方式

选项:

-s:创建软链接

参数:

参数1:被链接的目标

参数2:要链接到的目的地

文件内容查看和编辑

查看文件内容(全部显示):cat

选项:无

参数:文件路径(不可省略)

查看文件内容(翻页显示):more

选项:无

参数:文件路径(不可省略)

按空格翻页,按 q 退出查看。

搜索指定文件:find

选项:(不可省略)

-name:按文件名搜索

-size:按文件大小搜索

参数:(不可省略)

参数1:起始路径

参数2:文件名或者文件大小

示例:

find / -size +100G 表示从根目录开始查找大于100G的文件

find / -name “test” 表示从根目录开始查找文件名为test的文件

文件大小表示方法:
大于:+
小于:-

文件单位:(注意:k小写,MG大写)
k:kb
M:MB
G:GB

查看命令程序文件的存放位置:which

选项:无

参数:命令名

从文件中通过关键字过滤文件内容:grep

选项:(可省略)

-n:表示在结果中显示匹配的行的行号

参数:(不可省略)

参数1:要筛选的关键字

参数2:文件路径

当关键字中有空格或其他特殊符号时,必须使用引号包围,无特殊符号可以不使用引号,但建议养成习惯使用引号包围

统计文件内容数量:wc

选项:(不可省略)

-c:统计bytes数量

-m:统计字符数量

-l:统计行数

-w:统计单词数量

参数:(不可省略)

文件路径,被统计的文件,可作为内容输入端口

管道符:|

含义:将管道符左边命令的结果,作为右边命令的输入。

在命令行内输出指定内容:echo

选项:无

参数:要输出的内容(不可省略)

`:被反引号包围的内容将作为命令被执行,把该命令得到的内容作为结果输出
示例:echo `pwd`

重定向符:>

含义:将左侧命令的结果,覆盖写到右侧指定的文件中

示例:
echo “hello linux” > test.txt

重定向符:>>

含义:将左侧命令的结果,追加写到右侧指定的文件中

示例:

echo “hello linux” >> test.txt

查看文件尾部内容:tail

选项:(可省略,默认只查看最后十行)

-f:表示持续跟踪

-num:表示查看尾部num行

参数:文件路径(不可省略)

查看文件头部内容:head

选项:(可省略,默认只查看前十行)

-num:表示查看头部num行

参数:文件路径(不可省略)

文本编辑器:vim

选项:无

参数:文件路径(不可省略)

vim编辑器:linux中最经典的文本编辑器,vim是vi的加强版,兼容vi的所有指令,不仅能编辑文本,还具有shell程序编辑的功能

vi编辑器的三种模式:命令模式、输入模式、底线模式

使用vim命令刚打开文件时处于命令模式

进入输入模式:i

退出输入,返回命令模式:ESC

进入底线命令模式::

保存并退出:wq

注意:如果文件不存在,会自动创建

用户和权限管理

切换系统用户:su

选项:(可省略,但建议带上)

- :表示切换用户后加载环境变量

参数:用户名(可省略,默认切换到root)

切换用户后,可以通过 exit 退回到上一个用户,也可以使用快捷键ctrl + d

临时以root身份执行命令:sudo

选项:无

参数:命令名(不可省略)

注意:该命令的使用需要为普通用户配置sudo认证

为普通用户配置sudo认证可以参考本人另一篇文章:Linux普通用户配置sudo认证

查看当前系统中的用户:getent passwd

选项:无

参数:无

该命令所显示的结果共7列,由:分隔,每列含义分别为:

用户名:密码(x):用户ID:组ID:描述信息:HOME目录:执行终端(默认bash)

这里的密码是不显示的,用x代替

创建用户:useradd

选项:(可省略)

-g:指定用户的组,如果不写该参数,会创建同名组并自动加入,写该参数需要组已存在,已存在同名组,必须使用-g

-d:指定用户home路径,不写该参数,则home目录默认在:/home/用户名

参数:用户名(不可省略)

该命令需要root身份执行

删除用户:userdel

选项:(可省略,默认删除用户时,home目录保留)

-r:删除用户的home目录

参数:用户名(不可省略)

该命令需要root身份执行

查看当前系统中的用户组:getent group

选项:无

参数:无

该命令所显示的3列信息分别为:

组名称:组认证(显示为x):组ID

创建用户组:groupadd

选项:无

参数:用户组名(不可省略)

该命令需要root身份执行

删除用户组:groupdel

选项:无

参数:用户组名(不可省略)

该命令需要root身份执行

查看用户所属组:id

选项:无

参数:用户名(可省略,默认查看当前用户)

修改用户所属组:usermod

选项:(不可省略)

-a:将用户追加至上边 -G 中提到的附加组中

-G:修改用户所属的附加群组

参数:(不可省略)

参数1:用户组名

参数2:用户名

一般固定语法:usermod -aG 用户组 用户名

含义:将指定用户加入指定用户组

该命令需要root身份执行

修改文件或目录的权限信息:chmod

选项:(可省略,默认只修改该目录权限)

-R:对目录内的全部内容应用同样的操作

参数:(不可省略)

参数1:权限(可选)

参数2:文件名或目录

权限共有三种:u、g、o

示例1:chmod u=rwx,g=rx,o=x hello.txt

含义:将hello.txt文件的权限修改为rwxr-x–x

示例2:chmod -R u=rwx,g=rx,o=x test

含义:将目录test以及目录内全部内容权限设置为:rwxr-x–x

权限可以用3位数字来表示:
r = 4,w = 2,x = 1
0:无任何权限,即—
1:仅有x权限, 即–x
2:仅有w权限, 即-w-
3:有w和x权限,即-wx
4:仅有r权限, 即r–
5:有r和x权限,即r-x
6:有r和w权限,即rw-
7:有全部权限, 即rwx

示例3:chmod 751 test

即chmod u=rwx,g=rx,o=x test

注意:只有文件、目录的所属用户或者root用户可以修改权限

修改文件或目录的所属用户和用户组:chown

选项:(可省略,默认只修改该目录权限)

-R:同chmod,对文件内全部内容应用相同规则

参数:(不可省略)

参数1:用户名

参数2:用户组名

参数3:文件或目录

参数1和参数2为可选项,之间需要以:隔开

示例1:chown root hello.txt

将hello.txt所属用户修改为root

示例2:chown :root hello.txt

将hello.txt所属用户组修改为root

示例3:chown root:itheima hello.txt

将hello.txt所属用户修改为root,用户组修改为itheima

示例4:chown -R root test

将目录test的所属用户修改为root并对目录内部全部内容应用同样规则

该命令需要root身份执行

Linux各类实用快捷键

清空屏幕:ctrl + l

强制停止当前执行的命令:ctrl + c

退出当前命令的输入:ctrl + c

退出账户登录:ctrl + d

退出某些特定程序的专属页面(例如:python解释器):ctrl + d

历史命令搜索:history

可以通过 !命令前缀,自动执行上一次匹配该前缀的命令

匹配历史命令:ctrl + r

输入内容去匹配历史命令
搜到以后,回车可以直接执行,左右键可以得到此命令(不执行)

光标跳到命令开头:ctrl + a

光标跳到命令结尾:ctrl + e

光标向左跳一个单词:ctrl + 键盘左键

光标向右跳一个单词:ctrl + 键盘右键

系统管理

安装、卸载、查找应用:yum

选项:

-y:自动确认,无需手动确认安装或卸载过程

参数:

参数1:【install、remove、search】三选一

参数2:软件名称

yum命令:RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题。

yum常用命令

列出所有可更新的软件清单:yum check-update

更新所有软件:yum update

仅安装指定的软件:yum install

仅更新指定的软件:yum update

列出所有可安裝的软件清单:yum list

删除软件包:yum remove

查找软件包:yum search

清除缓存目录下的软件包:yum clean packages

清除缓存目录下的 headers:yum clean headers

清除缓存目录下旧的 headers:yum clean oldheaders

Linux系统安装包格式:.RPM
Ubuntu系统安装包格式:.deb
Ubuntu软件管理器:apt管理器

yum命令需要联网,且需要root权限,也可以使用sudo提权

控制应用的启动和关闭:systemctl

选项:(五选一)

start:启动

stop:关闭

status:查看状态

enable:开启开机自启

disable:关闭开机自启

参数:服务名(不可省略)

Linux系统很多软件(内置或第三方)均支持使用systemctl命令控制:启动、停止、开机自启

能够被systemctl管理的软件,一般也被称为:服务

常用的系统内置服务

NetworkManager:主网络服务

network:副网络服务

firewalld:防火墙服务

sshd,ssh:FinalShell远程登陆Linux使用该服务

查看日期时间:date

选项:(可省略)

-d:用于日期计算

参数:+格式化字符串(可省略)
%Y :年
%y :年份后两位数字
%M :月份
%d :日
%H :小时
%M :分钟
%S :秒
%s :自1970-01-01 00:00:00 UTC 到现在的秒数(时间戳)

示例1:date -d ”+1 day“

含义:显示时间在当前时间基础上加1天

示例2:date “+%y-%m-%d %H:%M:%S”

含义:以“年-月-日 时:分:秒”的格式显示当前时间

查看主机名:hostname

修改主机名:hostnamectl

hostnamectl set-hostname 新主机名

修改主机名需要root用户

网络和连接

检查服务器是否联通:ping

选项:(可省略)

-c:检查的次数,不写该参数,则无限次持续检查

参数:ip或主机名(不可省略)

示例:ping -c 5 baidu.com

含义:检查baidu.com这个域名是否联通,并且只检查5次

下载网络文件:wget

选项:(可省略)

-b:后台下载,会将日志写入到当前工作目录的wget-log文件

参数:url(不可省略)

wget:非交互式的文件下载器

发起网络请求:curl

选项:(可省略,默认只是发送网络请求)

-O:用于下载文件,当url是下载链接时,可以使用此选项保存文件

参数:url(不可省略)

示例:curl cip.cc

含义:向该网站发起网络请求

cip.cc是一个公开的网站,可以获取本机的公网IP地址

curl命令也可用于下载文件、获取信息等

进程管理

查看进程:ps

选项:

-e:显示全部进程

-f:格式化形式展示全部信息

参数:无

查看指定进程固定语法:ps -ef | grep “关键字”

关闭进程:kill

选项:(可省略)

-9:强制关闭

参数:进程ID(不可省略)

系统监控

查看系统资源占用:top

类似windows的任务管理器

查看端口占用情况:nmap

选项:无

参数:被查看的ip地址(不可省略)

示例:nmap 127.0.0.1

含义:查看本机的端口占用情况

nmap非Linux自带命令,需要yum install nmap来安装

查看指定端口或进程占用情况:netstat

固定语法:netstat -anp | grep 端口号/进程号

示例:netstat -anp | grep 22

含义:查看包含22的端口号或者进程号的占用情况

netstat非Linux自带命令,需要yum install net-tools来安装

磁盘信息监控:df

选项:(可省略)

-h:以常用单位显示

参数:无

查看CPU/磁盘相关信息:iostat

选项:(可省略)

-x:显示更多信息

参数:(可省略)

参数1:刷新间隔

参数2:刷新次数

网络状态监控:sar

固定语法:sar -n DEV num1 num2
num1:刷新间隔
num2:刷新次数

由于该命令非常复杂,建议初学者先掌握如上固定写法

查看环境变量:env

常用写法:env | grep 变量名

取到环境变量的值:$

固定写法:$变量名

结合echo命令输出PATH的值:echo $PATH

配置环境变量:export

临时生效:
export 变量名=变量值

针对当前用户生效:
vim ~/.bashrc
export 变量名=变量值
source .bashrc

针对所有用户生效:
vim /etc/profile
export 变量名=变量值
source /etc/profile

添加环境变量PATH:
vim /etc/profile
export PATH=$PATH:路径
source /etc/profile

文件上传下载与压缩解压

上传和下载:rz 和 sz

上传:rz
下载:sz 文件路径

rz和sz非Linux自带命令,需要yum install lrzsz来安装

压缩和解压:tar、zip、unzip

Linux常用两种压缩格式:.tar 和 .gz

.tar文件只是简单封装,并没有压缩效果

.gz文件可以极大减小体积,起到很好的压缩效果

tar语法:tar [选项] 压缩文件名称 文件1 文件2 …

选项:

-c:创建压缩文件,用于压缩

-v:显示压缩/解压过程,用于查看进度

-x:解压模式

-f:要创建的文件或要解压的文件,-f必须处在最后一个选项

-z:gzip模式,不写该选项则为tarball格式,-z一般处于第一个选项

-C:选择解压的目的地,用于解压

zip语法:zip [选项] 文件名.zip 文件1 文件2 …

选项:

-r:如果被压缩的文件中包含文件夹是要写该参数

unzip语法:unzip [选项] 文件名.zip

选项:

-d:同-C 表示指定解压路径

固定组合:

创建tar格式的压缩文件:tar -cvf 压缩文件名.tar 文件1 文件2 …

创建gzip格式的压缩文件:tar -zcvf 压缩文件名.tar.gz 文件1 文件2 …

创建zip格式的压缩文件:zip -r 压缩文件名.zip 文件1 文件2 …

解压tar文件,并指定解压目录:tar -xvf 压缩文件名.tar -C 解压路径

解压.gz文件,并指定解压目录:tar -zxvf 压缩文件名.tar -C 解压路径

解压zip文件,并指定解压目录:unzip 文件名.zi -d 解压路径

解压文件可以不指定解压目录,默认解压至当前工作目录


总结

  本篇博客主要介绍了Linux系统的基本信息、Linux系统目录结构以及Linux常用命令和很多实用的快捷键。希望这些内容能帮助Linux初学者快速入门并逐渐掌握Linux操作系统。

  在实践中不断尝试和探索,相信你会逐渐掌握更多的Linux技能。祝你在Linux学习过程中取得进步!

你可能感兴趣的:(Linux,linux,运维,服务器,centos,ubuntu,unix)