首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux bash shell中的“.file”和"./file“有什么区别?

在Linux bash shell中,".file"和"./file"是两种不同的文件路径表示方式。

".file"表示当前目录下的文件,其中"."代表当前目录。这种表示方式是相对路径,不需要指定具体的路径,直接使用文件名即可。例如,如果当前目录下存在一个名为"test.txt"的文件,使用".test.txt"就可以访问到该文件。

"./file"表示相对于当前目录的文件路径,其中"./"代表当前目录。这种表示方式也是相对路径,需要指定文件所在的具体路径。例如,如果当前目录下存在一个名为"folder"的文件夹,其中包含一个名为"test.txt"的文件,使用"./folder/test.txt"就可以访问到该文件。

区别:

  1. 语法不同:".file"是直接使用文件名,而"./file"需要指定文件所在的具体路径。
  2. 使用范围不同:".file"只能访问当前目录下的文件,而"./file"可以访问当前目录及其子目录下的文件。
  3. 可读性不同:"./file"更加明确地指定了文件所在的路径,可读性较好。".file"相对较为简洁,但可读性较差,容易引起歧义。

推荐的腾讯云相关产品和产品介绍链接地址:

腾讯云提供了丰富的云计算产品和服务,包括云服务器、云数据库、云存储等。具体推荐的产品和链接地址可以根据具体需求和场景进行选择。以下是腾讯云的产品介绍页面链接,您可以根据需要进行查阅:

  1. 云服务器(CVM):https://cloud.tencent.com/product/cvm
  2. 云数据库 MySQL 版:https://cloud.tencent.com/product/cdb_mysql
  3. 云存储(COS):https://cloud.tencent.com/product/cos
  4. 人工智能(AI):https://cloud.tencent.com/product/ai
  5. 物联网(IoT):https://cloud.tencent.com/product/iot
  6. 移动开发(移动推送、移动分析):https://cloud.tencent.com/product/mps
  7. 区块链(BCS):https://cloud.tencent.com/product/bcs
  8. 元宇宙(Tencent XR):https://cloud.tencent.com/product/xr

请注意,以上链接仅为示例,具体的产品选择和链接地址应根据实际情况进行调整。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux系统安全 | LinuxShellBash

学安全我们,经常会听到说获得某服务器shell,就是指获得某个服务器操作权限。我们学习linux时,经常会遇到bashbash也是指的是某个服务器权限。那么,这两者什么区别联系呢?...它接收用户命令,然后调用相应应用程序。 我们先来看一些Linux系统结构 ? 位于最内层是硬件,然后是Linux系统内核。shell介于用户系统内核之间。 那么shell功能是什么呢?...所以,我们就不难理解Linuxshell多种类型了吧,这其中最常用几种是 Bourne shell(sh)、Bourne Again shell(bash) Debian Almquist...Bash放在/bin/bash ,它有许多特色,可以提供如命令补全、命令编辑命令历史表等功能,有灵活强大编程接口,同时又有很友好用户界面。...而且在Redhat系列Linux 操作系统 /bin/sh 是 /bin/bash 符号链接。所以,用 sh执行脚本bash 执行脚本,效果是一样。所以我们通常会在脚本第一行写 #!

2.9K10

Linux系统安全 | LinuxShellBash

我们学习linux时,经常会遇到bashbash也是指的是某个服务器权限。那么,这两者什么区别联系呢?...它接收用户命令,然后调用相应应用程序。 我们先来看一些Linux系统结构 位于最内层是硬件,然后是Linux系统内核。shell介于用户系统内核之间。 那么shell功能是什么呢?...所以,我们就不难理解Linuxshell多种类型了吧,这其中最常用几种是 Bourne shell(sh)、Bourne Again shell(bash) Debian Almquist...Bash放在/bin/bash ,它有许多特色,可以提供如命令补全、命令编辑命令历史表等功能,有灵活强大编程接口,同时又有很友好用户界面。...而且在Redhat系列Linux 操作系统 /bin/sh 是 /bin/bash 符号链接。所以,用 sh执行脚本bash 执行脚本,效果是一样。所以我们通常会在脚本第一行写 #!

1.6K20

bashshell入门

-c :将目前 shell 所有 history 内容全部消除 -a :将目前新增 history 指令新增入 histfiles ,若没有加 histfiles , 则预设写入 ~/.bash_history...这样会 ~/.bash_history 写入问题吗?想一想,因为这些 bash 在同时以 root 身份登入, 因此所有的 bash 都有自己 1000 笔记录在内存。...如果读者们兴趣,其实可以透过 ~/.bash_logout 来进行 history 记录,并加上 date 来增加时间参数,也是一个可以应用方向 7.2 Shell 操作环境 是否记得我们登入主机时候...除了通配符之外,bash 环境特殊符号哪些呢?底下我们先汇整一下: 符号 意义 # 批注符号:这个最常被使用在 script 当中,视为说明!...您可以自由转载修改,但请务必注明文章来源作者署名并说明文章非原创且不可用于商业目的。

