Linux命令引用文件名 linux获取文件名字-成都快上网建站

Linux命令引用文件名 linux获取文件名字

用哪些命令改linux里的文件名?

mv

云县ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!

用法:mv [选项]... [-T] 源 目的

或:mv [选项]... 源... 目录

或:mv [选项]... -t 目录 源...

将来源名称重命名为目的地名称,或将来源文件移动至目录。

长选项必须用的参数在使用短选项时也是必需的。

--backup[=CONTROL] 为每个已存在的目的地文件创建备份文件

-b 类似 --backup,但不接受任何参数

-f, --force 覆盖文件前不会进行确认

-i, --interactive 覆盖文件前必须先确认

--strip-trailing-slashes remove any trailing slashes from each SOURCE

argument

-S, --suffix=SUFFIX override the usual backup suffix

-t, --target-directory=目录 将所有参数指定的源文件/目录移动至目录

-T, --no-target-directory 将目的地视作普通文件处理

-u, --update 只在源文件比目的地文件新,或目的地文件

不存在时才会移动

-v, --verbose 详细显示进行的步骤

--help 显示此帮助信息并离开

--version 显示版本信息并离开

备份文件的后缀为‘~’,除非以 --suffix 选项或是 SIMPLE_BACKUP_SUFFIX

环境变量指定。版本控制的方式可透过 --backup 选项或 VERSION_CONTROL 环境

变量来选择。以下是可用的变量值:

none, off 不会进行备份 (即使使用了 --backup 选项)

numbered, t 备份文件会加上数字

existing, nil 若有数字的备份文件已经存在则使用数字,否则使用普通方式备份

simple, never 永远使用普通方式备份

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'"

linux 命令行文件名有提示吗,有些文件名好长不想打(种子文件)

1、用ls命令,查看你的种子文件名,可以手动复制粘贴种子文件名。

2、用ls命令,查看你的种子文件名后,手动输入前三个字符,然后按键盘上的最左边的tab键,shell会自动补齐文件名。

比如:

当前目录下有种子文件wertyuiopsdfghjklxcvbnm,和aaaa、bbbb等三个文件。

先输入ls,回车,列出这三个文件名。

再输入ls,空格再输入wer,然后按tab键,命令会自动补全为 ls wertyuiopsdfghjklxcvbnm。

Linux中使用grep命令搜索文件名及文件内容的方法

从文件中搜索并显示文件名

当你从不止一个的文件中搜索时,默认它将显示文件名:

代码如下:

grep

word

文件名

grep

root

/etc/*

示例输出:

代码如下:

/etc/bash.bashrc:

See

man

sudo_root

for

details.

/etc/crontab:17

*

*

*

*

root

cd

/

run-parts

--report

/etc/cron.hourly

/etc/crontab:25

6

*

*

*

root

test

-x

/usr/sbin/anacron

||

(

cd

/

run-parts

--report

/etc/cron.daily

)

/etc/crontab:47

6

*

*

7

root

test

-x

/usr/sbin/anacron

||

(

cd

/

run-parts

--report

/etc/cron.weekly

)

/etc/group:root:x:0:

grep:

/etc/gshadow:

Permission

denied

/etc/logrotate.conf:

create

0664

root

utmp

/etc/logrotate.conf:

create

0660

root

utmp

每行开始的第一个部分是文件名(如:/etc/crontab、/etc/group)。使用

-l

选项可以只显示文件名:

代码如下:

grep

-l

string

filename

grep

-l

root

/etc/*

示例输出:

代码如下:

/etc/aliases

/etc/arpwatch.conf

grep:

/etc/at.deny:

Permission

denied

/etc/bash.bashrc

/etc/bash_completion

/etc/ca-certificates.conf

/etc/crontab

/etc/group

你也可以逆转输出;使用

-L

选项来输出那些不匹配的文件的文件名:

代码如下:

grep

-L

word

filename

grep

-L

root

/etc/*

示例输出:

代码如下:

/etc/apm

/etc/apparmor

/etc/apparmor.d

/etc/apport

/etc/apt

/etc/avahi

/etc/bash_completion.d

/etc/bindresvport.blacklist

/etc/blkid.conf

/etc/bluetooth

/etc/bogofilter.cf

/etc/bonobo-activation

/etc/brlapi.key

根据文件内容查找文件

输入以下命令:

代码如下:

grep

'string'

*.txt

grep

'main('

*.c

grep

'#include'

*.c

grep

'getChar*'

*.c

grep

-i

'ultra'

*.conf

grep

-iR

'ultra'

*.conf

其中

-i

忽略模式(匹配字符串

valid、

VALID、

ValID

)和输入文件(匹配

file.c

FILE.c

FILE.C)的大小写。

-R

递归读取每个目录下的所有文件。

高亮匹配到的模式

在搜索大量文件的时候你可以轻松地高亮模式:

代码如下:

$

grep

--color=auto

-iR

'getChar();'

*.c

为查找到的模式显示文件名和行号

你也许需要显示文件名和行号:

代码如下:

$

grep

--color=auto

-iRnH

'getChar();'

*.c

其中,

-n

在输出的每行前面添加以

1

开始的行号。

-H

为每个匹配打印文件名。要搜索多个文件时这是默认选项。(LCTT

译注:-h

选项强制隐藏文件名;另外

-l

-L

选项用于仅显示匹配/不匹配的文件名,而

-H

-h用于控制在显示匹配行前显示/不显示文件名,注意区分。)

代码如下:

$grep

--color=auto

-nH

'DIR'

*

输出样例:

你也可以使用

find

命令:

代码如下:

$

find

.

-name

*.c

-print

|

xargs

grep

main(


网站名称:Linux命令引用文件名 linux获取文件名字
本文网址:http://kswjz.com/article/ddedgid.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流