Linux常用命令及说明,配图

一、Linux的目录结构

1.Linux操作系统的目录结构

Linux的目录结构是一个树型结构
Windows 系统可以拥有多个盘符, 如 C盘、D盘、E盘
Linux没有盘符这个概念, 只有一个根目录 /, 所有文件都在它下面

2.Linux路径的描述方式

在Linux系统中,路径之间的层级关系,使用:/来表示(快速区分,Linux第一个字母L左斜)

在Windows系统中,路径之间的层级关系,使用:\ 来表示

3./在Linux中的表示

出现在开头的/表示:根目录

出现在后面的/表示:层次关系

二、基础Linux命令

1.命令与命令行

我的感觉就是,你打开终端看到的就是命令行,输入的就是命令

2.Linux命令基础格式

通用格式:command [-options] [parameter]

command: 命令本身
-options:[可选,非必填]命令的一些选项,可以通过选项控制命令的行为细节
parameter:[可选,非必填]命令的参数,多数用于命令的指向目标等

3.ls命令

3.1.ls基本格式

ls [-a -l -h] [Linux路径]

-a-l-h 是可选的选项
Linux路径是此命令可选的参数

3.2.ls命令作用

当不使用选项和参数,直接使用ls命令本体,表示:以平铺形式,列出当前工作目录下的内容(默认是HIOME下的文件或文件夹)

image

3.3.HOME目录

每个用户在Linux系统的专属目录,默认在:/home/用户名

3.4.当前工作目录

Linux命令在执行命令的时候,需要一个工作目录,打开命令行程序默认的工作目录是用户的HOME目录

3.5.ls+路径

ls /    // 代表查看根目录

根目录查看方式

image

image

3.6.参数-a

查看全部文件、文件夹包括隐藏文件,带点的文件是隐藏文件

image

3.7.参数-l

以列表(竖向排列)的形式展示内容,并展示更多信息

image

3.8.参数-h

要与-l一同使用,可以把内存大小更人性化的展示出来,小于1k不显示单位

image-20240323173314752

3.9.组合使用的两种方式(自行组合)

ls -a -l
ls -al

4.cd命令(Change Directory)

4.1.cd基本格式

cd [Linux路径]

cd命令无需选项,只有参数,表示要切换到哪个目录下
cd命令直接执行,不写参数,表示回到用户的HOME目录

4.2作用

可以通过cd命令,更改当前所在的工作目录

下图的home笔误应该是HOME或者说是/home/用户名

image

4.3特殊路径符

.表示当前目录,比如 cd ./Desktop 表示切换到当前目录下的Desktop目录内,和cd Desktop效果一致

..表示上一级目录,比如:cd .. 即可切换到上一级目录,cd ../.. 切换到上二级的目录

~表示HOME目录,比如:cd ~ 即可切换到HOME目录或cd ~/Desktop,切换到HOME内的Desktop目录,有点像vue里用@代表src

4.4小细节

如果你要找当前目录下的下级目录直接cd 需要的目录名字,如果加/代表从根目录去找,具体可以看看绝对目录相对目录的概念

image

5.pwd命令(Print Work Directory)

5.1pwd基本格式

pwd

pwd命令,无选项,无参数,直接输入pwd即可

5.2作用

输出当前所在的工作目录

image

6.mkdir(Make Directory)

6.1mkdir基本格式

mkdir [-p] Linux路径

参数必填,表示Linux路径,即要创建的文件夹的路径,相对路径或绝对路径均可

-p选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录

6.2作用

创建目录

image

image

7.touch

7.1touch基本格式

touch Linux路径

touch命令无选项,参数必填,表示要创建的文件路径,相对、绝对、特殊路径符均可以使用

7.2作用

创建文件

image

8.cat

8.1cat基本格式

cat Linux路径

cat没有选项,只有必填参数,参数表示:被查看的文件路径,相对、绝对、特殊路径符都可以使用

8.2作用

查看文件内容

image

9.more

9.1more基本格式

more Linux路径

没有选项,只有必填参数,参数表示:被查看的文件路径,相对、绝对、特殊路径符都可以使用

9.2作用

查看文件内容,与cat相比支持翻页,用于查看文本较多的文件

