Linux
cd命令详解
cd(change directory)命令是用户进行目录切换的基础工具。
基本用法
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 . 并不会改变目录。..:表示父目录,如前文提到。-:表示上一个工作目录。~:表示当前用户的主目录。
进阶技巧
- 自动补全:在大多数 Linux 终端中,可以使用
Tab键自动补全目录名。例如,输入 cd Doc 后按 Tab,系统会自动补全为 cd Documents。 - 使用符号链接:符号链接(symbolic link)是文件系统中的一种快捷方式。通过
ln -s命令创建符号链接,可以快速导航到常用目录。例如:
ln -s /home/user/Documents /home/user/docs
cd docs
- 使用环境变量:可以通过定义环境变量简化目录切换。例如,将
PROJECTS环境变量设置为/home/user/Projects,然后使用cd $PROJECTS快速切换:
export PROJECTS=/home/user/Projects
cd $PROJECTS
export命令在 Linux 和其他类 Unix 系统中用于设置或修改环境变量,并将其导出到子进程中
常见问题
- 路径错误:如果输入的路径不正确,系统会提示
No such file or directory。此时需要检查路径拼写是否正确,或者该目录是否存在。 - 权限问题:某些目录可能需要更高权限才能访问。使用 sudo命令可以解决大部分权限问题:
sudo cd /root
- 符号链接陷阱:有时符号链接指向的目标可能不存在,导致无法切换。需要确保符号链接的目标目录是有效的
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表示可执行,-表示不具备相应权限
- 第1个字母表示文件类型
- 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/hello再mkdir world
创建多级目录
需要使用-p选项。例如:在/home/user/hello目录下创建world1/world2/world3目录,可以使用如下命令:
cd /home/user/hello再mkdir -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跳转到上一个匹配项。

浙公网安备 33010602011771号