在Linux系统中,各个目录有着不同的作用和用途。下面是一些常见的目录及其作用的简要说明:

  1. /(根目录):Linux文件系统的顶级目录,包含了整个文件系统的层次结构。

  2. /bin:存放系统的基本命令和可执行文件,如ls、cp、rm等。

  3. /boot:包含启动Linux系统所需的文件,如内核文件和引导加载程序。

  4. /dev:包含设备文件,用于与系统中的硬件设备进行交互。

  5. /etc:存放系统的配置文件,包括各种应用程序和服务的配置文件。

  6. /home:用户的家目录,每个用户在此目录下有一个以其用户名命名的子目录,用于存放用户的个人文件和配置。

  7. /lib:存放系统所需的共享库文件,这些库文件被可执行文件使用。

  8. /media:用于挂载可移动媒体设备(如光盘、USB驱动器等)的挂载点。

  9. /mnt:用于挂载临时文件系统或其他文件系统的挂载点。

  10. /opt:用于安装第三方应用程序的目录,通常将应用程序安装在此目录下的子目录中。

  11. /proc:虚拟文件系统,提供了有关系统内核和运行中进程的信息。

  12. /root:超级用户(root)的家目录。

  13. /sbin:存放系统管理员使用的系统命令,这些命令通常需要超级用户权限才能执行。

  14. /tmp:用于存放临时文件的目录,该目录下的文件在系统重启后会被清除。

  15. /usr:存放系统软件资源,包括应用程序、库文件、文档等。

  16. /var:存放经常变化的文件,如日志文件、缓存文件等。

CD

cd 是一个用于在命令行中切换当前工作目录的命令。它有一些常用的参数,可以帮助你在目录之间进行导航和操作。下面是一些常见的 cd 命令参数:

  1. cd:切换到当前用户的主目录(通常是 /home/username)。
  2. cd ~:同样切换到当前用户的主目录。
  3. cd -:切换到先前的工作目录。
  4. cd ..:切换到当前目录的父目录。
  5. cd /:切换到根目录。
  6. cd /path/to/directory:切换到指定路径下的目录。
  7. cd ./directory:切换到当前目录下的子目录。
  8. cd ../directory:切换到当前目录的父目录下的子目录。
  9. cd -P:强制解析符号链接,切换到符号链接所指向的实际目录。
  10. cd -L:保持符号链接的形式,切换到符号链接所在的目录。
  11. cd --:停止处理后续的参数,用于处理以 - 开头的目录名。

MV

mv 是一个用于在命令行中移动或重命名文件或目录的命令。它有一些常用的参数,可以帮助你在文件系统中进行文件和目录的操作。下面是一些常见的 mv 命令参数:

  1. mv source_file destination:将源文件移动到目标位置或重命名为目标文件名。
  2. mv source_file1 source_file2 directory:将多个源文件移动到指定目录。
  3. mv -i source_file destination:在目标位置存在同名文件时,提示是否覆盖。
  4. mv -f source_file destination:强制覆盖目标位置的文件,不进行提示。
  5. mv -u source_file destination:仅在源文件更新或目标位置不存在时才执行移动操作。
  6. mv -v source_file destination:显示详细的移动操作信息。
  7. mv -n source_file destination:不执行实际的移动操作,仅显示将要执行的操作。
  8. mv -b source_file destination:在移动文件时创建备份文件。
  9. mv --backup=CONTROL source_file destination:根据指定的备份控制选项创建备份文件。
  10. mv --help:显示 mv 命令的帮助信息。
  11. mv --version:显示 mv 命令的版本信息。

CP

cp 是一个在命令行中用于复制文件和目录的命令。下面是一些常见的 cp 命令参数:

  1. cp source_file destination_file:复制源文件到目标文件。
  2. cp source_file1 source_file2 ... destination_directory:将多个源文件复制到目标目录。
  3. cp -r source_directory destination_directory:递归地复制整个源目录及其内容到目标目录。
  4. cp -i source_file destination_file:在复制文件之前进行交互式确认,如果目标文件已存在,则提示是否覆盖。
  5. cp -u source_file destination_file:仅在源文件比目标文件新或目标文件不存在时才进行复制。
  6. cp -l source_file destination_file:创建硬链接而不是复制文件。
  7. cp -s source_file destination_file:创建符号链接而不是复制文件。
  8. cp -p source_file destination_file:保持源文件的属性(权限、时间戳等)。
  9. cp -v source_file destination_file:显示复制过程中的详细信息。
  10. cp --backup=method source_file destination_file:在复制文件时进行备份,可以选择备份的方法,如 none(不备份)、off(不备份)、numbered(备份并编号)等。
  11. cp --preserve=all source_file destination_file:保持源文件的所有属性,包括权限、时间戳、所有者等。

MKDIR

