如果是腳本可以通過ls -l命令來判斷,因為目錄第一個字母是d。
如果是編程可以參考以下內容。
man stat;
stat.h中有判斷是什麼文件的宏:
S _ I S R E G ( ) 普通文件
S _ I S D I R ( ) 目錄文件
S _ I S C H R ( ) 字元特殊文件
S _ I S B L K ( ) 塊特殊文件
S _ I S F I F O ( ) 管道或F I F O
S _ I S L N K ( ) 符號連接( P O S I X . 1或S V R 4無此類型)
S _ I S S O C K ( ) 套接字(P O S I X . 1或S V R 4無此類型)
具體可以參照APUE文件目錄相關章節。
下面給出一個具體的例子:
#include <stdio.h>
#include <sys/stat.h>
int main(int argc, char* argv[])
{
struct stat buf;
if(argc < 2)
{
printf("Need Parameter");
return -1;
}
if(lstat(argv[1], &buf) < 0)
{
printf("lstat error for %s\r\n", argv[1]);
return;
}
if(S_ISDIR(buf.st_mode))
printf("%s Is DIR\r\n", argv[1]);
else if(S_ISREG(buf.st_mode))
printf("%s Is FILE\r\n", argv[1]);
return 0;
}
Ⅱ linux查看目錄下文件的命令
linux中查看文件和目錄的命令是:LS
LS英文原意:list,命令所在路徑:/bin/ls,適用於所有用戶許可權,主要功能就是以列表形式顯示目錄文件。
其語法: ls 選項【-ald】【文件或目錄】
其中,-a 顯示所有文件,包括隱藏文件;
-l 詳細信息顯示;
-d 僅顯示目錄名,而不顯示目錄下的內容列表;
-h 人性化顯示(hommization);
-i 查看任意一個文件的i節點(類似於身份證唯一信息);
-t 用文件和目錄的更改時間排序;可以用第一個顯示的文件判斷最近修改的文件;
注意:. 開頭的文件除非是目錄,否則就是隱藏文件
(2)linux判斷文件是目錄擴展閱讀:
創建目錄命令:mkdir,英文原意:make directories,命令所在路徑:/bin/mkdir,適用於所有用戶許可權,功能在於創建新的目錄。
其語法: mkdir 【-p】【目錄名】
-p 遞歸創建
例子:a)創建單個目錄:mkdir /tmp/vae.txt
b)創建多個目錄:mkdir /tmp/a.txt /tmp/b.txt
使用時的注意事項:
1、創建的目錄已經存在, 那麼 Linux 會提示我們 Linux 無法創建它。
2、不帶任何參數運行 mkdir 命令會在當前目錄下創建目錄。
3、不帶上-p,如果新建的文件上級目錄不存在則不會執行成功這種說法是錯誤的。加或者不加上 -p 前面的目錄沒有得都會依次創建。
4、創建目錄的首要條件是, 在想要創建目錄的目標路徑下你必須具有訪問許可權。
Ⅲ 在linux系統中用什麼命令可以查看目錄
借用他人的答案回答下:)
顯示目錄文件用linux中ls命令
ls
命令可以說是linux下最常用的命令之一。
-a
列出目錄下的所有文件,包括以
.
開頭的隱含文件。
-b
把文件名中不可輸出的字元用反斜杠加字元編號(就象在C語言里一樣)的形式列出。
-c
輸出文件的
i
節點的修改時間,並以此排序。
-d
將目錄象文件一樣顯示,而不是顯示其下的文件。
-e
輸出時間的全部信息,而不是輸出簡略信息。
-f
-U
對輸出的文件不排序。
-g
無用。
-i
輸出文件的
i
節點的索引信息。
-k
以
k
位元組的形式表示文件的大小。
-l
列出文件的詳細信息。
-m
橫向輸出文件名,並以「,」作分格符。
-n
用數字的
UID,GID
代替名稱。
-o
顯示文件的除組信息外的詳細信息。
-p
-F
在每個文件名後附上一個字元以說明該文件的類型,「*」表示可執行的普通
文件;「/」表示目錄;「@」表示符號鏈接;「|」表示FIFOs;「=」表示套
接字(sockets)。
-q
用?代替不可輸出的字元。
-r
對目錄反向排序。
-s
在每個文件名後輸出該文件的大小。
-t
以時間排序。
-u
以文件上次被訪問的時間排序。
-x
按列輸出,橫向排序。
-A
顯示除
「.」和「..」外的所有文件。
-B
不輸出以
「~」結尾的備份文件。
-C
按列輸出,縱向排序。
-G
輸出文件的組的信息。
-L
列出鏈接文件名而不是鏈接到的文件。
-N
不限制文件長度。
-Q
把輸出的文件名用雙引號括起來。
-R
列出所有子目錄下的文件。
-S
以文件大小排序。
-X
以文件的擴展名(最後一個
.
後的字元)排序。
-1
一行只輸出一個文件。
--color=no
不顯示彩色文件名
--help
在標准輸出上顯示幫助信息。
--version
在標准輸出上輸出版本信息並退出。
只列出子目錄
1.
ls
-F
|
grep
/$
或者
alias
sub
=
"ls
-F
|
grep
/$"(linux)
2.
ls
-l
|
grep
"^d"
或者
ls
-lL
|
grep
"^d"
(Solaris)
計算當前目錄下的文件數和目錄數
下面命令可以分別計算當前目錄下的文件和目錄個數:
#
ls
-l
*
|grep
"^-"|wc
-l
----
to
count
files
#
ls
-l
*
|grep
"^d"|wc
-l
--
to
count
dir
顯示彩色目錄列表
打開/etc/bashrc,
加入如下一行:
alias
ls="ls
--color"
下次啟動bash時就可以像在Slackware里那樣顯示彩色的目錄列表了,
其中顏色的含義如下:
1.
藍色-->目錄
2.
綠色-->可執行文件
3.
紅色-->壓縮文件
4.
淺藍色-->鏈接文件
5.
灰色-->其他文件
ls
-tl
--time-style=full-iso
sshd
ls
-ctl
--time-style=long-iso
Ⅳ linux 判斷是文件還是目錄的命令
使用if...else...進行判斷,比如待判斷的文件或目錄名是xxx,則可內以這樣進行判斷:容
if [ -d xxx ];then
echo "xxx is a dir"
elif [ -f xxx ];then
echo "xxx is a file"
fi
Ⅳ 在Linux下用c語言 如何判斷文件是文件還是目錄
#include <stdio.h>
#include <sys/stat.h>
#include <unistd.h>
int main(int argc,char *argv[])
{
struct stat st;
printf("%s",argv[1]);
stat(argv[1],&st);
if (S_ISDIR(st.st_mode))
printf("is a dir\n");
else
printf("is not a dir\n");
return 0;
}
虛擬機上測過了.
是驗證輸入的第一個參數是回不是目答錄.
Ⅵ linux怎麼查看目錄
打開shell連接工具,連接上伺服器,pwd查看當前目錄,一般進來默認在主目錄~下:
8
find命令是一款強大的查找命令,上面只是介紹了通過文件名,文件內容和文件修改時間來查找,而我們還可以通過文件許可權,文件大小,文件所屬用戶等等信息去查找
Ⅶ linux中如何判斷是普通文件還是目錄文件
使用ls命令即可區分文件夾和文件。示例:ls -la
說明:
-l 列出文件的詳細信息。
-a 列出目錄下的所有文件,包括以 . 開頭的隱含文件。
要判斷是文件還是文件夾,看第一列的內容即可,第一列的第一個字母指明了文件類型:-」表示普通文件,「d」代表目錄,「l」代表連接文件,「b」代表設備文件。