linux ./文件名,Linux中的.是什么意思?
linux ./文件名目录
linux ./文件名
。
404 Not Found
。
。
。
。
。
。
。
。
Linux中的.是什么意思?
Linux中“./”在系统文件中表示绝对路径的意思。
linux系统中,所有的文件与目录都是由根目录/开始,不是以/开头的就是相对路径;
1、“.”表示当前目录,也可以用“./”表示;
2、“..”表示上一级目录,也可以用“../”表示;
3、“~”代表用户自己的宿主目录;
4、“/”处于Linux文件系统树形结构的最顶端,我们称它为Linux文件系统的root,它是Linux文件系统的入口。
所有的目录、文件、设备都在/之下,它是Linux文件系统最顶层的唯一的目录;一般建议在根目录下面只有目录,不要直接存放文件;根目录是linux系统启动时系统第一个载入的分区,所以启动过程中用到的文件应该都放在这个分区中。
其中/etc、/bin、/dev、/lib、/sbin这5个子目录都应该要与根目录连在一起,不可独立成为某个分区。
Linux系统中给文件改名的命令是什么/?
linux的文件重命名非常简单。
常用的是mv命令和rename命令。
下面介绍一下这两个命令的用法,具体结节可以参考手册。
1、mv
mv fromfile tofile
如把文件a.txt得命名为b.txt,可以是mv a.txt b.txt。
mv一次只能重命名一个文件,而且,它是移动命令。
如果tofile已经存在的话,会直接装原文件覆盖,从而造成文件的丢失。
当然有选项可以对已存在的文件进行提示,但是,我表示,那个选项我还真不常用。
综合这两点考虑,还是决定看看rename吧。
2、rename
rename frompart topart filename 或者 rename 's/frompart/topart/' filename
如把文件a.txt得命名为b.txt,可以是rename 'a' 'b' a.txt (这个没有试过,看网上别人说的,是这样子的。
)还可以是:rename 's/^a/b/' a.txt
在有的系统之上,用前面的那句可以通过,在有的系统之上,用后面的这个可以通过。
两个不一样,一个是C的,一个是perl的。
明显看出,后面这条是正则表达式的写法。
具体采用哪一种方式,可以man rename,在手册页的最后一行看版本。
由于我使用的系统rename的版本是Perl的,所以我只能采用后面的这一种方式。
rename 强大 的地方在于,你可以使用*,?等,对所有符合条件的文件名进行批量修改。
而你在使用mv的时候,只能采用写脚本,用循环的方式来解决。
Linux系统中获取路径的文件名的方法
这篇文章主要介绍了Linux系统中获取路径的文件名的方法,文中总结出了两条,需要的朋友可以参考下
代码如下:
[root@dabu.info ]#basename /root/aaa/bbb/dabu.txt
显示:
代码如下:
dabu.txt #获取路径的文件名
shell脚本中如何获得脚本文件所在路径?
方法一:
代码如下:
[root@dabu.info ]#DIR=$(cd $(dirname $0); pwd)
[root@dabu.info ]#echo $DIR
但是像这种dirname $0这种写法,在遇到source命令时会得到错误的结果。
方法二:
代码如下:
[root@dabu.info ]#echo $( cd $( dirname ${BASH_SOURCE[0]} ) pwd )
上面一行命令可以获得脚本的绝对轮径,无论你在何处调用这个脚本。
代码如下:
SOURCE=${BASH_SOURCE[0]}
while [ -h $SOURCE ]; do # resolve $SOURCE until the file is no longer a symlink
DIR=$( cd -P $( dirname $SOURCE ) pwd )
SOURCE=$(readlink $SOURCE)
[[ $SOURCE != /* ]] SOURCE=$DIR/$SOURCE # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
done
DIR=$( cd -P $( dirname $SOURCE ) pwd )
也可与source,bash -c命令使用
但是,如果你在脚本中使用先cd切换到其他目录,在运行时上面的命令片段时,则上面的命令不能等到正确的结果。
可以参考关于$CDPATH 陷阱的文章。
想理解它如何其作用的,可以运行下面的代码:
代码如下:
#!/bin/bash
SOURCE=${BASH_SOURCE[0]}
while [ -h $SOURCE ]; do # resolve $SOURCE until the file is no longer a symlink
TARGET=$(readlink $SOURCE)
if [[ $SOURCE == /* ]]; then
echo SOURCE $SOURCE is an absolute symlink to $TARGET
SOURCE=$TARGET
else
DIR=$( dirname $SOURCE )
echo SOURCE $SOURCE is a relative symlink to $TARGET (relative to $DIR)
SOURCE=$DIR/$TARGET # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
fi
done
echo SOURCE is $SOURCE
RDIR=$( dirname $SOURCE )
DIR=$( cd -P $( dirname $SOURCE ) pwd )
if [ $DIR != $RDIR ]; then
echo DIR $RDIR resolves to $DIR
fi
echo DIR is $DIR
(随机推荐阅读本站500篇优秀文章点击前往:500篇优秀随机文章)