空格下一页,b上一页,q退出

例如  more /etc/service

image

10.cp(copy)

10.1cp的基本格式

cp [-r] 参数1 参数2

-r选项,可选,用于复制文件夹使用,表示递归

参数1,Linux路径,表示被复制的文件或文件夹(代表windows ctrl+c)

参数2,Linux路径,表示要复制去的地方(代表windows ctrl+v)

10.2作用

cp命令可以用于复制文件\文件夹,给路径的时候就连带着改名了

image

11.mv(move)

11.1move的基本格式

mv 参数1 参数2

参数1,Linux路径,表示被移动的文件或文件夹

参数2,Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在

11.2作用

相当于剪切

image

12.rm(remove)

12.1rm的基本格式

rm [-r -f] 参数1 参数2 ... 参数n

同cp命令一样,-r选项用于文件夹操作

-f表示force,强制删除(不会弹出提示确认信息)

普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示

所以一般普通用户用不到-f选项

参数1、参数2、......、参数N 表示要删除的文件或文件夹路径,按照空格隔开

12.2作用

删除文件/文件夹

image

12.3通配符

rm命令支持通配符 *,用来做模糊匹配

符号* 表示通配符,即匹配任意内容(包含空),示例:

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

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

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

image

系统管理员下删除su - root+密码进入(密码不显示)exit退出

image

12.4程序员必会技能(清空控制台)

先进入root模式,使用前记得拍个快照

