linux具体命令(一)

1. cd

CD命令是Linux和类Unix操作系统中非常常用的一个命令,它的全称是“change directory”,用于改变当前的工作目录。用户可以通过这个命令进入到不同的目录中,进行文件操作或是执行其他任务。
以下是CD命令的一些基本用法:

  1. 进入到一个绝对路径目录:
    cd /path/to/directory
    
    这里,/path/to/directory是你要切换到的目的目录的绝对路径。
  2. 进入到一个相对路径目录:
    cd relative/path
    
    相对路径是相对于当前工作目录的路径。
  3. 回到上一级目录:
    cd ..
    
    这个命令会将当前目录退回到它的上一级目录。
  4. 回到上两级目录:
    cd ../..
    
    通过这种方式可以逐级返回到更高的目录。
  5. 进入家目录:
    cd ~
    
    这个命令等同于cd /home/username,它会将用户带到其家目录。
  6. 快速切换到另一个终端打开的目录:
    cd -
    
    这个命令可以切换到之前另一个终端打开的目录。
  7. 查看当前目录:
    pwd
    
    这个命令可以显示当前目录的绝对路径。
    在实际使用中,我们经常会结合使用pwd命令来查看当前目录,然后根据需要使用cd命令进行切换。例如,如果你想要进入一个特定的目录,可以首先用pwd查看这个目录的路径,然后输入cd命令后跟路径,即可进入该目录。
    另外,值得注意的是,在执行cd命令时,路径后面通常需要跟一个目录名,而不是文件名。如果不跟任何东西,cd命令会尝试切换到当前用户的家园目录。
    对于一些特定的系统,如Windows,可能需要使用cd命令加上盘符来改变当前盘符,比如:
cd E:

这将会将当前工作目录切换到E盘。在Unix类系统中,cd命令不会改变盘符,仅改变当前目录。如果需要改变盘符,需要使用mountumount命令,或者在Windows中使用d:这样的盘符切换。

2.pwd

pwd是Linux和类Unix操作系统中的一个命令,它的全称是"print working directory",用于打印当前工作目录的绝对路径。
当你在终端中输入pwd并按下回车键时,pwd命令会显示从根目录开始的完整路径,直到当前工作目录。
例如,如果你的当前工作目录是/home/username/documents,那么执行pwd命令后,终端会输出/home/username/documents
pwd命令在切换目录时非常有用,特别是在你不知道当前目录的绝对路径时。通过查看当前目录的绝对路径,你可以更准确地输入cd命令来切换到其他目录。

3. 相对路径与绝对路径

Linux中的相对路径和绝对路径是用来表示文件或目录位置的两种方式。

  1. 绝对路径:从文件系统的根目录(/)开始,逐级列出所有的目录,直到目标文件或目录。例如,如果一个文件位于"/home/user/documents"目录下,那么它的绝对路径就是"/home/user/documents"。
  2. 相对路径:从当前工作目录开始,逐级列出到达目标文件或目录所需的目录。例如,如果一个文件位于"/home/user/documents"目录下,而当前工作目录是"/home/user",那么它的相对路径就是"…/documents"。
    总的来说,绝对路径和相对路径的主要区别在于它们的参考点不同。绝对路径以文件系统的根目录为参考点,而相对路径以当前工作目录为参考点。在实际操作中,你可以根据需要选择使用绝对路径或相对路径。

4.mkdir

mkdir 命令在Linux和类Unix操作系统中用于创建新目录。当您在命令行中使用 mkdir 命令时,您可以指定要创建的目录的名称,如果该目录的上级目录不存在,mkdir 将会创建这个上级目录,然后创建新目录。
基本语法如下:

mkdir [选项] 目录名称

这里有几个有用的选项:

  • -m--mode:设置新创建目录的权限,这会覆盖默认的umask设置。
  • -p--parents:如果指定目录的上级目录不存在,mkdir会自动创建这些上级目录。
  • -v--verbose:在创建目录时显示详细信息。
  • --help:显示帮助信息。
  • --version:显示版本信息。
    例如,如果您想在当前目录下创建一个名为 test 的子目录,可以使用以下命令:
mkdir test

如果上级目录不存在,mkdir 会报错,此时您可以使用 -p 选项一并创建上级目录:

mkdir -p test

如果您想要递归创建多个目录,可以这样:

mkdir -p test/test2/test3

这里,如果 test 目录存在,mkdir 会继续创建 test2test3 目录。如果任何一个目录的上级目录不存在,mkdir 会先创建上级目录,然后创建该目录。
在使用 mkdir 命令时,应确保新创建的目录名称不与其父目录中的文件重名,尤其是在不同操作系统和文件系统中,目录名称和文件名称是区分大小写的。
总的来说,mkdir 命令是管理文件系统时非常有用的工具,它帮助用户更有效地组织文件和目录。

