常见Linux命令
1.常见Linux 命令
Linux 命令快查网站https://wangchujiang.com/linux-command/
目录切换
cd [目录名称]
:切换到该目录下的目录cd ..(或cd../)
:切换到上一层目录cd /
:切换到系统根目录cd ~
:切换到用户主目录cd -
: 切换到上一个操作所在目录
目录操作
-
ls
:显示目录中的文件和子目录的列表。例如:ls /home
,显示/home
目录下的文件和子目录列表。 -
ll
:ll
是ls -l
的别名,ll 命令可以看到该目录下的所有目录和文件的详细信息 -
mkdir [名称]
:创建新目录(新增)。例如:mkdir rds、mkdir -m 755 my_directory
,创建一个名为my_directory
的新目录,并将其权限设置为 755,即所有用户对该目录有读、写和执行的权限。 -
find [路径] [表达式]
:在指定目录及其子目录中搜索文件或目录(查找),非常强大灵活。例如:
① 列出当前目录及子目录下所有文件和文件夹:
find .
;② 在
/home
目录下查找以.txt
结尾的文件名:find /home -name "*.txt"
,忽略大小写:find /home -i name "*.txt"
;③ 当前目录及子目录下查找所有以
.txt
和.pdf
结尾的文件:find . \( -name "*.txt" -o -name "*.pdf" \)
或find . -name "*.txt" -o -name "*.pdf"
。 -
pwd
:显示当前工作目录的路径。 -
rmdir [选项] 目录名
:删除空目录(删除)。例如:rmdir -p my_directory
,删除名为my_directory
的空目录,并且会递归删除my_directory
的空父目录,直到遇到非空目录或根目录。-
注意:子目录被删除之前应该是空目录。就是说,该目录中的所有文件必须用rm命令全部,另外,当前工作目录必须在被删除目录之上,不能是被删除目录本身,也不能是被删除目录的子目录。
-
-p:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除;
--ignore-fail-on-non-empty:此选项使rmdir命令忽略由于删除非空目录时导致的错误信息;
-v或-verboes:显示命令的详细执行过程;
--help:显示命令的帮助信息;
--version:显示命令的版本信息。
-
-
rm [选项] 文件或目录名
:删除文件/目录(删除)。例如:rm -r my_directory
,删除名为my_directory
的目录,-r
(recursive,递归) 表示会递归删除指定目录及其所有子目录和文件。rm -rf [名称]
强制删除 -
cp [选项] 源文件/目录 目标文件/目录
:复制文件或目录(移动)。例如:cp file.txt /home/file.txt
,将file.txt
文件复制到/home
目录下,并重命名为file.txt
。cp -r source destination
,将source
目录及其下的所有子目录和文件复制到destination
目录下,并保留源文件的属性和目录结构。cp -rfb ./* ../backup
,将当前目录下所有文件,复制到当前目录的兄弟目录 backup 文件夹中。-a:此参数的效果和同时指定"-dpR"参数相同;
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-l:对源文件建立硬连接,而非复制文件;
-p:保留源文件或目录的属性;
-r:递归处理,将指定目录下的所有文件与子目录一并处理;
-s:对源文件建立符号连接,而非复制文件;
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b:覆盖已存在的文件目标前将目标文件备份;
-v:详细显示命令执行的操作。 -
mv [选项] 源文件/目录 目标文件/目录
:移动文件或目录(移动),也可以用于重命名文件或目录。例如:mv file.txt /home/file.txt
,将file.txt
文件移动到/home
目录下,并重命名为file.txt
。mv
与cp
的结果不同,mv
好像文件“搬家”,文件个数并未增加。而cp
对文件进行复制,文件个数增加了。
文件操作
-
touch [选项] 文件名..
:创建新文件或更新已存在文件(新增)。例如:touch file1.txt file2.txt file3.txt
,创建 3 个文件,中间需要空格隔开。实例:创建
job1.md
文件,并写入job 1
echo "job 1" > job1.md
-
vim 文件名
:修改文件的内容。相当于一个编制器。vim 文件名------>进入文件----->命令模式------>按i进入编辑模式----->编辑文件 ------->按Esc进入底行模式----->输入:wq/q!
(输入 wq 代表写入内容并退出,即保存;输入 q!代表强制退出不保存)。 -
tail 文件名
:日志的查看(查) 。命令tail -f 文件
可以对某个文件进行动态监控,例如 Tomcat 的日志文件, 会随着程序的运行,日志会变化,可以使用tail -f catalina-2024-11-20.log
监控日志的变化 。 -
less [选项] 文件名
:用来浏览文字档案的内容。用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。例如less /var/log/***.log
选项:
-e:文件内容显示完毕后,自动退出;
-f:强制显示文件;
-g:不加亮显示搜索到的所有关键词,仅显示当前显示的关键字,以提高显示速度;
-l:搜索时忽略大小写的差异;
-N:每一行行首显示行号;
-s:将连续多个空行压缩成一行显示;
-S:在单行显示较长的内容,而不换行显示;
-x<数字>:将TAB字符显示为指定个数的空格字符。
-r:能够显示设置的颜色。 -
cat/more
:文件的查看。
文件压缩
打包并压缩文件
-
Linux 中的打包文件一般是以
.tar
结尾的,压缩的命令一般是以.gz
结尾的。而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般.tar.gz
。tar -zcvf 打包压缩后的文件名 要打包压缩的文件
,其中:- z:调用 gzip 压缩命令进行压缩
- c:打包文件
- v:显示运行过程
- f:指定文件名
比如:假如 test 目录下有三个文件分别是:
aaa.txt
、bbb.txt
、ccc.txt
,如果我们要打包test
目录并指定压缩后的压缩包名称为test.tar.gz
可以使用命令:tar -zcvf test.tar.gz aaa.txt bbb.txt ccc.txt
或tar -zcvf test.tar.gz /test/
。解压压缩包
-
命令:
tar [-xvf] 压缩文件
其中 x 代表解压
示例:
- 将
/test
下的test.tar.gz
解压到当前目录下可以使用命令:tar -xvf test.tar.gz
- 将 /test 下的 test.tar.gz 解压到根目录/usr 下:
tar -xvf test.tar.gz -C /usr
(-C
代表指定解压的位置)
- 将
文件权限
操作系统中每个文件都拥有特定的权限、所属用户和所属组。权限是操作系统用来限制资源访问的机制,在 Linux 中权限一般分为读(readable)、写(writable)和执行(executable),分为三组。分别对应文件的属主(owner),属组(group)和其他用户(other),通过这样的机制来限制哪些用户、哪些组可以对特定的文件进行什么样的操作。
通过 ls -l
命令我们可以 查看某个目录下的文件或目录的权限:

文件的类型:
- d:代表目录
- -:代表文件
- l:代表软链接(可以认为是 window 中的快捷方式)
Linux 中权限分为以下几种:
- r:代表权限是可读,r 也可以用数字 4 表示
- w:代表权限是可写,w 也可以用数字 2 表示
- x:代表权限是可执行,x 也可以用数字 1 表示
文件和目录权限的区别:
对文件和目录而言,读写执行表示不同的意义。
对于文件:
对于目录:
修改文件/目录的权限的命令:chmod
-
chmod
:用来变更文件或目录的权限,示例:修改/test 下的 aaa.txt 的权限为文件所有者有全部权限,文件所有者所在的组有读写权限,其他用户只有读的权限。chmod u=rwx,g=rw,o=r aaa.txt
或者 **chmod 764 aaa.txt
-c, --changes:当文件的权限更改时输出操作信息。
--no-preserve-root:不将'/'特殊化处理,默认选项。
--preserve-root:不能在根目录下递归操作。
-f, --silent, --quiet:抑制多数错误消息的输出。
-v, --verbose:无论文件是否更改了权限,一律输出操作信息。
--reference=RFILE:使用参考文件或参考目录RFILE的权限来设置目标文件或目录的权限。
-R, --recursive:对目录以及目录下的文件递归执行更改权限操作。
--help:显示帮助信息并退出。
--version:显示版本信息并退出. -
chgrp [选项][组群][文件|目录]
:用来变更文件或目录的所属群组,例如:chgrp -R mengxin /usr/meng,将/usr/meng
及其子目录下的所有文件的用户组改为mengxin。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下