93220

C#FileFileStream用法

大家好,又见面了,我是你们朋友全栈君。 在近期工作过程中发现自己基础比较薄弱,所以最近在恶补基础知识。下面就对我所学习FileFileStream进行简单总结。...1.首先先介绍FileFileStream文件流 1.1 File类,是一个静态类,支持对文件基本操作,包括创建,拷贝,移动,删除打开一个文件。File类方法参量很多时候都是路径path。...1.3 区别:file:是一个文件类,对文件进行操作;filestream:文件流.对txt,xml等文件写入内容时候需要使用一个工具.打个形象比喻.file是笔记本,需要filestream...这个笔才能写. 2.代码部分 2.1 File类创建Txt string path = @"C:\Users\Administrator\Desktop\1.txt"; File.Open...(path, users, Encoding.Default); 2.3 File类字节形式读取txt文档 byte[] buttf = File.ReadAllBytes(path); string

57920

列举出linux文件目录常用命令_cat -n file1file2 命令意思是

mkdir(英文全拼:make directory):创建一个新目录 rmdir(英文全拼:remove directory):删除一个空目录 cp(英文全拼:copy file): 复制文件或目录...rm(英文全拼:remove): 删除文件或目录 mv(英文全拼:move file): 移动文件与目录,或修改文件与目录名称 ls (列出目录) 在Linux系统当中, ls 命令可能是最常被运行...p test1/test2 **注意:**这个 rmdir 仅能删除空目录,你可以使用 rm 命令来删除非空目录 cp (复制文件或目录) cp 即拷贝文件目录。...,至於 pdr 请参考下列说明;(常用) -d:若来源档为连结档属性(link file),则复制连结档属性而非文件本身; -f:为强制(force)意思,若目标文件已经存在且无法开启,...最常用在目录删除了!这是非常危险选项!!!(删库跑路:rm -rf) 将刚刚在 cp 实例创建 bashrc 删除掉!

1.6K20

Bash Shell 单引号双引号区别

你会经常在 Linux 命令行中使用引号,处理文件名空格?你使用引号。处理特殊字符?你再次使用引号。...引号是 Linux shell “特殊功能”,它可能会让人感到困惑,特别是如果您不熟悉 Linux 命令 shell 脚本。 我将解释不同类型引号字符及其在 shell 脚本用法。...双引号内反斜杠 反斜杠是与美元符号反引号一起保持其特殊含义三个特殊字符之一。 这样,您可以使用反斜杠来转义美元符号、双引号双引号反引号特殊含义。...在下面的示例,date 被替换为 date 命令输出,显示 Linux 系统的当前日期时间。...[202204081703625.png] 不再推荐反引号 多年来,反引号用于 Shell 脚本命令替换,但是现在,现代 UNIX Linux 系统更喜欢这种$(command)结构。

3.3K50

MyBatis配置#{}${}什么区别

前几天,一位应届生去面试,被问到一个MyBatis中比较基础问题,说MyBatis#号$符号什么区别?今天,我给大家来详细介绍一下。...它相当于向PreparedStatement预处理语句中设置参数,而PreparedStatementSQL语句是预编译,如果在设置参数包含特殊字符,会自动进行转义。...,前者是动态参数,后者是占位符, 动态参数无法防止SQL注入问题,所以在实际应用,应该尽可能使用#号占位符。...另外,$符号动态传参,可以适合应用在一些动态SQL场景,比如动态传递表名、动态设置排序字段等。 2、总结 一些小细节如果不注意,就有可能造成巨大经济损失。...在技术如此成熟互联网时代,还是会有一些网站经常出现SQL注入导致信息泄露问题。 以上就是我对MyBatis配置#号$号理解。

88620

Linux包名xxxxxx-dev什么区别?

引入 在安装包时候,有时候需要安装xxx包,有时候又需要安装xxx-dev包 (在CentOS系列发行版上则是xxx-devel)。这两类包之间又什么区别呢? 2....结论 不包含-dev包里面包含是运行所需要二进制文件或者连接库文件(如xxx.so),而包含-dev包则包含包源码文件(如.h文件),为是在编译使用了这些库程序时候,能找到对应头文件,...否则只有二进制文件或者.so文件,编译时会报代码找不到头文件错误。...如果想要编译一个叫lxml库,它依赖Python源码,例如这里代码依赖Python.h这个文件,因此我们需要安装python-dev包,把Python.h安装到本地上,这样lxml包才能正常安装。

35340

