一些常见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
备份删除
- 示例:
-
cat
-n hello.txt 古老的, 查看文件内容并显示行号 -
more
(vi) hello.txt 分页查看文件- 空白键 (space): 向下翻一页。
Enter 键: 向下翻一行。
q 或 Ctrl+Q: 代表立刻离开 more,不再显示该文件内容。
Ctrl+F: 向下滚动一屏。
Ctrl+B: 返回上一屏。
=: 输出当前行的行号。
Ctrl+A: 输出文件名和当前行的行号。
- 空白键 (space): 向下翻一页。
4.1 文件查看
-
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
文件来解决这个问题。
4. 熟悉时间日期类命令
date
:显示或设置系统日期和时间。- 示例:
date
显示当前日期和时间。
- 示例:
cal
:显示日历。- 示例:
cal 2023
显示2023年的日历。
- 示例:
5. 用户管理命令
useradd <username>
:添加新用户。- 示例:
useradd john
添加一个名为john的新用户。
- 示例:
userdel <username>
:删除用户。- 示例:
userdel john
删除用户john。
- 示例:
passwd <username>
:设置或更改用户密码。- 示例:
passwd john
更改用户john的密码。
- 示例:
6. 组管理命令
groupadd <groupname>
:添加新组。- 示例:
groupadd developers
添加一个名为developers的新组。
- 示例:
groupdel <groupname>
:删除组。- 示例:
groupdel developers
删除组developers。
- 示例:
gpasswd -a <user> <group>
:将用户添加到组。- 示例:
gpasswd -a john developers
将用户john添加到developers组。
- 示例:
7. 文件权限命令
chmod <permissions> <file>
:更改文件权限。- 示例:
chmod 755 file.txt
设置file.txt的权限为755。
- 示例:
chown <user>:<group> <file>
:更改文件所有者和组。- 示例:
chown john:developers file.txt
将file.txt的所有者改为john,组改为developers。
- 示例:
8. 搜索查找类命令
find <path> -name <pattern>
:在指定路径下查找符合模式的文件。- 示例:
find /home -name "*.txt"
在/home目录下查找所有扩展名为.txt的文件。
- 示例:
grep <pattern> <file>
:在文件中搜索匹配的行。- 示例:
grep "error" log.txt
在log.txt文件中搜索包含"error"的行。
- 示例:
9. 压缩和解压缩命令
tar -czvf archive.tar.gz <directory>
:创建gzip压缩的tar归档文件。- 示例:
tar -czvf backup.tar.gz /home/user
创建/home/user目录的备份。
- 示例:
tar -xzvf archive.tar.gz
:解压gzip压缩的tar归档文件。- 示例:
tar -xzvf backup.tar.gz
解压backup.tar.gz文件。
- 示例:
zip -r archive.zip <directory>
:创建ZIP压缩文件。- 示例:
zip -r backup.zip /home/user
创建/home/user目录的备份。
- 示例:
unzip archive.zip
:解压ZIP文件。- 示例:
unzip backup.zip
解压backup.zip文件。
- 示例:
10. 磁盘分区类命令
fdisk -l
:列出所有磁盘分区信息。- 示例:
fdisk -l
列出所有磁盘和分区。
- 示例:
mkfs.ext4 /dev/sdX1
:格式化分区为ext4文件系统。- 示例:
mkfs.ext4 /dev/sda1
格式化/dev/sda1为ext4文件系统。
- 示例:
mount /dev/sdX1 /mnt/point
:挂载分区。- 示例:
mount /dev/sda1 /mnt/data
挂载/dev/sda1到/mnt/data。
- 示例:
11. 进程线程类命令
ps aux
:显示所有进程的详细信息。- 示例:
ps aux
显示所有进程。
- 示例:
top
:实时显示系统中各个进程的资源占用情况。- 示例:
top
打开top界面。
- 示例:
kill <pid>
:终止指定进程。- 示例:
kill 1234
终止PID为1234的进程。
- 示例:
pkill <process_name>
:通过进程名终止进程。- 示例:
pkill sshd
终止所有sshd进程。
- 示例:
12. 了解系统定时任务命令
crontab -e
:编辑当前用户的cron任务。- 示例:
crontab -e
编辑当前用户的cron任务。
- 示例:
crontab -l
:列出当前用户的cron任务。- 示例:
crontab -l
列出当前用户的cron任务。
- 示例:
@reboot /path/to/script.sh
:在系统启动时运行脚本。- 示例:
@reboot /home/user/startup.sh
在系统启动时运行/home/user/startup.sh脚本。
- 示例:
在Linux终端中,不同颜色用于区分不同类型的文件和目录。以下是常见的颜色及其代表的文件类型:
13. 默认颜色配置(基于LS_COLORS
环境变量)
- 蓝色:目录
- 绿色:可执行文件
- 红色:压缩文件(如
.tar.gz
、.zip
等) - 浅蓝色:符号链接(快捷方式)
- 黄色:设备文件(如块设备、字符设备)
- 粉色:图形文件(如图片)
- 灰色:其他文件(如文本文件、配置文件等)
- 红色闪烁:挂载的文件系统为只读
- 浅绿色:FIFO(命名管道)
- 浅蓝色:套接字文件
自定义颜色配置
用户可以通过修改LS_COLORS
环境变量来自定义颜色配置。例如:
export LS_COLORS='di=01;34:ln=01;36:ex=01;32:*.tar.gz=01;31:*.zip=01;31:*.jpg=01;35'
di
:目录ln
:符号链接ex
:可执行文件*.tar.gz
:压缩文件*.zip
:压缩文件*.jpg
:图片文件
使用dircolors
工具
dircolors
工具可以帮助管理和查看颜色配置:
dircolors -p # 显示默认颜色配置
dircolors ~/.dircolors # 使用自定义的颜色配置文件
$PATH
是一个环境变量,在 Unix 和 Linux 操作系统中非常重要。它存储了一组目录的路径,这些目录包含可执行文件(即程序)。当你在终端中输入一个命令时,shell 会按照 $PATH
中列出的目录顺序搜索相应的可执行文件。
扩展命令搜索范围:用户可以通过修改 $PATH
来添加自己编写的脚本或安装的第三方软件的路径,这样就可以像使用系统自带的命令一样方便地调用这些程序。
如何查看和修改 $PATH
-
查看
$PATH
:echo $PATH
这个命令会输出当前
$PATH
环境变量的值,通常是一系列由冒号 (:
) 分隔的目录路径。 -
临时修改
$PATH
:export PATH=$PATH:/new/path
这个命令会在当前 shell 会话中临时添加一个新路径到
$PATH
的末尾。关闭终端后,这个修改将失效。 -
永久修改
$PATH
:
要永久性地修改$PATH
,你需要编辑你的 shell 配置文件,如.bashrc
、.bash_profile
或.profile
(取决于你使用的 shell 和配置习惯)。例如,编辑.bashrc
文件:nano ~/.bashrc
在Nano编辑器中,你可以使用以下步骤来退出:
-
按下
Ctrl
+X
键。这将打开一个菜单,询问你是否要保存更改。 -
如果你想保存文件,请按下
Y
键,然后按Enter
键。- 如果不想保存文件,请直接按
N
键,然后按Enter
键。
- 如果不想保存文件,请直接按
这样就可以成功退出Nano编辑器了。
在文件末尾添加:
export PATH=$PATH:/new/path
保存文件后,使更改生效:
source ~/.bashrc