linux目录读取,linux 查看文件命令

大家好,今天给各位分享linux目录读取的一些知识,其中也会对linux 查看文件命令进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!

linux如何判断是文件还是目录

1.列出文件清单命令:ls

ls命令能够列出当前目录下的所有内容。ls命令的执行方式为:

# ls [-选项] [文件名或者目录名]

进入到Linux命令行中后,我们至少要知道当前所处的位置有哪些内容,这些信息就可以使用ls命令来获得。

在Linux中,ls命令是最常使用的命令之一,因为在命令行下要随时查看目录内容。如果不加任何选项的话,ls命令仅列出当前目录下的文件和目录名,例如,想要查看/etc目录下的内容,可以使用下列命令:

# ls/etc

如果想要列出当前目录下所有文件,则可以使用下列命令:

# ls-a

2、cat命令

功能:在标准输出上显示文件。

语法:cat [-vTEuAte]文件

例子: cat example.txt

cat-A exam2.txt

cat file1 file2> file2

3、more命令

功能:在终端屏幕按屏显示文本文件。

语法: more [-pcdls]文件

例子: more example.c

more-dc example.c

more-c-10 example.c

4、less命令

less命令的功能几乎和more命令一样,也是用来按页显示文件,不同之处在于less命令在显示文件时允许用户既

可以向前又可以向后翻阅文件。

5、head命令

功能:显示指定文件的前若干行。缺省设置为显示10行

语法:head [-n]文件

例子: head example.c

head-3 example.c

6、tail命令

功能:显示指定文件的末尾若干行。缺省设置为显示10行

语法:tail [+/- num ] [参数]文件

+num从第num行以后开始显示。- num从距文件尾num行处开始显示。

例子: tail example.c

tail-4 example.c

7、grep、fgrep和egrep命令

功能:

这组命令以指定模式搜索文件,并通知用户在什么文件中搜索到与指定的模式匹配的字符串,并打印出所有包含该字符串的文本行,在该文本行的最前面是该行所在的文件名。grep命令一次只能搜索一个指定的模式;egrep命令检索扩展的正则表达式(包括表达式组和可选项);fgrep命令检索固定字符串,它不识别正则表达式,是快速搜索命令。

语法:

grep [-EFbcihlnvxef] [查找模式] [文件名1,文件名2,……]

egrep [选项] [查找模式] [文件名1,文件名2,……]

fgrep [选项] [查找模式] [文件名1,文件名2,……]

例子: grep"text file" example

grep data*

grep goto*.c

分享

本回答由电脑网络分类达人吕明认证

其他类似问题

2013-05-27linux命令大全文档编辑 [百度经验] 6

2007-11-03linux中,什么命令可以查看文件夹?5

2013-10-29Linux文件与目录操作命令?3

2010-06-23linux命令行下如何查看文件内容54

2012-07-31linux里查看所有目录的命令

更多关于linux如何判断是文件还是目录的问题>>

为您推荐:

2013-07-30 10:05网友采纳

热心网友

借用他人的答案回答下:)

显示目录文件用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如何 查看根目录

用LINUX SHELL命令。

用法:

cd“你想要进的目录”//当目录名称中含有空格、中文或其它特殊字符时请用双引号包括

以下是最常用的几个目录的写法:

1、/代表根目录

2、.当前目录

3、..上级目录

4、~当前用户的默认工作目录

注:目录可以省略不写,与cd~有相同的效果。

Linux根目录结构:

扩展资料:

Linux Shell常用shell命令

Linux Shell常用shell命令

一、文件、目录操作命令

1、ls命令

功能:显示文件和目录的信息

ls以默认方式显示当前目录文件列表

ls-a显示所有文件包括隐藏文件

ls-l显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行

ls-lh显示文件的大小,以容易理解的格式印出文件大小(例如 1K 234M2G)

ls-lt显示文件,按照修改时间排序

2、cd命令

功能:改名目录

cd dir切换到当前目录下的dir目录

cd/切换到根目录

cd..切换到到上一级目录

cd../..切换到上二级目录

cd~切换到用户目录,比如是root用户,则切换到/root下

3、cp命令

功能:copy文件

cp source target将文件source复制为target

cp/root/source.将/root下的文件source复制到当前目录

