Linux

cd命令详解

cd(change directory)命令是用户进行目录切换的基础工具。

基本用法

  1. cd [目录路径]目录路径是你想切换到的目标目录,如果路径包含空格或特殊字符,则需要使用引号

常见选项

选项 作用
cd - 切换到上一个工作目录。例如,如果你从 /home/user 切换到 /etc,再执行 cd - 会返回 /home/user
cd ~ 切换到当前用户的主目录。无论你在哪里,输入 cd ..cd ~ 都会回到 /home/username
cd .. 切换到当前目录的父目录。例如,从 /home/user/Documents 切换到 /home/user 只需执行 cd ..

绝对路径与相对路径

  • 绝对路径:从根目录/开始的完整路径。例如,/home/user/Documents
  • 相对路径:相对于当前目录的路径。例如,当前在 /home/user,要进入 Documents,只需使用相对路径 cd Documents

常见目录快捷方式

  • .:表示当前目录。例如,cd . 并不会改变目录。
  • ..:表示父目录,如前文提到。
  • -:表示上一个工作目录。
  • ~:表示当前用户的主目录。

进阶技巧

  1. 自动补全:在大多数 Linux 终端中,可以使用Tab键自动补全目录名。例如,输入 cd Doc 后按 Tab,系统会自动补全为 cd Documents。
  2. 使用符号链接:符号链接(symbolic link)是文件系统中的一种快捷方式。通过ln -s命令创建符号链接,可以快速导航到常用目录。例如:
ln -s /home/user/Documents /home/user/docs
cd docs
  1. 使用环境变量:可以通过定义环境变量简化目录切换。例如,将 PROJECTS环境变量设置为/home/user/Projects,然后使用 cd $PROJECTS快速切换:
export PROJECTS=/home/user/Projects
cd $PROJECTS
  • export命令在 Linux 和其他类 Unix 系统中用于设置或修改环境变量,并将其导出到子进程中

常见问题

  1. 路径错误:如果输入的路径不正确,系统会提示 No such file or directory。此时需要检查路径拼写是否正确,或者该目录是否存在。
  2. 权限问题:某些目录可能需要更高权限才能访问。使用 sudo命令可以解决大部分权限问题:
  • sudo cd /root
  1. 符号链接陷阱:有时符号链接指向的目标可能不存在,导致无法切换。需要确保符号链接的目标目录是有效的

ls命令详解

ls命令(list)可用于列出指定路径下的文件(Linux中一切皆文件,目录也是文件的一种),如果不指定路径,单独运行ls命令,则默认路径为当前路径。

使用方式

ls [-options] [target path]
注:-a -l = -al
得到的不同的文件颜色代表了不同的文件类型

常见选项

选项 作用
-a 显示指定路径中的所有文件,包括隐藏文件
-l 显示文件的详细信息,包括文件类型,权限,所属用户,所属用户组,文件大小,上一次修改时间等
-h 文件大小以KBytes为单位显示
-S 按照文件大小顺序显示,默认从大到小;若要从小到大,可使用-Sr

文件介绍

  • .表示当前路径,表示上一级路径,以.开头的文件在Linux中为隐藏文件。
  • 默认的文件显示顺序是按照首字母的顺序进行排列的

-al的效果


第一行的total 72:表示当前目录下的所有内容大小为72Kbytes。除去第一行,剩余的信息可以分为6大块:

  • 2: 共10个字母,
    • 第1个字母表示文件类型
      • -表示普通文件,d表示目录文件,b表示块设备文件,c表示字符设备文件,l表示链接文件,p表示管道文件,s表示socket文件
    • 剩余的9个字母可以分为3组,分表表示所属用户,所属用户组,其他用户对该文件的读写权限
    • R表示可读,W表示可写,X表示可执行,-表示不具备相应权限
  • 3: 紧跟在权限之后的1个数字,表示目录文件里面包含的目录文件数
    • 包括普通目录文件和隐藏目录文件
    • 如果是文件,则表示该文件的链接数
  • 4: 所属用户
  • 5: 所属用户组
  • 6: 文件大小,以字节为单位
    • 注:使用-h会转变为以KBytes为单位
  • 7: 文件的mtime

mkdir命令详解

mkdir命令的全称是make directories,使用时若指定目录不存在则创建目录。若指定目录已存在,则会提示已存在而不继续创建。
注意:touch与mkdir的区别: touch是创建文件, mkdir是创建文件夹

使用语法

mkdir [options] directory

常见选项

选项 作用
-m, --mode=<MODE> 设置权限模式(类似 chmod)
-p, --parents 需要时创建目标目录的上层目录,但即使这些目录已存在也不当作错误处理
-v, --verbose 每次创建新目录都显示信息
-Z 将每个创建的目录的 SELinux 安全环境设置为 默认类型
--context[=<CTX>] 像 -Z,或者如果指定了 CTX,则将 SELinux 或 SMACK 安全上下文设置为 CTX
--help 显示此帮助信息并退出
--version 显示版本信息并退出

创建单级目录

例如,目前已经有/home/user/hello目录,我们想在hello目录下再创建一个world目录,那么我们可以运行如下命令:mkdir /home/user/hello/world
也可以先切换至hello目录,再创建world目录,即:
cd /home/user/hellomkdir world

