mv
云縣ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
用法:mv [選項]... [-T] 源 目的
或:mv [選項]... 源... 目錄
或:mv [選項]... -t 目錄 源...
將來源名稱重命名為目的地名稱,或?qū)碓次募苿又聊夸洝?/p>
長選項必須用的參數(shù)在使用短選項時也是必需的。
--backup[=CONTROL] 為每個已存在的目的地文件創(chuàng)建備份文件
-b 類似 --backup,但不接受任何參數(shù)
-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=目錄 將所有參數(shù)指定的源文件/目錄移動至目錄
-T, --no-target-directory 將目的地視作普通文件處理
-u, --update 只在源文件比目的地文件新,或目的地文件
不存在時才會移動
-v, --verbose 詳細顯示進行的步驟
--help 顯示此幫助信息并離開
--version 顯示版本信息并離開
備份文件的后綴為‘~’,除非以 --suffix 選項或是 SIMPLE_BACKUP_SUFFIX
環(huán)境變量指定。版本控制的方式可透過 --backup 選項或 VERSION_CONTROL 環(huán)境
變量來選擇。以下是可用的變量值:
none, off 不會進行備份 (即使使用了 --backup 選項)
numbered, t 備份文件會加上數(shù)字
existing, nil 若有數(shù)字的備份文件已經(jīng)存在則使用數(shù)字,否則使用普通方式備份
simple, never 永遠使用普通方式備份
這篇文章主要介紹了Linux系統(tǒng)中獲取路徑的文件名的方法,文中總結(jié)出了兩條,需要的朋友可以參考下
代碼如下:
[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命令時會得到錯誤的結(jié)果。
方法二:
代碼如下:
[root@dabu.info
]#echo
"$(
cd
"$(
dirname
"${BASH_SOURCE[0]}"
)"
pwd
)"
上面一行命令可以獲得腳本的絕對輪徑,無論你在何處調(diào)用這個腳本。
但是如果含有軟鏈接,就無法使用了。所以,我們?yōu)榱四苷_解析指向腳本的軟鏈接,可以使用下面的多行命令:
代碼如下:
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切換到其他目錄,在運行時上面的命令片段時,則上面的命令不能等到正確的結(jié)果??梢詤⒖缄P于$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'"
1、用ls命令,查看你的種子文件名,可以手動復制粘貼種子文件名。
2、用ls命令,查看你的種子文件名后,手動輸入前三個字符,然后按鍵盤上的最左邊的tab鍵,shell會自動補齊文件名。
比如:
當前目錄下有種子文件wertyuiopsdfghjklxcvbnm,和aaaa、bbbb等三個文件。
先輸入ls,回車,列出這三個文件名。
再輸入ls,空格再輸入wer,然后按tab鍵,命令會自動補全為 ls wertyuiopsdfghjklxcvbnm。
從文件中搜索并顯示文件名
當你從不止一個的文件中搜索時,默認它將顯示文件名:
代碼如下:
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
你也可以逆轉(zhuǎn)輸出;使用
-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
根據(jù)文件內(nèi)容查找文件
輸入以下命令:
代碼如下:
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用于控制在顯示匹配行前顯示/不顯示文件名,注意區(qū)分。)
代碼如下:
$grep
--color=auto
-nH
'DIR'
*
輸出樣例:
你也可以使用
find
命令:
代碼如下:
$
find
.
-name
*.c
|
xargs
grep
main(