cp _av soure_dir target_dir将整个目录复制,两目录完全一样

4、rm命令

功能:删除文件或目录

rm file删除某一个文件

rm-f file删除时候不进行提示。可以于r参数配合使用

rm-rf dir删除当前目录下叫dir的整个目录

5、mv命令

功能:将文件移动走,或者改名,在uinx下面没有改名的命令,如果想改名,可以使用该命令

mv source target将文件source更名为target

6、diff

功能:比较文件内容

diff dir1 dir2比较目录1与目录2的文件列表是否相同,但不比较文件的实际内容,不同则列出

diff file1 file2比较文件1与文件2的内容是否相同,如果是文本格式的文件,则将不相同的内容显示,如果是二进制代码则只表示两个文件是不同的

comm file1 file2比较文件,显示两个文件不相同的内容

Linux目录及文件如何操作

处理目录的常用命令

接下来我们就来看几个常见的处理目录的命令吧:

ls(英文全拼:list files):列出目录及文件名

cd(英文全拼:change directory):切换目录

pwd(英文全拼:print work directory):显示目前的目录

mkdir(英文全拼:make directory):创建一个新的目录

rmdir(英文全拼:remove directory):删除一个空的目录

cp(英文全拼:copy file):复制文件或目录

rm(英文全拼:remove):删除文件或目录

mv(英文全拼:move file):移动文件与目录,或修改文件与目录的名称

你可以使用 man [命令]来查看各个命令的使用文档,如:man cp。

ls(列出目录)

在Linux系统当中, ls命令可能是最常被运行的。

语法:

[root@www~]# ls [-aAdfFhilnrRSt]目录名称

[root@www~]# ls [--color={never,auto,always}]目录名称

[root@www~]# ls [--full-time]目录名称

选项与参数:

-a:全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)

-d:仅列出目录本身,而不是列出目录内的文件数据(常用)

-l:长数据串列出,包含文件的属性与权限等等数据;(常用)

将家目录下的所有文件列出来(含属性与隐藏档)

[root@www~]# ls-al~

cd(切换目录)

cd是Change Directory的缩写,这是用来变换工作目录的命令。

语法:

cd [相对路径或绝对路径]#使用 mkdir命令创建 runoob目录

[root@www~]# mkdir runoob

#使用绝对路径切换到 runoob目录

[root@www~]# cd/root/runoob/

#使用相对路径切换到 runoob目录

[root@www~]# cd./runoob/

#表示回到自己的家目录,亦即是/root这个目录

[root@www runoob]# cd~

#表示去到目前的上一级目录,亦即是/root的上一级目录的意思;

[root@www~]# cd..

接下来大家多操作几次应该就可以很好的理解 cd命令的。

pwd(显示目前所在的目录)

pwd是 Print Working Directory的缩写,也就是显示目前所在目录的命令。

[root@www~]# pwd [-P]

选项与参数:

-P:显示出确实的路径,而非使用连结(link)路径。

实例:单纯显示出目前的工作目录:

[root@www~]# pwd

/root<==显示出目录啦~

实例显示出实际的工作目录,而非连结档本身的目录名而已。

[root@www~]# cd/var/mail<==注意,/var/mail是一个连结档

[root@www mail]# pwd

/var/mail<==列出目前的工作目录

[root@www mail]# pwd-P

/var/spool/mail<==怎么回事?有没有加-P差很多~

[root@www mail]# ls-ld/var/mail

lrwxrwxrwx 1 root root 10 Sep 4 17:54/var/mail-> spool/mail

#看到这里应该知道为啥了吧?因为/var/mail是连结档,连结到/var/spool/mail

#所以,加上 pwd-P的选项后,会不以连结档的数据显示,而是显示正确的完整路径啊!

mkdir(创建新目录)

如果想要创建新的目录的话,那么就使用mkdir(make directory)吧。

语法:

mkdir [-mp]目录名称

选项与参数:

-m:配置文件的权限喔!直接配置,不需要看默认权限(umask)的脸色~

-p:帮助你直接将所需要的目录(包含上一级目录)递归创建起来!

实例:请到/tmp底下尝试创建数个新目录看看:

[root@www~]# cd/tmp

