ls命令。
Is是List的缩写,表示显示文件目录列表。(只显示非隐藏文件的文件名)
参数:回
-a:--all的缩写,显答示所有文件,包括隐藏文件(以 . 开头的文件)
-L:列出长数据串,显示文件的大小,时间等数据信息。
ls -la:表示显示文件包括的所有信息。
注意事项
linux查看日志文件内容命令有
1、cat:由第一行开始显示文件内容。
2、tac:从最后一行开始显示,可以看出tac是cat的倒着写。
3、nl:显示的时候,顺道输出行号。
4、more:一页一页的显示文件内容
5、less与more类似,但是比more更好的是,他可以往前翻页。
6、head:只看头几行。
7、tail:只看尾巴几行。
可以使用man [命令]来查看各个命令的使用文档,如 :man cp。
Ⅱ 如何用shell获取linux目录下的文件名
获取所有常规文件的文件名并打印出来的脚本listfile.sh如下
#!/bin/bash
dir="/*"
dir=$1$dir
for f in $dir
do
if [ -f $f ]
then
echo $f
fi
done
使用方法:
$ listfile.sh PATH
原理:
PATH参数是路径,将路径后加上“/*”,代表该目录下的所有文件和目录名,利用for循环比较每个文件是否是常规文件( -f比较运算符),若if表达式为真则打印
举例:
ls -l
total 36
-rwxrwxr-x 1 lipeng lipeng 48 Nov 29 20:08 aaa.sh
drwxrwxr-x 2 lipeng lipeng 4096 May 4 2015 byteorder
drwxrwxr-x 8 lipeng lipeng 4096 May 3 2015 hello
-rwxrwxr-x 1 lipeng lipeng 122 Nov 29 20:16 listfile.sh
-rw-rw-r-- 1 lipeng lipeng 177 Aug 1 03:10 main.cpp
drwxrwxr-x 2 lipeng lipeng 4096 Sep 13 16:42 matrix
drwxrwxr-x 5 lipeng lipeng 4096 Apr 28 2015 modbus
drwxrwxr-x 2 lipeng lipeng 4096 Sep 13 10:10 shtest
drwxrwxr-x 2 lipeng lipeng 4096 Sep 16 18:21 test
$ ./listfile.sh .
./aaa.sh
./listfile.sh
./main.cpp
Ⅲ Linux下一个文件夹下的文件是动态增加的,如何编程获取文件名
可以使用opendir, readdir和closedir来读取目录下文件项。
Ⅳ linux编程怎么获得当前文件夹的文件夹名
1.使用绝对路径执行的shell文件(如/home/xxx/binfile)
直接使用dirname $0即可
2.对于使用相对路径执行的shell文件(如 ./xxx/binfile)
pwd与dirname结合使用;pwd获得的是执行当前shell文件时,用户所在的位置;dirname可以获得相对于那个位置的偏移:
例如某shell文件所在的位置是/home/user_name/work2/SNS3_server_im/Developing/trunk/im_capp/src/notify_serv/shell文件名
1 #!/bin/sh
2 pwd
3 echo `dirname $0`
执行后输出
/home/user_name/work2/SNS3_server_im/Developing/trunk/im_capp/src
./notify_serv
Ⅳ linux 怎么查看文件夹下所有文件名字
命令直接ls /path/to/dir就可以看dir目录下所有文件了文件夹了
Ⅵ Linux 编程问题之递归取目录下所有文件名与路径
楼主,你好!
在BLP上正好见过这个程序,编译好执行的时候,传递的参数为要打印的目录
代码如下,纯C写的,希望对你有帮助
#include <unistd.h>
#include <stdio.h>
#include <dirent.h>
#include <string.h>
#include <sys/stat.h>
#include <stdlib.h>
void printdir(char* dir, int depth)
{
DIR *dp;
struct dirent *entry;
struct stat statbuf;
if( (dp = opendir(dir)) == NULL )
{
fprintf(stderr, "cannot open directory: %s\n", dir);
return;
}
chdir(dir);
while( (entry = readdir(dp)) != NULL)
{
lstat(entry->d_name, &statbuf);
if( S_ISDIR(statbuf.st_mode) )
{
if( strcmp(".", entry->d_name) == 0 || strcmp("..", entry->d_name) == 0 )
continue;
printf("%*s%s/\n", depth, "", entry->d_name);
printdir(entry->d_name, depth+4);
}
else
printf("%*s%s\n", depth, "", entry->d_name);
}
chdir("..");
closedir(dp);
}
int main(int argc, char* argv[])
{
char *topdir = ".";
if( argc >= 2 )
topdir=argv[1];
printf("Directory scan of %s\n", topdir);
printdir(topdir, 0);
printf("Done.\n");
exit(0);
}
Ⅶ Linux批量提取文件名
简单的获取文件名的话,可以输入命令:ls,如果需要把整个磁盘所有文件名字打出的话,需要写个脚本,循环递归下。
Ⅷ linux 获取文件名的问题
basename是最常用的,除此之外,Bash中还有个用字符串处理的方法(适用于bash):
for i in /var/html/*
do
echo $i #全路径内名
echo ${i##*/} #文件名
done#表示去除从指定容字符向前所有的字符;##表示最大匹配。
%表示去除从指定字符向后所有的字符;%%表示最大匹配。
Ⅸ Linux系统中获取路径的文件名的方法
这篇文章主要介绍了系统中获取路径的文件名的方法,文中总结出了两条,需要的朋友可以参考下
代码如下:
[[email protected]
]#basename
/root/aaa/bbb/dabu.txt
显示:
代码如下:
dabu.txt
#获取路径的文件名
shell脚本中如何获得脚本文件所在路径?
方法一:
代码如下:
[[email protected]
]#DIR=$(cd
"$(dirname
"$0")";
pwd)
[[email protected]
]#echo
$DIR
但是像这种dirname
"$0"这种写法,在遇到source命令时会得到错误的结果。
方法二:
代码如下:
[[email protected]
]#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 shell脚本怎么获取目录下所有txt文件名称
执行抄如下三条命令即可:
(1)、$script myresultfile
(2)、$ls -al *.txt
(3)、$exit
此时,该目录下的所有 txt 文件名称就会以长格式保存在 myresultfile 文件中了。
然后你再使用 SHELL 编程的功能把那些无用的列去掉即可。