一些常见Linux命令及其示例:
FinallShell
终端使用帮助相关快捷键终端:
alt 命令历史
ctrl 切换到命令输入框命令输入框:
alt 命令历史
tab 补全
ctrl 切换到终端列表窗口:
alt/tab/esc 关闭窗口
上下箭头 选择行
1.帮助类命令
man <command>
:显示命令的手册页。- 示例:
man ls
查看ls命令的手册页。
- 示例:
info <command>
:显示更详细的命令信息。- 示例:
info grep
查看grep命令的详细信息。
- 示例:
whatis <command>
:简短描述命令的功能。- 示例:
whatis ls
输出ls命令的简短描述。
- 示例:
https://www.u.tools/download/
alt+空格唤醒
2. 开关机命令
- 首先执行
sync
命令,将内存中的数据同步到硬盘中。shutdown
命令:关闭系统,相当于shutdown -h now
。reboot
命令:重启系统,相当于shutdown -r now
。shutdown [选项] 时间
:指定时间后关机。
基本语法:
sync
:将内存中的数据同步到硬盘中。poweroff
:关闭系统,相当于shutdown -h now
。reboot
:重启系统,相当于shutdown -r now
。shutdown [选项] 时间
:指定时间后关机。
3. 服务管理
这些指令是用于管理服务器的各种服务。以下是对每个指令的详细解释:
CentOS 6
service 服务名 start
:开启服务service 服务名 stop
:关闭服务service 服务名 restart
:重启服务service 服务名 status
:查看服务状态
CentOS 7
systemctl start 服务名
:开启服务systemctl stop 服务名
:关闭服务systemctl restart 服务名
:重启服务systemctl status 服务名
:查看服务状态systemctl --type service
:查看正在运行的服务类型
-
查看网络服务状态
- 命令:
systemctl status network.service
- 作用:查看名为
network.service
的网络服务当前的状态,包括是否正在运行、运行状态等。
- 命令:
-
关闭服务
- 命令:
systemctl stop network.service
- 作用:停止名为
network.service
的网络服务。
- 命令:
开机启动配置永久开关服务命令
在CentOS 6和CentOS 7系统中用于永久开关服务命令的相关信息。以下是对这些指令的详细描述:
CentOS 6
- chkconfig
chkconfig
:查看所有服务的自启配置。chkconfig 服务名 off
:关闭服务的自启。chkconfig 服务名 on
:开启服务的自启。chkconfig 服务名 --list
:查看服务开机启动状态。
CentOS 7
-
systemctl
systemctl enable 服务名
:打开服务的自启。systemctl disable 服务名
:关闭服务的自启。systemctl is-enabled 服务名
:查看服务是否自启。systemctl list-unit-files
:查看所有服务的自启配置。
-
关闭防火墙自动启动
systemctl status firewalld
:查看防火墙的状态。systemctl disable firewalld
:关闭防火墙的自启。
-
开启防火墙自动启动
systemctl enable firewalld
:开启防火墙的自启。
-
systemctl is-enabled firewalld
:- 作用:检查防火墙服务
firewalld
是否被启用,显示其当前启动状态。
- 作用:检查防火墙服务
网络管理器服务
网络配置文件位置
/etc/resolv.conf:用于配置DNS解析服务器。
/etc/hosts:用于设置主机名与IP地址的映射关系。
/etc/sysconfig/network:用于设置本机的主机名和默认路由。
/etc/sysconfig/network-scripts/ifcfg-:用于配置每个网卡的详细信息。
-
查看网络管理器服务的当前:
systemctl status NetworkManager.service
:查看网络管理器服务的当前状态。
-
关闭网络管理器服务:
systemctl stop NetworkManager
:停止网络管理器服务。systemctl is-enabled NetworkManager
:检查网络管理器服务是否被启用,显示其当前启动状态。systemctl disable NetworkManager
:禁用网络管理器服务,防止其在系统启动时自动启动。
- 无自动网络管理:NetworkManager负责自动管理网络连接,包括无线网络的自动连接和有线网络的配置。关闭后,这些功能将不可用。
- 手动配置需求:用户需要手动配置网络连接,包括IP地址、网关、DNS等设置。
Linux系统的运行级别(runlevel),
共有7种运行级别,但在CentOS7中只剩下两种:3和5。各运行级别的作用如下:
- 运行级别0:系统停机状态,系统默认运行级别不设为0,否则不能正常启动。
- 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登录。
- 运行级别2:多用户状态(没有NFS),不支持网络。
- 运行级别3:完全的多用户状态(有NFS),登录后进入控制台命令行模式。
- 运行级别4:系统未使用,保留。
这些指令和运行级别信息对于系统管理员来说非常有用,可以帮助他们管理和配置系统服务及运行环境。
4. 文件目录类命令
-
ls
:列出目录内容。-a
: 显示全部的文件,连隐藏档(开头为 . 的文件)一起列出来(常用)。-l
: 长数据串列出,包含文件的属性与权限等等数据(常 用)。
每行列出的信息依次是:文件类型与权限 链接数 文件属主 文件属组 文件大小用byte来表示 建立或最近修改的时间 名字。
-
.
当前路径,..
上一级 -
pwd
- 功能描述: 显示当前工作目录的绝对路径。
- 基本语法:
pwd
- 案例实接:
-
cd <directory>
:切换目录。- 示例:
cd /home/user
切换到/home/user目录。 cd 绝对路径
:切换到指定绝对路径的目录。cd 相对路径
:切换到指定相对路径的目录。cd ~ 或者 cd
:回到自己的家目录。cd -
:回到上一次所在的目录。cd ..
:回到当前目录的上一级目录。cd -P
:跳转到实际物理路径,而非快捷方式路径。cd /
:回到系统根目录。
- 示例:
-
mkdir <directory>
:创建目录。-
示例:
mkdir newfolder
创建一个名为newfolder的新目录。 -
-p
:创建多层目录 -
创建一个多级目录:
mkdir -p aa/bb/cc
-
-
touch 创建文件,已存在的目录下
- touch example.txt
-
cp <source源文件> <destination目标>
:复制文件或目录。- 示例:
cp file1.txt file2.txt
复制file1.txt为file2.txt。 source
: 源文件或源目录dest
: 目标文件或目标目录-r
: 递归复制整个文件夹
cp -r /path/to/source/folder /path/to/destination//*
所有文件
cp aa/* aaa\cp
复制不用提示
- 示例:
-
rm <file>
:删除文件。- 示例:
rm file.txt
删除file.txt文件 - rmdir aa/bb/cc
空的
文件夹 - -r:
递归删除目录
及其内容。
-f:强制删除
,不提示用户进行确认。
-v:显示命令的详细执行过程。
rm -rf /* 递归删除
- 示例:
-
mv <source> <destination>
:移动或重命名文件。- 示例:
mv oldname.txt newname.txt
将oldname.txt重命名为newname.txt。 mv aa aa.back
备份删除
- 示例:
4.1 文件查看
-
cat
-n hello.txt 古老的, 查看文件内容并显示行号 -
more
(vi) hello.txt 分页查看文件- 空白键 (space): 向下翻一页。
Enter 键: 向下翻一行。
q 或 Ctrl+Q: 代表立刻离开 more,不再显示该文件内容。
Ctrl+F: 向下滚动一屏。
Ctrl+B: 返回上一屏。
=: 输出当前行的行号。
Ctrl+A: 输出文件名和当前行的行号。
- 空白键 (space): 向下翻一页。
-
less
要查看的文件- 支持向前和向后滚动页面。提供搜索功能,允许查找特定字符串。
- 空白键: 向下翻一页。
- PageDown: 向下翻一页的功能。
- PageUp: 向上翻一页的功能。
- /字符串: 向下搜寻「字符串」的功能;
n
向下查找;N
向上查找。 - ?字符串: 向上搜寻「字符串」的功能;
n
向上查找;N
向下查找。 - q: 离开 less 这个程序。
- 这些指令的作用如下:
-
head
显示文件头部内容:
默认情况下,head
命令显示文件的前10行内容-n <行数>
: 指定显示内容的行数。- 查看文件的前2行:
head -n 2 smartd.conf
-
tail
显示文件尾部内容 ,实时日志 :默认情况下,
tail
命令显示文件的最后10行内容。-
-n <行数>
: 指定显示内容的行数。 -
-f
: 实时监控文件的所有新增内容。 -
查看文件的最后2行:
tail -n 2 smartd.conf
-
实时监控文件的新增内容:
tail -f smartd.conf
-
-
echo
命令用于打印输出信息到控制台。-
echo -e “hello\tworld”
-
-e
: 支持转义字符的转换。\t
: 制表符(Tab)\n
: 新行\\
: 输出反斜杠本身
-
-
>> 和 > 追加,覆盖
ll > a.txt
:将标准输出重定向到文件,覆盖原有内容。> file
:将标准输出重定向到文件,覆盖原有内容。>> file
:将标准输出追加到文件末尾。cat file1 > file2
:将文件1的内容覆盖到文件2。echo "content" >> file
:将字符串“content”追加到文件末尾。echo -e "hello\tworld" >> file
-
创建链接和软链接 :
ln [-s] [原文件或目录(绝对路径)] [链接名]
:创建硬链接或软链接。 如果不带-s
选项,默认创建硬链接;带-s
选项则创建软链接。- 删除软链接时应使用
rm -f
,而不是rm -rf
。 - 浅蓝色:符号链接(快捷方式)
- 用绝对路径
- cd -P 链接路径
- l 链接文件类型
- 可以通过
ll
命令查看文件属性,软链接的首字母为l
,并且最后一列会有指向的目标路径。
-
history这个命令用于查看已经执行过的历史命令。
- 查看
/root/.bash_history
文件中的历史命令 less /root/.bash_history
你可以使用less
命令来逐页查看这些历史记录。
- 查看
4.2 vi/vim
Vim 是一款强大的文本编辑器,广泛应用于程序员和其他专业人士。下面是图片中提到的部分按键及其功能的简要介绍:
4.2.1 一般模式基本操作
键盘 | 效果 |
---|---|
dd | 删除光标所在行 |
dnd | 删除光标所在行及之后的 n 行 |
u | 撤销上一步操作 |
x/X | 删除光标处的一个字符/删除光标左侧的一个字符 |
yy | 复制光标所在行 |
dw | 删除光标后的单词 |
p | 将剪贴板内容粘贴到光标下方 |
光标移动操作
键盘 | 效果 |
---|---|
gg | 移动到文件头 |
G | 移动到文件尾 |
数字 + G | 移动到指定行 |
^ | 移动到行首 |
$ | 移动到行尾 |
ZZ | 如果没有修改,直接退出;如果有修改,保存后退出 |
4.2.2 编辑和命令行模式
这张图片展示了 Vim 编辑器的基本模式切换和命令模式的操作指南。Vim 是一款功能强大且高效的文本编辑器,广泛应用于编程和其他文本处理任务。以下是图片中提到的主要内容:
VIM的编辑模式
- 进入编辑模式:按下
i
,I
,o
,O
,a
,A
,r
,R
中任何一个键即可进入编辑模式。 - 注意点:在 Linux 中,按下这些键时,画面左上方会出现
[INSERT]
字样,此时可以进行编辑。 - 退出编辑模式:按
Esc
键返回一般模式。
VIM的命令模式
- 进入命令模式:在一般模式下输入
:
或?
进入命令模式。 - 命令模式操作:
w
:保存文件q
:退出 Vim:
:进入命令模式:wq , wq!
:保存并退出:set nu
:显示行号/pattern
:向前查找 pattern?pattern
:向后查找 pattern:n
:向下查找下一个匹配项:N
:向上查找前一个匹配项:noh, nohlsearch
:取消高亮显示- 全局替换的命令是 :
%s/旧/新/g
4.2.3 模式切换
Vim 编辑器中三个主要模式之间的切换关系。Vim 是一种高级的文本编辑器,具有多种模式,每种模式都有不同的功能和键盘快捷方式。三种模式及其切换方法:
-
一般模式 (Normal Mode):
- 默认模式,在此模式下可以进行大多数的文本编辑操作,如复制、粘贴、删除等。
- 切换到编辑模式:按
i
或a
键。 - 切换到命令模式:按
:
或/
键。
-
编辑模式 (Insert Mode):
- 在此模式下可以插入新的文本。
- 切换回一般模式:按
Esc
键。
-
命令模式 (Command Mode):
- 在此模式下可以执行各种命令,如保存文件、退出编辑器等。
- 切换回一般模式:按
Esc
键。
非正常退出的情况,即当用户尝试不保存更改就退出时,Vim 会生成一个交换文件(.swp
文件),并在下次打开文件时提醒用户。用户可以通过删除 .swp
文件来解决这个问题。
5. 查看主机名
[root@101~]# hostname
192.168.1.101
修改主机名
-
使用文本编辑器(如vim)打开
/etc/hostname
文件。- 在终端中输入
vim /etc/hostname
并按回车键。
- 在终端中输入
-
将文件中的内容更改为新的主机名,例如
localhost.localdomain
。 -
保存并退出编辑器。
-
更新主机名缓存以使更改生效。
- 输入命令
hostnamectl set-hostname 新的主机名
并按回车键。
- 输入命令
-
验证主机名是否已更改。
- 再次使用
hostname
命令检查主机名。
- 再次使用
IP地址映射到主机名
Linux系统的网络配置文件/etc/hosts
的内容。这个文件用于将IP地址映射到主机名。以下是对图片内容的解释:
-
本地环回地址:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
这些条目是标准的本地环回地址映射,通常用于本机上的进程间通信。
-
特定主机映射:
192.168.6.100 centos100
这个条目将IP地址
192.168.6.100
映射到主机名centos100
。这意味着当系统需要访问IP地址为192.168.6.100
的设备时,可以通过主机名centos100
来引用它。
4. 熟悉时间日期类命令
date
显示当前的日期和时间
显示当前年份:date +%Y
显示当前月份:date +%m
显示当前日期:date +%d
显示当前年月日时分秒:date “+%Y-%m-%d %H:%M:%S”
date -s "YYYY-MM-DD HH:MM:SS"
: 设置系统时间为指定的日期和时间
date -d 'days ago'
: 显示前天的时间
date -d '- days ago'
: 显示明天的时间
-
使用
timedatectl
设置系统时间:sudo timedatectl set-time "2024-11-12 20:30:00"
-
使用
date
设置系统时间并同步到硬件时钟:sudo date -s "2024-11-12 20:30:00" sudo hwclock -w
cal
:显示日历。
查看硬件时钟
hwclock
: 显示硬件时钟的时间。hwclock
同步系统时间和硬件时钟
-
hwclock -w
或hwclock --systohc
: 将系统时间写入硬件时钟。sudo hwclock -w
-
hwclock -s
或hwclock --hctosys
: 将硬件时钟时间读取到系统时间。sudo hwclock -s
时间同步服务
timedatectl
: 用于查看和设置系统时间和时区。- 查看当前时间配置:
timedatectl status
- 设置时区:
sudo timedatectl set-timezone Asia/Shanghai
- 启用NTP时间同步:
sudo timedatectl set-ntp true
- 查看当前时间配置:
定期同步时间
chrony
和ntpd
: 这些是NTP客户端,用于定期同步系统时间。- 安装
chrony
:sudo apt-get install chrony # Debian/Ubuntu sudo yum install chrony # CentOS/RHEL
- 启动并启用
chrony
服务:sudo systemctl start chronyd sudo systemctl enable chronyd
- 安装