[root@www tmp]# mkdir test<==创建一名为 test的新目录

[root@www tmp]# mkdir test1/test2/test3/test4

mkdir: cannot create directory `test1/test2/test3/test4':

No such file or directory<==没办法直接创建此目录啊!

[root@www tmp]# mkdir-p test1/test2/test3/test4

加了这个-p的选项,可以自行帮你创建多层目录!

实例:创建权限为 rwx--x--x的目录。

[root@www tmp]# mkdir-m 711 test2

[root@www tmp]# ls-l

drwxr-xr-x 3 root root 4096 Jul 18 12:50 test

drwxr-xr-x 3 root root 4096 Jul 18 12:53 test1

drwx--x--x 2 root root 4096 Jul 18 12:54 test2

上面的权限部分,如果没有加上-m来强制配置属性,系统会使用默认属性。

如果我们使用-m,如上例我们给予-m 711来给予新的目录 drwx--x--x的权限。

rmdir(删除空的目录)

语法:

rmdir [-p]目录名称

选项与参数:

-p:连同上一级『空的』目录也一起删除

删除 runoob目录

[root@www tmp]# rmdir runoob/

将 mkdir实例中创建的目录(/tmp底下)删除掉!

[root@www tmp]# ls-l<==看看有多少目录存在?

drwxr-xr-x 3 root root 4096 Jul 18 12:50 test

drwxr-xr-x 3 root root 4096 Jul 18 12:53 test1

drwx--x--x 2 root root 4096 Jul 18 12:54 test2

[root@www tmp]# rmdir test<==可直接删除掉,没问题

[root@www tmp]# rmdir test1<==因为尚有内容,所以无法删除!

rmdir: `test1': Directory not empty

[root@www tmp]# rmdir-p test1/test2/test3/test4

[root@www tmp]# ls-l<==您看看,底下的输出中test与test1不见了!

drwx--x--x 2 root root 4096 Jul 18 12:54 test2

利用-p这个选项,立刻就可以将 test1/test2/test3/test4一次删除。

不过要注意的是,这个 rmdir仅能删除空的目录,你可以使用 rm命令来删除非空目录。

cp(复制文件或目录)

cp即拷贝文件和目录。

语法:

[root@www~]# cp [-adfilprsu]来源档(source)目标档(destination)

[root@www~]# cp [options] source1 source2 source3.... directory

选项与参数:

-a:相当於-pdr的意思,至於 pdr请参考下列说明;(常用)

-d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;

-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;

-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)

-l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;

-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);

-r:递归持续复制,用於目录的复制行为;(常用)

-s:复制成为符号连结档(symbolic link),亦即『捷径』文件;

-u:若 destination比 source旧才升级 destination!

用 root身份,将 root目录下的.bashrc复制到/tmp下,并命名为 bashrc

[root@www~]# cp~/.bashrc/tmp/bashrc

[root@www~]# cp-i~/.bashrc/tmp/bashrc

cp: overwrite `/tmp/bashrc'? n<==n不覆盖,y为覆盖

rm(移除文件或目录)

语法:

rm [-fir]文件或目录

选项与参数:

-f:就是 force的意思,忽略不存在的文件,不会出现警告信息;

-i:互动模式,在删除前会询问使用者是否动作

-r:递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!

将刚刚在 cp的实例中创建的 bashrc删除掉!

[root@www tmp]# rm-i bashrc

rm: remove regular file `bashrc'? y

如果加上-i的选项就会主动询问喔,避免你删除到错误的档名!

mv(移动文件与目录,或修改名称)

语法:

[root@www~]# mv [-fiu] source destination

[root@www~]# mv [options] source1 source2 source3.... directory

选项与参数:

-f:force强制的意思,如果目标文件已经存在,不会询问而直接覆盖;

-i:若目标文件(destination)已经存在时,就会询问是否覆盖!

-u:若目标文件已经存在,且 source比较新,才会升级(update)

复制一文件,创建一目录,将文件移动到目录中

[root@www~]# cd/tmp

[root@www tmp]# cp~/.bashrc bashrc

[root@www tmp]# mkdir mvtest

[root@www tmp]# mv bashrc mvtest

将某个文件移动到某个目录去,就是这样做!

将刚刚的目录名称更名为 mvtest2