KotlinStateFlowSharedFlow什么区别

欢迎点击上方"AntDream"关注我,每天进步一点点 在Kotlin协程库kotlinx.coroutines,StateFlowSharedFlow是两种用于处理事件流API,它们相似之处...livedata比较像,新数据可以通知collect一方 同时又具有flow所有特点,比如可以挂起,切换线程 SharedFlow: 一种通用热流,可以发射事件流而不是仅限于持有最新状态。...也就是一对多关系,可以多个collector 同时又具有flow所有特点,比如可以挂起,切换线程 上面的StateFlow不同是,这个不能主动通知collect方,需要不断emit元素,也就是利用了...流每个新值都会覆盖之前值,即只有最新状态值会被保留。 SharedFlow: 不会持有单一最新状态值(除非配置了重播缓存)。...此外,两者还有collectLatest接口,下次我们再来详细对比看看 对于StateFlowSharedFlow,你什么经验看法呢?欢迎留言区讨论。

9710

MySQLfloatdecimal类型什么区别

对mysql 5来说 decimal(p,s)p最大为65,S最大为30 decimal数据类型最多可存储 38 个数字,它存储了一个准确(精确)数字表达法,不存储值近似值。...当数据值一定要按照指定精确存储时,可以用带有小数decimal数据类型来存储数字。 floatreal数据类型被称为近似的数据类型。...不存储精确值.当要求精确数字状态时,比如在财务应用程序,在那些需要舍入操作,或在等值核对操作,就不使用这些数据类型。...在 WHERE 子句搜索条件(特别是 = 运算符),应避免使用float或real列。最好限制使用floatreal列做> 或 < 比较。...,存储按给出数值存储,这于OS当前硬件有关。

2.2K20

一步步成为linux大神——bash shellSIGHUPSIGTERM信号处理

一开始我学到知识是,运行后台命令都需要nohup,否则客户端退出后,后台命令也会被停止。 那时我还以为凡是父shell结束,都会给子任务发送signal,使其退出。...然而编写cloudera-launcher过程,发现父shell接收到SIGTERM,并没有将其发送给子任务。...在bashman,看到了这样解释 The shell exits by default upon receipt of a SIGHUP....Before exiting, an interactive shell resends the SIGHUP to all jobs, running or stopped....也就是说interactive shell只会将SIGHUP信号给子任务 如果父shell需要将SIGTERM信号传播给子任务,常用一个方法是用exec运行子任务 更详细文章可以参考http://

2.6K80

c ++coutstd :: cout什么区别

coutstd::cout都相同,但是唯一区别是,如果我们使用cout,则必须在程序中使用命名空间std,或者如果您不使用std命名空间,则应该使用std::cout。 什么是cout?...cout是ostream类预定义对象,用于在标准输出设备上打印数据(消息值)。...cout带有不带有std用法 通常,当我们在Linux操作系统为GCC编译器编写程序时,它需要在程序中使用“ std”命名空间。...在这里,std是一个命名空间,:: :(作用域解析运算符)用于访问命名空间成员。而且我们在C ++程序包含了命名空间std,因此无需将std ::显式放入程序即可使用cout其他相关内容。...2)不使用“使用命名空间std”“ std ::”程序–将会发生错误 #include int main(){ cout<<"Hi there, how are you?"

75520

JavaScript Var,Let Const 什么区别

一、var 在ES5,顶层对象属性全局变量是等价,用var声明变量既是全局变量,也是顶层变量 注意:顶层对象,在浏览器环境指的是window对象,在 Node 指的是global对象 var...使用 变量提升 var声明变量存在变量提升,即变量可以在声明之前调用,值为undefined letconst不存在变量提升,即它们所声明变量一定要在声明后使用,否则报错 // var console.log...const console.log(c) // Cannot access 'c' before initialization const c = 10 暂时性死区 var不存在暂时性死区 letconst...存在暂时性死区,只有等到声明变量那一行代码出现,才可以获取使用该变量 // var console.log(a) // undefined var a = 10 // let console.log...varlet可以 const声明一个只读常量。

1K40

Controller请求,privatepublic什么区别

Controller 请求方法,通常我们都是 public ,如果是 private 、protected 行不行,为什么?...会不会是切点注解修饰符匹配不到呢?将切点中修饰符从 public 修改成 private。...目前结论 方法没有用@Autowired或者@Resource注入对象。...其本质是:调用某个类方法时,实际上是先为该类生成一个子类,然后再在子类通过反射等,达到方法拦截目的。...对于子类,其父类,private修饰方法,子类如果与父类不在同一包下,是没有访问权限,此场景下,cglib 生成子类,不会父类在同一包下,也就是private修饰方法,不能进行动态代理,所以会报空指针异常

1.7K20
领券