rm -rf /*

13.which

13.1which的基本格式

which 要查找的命令

13.2作用

可以通过which命令,查看所使用的一系列命令的程序文件存放在哪里

image

14.find

14.1find的基本格式

find 起始路径 -name "被查找的文件名"

find 起始路径 -size +|-n[kMG]

可以使用通配符

+、- 表示大于和小于,不写就代表等于

n表示大小数字

kMG表示大小单位,k(小写字母)表示kb,M表示MB,G表示GB

14.2作用

可以通过find命令去搜索指定的文件

image

find / -size 100k

image

15.grep

15.1grep的基本格式

grep [-n] 关键字 文件路径

选项-n,可选,表示在结果中显示匹配的行的行号。

参数,关键字,必填,表示过滤的关键字,带有空格或其它特殊符号,建议使用""(双引号)将关键字包围起来

参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口

15.2作用

可以通过grep命令,从文件中通过关键字过滤文件行

image

15.3管道符

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

image

16.wc

16.1wc的基本格式

wc [-c -m -l -w] 文件路径

选项,-c,统计bytes数量

选项,-m,统计字符数量

选项,-l,统计行数

选项,-w,统计单词数量

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

16.2作用

通过wc命令统计文件的行数、单词数量等

image

17.echo

17.1echo的基本格式

echo 要输出的内容

就跟print一样,要是输出的多用""包裹起来,要是想输出一些特殊的用反引号`包裹

17.2作用

输出语句

image

image

如果想用/ echo /就行

但是想用\ 得echo \\

18.重定向符

18.1重定向符的基本格式

重定向符:>和>>

> ,将左侧命令的结果,覆盖写入到符号右侧指定的文件中

>>,将左侧命令的结果,追加写入到符号右侧指定的文件中

18.2作用

添加内容

image

image

19.tail

19.1tail的基本格式

tail [-f -num] Linux路径

参数,Linux路径,表示被跟踪的文件路径

选项,-f,表示持续跟踪

选项, -num,表示,查看尾部多少行,不填默认10行

19.2作用

倒着查看内容

image

-f的使用样例

image

image

ctrl+c退出

20.vi\vim编辑器

20.1介绍

vim 是 vi 的加强版本,兼容 vi 的所有指令,不仅能编辑文本,而且还具有 shell 程序编辑的功能,可以不同颜色的字体来辨别语法的正确性,极大方便了程序的设计和编辑性。

20.2vi\vim编辑器的三种工作模式

命令模式(Command mode)

命令模式下,所敲的按键编辑器都理解为命令,以命令驱动执行不同的功能。此模型下,不能自由进行文本编辑。

输入模式(Insert mode)

也就是所谓的编辑模式、插入模式。 此模式下,可以对文件内容进行自由编辑。

底线命令模式(Last line mode)

以:开始,通常用于文件的保存、退出。

image

20.3命令模式

vi 文件路径或者vim 文件路径

如果文件路径表示的文件不存在,那么此命令会用于编辑新文件

如果文件路径表示的文件存在,那么此命令用于编辑已有文件

模式 命令 描述
命令模式 i 在当前光标位置进入输入模式
命令模式 a 在当前光标位置之后进入输入模式
命令模式 I 在当前行的开头,进入输入模式
命令模式 A 在当前行的结尾,进入输入模式
命令模式 o 在当前光标下一行进入输入模式
命令模式 O 在当前光标上一行进入输入模式
命令模式 ESC 任何情况下输入esc都能回到命令模式
命令模式 键盘上、键盘k 向上移动光标
命令模式 键盘下、键盘j 向下移动光标
命令模式 键盘左、键盘h 向左移动光标
命令模式 键盘右、键盘l 向后移动光标
命令模式 0 移动光标到当前行的开头
命令模式 $ 移动光标到当前行的结尾
命令模式 pageup( Pgup) 向上翻页
命令模式 pangdown(PgDn) 向下翻页
命令模式 / 进入搜索模式
命令模式 n 向下继续搜索
命令模式 N 向上继续搜索
命令模式 dd 删除光标所在行的内容
命令模式 ndd n是数字,表示删除当前光标向下n行
命令模式 yy 复制当前行
命令模式 nyy n是数字,复制当前行和下面的n行
命令模式 p 粘贴复制的内容
命令模式 u 撤销修改
命令模式 ctrl+r 反向撤销修改
命令模式 gg 跳到首行
命令模式 G 跳到行尾
命令模式 dG 从当前行开始,向下全部删除
命令模式 dgg 从当前行开始,向上全部删除
命令模式 d$ 从当前光标开始,删除到本行的结尾
命令模式 d0 从当前光标开始,删除到本行的开头

20.4底线命令模式

输入进入底线命令模式

模式 命令 描述
底线命令模式 :wq 保存并退出
底线命令模式 :q 仅退出
底线命令模式 :q! 强制退出
底线命令模式 :w 仅保存
底线命令模式 :set nu 显示行号
底线命令模式 :set nonu 不显示行号
底线命令模式 :set paste 设置粘贴模式
底线命令模式 :set nopaste 不设置粘贴模式

三、Linux用户和权限

1.root用户

root用户拥有最大的系统操作权限,而普通用户在许多地方的权限是受限的。

普通用户的权限,一般在其HOME目录内是不受限的

一旦出了HOME目录,大多数地方,普通用户仅有只读和执行权限,无修改权限

image

1.1su(Switch User)和exit

格式:su [-] [用户名]

-符号是可选的,表示是否在切换用户后加载环境变量(后续讲解),建议带上

参数:用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root

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

1.2sudo

使用sudo命令,为普通的命令授权,临时以root身份执行。

基本格式 sudo 其他命令

1.3为普通用户配置sudo认证

1.切换到root用户

2.进入sudoers文件中,两种方式①visudovim /etc/sudoers

3.在最后一行加用户名 ALL=(ALL) NOPASSWD: ALL (NOPASSWD前是一个制表符按一下TAB就行,还有不要写成PASSWORD了)

image

4.esc +:wq+回车

5.回到普通用户

image

2.用户、用户组管理

image

Linux中关于权限的管控级别有2个级别,分别是:

针对用户的权限控制

针对用户组的权限控制

2.1用户组管理

以下命令需root用户执行

①创建用户组

groupadd 用户组名

②删除用户组

groupdel 用户组名

image

2.2用户管理

以下命令需root用户执行

①创建用户

useradd [-g -d] 用户名

  • 选项:-g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g

  • 选项:-d指定用户HOME路径,不指定,HOME目录默认在:/home/用户名

②删除用户

userdel [-r] 用户名

  • 选项:-r,删除用户的HOME目录,不使用-r,删除用户时,HOME目录保留

③查看用户所属组

id [用户名]

  • 参数:用户名,被查看的用户,如果不提供则查看自身

④修改用户所属组

usermod -aG 用户组 用户名,将指定用户加入指定用户组

⑤查看系统中的用户

getent passwd

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

⑥查看所有组

getentgroup

包含3份信息,组名称:组认证(显示为x):组ID

image

image

image

3.查看权限控制

3.1查看Linux文件的权限管控信息

image

序号1,表示文件、文件夹的权限控制信息

序号2,表示文件、文件夹所属用户

序号3,表示文件、文件夹所属用户组

3.2序号1

权限细节总共分为10个槽位

image

r(read)

  • 针对文件可以查看文件内容

  • 针对文件夹,可以查看文件夹内容,如ls命令

w(write)

  • 针对文件表示可以修改此文件

  • 针对文件夹,可以在文件夹内:创建、删除、改名等操作

x(execute)

  • 针对文件表示可以将文件作为程序执行

  • 针对文件夹,表示可以更改工作目录到此文件夹,即cd进入

4.修改权限控制chmod

4.1chmod的基本格式

chmod [-R] 权限 文件或文件夹

选项:-R,对文件夹内的全部内容应用同样的操作

4.2作用

使用chmod命令,修改文件、文件夹的权限信息

例子去除用户写的权限

image

image

image

image

4.3权限的数字序号(推荐)

权限可以用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

image

5.修改权限控制chown

5.1chown的基本格式

chown [-R] [用户] [:] [用户组] 文件或文件夹

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

选项,用户,修改所属用户

选项,用户组,修改所属用户组

:用于分隔用户和用户组

5.2作用

使用chown命令,可以修改文件、文件夹的所属用户和用户组

普通用户无法修改所属为其它用户或组,所以此命令只适用于root用户执行

image

image

用户组和其他都修改

image

四、Linux实用操作

1.快捷键

1.1ctrl+c强制停止

  • Linux某些程序的运行,如果想要强制停止它,可以使用快捷键ctrl + c

  • 命令输入错误,也可以通过快捷键ctrl + c,退出当前输入,重新输入

image

1.2ctrl+d退出或登出(等同于exit)

  • 可以通过快捷键:ctrl + d,退出账户的登录

image

  • 或者退出某些特定程序的专属页面

image

  • 不能用于退出vi/vim,有时候注意文档提示有用q退出的

image

1.3history历史命令搜索

image

1.4!快速搜索之前的写过的命名

!+前缀+回车,倒着寻找最近的

image

1.5ctrl+r关键字搜索

正着一条

image

1.6光标移动快捷键

ctrl + a,跳到命令开头(shift+7,我喜欢用这个word和写代码的时候都能用)

ctrl + e,跳到命令结尾(shift+1)

ctrl + 键盘左键,向左跳一个单词

ctrl + 键盘右键,向右跳一个单词

1.7清屏

ctrl+l(clear)也就是 翻页,鼠标上滚还是会有

reset,鼠标上滚没有,但是会有history

2.软件安装

2.1Centos安装yum命令安装软件

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

格式:yum [-y] [install | remove | search] 软件名称

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

  • install:安装

  • remove:卸载

  • search:搜索

yum命令需要root权限,可以su切换到root,或使用sudo提权(前提你配过)。

yum命令需要联网

2.2Ubuntu安装apt命令安装软件

apt:Ubuntu使用apt管理器

格式:apt [-y] [install | remove | search] 软件名称

用法和yum一致,同样需要root权限

  • install:安装

  • remove:卸载

  • search:搜索

3.控制软件启用和关闭

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

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

格式:systemctl start | stop | status | enable | disable | restart 服务名

  • start 启动
  • stop 关闭
  • status 查看状态
  • enable 开启开机自启
  • disable 关闭开机自启

NetworkManager,主网络服务

network,副网络服务

firewalld,防火墙服务

sshd,ssh服务(FinalShell远程登录Linux使用的就是这个服务)

image

reboot重启

4.软连接

相当于windows的快捷方式,把文件/文件夹连接到另一个位置

格式:ln -s 参数1 参数2

  • s选项,创建软连接

  • 参数1:被链接的文件或文件夹

  • 参数2:要链接去的目的地

image

image

连接后对以前文件/文件夹的操作现在对软连接也生效

想要删除软连接走rm操作就行

5.date命令

格式:date [-d] [+格式化字符串]

  • -d按照给定的字符串显示日期,一般用于日期计算
  • 格式化字符串:通过特定的字符串标记,来控制显示的日期格式

%Y

%y 年份后两位数字 (00..99)

%m 月份 (01..12)

%d 日 (01..31)

%H 小时(00..23)

%M 分钟(00..59)

%S 秒 (00..60)

%s 自 1970-01-01 00:00:00 UTC到现在的秒数

image

image

5.1修改时区

切换root用户

rm -f /etc/localtime

rm -f /etc/localtime

image

5.2自动校准

通过ntp程序自动校准系统时间

安装ntp:yum -y install ntp

启动并设置开机自启:

  • systemctl start ntpd

  • systemctl enable ntpd

当ntpd启动后会定期的帮助我们联网校准系统的时间

也可以手动校准(需root权限):ntpdate -u ntp.aliyun.com

image

6.IP地址、主机名

6.1ip地址

通过命令:ifconfig,查看本机的ip地址,如无法使用ifconfig命令,可以安装:yum -y install net-tools

看ens33就行

image

6.2127.0.0.1

这个IP地址用于指代本机

6.30.0.0.0

特殊IP地址

可以用于指代本机

可以在端口绑定中用来确定绑定关系

在一些IP地址限制中,表示所有IP的意思,如放行规则设置为0.0.0.0,表示允许任意IP访问

6.3主机名

查看主机名hostname

修改主机名hostnamectl set-hostname 主机名,需要root

image

6.4本地域名解析

image

C:\Windows\System32\drivers\etc下的hosts.ics

image

image

image

6.5配置固定IP

1.在VMware Workstation(或Fusion)中配置IP地址网关和网段(IP地址的范围)

2.在Linux系统中手动修改配置文件,固定IP

image

image

修改后重启

root下输入

我喜欢一步一步的写

cd /etc/sysconfig/

cd network-scripts/

vim ifcfg-ens33

当然你可以一步到位

vim /etc/sysconfig/network-scripts/ifcfg-ens33

以上二选一

image

修改

IPADDR="192.168.21.130"
NETMASK="255.255.255.0"
GATEWAY="192.168.21.2"
DNS1="192.168.21.2"

image

保存并退出wq

重启systemctl restart network

7.网络传输

7.1ping命令

通过ping命令,检查指定的网络服务器是否是可联通状态

格式:ping [-c num] ip或主机名

  • 选项:-c,检查的次数,不使用-c选项,将无限次数持续检查

  • 参数:ip或主机名,被检查的服务器的ip地址或主机名地址

image

image

7.2wget命令

wget是非交互式的文件下载器,可以在命令行内下载网络文件

格式:wget [-b] url

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

  • 参数:url,下载链接

7.3curl命令

curl可以发送http网络请求,可用于:下载文件、获取信息等

格式:curl [-O] url 大哦

  • 选项:-O,用于下载文件,当url是下载链接时,可以使用此选项保存文件(下载用,仅查看不需要)

  • 参数:url,要发起请求的网络地址

image

7.4端口

端口,是设备与外界通讯交流的出入口。端口可以分为:物理端口和虚拟端口两类

  • 物理端口:又可称之为接口,是可见的端口,如USB接口,RJ45网口,HDMI端口等

  • 虚拟端口:是指计算机内部的端口,是不可见的,是用来操作系统和外部进行交互使用的

Linux系统可以支持65535个端口,这6万多个端口分为3类进行使用

  • 公认端口:1~1023,通常用于一些系统内置或知名程序的预留使用,如SSH服务的22端口,HTTPS服务的443端口,非特殊需要,不要占用这个范围的端口

  • 注册端口:1024~49151,通常可以随意使用,用于松散的绑定一些程序\服务

  • 动态端口:49152~65535,通常不会固定绑定程序,而是当程序对外进行网络链接时,用于临时使用。

查看端口占用情况

使用nmap命令

安装nmap:yum -y install nmap

格式:nmap IP地址

image

查看指定端口的占用情况

通过netstat命令

安装netstat:yum -y install net-tools

格式:netstat -anp | grep 端口号

image

posted @ 2024-06-04 23:20  芊嵛  阅读(51)  评论(0编辑  收藏  举报