Linux常用命令(小白版)
在Linux系统中,各个目录有着不同的作用和用途。下面是一些常见的目录及其作用的简要说明:
-
/
(根目录):Linux文件系统的顶级目录,包含了整个文件系统的层次结构。 -
/bin
:存放系统的基本命令和可执行文件,如ls、cp、rm等。 -
/boot
:包含启动Linux系统所需的文件,如内核文件和引导加载程序。 -
/dev
:包含设备文件,用于与系统中的硬件设备进行交互。 -
/etc
:存放系统的配置文件,包括各种应用程序和服务的配置文件。 -
/home
:用户的家目录,每个用户在此目录下有一个以其用户名命名的子目录,用于存放用户的个人文件和配置。 -
/lib
:存放系统所需的共享库文件,这些库文件被可执行文件使用。 -
/media
:用于挂载可移动媒体设备(如光盘、USB驱动器等)的挂载点。 -
/mnt
:用于挂载临时文件系统或其他文件系统的挂载点。 -
/opt
:用于安装第三方应用程序的目录,通常将应用程序安装在此目录下的子目录中。 -
/proc
:虚拟文件系统,提供了有关系统内核和运行中进程的信息。 -
/root
:超级用户(root)的家目录。 -
/sbin
:存放系统管理员使用的系统命令,这些命令通常需要超级用户权限才能执行。 -
/tmp
:用于存放临时文件的目录,该目录下的文件在系统重启后会被清除。 -
/usr
:存放系统软件资源,包括应用程序、库文件、文档等。 -
/var
:存放经常变化的文件,如日志文件、缓存文件等。
CD
cd
是一个用于在命令行中切换当前工作目录的命令。它有一些常用的参数,可以帮助你在目录之间进行导航和操作。下面是一些常见的 cd
命令参数:
cd
:切换到当前用户的主目录(通常是/home/username
)。cd ~
:同样切换到当前用户的主目录。cd -
:切换到先前的工作目录。cd ..
:切换到当前目录的父目录。cd /
:切换到根目录。cd /path/to/directory
:切换到指定路径下的目录。cd ./directory
:切换到当前目录下的子目录。cd ../directory
:切换到当前目录的父目录下的子目录。cd -P
:强制解析符号链接,切换到符号链接所指向的实际目录。cd -L
:保持符号链接的形式,切换到符号链接所在的目录。cd --
:停止处理后续的参数,用于处理以-
开头的目录名。
MV
mv
是一个用于在命令行中移动或重命名文件或目录的命令。它有一些常用的参数,可以帮助你在文件系统中进行文件和目录的操作。下面是一些常见的 mv
命令参数:
mv source_file destination
:将源文件移动到目标位置或重命名为目标文件名。mv source_file1 source_file2 directory
:将多个源文件移动到指定目录。mv -i source_file destination
:在目标位置存在同名文件时,提示是否覆盖。mv -f source_file destination
:强制覆盖目标位置的文件,不进行提示。mv -u source_file destination
:仅在源文件更新或目标位置不存在时才执行移动操作。mv -v source_file destination
:显示详细的移动操作信息。mv -n source_file destination
:不执行实际的移动操作,仅显示将要执行的操作。mv -b source_file destination
:在移动文件时创建备份文件。mv --backup=CONTROL source_file destination
:根据指定的备份控制选项创建备份文件。mv --help
:显示mv
命令的帮助信息。mv --version
:显示mv
命令的版本信息。
CP
cp
是一个在命令行中用于复制文件和目录的命令。下面是一些常见的 cp
命令参数:
cp source_file destination_file
:复制源文件到目标文件。cp source_file1 source_file2 ... destination_directory
:将多个源文件复制到目标目录。cp -r source_directory destination_directory
:递归地复制整个源目录及其内容到目标目录。cp -i source_file destination_file
:在复制文件之前进行交互式确认,如果目标文件已存在,则提示是否覆盖。cp -u source_file destination_file
:仅在源文件比目标文件新或目标文件不存在时才进行复制。cp -l source_file destination_file
:创建硬链接而不是复制文件。cp -s source_file destination_file
:创建符号链接而不是复制文件。cp -p source_file destination_file
:保持源文件的属性(权限、时间戳等)。cp -v source_file destination_file
:显示复制过程中的详细信息。cp --backup=method source_file destination_file
:在复制文件时进行备份,可以选择备份的方法,如none
(不备份)、off
(不备份)、numbered
(备份并编号)等。cp --preserve=all source_file destination_file
:保持源文件的所有属性,包括权限、时间戳、所有者等。
MKDIR
mkdir
是一个在命令行中用于创建目录的命令。下面是一些常见的 mkdir
命令参数:
mkdir directory_name
:创建一个名为directory_name
的目录。mkdir -p directory_path
:递归地创建目录路径中的所有目录,即使父目录不存在也可以创建。mkdir -m mode directory_name
:使用指定的权限模式创建目录。权限模式可以是八进制数,例如mkdir -m 755 directory_name
。mkdir -v directory_name
:显示创建的每个目录的详细信息。mkdir --help
:显示mkdir
命令的帮助信息,包括可用的参数和选项。mkdir --version
:显示mkdir
命令的版本信息。
RM
rm
是一个在命令行中用于删除文件和目录的命令。下面是一些常见的 rm
命令参数:
rm file_name
:删除指定的文件。rm -r directory_name
:递归地删除指定的目录及其内容。rm -f file_name
:强制删除文件,不进行任何确认提示。rm -i file_name
:在删除文件之前进行交互式确认,提示是否删除。rm -v file_name
:显示删除的每个文件的详细信息。rm -rf directory_name
:强制递归删除目录及其内容,不进行任何确认提示。rm --help
:显示rm
命令的帮助信息,包括可用的参数和选项。rm --version
:显示rm
命令的版本信息。
DU
du
是一个在命令行中用于计算目录或文件大小的命令。下面是一些常见的 du
命令参数:
du file_name
:计算指定文件的大小。du -h file_name
:以人类可读的格式显示文件大小,例如使用 KB、MB、GB 等单位。du -s directory_name
:计算指定目录的总大小,而不显示子目录的详细信息。du -h -s directory_name
:以人类可读的格式显示指定目录的总大小。du -c directory_name
:显示指定目录中每个子目录的大小,并显示总大小的汇总。du -a directory_name
:显示目录中每个文件和子目录的大小。du -d depth directory_name
:限制显示子目录的层次深度,例如du -d 2 directory_name
只显示两层子目录的大小。du --exclude=pattern directory_name
:排除符合指定模式的文件或目录,例如du --exclude=*.txt directory_name
排除所有扩展名为.txt
的文件。du --help
:显示du
命令的帮助信息,包括可用的参数和选项。du --version
:显示du
命令的版本信息。
Tail
tail
是一个在命令行中用于查看文件末尾内容的命令。下面是一些常见的 tail
命令参数:
tail file_name
:显示文件的末尾内容,默认显示最后 10 行。tail -n num file_name
:显示文件的末尾 num 行内容,例如tail -n 20 file_name
显示最后 20 行。tail -f file_name
:实时追踪文件的末尾内容,显示新添加的内容,并持续输出。tail -c num file_name
:显示文件的末尾 num 字节内容,例如tail -c 100 file_name
显示最后 100 个字节。tail -q file_name
:禁止显示文件名作为输出的一部分。tail -v file_name
:显示文件名作为输出的一部分。tail --help
:显示tail
命令的帮助信息,包括可用的参数和选项。tail --version
:显示tail
命令的版本信息。
LESS和MORE
more
和 less
都是用于在命令行中浏览文件内容的工具,它们在功能上有一些区别:
-
分页方式:
more
以全屏为单位进行分页显示文件内容,按下空格键可向前翻页,按下 Enter 键可向下滚动一行。less
则提供更强大的分页功能,可以向上和向下滚动,支持使用箭头键、Page Up、Page Down 等进行导航。 -
搜索功能:
less
具有更强大的搜索功能。你可以使用/
后跟关键字在文件中进行搜索,并使用n
和N
键在搜索结果之间进行导航。more
不支持搜索功能。 -
反向搜索:
less
允许你使用?
后跟关键字进行反向搜索,即从文件末尾向前搜索。more
不支持反向搜索。 -
编辑文件:
less
允许你在浏览文件时进行编辑,可以使用v
键或者vi
命令进入编辑模式。more
不支持文件编辑。 -
文件类型判断:
less
能够根据文件类型进行语法高亮显示,例如对于代码文件会进行着色。more
不具备这个功能。
总的来说,less
是 more
的增强版
下面是 more
和 less
命令常用的参数:
more
命令参数:
- 空格键:向下滚动一屏。
- Enter 键:向下滚动一行。
/keyword
:在文件中搜索指定关键字。n
:在搜索结果中定位到下一个匹配项。q
:退出more
命令。
less
命令参数:
- 空格键:向下滚动一屏。
- Enter 键:向下滚动一行。
b
:向上滚动一屏。/keyword
:在文件中搜索指定关键字。?keyword
:在文件中反向搜索指定关键字。n
:在搜索结果中定位到下一个匹配项。N
:在搜索结果中定位到上一个匹配项。q
:退出less
命令。v
:使用编辑器打开文件进行编辑。:n
:显示当前行号。
VIM
i 在当前字符前插入文本
I 在行首插入文本
a 在当前字符后添加文本
A 在行末添加文本
o 在当前行后面插入一空行
O 在当前行前面插入一空行
^ 行首,第一个不是空白字符的位置
$ 行尾
gg 文件顶部
G 文件末尾
数字gg 移动到 数字 对应行数
数字G 移动到 数字 对应行数
u 撤销上次命令
U 撤销当前用户的所有的编辑操作
Ctrl+r 恢复撤销的命令
Ctrl+b 向上翻页
Ctrl+f 向下翻页
Ctrl+g 显示光标所在位置的行号和文件的总行数
v 从光标位置开始按照正常模式选择文本
V 选中光标经过的完整行
x 删除光标所在字符,或者选中文字
dd 删除光标所在行,可以 ndd 删除多行
D 删除至行尾
yy 复制一行,可以 nyy 复制多行
p 粘贴
/str 查找 str
n 查找下一个(必须在查找状态下执行)
N 查找上一个(必须在查找状态下执行)
gUU 将当前行的字母全改成大写
guu 将当前行的字母全改成小写
gUw 将光标下的单词改成大写
guw 将光标下的单词改成小写
g~~ 行翻转(大小写互换)
ZZ 保存并退出
ZQ 不保存并退出# 末行模式(:):
:数字 移动到 数字 对应行数
:%d 删除全部
:%s/旧文本/新文本/g 查找并替换
:%s/旧文本/新文本/gc 查找并替换,会有提示(y-替换;n-不替换;q-退出替换;l-最后一个,并把光标移动到行首)
:r 文件的路径及文件名 在当前文件中读入其他文件的内容
:r! 命令名 将某一命令的结果追加到当前行的下一行
:w 保存
:w 文件的路径及文件名 另存为其他文件
:q 退出,如果没有保存 ,不允许退出
:w! 强行保存
:q! 强行退出,不保存退出
:wq 保存并退出
:wq! 强制保存并退出
:x 保存并退出
:set nu 显示行号
:history 列出历史命令记录
:pwd 显示当前所在
:set ts=4 tab4行
:set sw=4
Vim 是一个功能强大的文本编辑器,它提供了丰富的替换功能。下面是几种常见的替换操作:
-
替换当前行的第一个匹配项:
:s/要替换的内容/替换后的内容/
这个命令将替换当前行中第一个匹配到的内容。如果要替换所有匹配项,可以在命令末尾添加
g
标志::s/要替换的内容/替换后的内容/g
-
替换整个文件中的匹配项:
:%s/要替换的内容/替换后的内容/g
这个命令将替换整个文件中所有匹配到的内容。
%
符号表示对整个文件进行操作。 -
替换指定范围内的匹配项:
:起始行号,结束行号s/要替换的内容/替换后的内容/g
这个命令将替换指定范围内的行中的匹配项。将
起始行号
和结束行号
替换为实际的行号。 -
忽略大小写进行替换:
:s/要替换的内容/替换后的内容/gi
在替换命令末尾添加
i
标志,将会忽略大小写进行替换。