兩個方式:find命令或者抄shell腳本。
1、find命令
find是linux下用於查找文件的通用方法。
find語法: find [指定查找目錄] [查找規則] [查找完後執行的action]
例如:find /tmp -name wa* -type l ,是在/tmp下查找名為wa開頭且類型為符號鏈接的文件。找到就表示存在。
2、shell腳本
在進行文件的自動處理中常常需要自動判別,下面的腳本判斷test.log是否存在,存在則顯示文件存在,否則顯示文件不存在。
例子:編輯一個腳本判斷文件是否存在
vi t.sh
#!/bin/bash
if [ -e /temp/test.log ];then //這里是判斷語句,-e表示進行比較結果為真則存在
echo "文件存在"
else
echo "文件不存在"
fi
保存退出
執行:
sh t.sh
B. linux下如何判斷目錄里哪些是文件 哪些是文件夾
你要正常安裝後,目錄會顯示為藍色
ls -l 第一字母為d時,說明是目錄
C. linux shell 判斷文件是否存在
介紹了linux shell 中判斷文件、目錄是否存在的方法,分享給大家
-e filename 如果 filename存在,則為真
-d filename 如果 filename為目錄,則為真
-f filename 如果 filename為常規文件,則為真
-L filename 如果 filename為符號鏈接,則為真
-r filename 如果 filename可讀,則為真
-w filename 如果 filename可寫,則為真
-x filename 如果 filename可執行,則為真
-s filename 如果文件長度不為0,則為真
-h filename 如果文件是軟鏈接,則為真
D. linux 目錄是否存在命令
#shell判斷文件夾是否存在
#如果文件夾不存在,創建文件夾
if [ ! -d "/myfolder" ]; then
mkdir /myfolder
fi
#shell判斷文件,目錄是否存在或者具有許可權
folder="/var/www/"
file="/var/www/log"
# -x 參數判斷 $folder 是否存在並且是否具有可執行許可權
if [ ! -x "$folder"]; then
mkdir "$folder"
fi
# -d 參數判斷 $folder 是否存在 《Linux就該這么學》 一起學習linux
if [ ! -d "$folder"]; then
mkdir "$folder"
fi
# -f 參數判斷 $file 是否存在
if [ ! -f "$file" ]; then
touch "$file"
fi
# -n 判斷一個變數是否有值
if [ ! -n "$var" ]; then
echo "$var is empty"
exit 0
fi
# 判斷兩個變數是否相等
if [ "$var1" = "$var2" ]; then
echo '$var1 eq $var2'
else
echo '$var1 not eq $var2'
fi
E. linux 怎麼查看當前目錄下是有文件'
ls
:查看常規的文件
ls
-a:查看當前目錄下所有的文件,包括隱藏文件
F. linux c 查看當前目錄下是否有指定文件
1. Shell 版本
#獲取當前腳本所在絕對路徑
cur_dir=$(cd "$(dirname "$0")"; pwd)
2. C語言版本
方法一、用realpath函數。這種方法用於開機啟動程序獲取自身目錄會出錯
char current_absolute_path[MAX_SIZE];
//獲取當前目錄絕對路徑
if (NULL == realpath("./", current_absolute_path))
{
printf("***Error***\n");
exit(-1);
}
strcat(current_absolute_path, "/");
printf("current absolute path:%s\n", current_absolute_path);
方法二、用getcwd函數。這種方法用於開機啟動程序獲取自身目錄會出錯
char current_absolute_path[MAX_SIZE];
//獲取當前目錄絕對路徑
if (NULL == getcwd(current_absolute_path, MAX_SIZE))
{
printf("***Error***\n");
exit(-1);
}
printf("current absolute path:%s\n", current_absolute_path);
方法三、用readlink函數。這種方法最可靠,可用於開機啟動程序獲取自身目錄
char current_absolute_path[MAX_SIZE];
//獲取當前程序絕對路徑
int cnt = readlink("/proc/self/exe", current_absolute_path, MAX_SIZE);
if (cnt < 0 || cnt >= MAX_SIZE)
{
printf("***Error***\n");
exit(-1);
}
//獲取當前目錄絕對路徑,即去掉程序名
int i;
for (i = cnt; i >=0; --i)
{
if (current_absolute_path[i] == '/')
{
current_absolute_path[i+1] = '\0';
break;
}
}
printf("current absolute path:%s\n", current_absolute_path);
G. linux如何判斷是文件還是目錄
可以使用ll命令判斷,命令如下:
ll
得到的結果,如果首字母是d則為文件夾,如果為-則為文件。
效果如下:
H. 判斷 12.命令"ls -la"可以查看linux下當前目錄下的所有文件和文件夾,包括隱藏文件。
結論:對。
ls 命令將每個由 Directory 參數指定的目錄或者每個由 File 參數指定的名稱寫到標准輸出,以及您所要求的和標志一起的其它信息。如果不指定 File 或 Directory 參數, ls 命令顯示當前目錄的內容。
-a表示顯示所有文件及目錄 (ls內定將文件名或目錄名稱開頭為"."的視為隱藏檔,不會列出)。
-l表示除文件名稱外,亦將文件型態、許可權、擁有者、文件大小等資訊詳細列出。
(8)linux判斷目錄有文件嗎擴展閱讀:
ls -lR /home/alvin/test_dir/,列出/home/alvin/test_dir目錄下所有文件及目錄的詳細資料。
ls -l atb*,列出/home/alvin/test_dir目錄下以atb開頭的所有文件的詳細內容。
ls -F /home/alvin/test_dir | grep /$,只列出目錄下的子目錄。
ls -ltr,按時間順序列出目錄下的文件,越新越排後面。
ls -lhS,以文件大小進行排序。
ls -l | grep "^-" | wc -l,統計當前目錄下的文件數和目錄數。
ls | sed "s:^:`pwd`/:",列出所有文件的絕對路徑。
I. linux 查找文件夾下是否有某文件
兩個方式:find命令或者shell腳本。
1、find命令
find是linux下用於查找文件的通用方法。
find語法:
find
[指定查找目錄]
[查找規則]
[查找完後執行的action]
例如:find
/tmp
-name
wa*
-type
l
,是在/tmp下查找名為wa開頭且類型為符號鏈接的文件。找到就表示存在。
2、shell腳本
在進行文件的自動處理中常常需要自動判別,下面的腳本判斷test.log是否存在,存在則顯示文件存在,否則顯示文件不存在。
例子:編輯一個腳本判斷文件是否存在
vi
t.sh
#!/bin/bash
if
[
-e
/temp/test.log
];then
//這里是判斷語句,-e表示進行比較結果為真則存在
echo
"文件存在"
else
echo
"文件不存在"
fi
保存退出
執行:
sh
t.sh
J. linux中如何判斷是普通文件還是目錄文件
使用ls命令即可區分文件夾和文件。示例:ls -la
說明:
-l 列出文件的詳細信息。
-a 列出目錄下的所有文件,包括以 . 開頭的隱含文件。
要判斷是文件還是文件夾,看第一列的內容即可,第一列的第一個字母指明了文件類型:-」表示普通文件,「d」代表目錄,「l」代表連接文件,「b」代表設備文件。