1. linux如何查找以某個字母打頭的文件或文件夾 比如,/etc目錄下很多文件,我想列出所有以c開頭的文件或文件
ls -al |grep c* 這樣就可以了,運用管道命令|。
如何使用命令行在Linux中查找文件和文件夾
1
使用查找命令,「find」命令允許您搜索知道近似文件名的文件。該命令的最簡單形式在當前目錄中搜索文件,並遞歸地通過其與所提供的搜索條件匹配的子目錄。您可以按名稱,所有者,組,類型,許可權,日期和其他條件搜索文件。
在提示符下鍵入以下命令將列出當前目錄中的所有文件。
「find」後的點表示當前目錄。
如果您只想要顯示可執行文件的路徑,而不是源和路徑(man(頁)),請使用該-b選項。例如,該命令whereis -b firefox將僅顯示/usr/bin/firefox為結果。這很方便,因為您可能會比搜索該程序的源頁面和手冊頁更頻繁地搜索程序的可執行文件。您也可以僅搜索源文件(-s)或僅搜索手冊頁(-m)。
有關whereis命令的詳細信息,請鍵入man whereis終端窗口,然後按Enter鍵。
8
了解Whereis命令與哪個命令之間的區別
whereis命令顯示命令的二進制,源和手冊頁的位置,而哪個命令僅顯示命令的二進制文件的位置。
whereis命令搜索二進制,源和man文件的特定目錄列表,而哪個命令搜索當前用戶的PATH環境變數中列出的目錄。對於whereis命令,可以在命令的手冊頁的FILES部分中找到具體目錄的列表。
當涉及默認顯示的結果時,whereis命令顯示它找到的所有內容,而哪個命令只顯示找到的第一個可執行文件。您可以使用-a前面討論過的選項來更改該命令。
因為whereis命令只使用硬編碼到命令中的路徑,所以您可能並不總是找到您要查找的內容。如果您正在搜索一個程序,則認為可能安裝在whereis命令的手冊頁中未列出的目錄中,您可能希望使用該-a選項以查找系統中所有出現的命令,
2. 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);
3. linux用C如何判斷一個目錄是否為空
下面的程序在solaris8、gcc編譯通過的,如果一個目錄是空的,輸出為2。
QUOTE: #include #include #include int main(int argc , char **argv){DIR *dirp;int num=0;dirp = opendir(argv[1]);
while (dirp) {
if ( readdir(dirp) != NULL)++num;elsebreak;}closedir(dirp);
printf("%d\n",num);
}shell中判斷目錄為空
4. linux下編寫c程序放在哪個文件夾下
第一種方法: 改名:mv hello hello.c 編譯:首先cd到你源文件的那個目錄下,這樣省去了指定絕對路徑的麻煩,比如cd到桌面,然後:gcc hello.c -o hello 運行:./hello 第二種方法: 啟動終端後 gcc /桌面/ hello.c ./a.out 第三種方法: 1.更改所...
5. linux下C 編程問題,總是提示bash :找不到目錄或文件,哪位大俠給點提示,急啊~~~
gcc my_chmod.c
./a.out
6. 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;
}
虛擬機上測過了.
是驗證輸入的第一個參數是不是目錄.