简介
很多刚接触linux的同学对常用的命令可能不是很熟悉,这篇文章将会对一些基础常用命令做记录
文件操作类
列出文件
列出当前所在位置文件
ls
列出其他位置文件
ls 文件夹路径
例如当前所在位置为root,我需要列出更目录下的home文件夹里面的文件
ls /home
进入文件夹
cd 文件夹名称或者文件夹路径
例如当前用户在root目录,需要进入根目录下的home文件夹
cd /home
如果当前用户在更目录下面
cd home
返回上一级目录
cd ../
创建文件夹
mkdir 文件夹名称或者文件夹路径以及名称
例如我当前所在位置为root,需要在root下面创建一个home文件夹
mkdir home
例如我当前所在位置为root,我需要在根目录下面的home文件夹里面创建一个admin文件夹
mkdir /home/admin
删除文件
rm 文件名称或者文件路径以及文件名称
这个命令只能用于删除文件,如果是文件夹则不能使用这个命令
例如我现在所在位置为root,需要删除更目录下的home下面的xxx.txt这个文件
rm /home/xxx.txt
删除文件夹
rm -rf 文件夹名称或者文件夹路径以及名称
这个命令删除会直接删除,不用确认
例如我现在所在位置为root,root下面有一个home文件夹,我需要删除它
rm -rf home
例如我现在所在位置为root,需要删除更目录下面的home文件夹里面的admin文件夹
rm -rf /home/admin
复制文件
cp 文件名或者文件路径以及文件名 复制到的路径以及文件名
例如我现在所在位置为root,下面有一个xxx.txt文件,我需要复制一份作为备份,复制出来的文件名为xxx1.txt就存放在当前目录下
cp xxx.txt xxx1.txt
例如我现在所在位置为root,下面有一个xxx.txt文件,我需要复制一份到根目录下面的home目录下面,文件名不变
cp xxx.txt /home
例如我现在所在位置为root,下面有一个xxx.txt文件,我需要复制一份到根目录下面的home目录下面,文件名需要改成xxx2.txt
cp xxx.txt /home/xxx2.txt
例如我现在所在位置为根目录下的home,但是我需要复制的文件在更目录下的root文件夹里面,我需要从root文件夹里面复制一份xxx.txt这个文件到根目录下面的home里面,文件名保持不变
cp /root/xxx.txt /home
例如我现在所在位置为根目录下的home,但是我需要复制的文件在更目录下的root文件夹里面,我需要从root文件夹里面复制一份xxx.txt这个文件到根目录下面的home里面,文件名改成xxx1.txt
cp /root/xxx.txt /home/xxx1.txt
移动文件
mv 文件名称或者文件路径及名称 需要移动到的路径或者需要移动到的路径以及文件名称
例如我现在所在位置为root目录下,root目录下有一个xxx.txt文件,我需要移动到根目录下的home文件夹里面,但是文件名称保持不变
mv xxx.txt /home
例如我现在所在位置为root目录下,root目录下有一个xxx.txt文件,我需要移动到根目录下的home文件夹里面,但是文件名称需要改变成xxx1.txt
mv xxx.txt /home/xxx1.txt
例如我现在所在位置为root目录下,根目录下的home目录下有一个xxx.txt文件,我需要移动到根目录下的root文件夹里面,但是文件名称保持不变
mv /home/xxx.txt /root
例如我现在所在位置为root目录下,根目录下的home目录下有一个xxx.txt文件,我需要移动到根目录下的root文件夹里面,但是文件名称需要改变成xxx1.txt
mv /home/xxx.txt /root/xxx1.txt
文件编辑
文件编辑常用的是vim工具,很多linux都以及自带这个工具的,但是也有的没有带,没有带的需要自己安装,这个后面会说到的
这个工具可以用来编辑文件,创建文件
打开/创建文件
vi 文件名或者文件路径以及文件名
例如我现在所处位置为root目录下,我需要更目录下的home目录下创建一个xxx.txt文件或者是需要打开更目录下的home目录里面的xxx.txt文件
vi /home/xxx.txt
编辑文件
文件打开后按键盘上的【i】进入编辑,当按【i】键后左下角出现“INSERT”则是以及进入编辑模式了
保存文件
文件编辑好了后,按【ESC】键,看到左下角的“INSERT”不见了就是退出编辑模式了,但是并没有爆出,需要输入“:w”然后回车保存
退出打开的文件
和保存文件一样,保存完成后可以输入“:q”然后回车退出
保存并退出
当然,可以在编辑完成的时候直接输入“:wq”然后回车保存并退出
不保存强制退出
当你编辑了文件之后又想不改动了,这时候可以强制退出不保存,这样刚刚修改的内容就不会保存,强制退出文件也是需要按【ESC】退出文件编辑模式,然后输入“:q!”并回车强制退出文件不保存
vim工具更多命令
命令模式
所谓的命令模式就是刚刚进入vim编辑器的时候就处于命令模式,这时候可以使用下面命令
命令 | 作用 |
---|---|
i | 切换到输入模式,在光标当前位置开始输入文本 |
x | 删除当前光标所在处的字符 |
: | 切换到底线命令模式,以在最底一行输入命令 |
a | 进入插入模式,在光标下一个位置开始输入文本 |
o | 在当前行的下方插入一个新行,并进入插入模式 |
O | 在当前行的上方插入一个新行,并进入插入模式 |
dd | 剪切当前行 |
yy | 复制当前行 |
p(小写) | 粘贴剪贴板内容到光标下方 |
P(大写) | 粘贴剪贴板内容到光标上方 |
u | 撤销上一次操作 |
Ctrl + r | 重做上一次撤销的操作 |
:w | 保存文件 |
:q | 退出 Vim 编辑器 |
:q! | 强制退出Vim 编辑器,不保存修改 |
输入模式
按i后进入输入模式,在输入模式下可以使用下面操作
按键 | 作用 |
---|---|
字符按键以及Shift组合 | 输入字符 |
ENTER,回车键 | 换行 |
BACK SPACE,退格键 | 删除光标前一个字符 |
DEL,删除键 | 删除光标后一个字符 |
方向键 | 在文本中移动光标 |
HOME/END | 移动光标到行首/行尾 |
Page Up/Page Down | 上/下翻页 |
Insert | 切换光标为输入/替换模式,光标将变成竖线/下划线 |
ESC | 退出输入模式,切换到命令模式 |
底线命令模式
在命令模式下按下 :(英文冒号)就进入了底线命令模式
在底线命令模式下可以使用下面操作
命令 | 作用 |
---|---|
:w | 保存文件。 |
:q | 退出 Vim 编辑器。 |
:wq | 保存文件并退出 Vim 编辑器。 |
:q! | 强制退出Vim编辑器,不保存修改。 |
ESC键 | 退出底线命令模式 |
解压/压缩文件
.zip格式
unzip参数表
参数 | 作用 |
---|---|
-d <目录> | 指定解压文件的目标目录。 |
-o | 覆盖已存在的文件,不提示确认。 |
-n | 不覆盖已存在的文件,跳过。 |
-q | 安静模式,减少命令执行时的输出信息。 |
更安静模式,进一步抑制输出。 | |
-P <密码> | 指定解压密码,用于解压受密码保护的 ZIP 文件。 |
-l | 列出 ZIP 文件的内容,不实际解压。 |
-t | 测试 ZIP 文件的完整性,不解压。 |
-u | 仅更新或新增文件,跳过相同内容的已有文件。 |
-v | 显示 ZIP 文件的详细信息,包括文件列表和压缩率。 |
-j | 忽略 ZIP 文件中的目录结构,将所有文件解压到同一目录。 |
-C | 文件名大小写不敏感(适用于跨平台解压)。 |
-X | 保留文件的时间戳和权限信息。 |
-Z | 以 zipinfo 模式运行,显示更详细的 ZIP 文件信息。 |
例如我现在所在位置为root目录下,这个目录下有一个hhh.zip这个文件,我需要直接解压到压缩包当前当前目录下
unzip 文件名或者文件路径以及文件名
unzip hhh.zip
例如我现在所在位置为root目录下,这个目录下有一个hhh.zip这个文件,我需要解压到/root/2这个文件夹里面
unzip 文件名或者文件路径以及文件名 -d /root/2
unzip hhh.zip -d /root/2
上面表里面所列出来的参数只有-d这个是加在需要解压的文件名后面的,其他的都是直接加在unzip后面,例如我现在需要覆盖已存在的文件,不提示确认
unzip -o 文件名或者文件路径以及文件名
.tar.gz格式
tar命令参数表
参数 | 全写/含义 | 作用 |
---|---|---|
c |
--create |
新建压缩包 |
x |
--extract 或 --get |
解压文件 |
t |
--list |
查看压缩包中的文件列表 |
v |
--verbose |
显示详细的处理过程(显示文件名) |
f |
--file |
指定压缩包的文件名(必须紧跟文件名,放在最后一个参数前) |
z |
(无长选项) | 通过 gzip 压缩/解压(*.tar.gz) |
j |
(无长选项) | 通过 bzip2 压缩/解压(*.tar.bz2) |
J |
(无长选项) | 通过 xz 压缩/解压(*.tar.xz) |
C |
--directory |
切换到指定目录后再操作 |
p |
--preserve-permissions |
保留原文件权限 |
P |
--absolute-names |
使用绝对路径(不去掉开头的 /) |
--exclude=PATTERN |
排除符合模式的文件或目录 | |
--remove-files |
打包后删除原文件 | |
--overwrite |
解包时覆盖已有文件 |
打包为tar格式
打包一个文件夹为tar格式,例如我现在需要打包123这个文件夹,打包后的名字是123.tar
tar -cvf 123.tar 123
tar -cvf 打包后的文件名 文件夹路径以及名称
打包并启用gzip压缩(tar.gz)格式
打包并启用gzip压缩,例如我现在需要打包并压缩123这个文件夹,打包压缩后的名字是123.tar.gz
tar -zcvf 123.tar.gz 123
tar -zcvf 打包后的文件名 需要打包的文件夹路径以及名称
打包并启用bzip2压缩(tar.bz2)格式
打包并使用bzip2压缩,例如我现在需要打包123这个文件夹,使用bzip2压缩,打包后的名字是123.tar.bz2
tar -jcvf 123.tar.bz2 123
tar -jcvf 打包后的名字 需要打包的文件夹路径以及名称
解压tar格式
解压tar包,例如我现在有一个123.tar的包需要解压
tar -xvf 123.tar
tar -xvf 需要解压的包名
解压tar.gz格式
解压tar.gz包,例如我现在有一个123.tar.gz的文件需要解压
tar -zxvf 123.tar.gz
tar -zxvf 需要解压的包名
解压tar.bz2格式
解压tar.bz2包,例如我现在有一个123.tar.bz2的文件需要解压
tar -jxvf 123.tar.bz2
tar -jxvf 需要解压的包名
查看包内容
查看压缩包内容,例如我现在又一个123.tar.gz的包需要查看
tar -tvf 123.tar.gz
tar -tvf 需要查看的包名
解压到指定文件夹
解压到指定文件夹,例如我现在有一个123.tar.gz的文件夹,需要解压到根目录下的home目录下的123文件夹里面
tar -zxvf 123.tar.gz -C /home/123
tar -zxvf 需要解压的包名 -C 需要解压到的目录
系统工具
查看占用端口
lsof -i -nP
防火墙(firewall)
开放端口
开放tcp协议的5672端口
firewall-cmd --zone=public --add-port=5672/tcp --permanent
命令模板,如果只需要开放一个端口则只填写一个端口,需要开放一个端口组则填写(开放端口号起-开放端口号止)
firewall-cmd --zone=public --add-port=端口号或者端口组(例如单个端口:5672,端口组:5000-5100)/协议 --permanent
关闭端口
关闭5672端口,协议TCP
firewall-cmd --zone=public --remove-port=5672/tcp --permanent
命令模板,如果只需要关闭一个端口则只填写一个端口,需要关闭一个端口组则填写(开放端口号起-开放端口号止)
firewall-cmd --zone=public --remove-port=端口号或端口组(例如单个端口:5672,端口组:5000-5100)/协议 --permanent
配置立即生效
firewall-cmd --reload
查看开放的端口
firewall-cmd --zone=public --list-ports
临时关闭防火墙
临时关闭,重启后防火墙启动
systemctl stop firewalld
永久关闭防火墙
永久关闭,重启后防火墙不启动,但是使用这个命令不会立即停止,需要重启后防火墙才关闭,建议先使用临时关闭命令在使用这个命令
systemctl disable firewalld
查看防火墙状态
firewall-cmd --state
启动防火墙
systemctl start firewalld
防火墙开机自启
systemctl enable firewalld
查看内存使用
free -m