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标志,将会忽略大小写进行替换。