[root@www tmp]# mv mvtest mvtest2

Linux文件内容查看

Linux系统中使用以下命令来查看文件的内容:

cat由第一行开始显示文件内容

tac从最后一行开始显示,可以看出 tac是 cat的倒着写!

nl显示的时候,顺道输出行号!

more一页一页的显示文件内容

less与 more类似,但是比 more更好的是,他可以往前翻页!

head只看头几行

tail只看尾巴几行

你可以使用 man [命令]来查看各个命令的使用文档,如:man cp。

cat

由第一行开始显示文件内容

语法:

cat [-AbEnTv]

选项与参数:

-A:相当於-vET的整合选项,可列出一些特殊字符而不是空白而已;

-b:列出行号,仅针对非空白行做行号显示,空白行不标行号!

-E:将结尾的断行字节$显示出来;

-n:列印出行号,连同空白行也会有行号,与-b的选项不同;

-T:将 [tab]按键以 ^I显示出来;

-v:列出一些看不出来的特殊字符

检看/etc/issue这个文件的内容:

[root@www~]# cat/etc/issue

CentOS release 6.4(Final)

Kernel \r on an \m

tac

tac与cat命令刚好相反,文件内容从最后一行开始显示,可以看出 tac是 cat的倒着写!如:

[root@www~]# tac/etc/issue

Kernel \r on an \m

CentOS release 6.4(Final)

nl

显示行号

语法:

nl [-bnw]文件

选项与参数:

-b:指定行号指定的方式,主要有两种:

-b a:表示不论是否为空行,也同样列出行号(类似 cat-n);

-b t:如果有空行,空的那一行不要列出行号(默认值);

-n:列出行号表示的方法,主要有三种:

-n ln:行号在荧幕的最左方显示;

-n rn:行号在自己栏位的最右方显示,且不加 0;

-n rz:行号在自己栏位的最右方显示,且加 0;

-w:行号栏位的占用的位数。

实例一:用 nl列出/etc/issue的内容

[root@www~]# nl/etc/issue

1 CentOS release 6.4(Final)

2 Kernel \r on an \m

more

一页一页翻动

[root@www~]# more/etc/man_db.config

#

# Generated automatically from man.conf.in by the

# configure script.

#

# man.conf from man-1.6d

....(中间省略)....

--More--(28%)<==重点在这一行喔!你的光标也会在这里等待你的命令

在 more这个程序的运行过程中,你有几个按键可以按的:

空白键(space):代表向下翻一页;

Enter:代表向下翻『一行』;

/字串:代表在这个显示的内容当中,向下搜寻『字串』这个关键字;

:f:立刻显示出档名以及目前显示的行数;

q:代表立刻离开 more,不再显示该文件内容。

b或 [ctrl]-b:代表往回翻页,不过这动作只对文件有用,对管线无用。

less

一页一页翻动,以下实例输出/etc/man.config文件的内容:

[root@www~]# less/etc/man.config

#

# Generated automatically from man.conf.in by the

# configure script.

#

# man.conf from man-1.6d

....(中间省略)....

:<==这里可以等待你输入命令!

less运行时可以输入的命令有:

空白键:向下翻动一页;

[pagedown]:向下翻动一页;

[pageup]:向上翻动一页;

/字串:向下搜寻『字串』的功能;

?字串:向上搜寻『字串』的功能;

n:重复前一个搜寻(与/或?有关!)

N:反向的重复前一个搜寻(与/或?有关!)

q:离开 less这个程序;

head

取出文件前面几行

语法:

head [-n number]文件

选项与参数:

-n:后面接数字,代表显示几行的意思

[root@www~]# head/etc/man.config

默认的情况中,显示前面 10行!若要显示前 20行,就得要这样:

[root@www~]# head-n 20/etc/man.config

tail

取出文件后面几行

语法:

tail [-n number]文件

选项与参数:

-n:后面接数字,代表显示几行的意思

-f:表示持续侦测后面所接的档名,要等到按下[ctrl]-c才会结束tail的侦测

[root@www~]# tail/etc/man.config

#默认的情况中,显示最后的十行!若要显示最后的 20行,就得要这样:

[root@www~]# tail-n 20/etc/man.config

阅读剩余
THE END