>  기사  >  운영 및 유지보수  >  linux ll 명령은 무엇입니까?

linux ll 명령은 무엇입니까?

青灯夜游
青灯夜游원래의
2022-03-09 15:51:2541949검색

Linux에서 "ll" 명령은 "ls -l" 명령의 별칭이며 디렉터리의 내용 목록을 긴 형식으로 표시하는 데 사용되는 "ls -l" 명령을 의미합니다. 정보는 왼쪽부터입니다. 오른쪽 순서에는 파일 이름, 파일 유형, 권한 모드, 하드 연결 수, 소유자, 그룹, 파일 크기 및 파일의 마지막 수정 시간이 포함됩니다.

linux ll 명령은 무엇입니까?

이 튜토리얼의 운영 환경: linux5.9.8 시스템, Dell G3 컴퓨터.

ll并不是linux下一个基本的命令,它实际上是ls -l의 별칭입니다.

"ls -l"의 의미

 디렉토리 아래의 내용 목록을 긴 형식으로 표시합니다. 출력 정보에는 파일 이름, 파일 유형, 권한 모드, 하드 연결 수, 소유자, 그룹, 파일 크기 및 파일의 마지막 수정 시간이 왼쪽에서 오른쪽으로 포함됩니다.

linux ll 명령은 무엇입니까?

ls -l 명령을 사용하여 디렉토리를 보면 7개 필드 목록이 표시되는 것을 볼 수 있습니다.

라인 1: Total

Total 뒤의 숫자는 현재 디렉터리의 모든 파일이 차지하는 전체 공간을 나타냅니다. ls –lh를 사용하여 보거나 ls –alh를 사용하여 볼 수 있습니다.

필드 1: 파일 속성 필드

-rw-r--r-- 1 root root 762 07-29 18:19exit

파일 속성 필드에는 첫 번째 문자가 총 10개 있습니다. 문자는 파일 형식을 나타냅니다.

  • 문자 "-"는 파일이 일반 파일임을 나타냅니다.

  • 문자 "d"는 파일이 디렉토리임을 나타내고 문자 "d"는 Dictory의 약어입니다

    참고: 디렉토리 또는 특수 파일인 이 특수 파일은 다른 파일이나 디렉터리에 대한 정보를 저장합니다

  • 문자 "l"은 해당 파일이 링크 파일임을 나타냅니다. 문자 "l"은 link의 약자로 Windows의 단축키와 유사합니다

  • 문자 "b"는 일반적으로 /dev 디렉터리에 위치하는 블록 장치 파일(block)을 나타냅니다. 은 일반 파일이고 프로그램이 하드웨어 장치에 액세스하는 진입점은 매우 특별한 파일입니다. 파일 크기는 없으며 메이저 번호와 마이너 번호만 있습니다. 하드디스크, 광디스크 등 한 번에 한 블록씩 데이터를 전송하는 블록 장치를 블록 장치라고 합니다. 최소 데이터 전송 단위는 데이터 블록입니다(일반적으로 데이터 블록의 크기는 512바이트입니다).

  • 문자 "c"는 파일이 문자 장치 파일(문자)임을 나타내며 일반적으로 /dev 디렉터리에 위치합니다. , 일단 1바이트를 전송하는 장치를 키보드, 문자 터미널 등과 같은 문자 장치라고 합니다. 데이터 전송의 최소 단위는 1바이트입니다.

  • 문자 "p"는 파일이 명령 파이프라인 파일임을 나타냅니다. 쉘 프로그래밍과 관련된 파일입니다.

  • 문자 "s"는 파일이 양말 파일임을 나타냅니다. 쉘 프로그래밍과 관련된 파일입니다.

파일 연결의 중요한 개념을 다시 한번 강조하고 싶습니다.

파일 연결의 개념은 Windows의 바로가기와 유사합니다. 여러 링크된 파일이 동시에 "소스 파일"을 가리킵니다. 링크된 파일은 하드 링크와 심볼릭 링크의 두 가지 유형으로 나뉩니다.

Linux 파일 시스템에서 디스크 파티션에 저장된 파일에는 유형에 관계없이 인덱스 노드 번호 inode라고 하는 번호가 할당됩니다. 소프트 링크는 실제로 새로 생성된 파일입니다. 이 파일은 특히 다른 파일을 가리키는 데 사용됩니다(Windows의 바로 가기 파일과 매우 유사합니다). 소프트 링크는 새 파일을 생성하지만 이 파일의 기능은 특정 파일을 구체적으로 가리키는 것입니다. 이 소프트 링크 파일을 삭제하면 이 링크가 필요하지 않으며 기존 엔터티 파일과 관계가 없습니다. (소프트 링크 파일에 "해당 파일이나 디렉터리가 없습니다"라는 메시지가 표시됩니다.)

하드 링크는 inode를 생성하지 않고 원본 inode 링크만 생성합니다. 파일 개수 필드는 1씩만 증가하므로 하드 링크가 파일 시스템을 통과할 수 없습니다. 반대로, 소프트 연결은 inode를 다시 설정하게 됩니다. 물론, inode의 구조는 다른 것과는 다릅니다. 이는 단지 소스 파일을 나타내는 문자열 정보일 뿐입니다. 소스 파일이 삭제되면 소프트 링크는 의미가 없게 됩니다. 하드 링크가 소스 파일을 삭제할 때 시스템 호출은 inode 링크 수의 값을 확인합니다. 1보다 크거나 같으면 inode가 재활용되지 않으므로 파일의 내용이 삭제되지 않습니다. 이는 인덱스를 삭제하는 것과 같습니다.

