Shell内置命令——pwd, cd

本文介绍了Shell中的两个重要命令:pwd和cd。pwd用于显示当前工作目录的绝对路径,支持-P和-L选项处理符号链接。cd命令则用于改变当前工作目录,可以接受HOME、相对路径、特殊目录(.., ., ~)和-(上一次的工作目录),并支持-P选项解析符号链接。" 81670008,7931951,Python turtle图形编程:练习题解析,"['Python编程', '图形绘制', 'turtle库']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pwd

pwd [-LP]

打印当前工作目录的绝对路径名。 如果提供了-P选项,则打印的路径名将不包含符号链接。 如果提供了-L选项,则打印的路径名可能包含符号链接。 除非确定当前目录的名称时遇到错误或提供了无效的选项,否则返回状态为零。

$ cd /dev/fd
$ pwd
/dev/fd
$ pwd -L
/dev/fd
$ pwd -P
/proc/6/fd

cd

cd [-L|[-P [-e]] [-@] [directory]

将当前工作目录更改为directory。
如果未提供directory,则使用HOME变量的值。
directory后的所有其他参数将被忽略。
CDPATH变量会被用于搜索相对路径。

directory里的..表示上级目录
directory里的.表示当前目录
directory里的~将转换为HOME变量的值
directory如果是-,它将转换为$OLDPWD,通常为上一次的工作目录,并且会将更改后的绝对路径输出到stand output.

-P选项会解析directory里的符号链接。
-L选项是默认的,不会解析directory里的符号链接。
-P和-e选项组合时,在成功更改目录后无法成功确定当前工作目录,则cd将返回不成功的状态。
在支持的系统上,-@选项将与文件关联的扩展属性显示为目录。

如果成功更改目录,则返回状态为零,否则为非零。

### Linux Bash Shell 内部命令 #### echo `echo` 命令用于打印字符串到标准输出设备,通常为屏幕。此命令常用来显示一段文字或者变量的内容。 ```bash echo "Hello, world!" ``` #### pwd `pwd` 显示当前工作目录的绝对路径名[^1]。 ```bash pwd ``` #### cd `cd` 更改当前的工作目录至指定的目录下。如果不带参数则返回用户的home目录。 ```bash cd /path/to/directory ``` #### export 设置或修改环境变量和函数以便传递给子进程使用。这允许脚本之间共享数据。 ```bash export MY_VARIABLE="value" ``` #### unset 删除定义过的shell变量或函数。一旦被移除之后就不能再通过名称来访问这些实体除非重新声明它们。 ```bash unset VARIABLE_NAME ``` #### type 报告关于命令的信息——它可能是别名、内置命令还是外部可执行文件等。 ```bash type ls ``` #### alias 创建自定义命令缩写形式,简化常用任务的操作流程。 ```bash alias ll='ls -l' ``` #### unalias 取消之前设定好的命令别名关联关系。 ```bash unalias ll ``` #### history 展示历史记录中的命令列表,并支持再次调用之前的指令。 ```bash history !n # 运行第 n 条历史命令 !! # 重复上一条命令 ``` #### set 管理Shell选项与位置参数。还可以查看所有的已设变量及其值。 ```bash set | less ``` #### readonly 标记某些变量只读不可更改状态直到会话结束为止。 ```bash readonly VAR=value ``` #### eval 解析并执行构建后的命令串表达式,在编写动态脚本时非常有用。 ```bash eval 'echo Hello World!' ``` #### shift 移动位置参数的位置编号,主要用于循环遍历不定数量的参数集合场景里边。 ```bash shift N # 将所有参数向左推进N位 ``` #### test 或 [ 测试条件判断语句的结果真假情况,配合if一起构成逻辑控制结构的一部分。 ```bash if [ "$VAR" == "expected_value" ]; then ... fi ``` #### ulimit 限制资源消耗量的最大限度,比如最大打开文件数之类的配置项调整。 ```bash ulimit -a # 查看全部限制详情 ulimit -f SIZE # 设置核心转储大小上限 ``` #### umask 改变新建立文件权限掩码,默认情况下影响新建文件夹/文档的安全属性初始化方式。 ```bash umask 022 # 设定新的mask值 ``` #### times 获取累计CPU时间统计信息,包括实际运行时间和系统调度开销两部分总和。 ```bash times ``` #### trap 捕捉信号事件的发生时刻,从而能够优雅地处理异常退出状况下的清理收尾动作。 ```bash trap 'rm tempfile' EXIT ``` #### logout 使当前登录session终止掉,适用于远程SSH连接等情况之下主动断开会话链接的需求场合之中。 ```bash logout ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值