对于运行在云主机里的Linux系统。我们通常使用ssh连接登录。
可以使用命令行 ssh + [username]@[IP address]
登录,或者使用特定的ssh连接客户端。
一、Linux系统使用注意
1、Linux严格区分大小写
Linux 和Windows不同,Linux严格区分大小写的,包括文件名和目录名、命令、命令选项、配置文件设置选项等。
==我们在操作 Linux 系统时要注意区分大小写的不同。==
2、Linux文件"扩展名"
我们都知道,Windows 是依赖扩展名区分文件类型的,比如,".txt" 是文本文件、".exe" 是执行文件,但Linux 不是。
Linux 系统通过权限位标识来确定文件类型,常见的文件类型有普通文件、目录、链接文件、块设备文件、字符设备文件等几种。Linux 的可执行文件就是普通文件被赋予了可执行权限。
Linux 中的一些特殊文件还是要求写 "扩展名" 的,但 Linux 不依赖扩展名来识别文件类型,写这些扩展名是为了帮助运维人员来区分不同的文件类型。这样的文件扩展名主要有以下几种:
- 压缩包:Linux 下常见的压缩文件名有 .gz、.bz2、.zip、.tar.gz、.tar.bz2、.tgz 等。
为什么压缩包一定要写扩展名呢?很简单,如果不写清楚扩展名,那么管理员不容易判断压缩包的格式,虽然有命令可以帮助判断,但是直观一点更加方便。就算没写扩展名,在 Linux 中一样可以解压缩,不影响使用。
- 二进制软件包:CentOS 中所使用的二进制安装包是 RPM 包,所有的 RPM 包都用".rpm"扩展名结尾,目的同样是让管理员一目了然。Ubuntu系统的软件包一般采用
.deb
格式。
- 程序文件:Shell 脚本一般用 ".sh" 扩展名结尾。
- 网页文件:网页文件一般使用 ".php" 等结尾,不过这是网页服务器的要求,而不是 Linux 的要求.
3、Linux中所有内容以文件形式保存
Linux中,一切皆文件
普通文件,类似于windows中文件的概念,可以分为一般文件(黑色)和可执行文件(绿色)。
一般文件特点其打开(编辑器打开)后会看到里面有内容,或者可以往其中写内容。
可执行文件在Windows 下一般为exe、msi、bat 等后缀,其特点就是双击之后可以直接运行。
目录文件类似于Windows中的文件夹。用于存储文件和文件夹。(天蓝色的)
!Linux文件.png
4、Linux中所有存储设备都必须在挂载之后才能使用
挂载其实就是给这些存储设备分配盘符,只不过 Windows 中的盘符用英文字母表示,例如c:,d:
。
而 Linux 中的盘符则是一个已经建立的空目录。我们把这些空目录叫作挂载点(可以理解为 Windows 的盘符),把设备文件(如 /dev/sdb)和挂载点(已经建立的空目录)连接的过程叫作挂载。
挂载过程是通过挂载命令实现的。
5、Linux系统的文件目录结构
Linux 系统不同于 Windows,没有 C 盘、D 盘、E 盘那么多的盘符,只有一个根目录(/),所有的文件(资源)都存储在以根目录(/)为树根的树形目录结构中。
!目录结构.png
在 Linux 根目录(/)下包含很多的子目录,称为一级目录。
例如 bin、boot、dev 等。
同时,各一级目录下还含有很多子目录,称为二级目录。
例如 /bin/bash、/bin/ed 等。
!文件目录2.png
路径:路径分为 绝对路径和相对路径。
绝对路径:不管当前工作路径是在哪,目标路径都会从“/”磁盘根下开始。
相对路径:除绝对路径之外的路径称之为相对路径,相对路径得有一个相对物(当前工作路径)。
只要看到路径以“/”开头则表示该路径是绝对路径,除了以“/”开头的路径称之为相对路径。
../
:表示上级目录(上一级)
./
:表示当前目录(同级),普通文件./
可以省略,可执行文件必须加./
文件夹名称/
:表示下级目录(下一级)
6、Linux系统的文件目录用途
Linux 基金会发布了 FHS (Filesystem Hierarchy Standard 文件系统层次化标准)。规定了主要文件夹的用途。
一级目录 |
功能(作用) |
/bin/ |
存放系统命令,普通用户和 root 都可以执行。放在 /bin 下的命令在单用户模式下也可以执行。 |
/boot/ |
系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序(grub)文件等。 |
/dev/ |
设备文件保存位置。 |
/etc/ |
配置文件保存位置。系统内所有采用默认安装方式(rpm 安装)的服务配置文件全部保存在此目录中,如用户信息、服务的启动脚本、常用服务的配置文件等。 |
/home/ |
普通用户的主目录(家目录)。每个用户有一个默认登录和保存自己数据的位置,在 /home/ 下建立一个与用户名相同的目录。 |
/lib/ |
系统调用的函数库保存位置。 |
/media/ |
挂载目录,建议用于挂载媒体设备,如软盘和光盘。 |
/mnt/ |
挂载目录,早期 Linux 中只有这个挂载目录。建议用于挂载额外的设备,如 U 盘和移动硬盘。 |
/misc/ |
挂载目录,建议用于挂载 NFS 服务的共享目录。管理员可决定在哪个目录中挂载设备。 |
/opt/ |
第三方安装的软件保存位置,手工安装的源码包软件可以安装到此目录中。 |
/root/ |
root 的主目录,普通用户的主目录在 /home/ 下,root 主目录直接在根目录下。 |
/sbin/ |
保存与系统环境设置相关的命令,只有 root 可以使用,但也有些命令允许普通用户查看。 |
/srv/ |
服务数据目录,系统服务启动后可以在此目录中保存所需的数据。 |
/tmp/ |
临时目录,存放临时文件,所有用户可访问和写入。建议此目录中不保存重要数据,最好每次开机时清空。 |
FHS 针对根目录中包含的子目录仅限于上表,但除此之外,Linux 系统根目录下通常还包含下面几个一级目录。
一级目录 |
功能(作用) |
/lost+found/ |
存放因系统意外崩溃或关机产生的文件碎片。系统启动时,fsck 工具会检查并修复损坏的文件系统。每个分区都有此目录,如根分区的 /lost+found 。 |
/proc/ |
虚拟文件系统,数据保存在内存中,主要保存系统内核、进程、外部设备状态和网络状态等信息。例如,/proc/cpuinfo 保存 CPU 信息。 |
/sys/ |
虚拟文件系统,与 /proc/ 类似,数据保存在内存中,主要保存与内核相关的信息。 |
二、Linux命令的执行
注意:命令在终端中使用
-
指令(command):第一部分是要执行的指令名称,或可执行文件(如批处理脚本)。
-
选项(options):
- 选项通常以
-
开头,如 -h
。
- 可用完整选项名,前面带
--
,如 --help
。
- 方括号
[]
表示该部分是可选的。
-
参数(parameters):
parameter1 parameter2...
是附加在选项后或命令后的参数。
指令、选项和参数之间使用空格分隔。
不论空格数量多少,Shell 都视为一个空格,空格是特殊字符,需谨慎使用。
按下 [Enter]
键后,该指令立即执行。[Enter]
表示一行指令的结束并开始执行。
- 如果指令太长,可以使用反斜线(
\
)+回车换行,使指令继续到下一行。
2. 命令的基本使用
1. 显示日期的指令:date
-
使用方法:
在命令行输入 date
,可以查看当前Linux系统的日期和时间。
-
格式化输出:
若想以特定格式显示日期,可以使用格式化选项。
!date.png
- 参数前使用
+
进行格式化输出。
2. 显示日历的指令:cal
-
使用方法:
输入 cal
可查看当前月份的日历。
-
显示整年日历:
还可以显示特定年份的月历。
[dmtsai@study ~]$ cal [month] [year]
-
错误处理:
测试不合法的月份会显示错误信息:
!cal.png
3. 简单好用的计算器:bc
总结
- 指令的两种状态:
- 指令执行后直接返回命令提示符。
- 进入指令的环境,直到用特定指令退出。
- 判断环境:
当光标处于类似 [dmtsai@study ~]$
的提示符后,表示处于命令行等待输入状态。
三、常用快捷键
1. [Tab]
按键
-
功能:
- 在Bash shell中,
[Tab]
键用于命令和文件的自动补全。
- 可减少输入错误,快速找到正确的命令或文件名。
-
用法:
- 命令补全:在输入命令时,输入前几个字符后按
[Tab]
,可以列出以该字符开头的所有命令。
[dmtsai@study ~]$ ca[Tab][Tab]
- 文件补齐:在指定路径后输入部分文件名,再按
[Tab]
,列出匹配的文件。
[dmtsai@study ~]$ ls -al ~/.bash[Tab][Tab]
- 选项/参数补齐:对于某些命令,输入参数后按
[Tab]
可显示可用的选项。
[dmtsai@study ~]$ date --[Tab][Tab]
2. [Ctrl]-c
按键
-
功能:
-
用法:
-
功能:
-
用法:
- 当想要退出命令行或程序时,可以直接按
[Ctrl]-d
,相当于输入exit
。
4. [Shift]+[Page Up]
和 [Shift]+[Page Down]
按键
-
功能:
-
用法:
- 使用
[Shift]+[Page Up]
可以向上翻页查看之前的输出,[Shift]+[Page Down]
则向下翻页。
三、常用命令
1. uname:查看操作系统信息
- 命令:
uname [参数]
含义:username
- 作用:获取计算机操作系统相关信息
-
参数:-a
:获取全部系统信息(类型、主机名、内核版本、发布时间、开源计划)
!uname.png
2. ls:查看目录下文件
- 命令:
ls
(完整写法:list show)
- 作用:列出当前工作路径下的文件名称
- 列出当前路径下的文件:直接输入ls
- 列出指定路径的文件(绝对路径)
- 列出指定路径的文件(相对路径)
!ls.png
- 带参数选项:
-l
:以详细列表形式展示
-a
:显示所有文件(包括隐藏文件)
-h
:以可读性较高的格式展示文件大小
!ls_带参数.png
备注:
- 多个选项可以合并,例如:
ls -la
等价于ls -l -a
。
- 文件大小单位可能是“K”、“M”、“G”、“T”。
- 隐藏文件以
.
开头。
.
表示当前路径,..
表示上级路径。
- 文件类型:第一列的第一个字母
d
表示目录,-
表示文件。
- 文件夹通常为蓝色,文件为黑/白色(视终端配置而定)。
简写:ll
等价于ls -l
。
!ls -l = ll.png
3. pwd:显示当前路径
- 命令:
pwd
(print working directory)
!pwd.png
4. cd:切换目录
- 命令:
cd
(change directory)
- 作用:切换当前工作目录
说明:
- 不写路径时,切换到当前用户的家目录。
~
表示当前用户的家目录。cd ~
也是切换到家目录。
!cd.png
5. clear:清除屏幕信息
6. whoami:显示当前用户
7. reboot:重启操作系统
8. shutdown:关闭操作系统
用法:
-
立即关机:
# shutdown now
-
延迟关机(60秒后关机):
# shutdown
-
指定延迟时间:参数-h [数字]
# shutdown -h 20
含义:延迟关机,20秒后关机。
-
取消关机:参数 -c
# shutdown -c
含义:取消等待中的关机(或重启)。
-
重启计算机:
- 延迟重启:参数
-r
# shutdown -r 60
含义:60秒后重启。
- 立即重启:
# shutdown -r now
含义:立即重启。
重启等待期间,仍然可以使用shutdown -c
取消操作
-
halt命令:
# halt
含义:相当于shutdown -h 0
,立即关机。
9. type:查看命令类型
10. history:查看历史命令
- 命令:
history
-
作用:列出最近输入的一千条 Shell 命令信息。
!history.png
11.hostnamectl主机名命令
查看主机名:#hostname
临时更改主机名:#hostname 临时主机名
永久更改主机名:编辑/etc/sysconfig/network文件,在文件中定义永久主机名
主机名分3类,静态的(static)、瞬态的(transient)、和灵活的(pretty)。
- 静态主机名也称为内核主机名,是系统在启动时从/etc/hostname内自动初始化的主机名。相当于永久更改
- 瞬态主机名是在系统运行时临时分配的主机名,相当于临时更改
- 灵活主机名则允许使用特殊字符的主机名,例如"MaYun's Host"
主机名有关的文件为/etc/hostname,它是在系统初始化的时候被读取的,并且内核根据它的内容设置瞬态主机名
查看主机名
hostname
查看当前主机名。
hostnamectl
查看静态、瞬态和灵活主机名的详细信息。
!查看主机名.png
下面是适用于 Ubuntu 系统的主机名管理命令的详细笔记整理,包括静态、瞬态和灵活主机名的设置方法:
设置静态和瞬态主机名
-
命令:
sudo hostnamectl set-hostname 新主机名
-
示例代码:
# sudo hostnamectl set-hostname heimaserver01.itcast.cn
-
含义:设置主机名称为 heimaserver01.itcast.cn
,此设置影响静态和瞬态主机名。
设置灵活主机名
-
命令:
sudo hostnamectl set-hostname --pretty "灵活主机名"
-
示例代码:
# sudo hostnamectl set-hostname --pretty "yunwei's server01"
-
含义:单独设置灵活主机名为 yunwei's server01
。
-
注意:
-
文件:/etc/hostname
-
操作:
- 编辑文件:
sudo nano /etc/hostname
- 输入新的静态主机名。
- 保存并退出编辑器。
-
注意:修改后,确保在 /etc/hosts
文件中也更新相应的主机名。
四、Linux帮助—man page与info page
1. --help
显示命令的帮助
!--help.png
2. ### Man手册的使用
man
是 Linux 下的重要命令,用于查看系统或程序的手册,提供命令的用法、参数、返回值等信息。
基本格式
man [选项] [命令或程序或函数]
常用选项
-k
:查询命令的简要说明。
-f
:查询命令的详细说明。
-a
:显示所有与查询项相关的手册页。
手册章节
man
手册通常分为多个章节,常用章节包括:
- 用户命令
- 系统调用
- C库函数
- 特殊文件
- 文件格式和约定
- 游戏和屏保
- 杂项
- 系统管理命令
查询指定章节的手册页:
man [章节号] [命令或程序]
例如,查询 scanf
的 C 库函数手册页:
man 3 scanf
Man手册汉化
在 Ubuntu 20.04 上汉化 man
手册:
- 安装中文手册:
sudo apt install manpages-zh
- 编辑
.zshrc
文件:
vim ~/.zshrc
添加以下内容:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
alias cman="man -M /usr/share/man/zh_CN/"
- 使改动生效:
source ~/.zshrc
彩色 Man 手册
在 .zshrc
中启用彩色手册:
- 打开
.zshrc
文件:
vim ~/.zshrc
- 修改
plugins
行:
plugins=(git zsh-syntax-highlighting colored-man-pages)
-
关闭并重新打开终端以应用更改。
注意,这是我从我自己的md笔记复制的,如果有格式问题可以复制到obsidian软件阅读,该软件是一个开源免费软件