하드 링크는 실제로 파일의 별칭을 생성하며 링크된 파일과 원본 파일은 실제로 동일한 파일입니다. ls -i를 통해 확인할 수 있습니다. 두 파일의 inode 번호는 동일하며 소프트 링크는 포인터를 설정합니다. 즉, 링크된 파일의 내용이 해당 파일에 대한 포인터입니다. 원본 파일 2개 입니다.

软链接可以跨文件系统,硬链接不可以;软链接可以对一个不存在的文件名(filename)进行链接(当然此时如果你vi这个软链接文件,linux会自动新建一个文件名为filename的文件),硬链接不可以(其文件必须存在,inode必须存在);软链接可以对目录进行连接,硬链接不可以。两种链接都可以通过命令 ln 来创建。ln 默认创建的是硬链接。使用 -s 开关可以创建软链接

第1字符的后面9个字母表示该文件或目录的权限位。

r表是读 (Read) 、w表示写 (Write) 、x表示执行 (eXecute)

其中前三个表示文件拥有者的权限,中间三个表示文件所属组拥有的权限,最后三个表示其他用户拥有的权限。

比如:

-rw-r--r-- 1 root root 762 07-29 18:19 exit

表示文件的拥有者root对文件有读写权限,其他人(同组用户和其他用户只有读的权限)

另外,权限组还有一些特殊的表示法:

[root@localhost ~]# ll /usr/X11R6/bin/XFree86
-rws--x--x 1 root root 1960262 2003-02-28 /usr/X11R6/bin/XFree86

s表示这个是网络接口程序"s"是socket的缩写。该程序在运行过程中会打开一个网络接口。

其他UNIX类系统如FreeBSD中还有t权限,表示一个临时(temporary)文件

#ls -l /tmp可以看到这样的权限:drwxrwxrwt 它的最后一位是字母"t"

第2字段:文件硬链接数

-rw-r--r-- 1 root root 762 07-29 18:19 exit

如果一个文件不是目录,此时这一字段表示这个文件所具有的硬链接数,

第2字段的值为1,说明这个文件只有exit这一个文件名。即只有一个指向该链接的硬链接。。

如果使用ln,做一个指向该文件的硬链接再查看该文件,该文件的第2字段就会变成2

linux ll 명령은 무엇입니까?

此时exit 和aexit称为互为硬链接。他们指向同一个文件,无论是修改哪一个文件,另一个里也做相应的变化,因为实际上他们指向同一个文件(即同一文件的不同文件名)

互为硬链接的文件具有相同的文件节点。

linux ll 명령은 무엇입니까?

可以看出,这两个文件具有相同的文件节点号:162302

可以设置符号链接(软链接),格式如下

Ln –s 源文件 目标链接文件

linux ll 명령은 무엇입니까?

注意:软链接时文件节点号不一样;

linux ll 명령은 무엇입니까?

如果知道一个文件有多个文件名(链接文件)如何查找他的其他文件名分布在什么地方呢?

可以先用ls -i 获得它的节点号,然后用find查找,如/etc/sysconfig/networking/ifcfg-eth0就具有多个文件名,要查找与它互为硬链接的文件

linux ll 명령은 무엇입니까?

得到它的节点号为 452946

再用find查找:

linux ll 명령은 무엇입니까?

这样就得到了同一个文件的不同文件名的位置。

第3字段:文件(目录)拥有者

lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit

该字段表示此文件是属于哪个用户。linux类系统都是多用户系统,每个文件都有它的拥有者。只有文件的拥有者才具有改动文件属性的权利。当然, root用户具有改动任何文件属性的权利。对于一个目录来说,只有拥有该目录的用户,或者具有写权限的用户才有在目录下创建文件的权利

如果某一个用户因为某种原因,被删除,而该用户的文件还存在,那么用ls -l 查看该文件将显示一个代表用户存在前ID号的数字。

先创建一个用户test,将其加入wang用户组,并用su切换,使用ls –l查看文件拥有者,随即删除用户test,用root进入test家目录,查看刚刚创建的文件testing。

linux ll 명령은 무엇입니까?

可以看到,第三字段成了一个数字,这个数字是原test用户的ID号。因为文件系统对每个文件记录文件所有者的ID,而非用户名。

第4字段:文件(目录)拥有者所在的组

lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit

一个用户可以加入很多个组,但是其中有一个是主组,就是显示在第4字段的名称。

可以在useradd的时候用-g指定该用户所在的主组,用-G指定其他组

格式如下:Useradd –g 组名 用户名

第5字段: 文件所占用的空间(以字节为单位)

lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit

第5字段表示文件大小,如果是一个文件夹(目录),则表示该文件夹的大小。请注意是文件夹本身的大小,而不是文件夹以及它下面的文件的总大小。

很多人不能理解文件夹是一个特殊的文件的含义,这样的话理解文件夹大小的含义就比较困难了。

第6字段:文件(目录)最近访问(修改)时间

lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit

文件创建的时间可以通过touch命令来修改。如:

[root@localhost ~]# touch exit

可以把exit的创建时间修改为当前时间,另外,一个文件还有最后访问时间,最后修改时间等属性。

这些属性可以用ls 的其它参数显示出来。

第7字段:文件名

lrwxrwxrwx 1 root root 4 08-03 08:27 bexit -> exit

如果是一个符号链接,那么会有一个 “->" 箭头符号,后面根一个它指向的文件名

相关推荐:《Linux视频教程

위 내용은 linux ll 명령은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.