5.touch

在 Linux 系统中,touch 命令用于修改文件的访问时间和修改时间。这个命令非常有用,当你需要创建一个新文件,或者更新文件的时间戳时。
基本的 touch 命令语法如下:

touch [选项] [文件名]

以下是 touch 命令的一些常用选项:

  • -c--create:创建一个新文件,如果文件已经存在,则不进行任何操作。
  • -m--modify:只设置文件的修改时间,不创建文件。
  • -a--append:追加内容到文件末尾,如果文件不存在,则创建文件。
  • -d--date:指定一个日期和时间,用于设置文件的访问和修改时间。
  • -r--reference:使用参考文件的日期和时间来设置当前文件的日期和时间。
  • -t:与 --date 一起使用,指定日期和时间(格式为 YYYYMMDDHHMM)。
    示例:
  1. 创建一个新文件:
touch myfile.txt
  1. 创建一个新文件,并设置修改时间为当前时间:
touch -m myfile.txt
  1. 仅修改文件的访问时间:
touch -a myfile.txt
  1. 设置文件的访问和修改时间为特定日期和时间:
touch -d "2023-01-01 12:00:00" myfile.txt
  1. 使用参考文件的日期和时间来设置当前文件的日期和时间:
touch -r referencefile.txt myfile.txt

请注意,touch 命令的行为可能会根据你使用的 Linux 发行版和 utime 系统的实现而有所不同。在某些系统上,touch 命令可能只设置修改时间,而不影响访问时间,这种情况下,你可以使用 date 命令来设置访问时间。

6.cat

在 Linux 系统中,cat 命令是一个非常有用的文本处理工具,它用于查看、创建、编辑和合并文件内容。cat 命令的基本语法如下:

cat [选项] [文件名]...

以下是 cat 命令的一些常用选项和功能:

  • -a--append:追加内容到文件的末尾。
  • -b--number:对输出的每一行进行编号。
  • -c--color:以颜色编码显示文本。
  • -d--directory:显示目录内容。
  • -e:启用 Emacs 风格的编辑模式。
  • -n--number:不带 -b 的情况下,对输出的每一行进行编号。
  • -s--squeeze:在合并文件时,移除重复的行。
  • -t:与 -b 一起使用,对输出的每一行进行编号,并且不显示换行符。
  • -v--verbose:显示详细信息。
    示例:
  1. 查看文件内容:
cat myfile.txt
  1. 创建一个新文件并写入内容:
cat > myfile.txt
  1. 追加内容到文件末尾:
cat -a myfile.txt
  1. 以颜色编码显示文本:
cat -c myfile.txt
  1. 合并多个文件并显示:
cat file1.txt file2.txt > combined.txt
  1. 对文件内容进行编号:
cat -n myfile.txt
  1. 显示目录内容:
cat -d /path/to/directory

请注意,cat 命令在处理大文件时可能会有一些性能问题,因为它是逐行读取并显示文件的。在处理大文件时,你可能需要考虑使用 morelessgrep 等命令来提高可读性。

7.more

在 Linux 系统中,more 命令用于分页显示文本文件的内容。它可以让你一次只查看文件的一部分,而不是一次性显示整个文件,这对于处理大文件非常有用。
more 命令的基本语法如下:

more [选项] [文件名]

以下是 more 命令的一些常用选项:

  • -f--forward:默认行为,显示文件的内容。
  • -b--backward:从文件末尾开始反向显示内容。
  • -d--directory:显示目录内容。
  • -h--help:显示帮助信息。
  • -n--lines:指定每次显示的行数。
  • -s--silent:静默模式,不显示翻页提示。
  • -t--tail:只显示文件的最后部分。
  • -v--version:显示版本信息。
    示例:
  1. 查看文件内容,一次显示一页:
more myfile.txt
  1. 从文件末尾开始反向显示内容:
more -b myfile.txt
  1. 显示文件的最后 10 行:
more -n 10 myfile.txt
  1. 静默模式下显示文件内容,不显示翻页提示:
more -s myfile.txt
  1. 只显示目录的文件列表,而不显示子目录的内容:
more -d /path/to/directory

请注意,more 命令默认情况下会一次显示文件的一页内容,但你可以通过按下 Space 键来查看更多内容。如果你想要更精细地控制显示的行数,可以使用 -n 选项。此外,more 命令也可以与其他命令结合使用,例如 grep,以过滤和分页显示文件内容。

8.cp

在 Linux 系统中,cp 命令用于复制文件或目录。以下是 cp 命令的基本语法:

cp [选项] 源文件 目标文件

或者,如果是要复制目录:

cp [选项] 源目录 目标目录