mkdir 是一个在命令行中用于创建目录的命令。下面是一些常见的 mkdir 命令参数:

  1. mkdir directory_name:创建一个名为 directory_name 的目录。
  2. mkdir -p directory_path:递归地创建目录路径中的所有目录,即使父目录不存在也可以创建。
  3. mkdir -m mode directory_name:使用指定的权限模式创建目录。权限模式可以是八进制数,例如 mkdir -m 755 directory_name
  4. mkdir -v directory_name:显示创建的每个目录的详细信息。
  5. mkdir --help:显示 mkdir 命令的帮助信息,包括可用的参数和选项。
  6. mkdir --version:显示 mkdir 命令的版本信息。

RM

rm 是一个在命令行中用于删除文件和目录的命令。下面是一些常见的 rm 命令参数:

  1. rm file_name:删除指定的文件。
  2. rm -r directory_name:递归地删除指定的目录及其内容。
  3. rm -f file_name:强制删除文件,不进行任何确认提示。
  4. rm -i file_name:在删除文件之前进行交互式确认,提示是否删除。
  5. rm -v file_name:显示删除的每个文件的详细信息。
  6. rm -rf directory_name:强制递归删除目录及其内容,不进行任何确认提示。
  7. rm --help:显示 rm 命令的帮助信息,包括可用的参数和选项。
  8. rm --version:显示 rm 命令的版本信息。

DU

du 是一个在命令行中用于计算目录或文件大小的命令。下面是一些常见的 du 命令参数:

  1. du file_name:计算指定文件的大小。
  2. du -h file_name:以人类可读的格式显示文件大小,例如使用 KB、MB、GB 等单位。
  3. du -s directory_name:计算指定目录的总大小,而不显示子目录的详细信息。
  4. du -h -s directory_name:以人类可读的格式显示指定目录的总大小。
  5. du -c directory_name:显示指定目录中每个子目录的大小,并显示总大小的汇总。
  6. du -a directory_name:显示目录中每个文件和子目录的大小。
  7. du -d depth directory_name:限制显示子目录的层次深度,例如 du -d 2 directory_name 只显示两层子目录的大小。
  8. du --exclude=pattern directory_name:排除符合指定模式的文件或目录,例如 du --exclude=*.txt directory_name 排除所有扩展名为 .txt 的文件。
  9. du --help:显示 du 命令的帮助信息,包括可用的参数和选项。
  10. du --version:显示 du 命令的版本信息。

Tail

tail 是一个在命令行中用于查看文件末尾内容的命令。下面是一些常见的 tail 命令参数:

  1. tail file_name:显示文件的末尾内容,默认显示最后 10 行。
  2. tail -n num file_name:显示文件的末尾 num 行内容,例如 tail -n 20 file_name 显示最后 20 行。
  3. tail -f file_name:实时追踪文件的末尾内容,显示新添加的内容,并持续输出。
  4. tail -c num file_name:显示文件的末尾 num 字节内容,例如 tail -c 100 file_name 显示最后 100 个字节。
  5. tail -q file_name:禁止显示文件名作为输出的一部分。
  6. tail -v file_name:显示文件名作为输出的一部分。
  7. tail --help:显示 tail 命令的帮助信息,包括可用的参数和选项。
  8. tail --version:显示 tail 命令的版本信息。

LESS和MORE

moreless 都是用于在命令行中浏览文件内容的工具,它们在功能上有一些区别:

  1. 分页方式: more 以全屏为单位进行分页显示文件内容,按下空格键可向前翻页,按下 Enter 键可向下滚动一行。less 则提供更强大的分页功能,可以向上和向下滚动,支持使用箭头键、Page Up、Page Down 等进行导航。

  2. 搜索功能: less 具有更强大的搜索功能。你可以使用 / 后跟关键字在文件中进行搜索,并使用 nN 键在搜索结果之间进行导航。more 不支持搜索功能。

  3. 反向搜索: less 允许你使用 ? 后跟关键字进行反向搜索,即从文件末尾向前搜索。more 不支持反向搜索。

  4. 编辑文件: less 允许你在浏览文件时进行编辑,可以使用 v 键或者 vi 命令进入编辑模式。more 不支持文件编辑。

  5. 文件类型判断: less 能够根据文件类型进行语法高亮显示,例如对于代码文件会进行着色。more 不具备这个功能。

总的来说,lessmore 的增强版

下面是 moreless 命令常用的参数:

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 是一个功能强大的文本编辑器,它提供了丰富的替换功能。下面是几种常见的替换操作:

  1. 替换当前行的第一个匹配项:

    :s/要替换的内容/替换后的内容/
    

    这个命令将替换当前行中第一个匹配到的内容。如果要替换所有匹配项,可以在命令末尾添加 g 标志:

    :s/要替换的内容/替换后的内容/g
    
  2. 替换整个文件中的匹配项:

    :%s/要替换的内容/替换后的内容/g
    

    这个命令将替换整个文件中所有匹配到的内容。 % 符号表示对整个文件进行操作。

  3. 替换指定范围内的匹配项:

    :起始行号,结束行号s/要替换的内容/替换后的内容/g
    

    这个命令将替换指定范围内的行中的匹配项。将 起始行号结束行号 替换为实际的行号。

  4. 忽略大小写进行替换:

    :s/要替换的内容/替换后的内容/gi
    

    在替换命令末尾添加 i 标志,将会忽略大小写进行替换。