简介

很多刚接触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 安静模式,减少命令执行时的输出信息。
-qq 更安静模式,进一步抑制输出。
-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
二维码

发表评论