以下是 cp 命令的一些常用选项:

  • -a--archive:归档模式,复制时保持符号链接、文件权限和时间戳。
  • -b--backup:在覆盖文件之前备份原始文件。
  • -c--config:在复制时保留配置文件。
  • -d--directory:如果源是目录,复制目录及其中所有文件。
  • -f--force:强制覆盖目标文件。
  • -i--interactive:交互式模式,覆盖文件前会提示确认。
  • -l--link:创建硬链接,而不是复制文件。
  • -n--no-clobber:不覆盖已存在的目标文件。
  • -p--preserve:保留源文件的权限和所有权信息。
  • -r--recursive:递归复制目录。
  • -s--symbolic:创建符号链接,而不是硬链接。
  • -t--target-directory:指定目标目录。
  • -u--update:在复制时更新目标文件,仅复制改变的部分。
  • -v--verbose:详细模式,显示复制过程中的详细信息。
    示例:
  1. 复制文件 file1.txtfile2.txt
cp file1.txt file2.txt
  1. 复制目录 directory1directory2
cp -r directory1 directory2
  1. 复制 directory1 中的所有文件到 directory2,并保持目录结构:
cp -r directory1/* directory2/
  1. 复制 file1.txtdirectory2,并在覆盖前进行交互式确认:
cp -i file1.txt directory2/
  1. 复制 file1.txtdirectory2/file2.txt,并保持文件名:
cp file1.txt directory2/file2.txt

请注意,如果目标文件或目录不存在,cp 命令会创建它。如果目标文件已存在,使用 -f 选项会覆盖它,而不使用 -i 选项则不会提示确认。

9.which

which 命令在 Linux 系统中用于查找可执行文件或脚本的绝对路径。它会搜索环境变量 PATH 指定的目录,并返回第一个匹配的绝对路径。如果命令不存在,which 将返回一个空结果。
which 命令的基本语法如下:

which [选项] [文件名]

其中,文件名是你要查找的命令或脚本的名称。
常见的 which 命令选项包括:

  • -a--all:显示所有匹配的路径,而不仅仅是第一个找到的。
  • -n:显示匹配文件的长度,而不包括路径。
  • -p:与 -n 类似,但包括路径。
  • -w:设置输出时栏位的宽度。
  • -V:显示命令版本信息。
    例如,如果你想查找 bash 命令的绝对路径,你可以使用以下命令:
which bash

如果 bash 命令在 PATH 中,which 将输出它的绝对路径,例如 /bin/bash
请注意,which 命令查找的是可执行文件,而不是所有的文件。如果你想查找某个脚本文件(例如 .sh 文件),你可能需要使用其他命令,如 findlocate

10.find

Linux系统中的find命令是一个非常强大的文件搜索工具。其主要作用是在指定的目录中搜索满足一定条件的文件,并列出这些文件的路径。这个命令在系统管理和日常使用中非常实用,可以帮助用户快速定位文件。

基本语法

find命令的基本语法如下:

find [path] [expression]
  • path:指定搜索的起始目录。如果省略该参数,默认从当前目录开始搜索。
  • expression:由一系列选项组成的条件表达式,用于定义搜索文件需要满足的条件。

常用选项

find命令提供了丰富的选项,可以按照文件名、类型、大小、修改时间等多种标准来查找文件。以下是一些常用的选项:

  • -name:按照文件名搜索。
  • -type:按照文件类型搜索。
  • -size:按照文件大小搜索。
  • -mtime:按照文件修改时间搜索。
  • -exec:对匹配的文件执行指定的命令。
  • -user:按照文件的所有者搜索。
  • -group:按照文件所属的组搜索。
  • -perm:按照文件权限搜索。

高级用法

  • -and-or-not:逻辑运算符,用于组合复杂的搜索条件。
  • -prune:跳过某些目录。
  • -follow:跟随符号链接搜索实际文件。
  • -xargs:将搜索结果传递给其他命令。

示例

  1. 在当前目录及子目录中查找所有.txt后缀的文件:
    find . -name "*.txt"
    
  2. /etc目录中查找所有类型为普通文件且大小大于10KB的文件:
    find /etc -type f -size +10k
    
  3. 查找当前目录下所有修改时间在最近7天内的文件:
    find . -mtime -7
    
  4. 查找所有属于用户root的文件:
    find / -user root
    
  5. 查找权限为644的文件:
    find / -perm -o=644
    

注意事项

  • 使用find命令时,要谨慎指定搜索路径,避免搜索范围过大,以免影响系统性能。
  • 搜索结果中,文件名是区分大小写的。
  • 符号链接文件会被搜索到,但它们指向的实际文件才会被检查。
    find命令是Linux用户和系统管理员必须掌握的实用工具之一,通过组合不同的选项,可以实现复杂的文件查找需求。
  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值