创建多级目录

需要使用-p选项。例如:在/home/user/hello目录下创建world1/world2/world3目录,可以使用如下命令:
cd /home/user/hellomkdir -p world1/world2/world3

man命令详解

用于查看命令、函数及系统调用等的操作说明文档的工具,是manual(操作说明)的缩写

使用语法

man 需要查询的命令

使用效果

通常来说,man page会包含如下几方面的内容

模块 内容说明
NAME 简短的命令,数据名称说明
SYNOPSIS 简短的命令执行语法(syntax)简介
DESCRIPTION 较为完成的命令说明,可以重点阅读
OPTIONS 针对SYNOPSIS部分中,所有可用的选项说明
COMMANDS 这个程序(软件)在执行的时候,可以在此程序(软件)中执行的命令
FILES 这个程序或数据所使用/参考/链接到的某些文件
SEE ALSO 这个命令或数据的有关其他说明
EXAMPLE 一些可以参考的范例
BUGS 是否有相关的错误

man page的第一行显示了命令名称加上括号里的一个数字,这个数字是具有一定意义的。

数字 含义
1 用户在shell环境中可以操作的命令或可执行文件
2 系统内核可调用的函数与工具等
3 一些常用的函数与函数库,大部分为c的函数库(libc)
4 设备文件的说明,通常为/dev下的文件
5 配置文件或者是某些文件的格式
6 游戏
7 惯例与协议等,例如Linux文件系统,网络协议等
8 系统管理员可用的管理命令
9 与kernel有关的文件

cp命令详解

用来复制文件或者目录,cp即是cppy的缩写

语法格式

cp [options] source destination

  • 例如,当前目录下有一个test.txt文件,我想把它拷贝到同路径下的doc目录内,那么可以运行如下命令:cp ./test.txt ./doc/
  • 如果在复制文件的同时,还想对其重命名的话,可以在拷贝的时候指定新的名字。还是上面那个例子,将test.txt拷贝到./doc目录的同时,还希望将其重命名为test_bak.txt,那么可以使用如下命令:cp ./test.txt ./doc/test_bak.txt
  • 如果是对目录进行copy的话,需要加上-r选项,以实现对目录的递归拷贝。例如,当前目录下有一个txt目录,我们希望将其拷贝到当前目录下的doc目录内,则可以运行如下命令:
    cp -r txt ./doc/ps.可以以相同方式重命名

mv命令详解

用于移动文件,或者重命名文件

语法格式

mv [options] source destination
注:重命名语法和转移目录语法和cp命令相同,但不需要-r

cat命令详解

作用是读取文件中的内容,并将其通过标准输出显示(即我们的显示器)

tac命令详解

tac刚好是cat的逆序,实际上tac的功能刚好也是和cat是相反的,即cat命令是从头到尾显示一个文件的内容,而tac是从尾到头显示一个文件的内容。

head命令详解

用于输出文件的开头部分内容

语法格式

head [options] files
在实际使用的时候,我们通常会使用-n选项,来指定显示头部的多少行内容。例如:我们想要查看.bashrc文件的头部10行,那我们可以运行如下命令:
head -n 10 .bashrc

tail命令详解

ail命令和head命令是相反的功能,它用于显示一个文件的尾部内容。和head命令的用法类似
注意:tail命令的作用时显示一个文件的尾部内容,而不会像tac命令那样倒序输出!和head命令一样,如果我们不使用-n选项指定行数,那么tail命令同样也是默认输出尾部的10行内容。

语法格式

cat [options] files

more命令详解

cat命令可以用来查看文件内容,对于内容不多的文件,使用cat命令可以将文件中的所有内容完整的显示在屏幕上。而对于内容较多的文件,cat同样会向屏幕上输出文件中的所有内容,但是内容会一闪而过,并最终停留的文件的末尾。这样就非常不利于我们去阅读文件内容,寻找自己需要的内容。
more/less命令可以很好的解决上述问题,more/less命令可以按照页的方式一页一页的向屏幕上输出内容,便于我们阅读

语法格式

more [options] files

选项

选项 作用
-n 指定开始显示的行,例如more -n 15 .bashrc : 从第15行开始显示.bashrc文件中的内容
+number 指定一页所包含的行数,例如more +20 .bashrc : 按页显示.bashrc文件中的内容,每页显示20行
  • 可以使用如下按键翻页:
    • Space:向下翻一页
    • Enter:向下翻一行
    • b:向前翻一页
    • q:退出more命令

less命令详解

more命令的升级版,提升的功能

  • 能够向上/下逐行滚动,more命令只能向下逐行滚动
  • 强大的搜索功能

语法格式

less [options] files

  • 可以使用如下按键来浏览内容:
    • up/down:向上/下逐行滚动
    • PgUp:向上翻页
    • PgDn/Enter:向下翻页
    • q:退出less命令
      使用less命令打开文件后,还可以非常方便的搜索字符串。使用 /str 可以对str进行检索,使用n跳转到下一个匹配项,使用N跳转到上一个匹配项。
posted @   micryfotctf  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示