在Linux中,ls
命令用于列出目录内容。当与不同的选项组合时,它可以以不同的方式显示文件和目录的详细信息。
对于 ls -lsa
和 ls -lst
,它们的主要区别在于显示的列和排序方式:
-
ls -lsa:
-l
: 使用长格式显示文件和目录的详细信息。这包括文件权限、所有者、组、大小、修改时间、文件名等。-s
: 显示每个文件分配的块数。这通常用于确定文件在磁盘上占用的空间大小(以512字节块为单位)。-a
: 显示所有文件和目录,包括以点(.
)开头的隐藏文件和目录。
所以,ls -lsa
会以长格式显示所有文件和目录(包括隐藏文件),并显示每个文件分配的块数。
在Linux中,文件或目录的"隐藏"通常是通过在文件名前添加一个点(.)来实现的。这样的文件或目录被称为"点文件"或"隐藏文件"。虽然它们在文件系统中是可见的,但大多数文件和目录列表命令(如ls)默认不会显示它们
创建隐藏文件或目录:
在命令行中,你可以使用touch命令来创建一个隐藏文件,或使用mkdir命令来创建一个隐藏目录。只需在文件名或目录名前添加一个点即可。
sql
mkdir -p /mysql_data/3306/data/.dbamaofile
ls -lsa /mysql_data/3306/data/ 查看信息
bash
[root@openEuler ~]# ls -lsa /mysql_data/3306/data/ |wc -l
36
[root@openEuler ~]# ls -lsa /mysql_data/3306/data/
total 103548
4 drwxr-x---. 8 mysql mysql 4096 Jun 19 11:38 .
4 drwxr-x---. 3 mysql mysql 4096 Jun 19 11:03 ..
4 drwxr-xr-x 2 root root 4096 Jun 19 16:00 .dbamaofile
4 -rw-r-----. 1 mysql mysql 56 Jun 19 11:10 auto.cnf
4 -rw-r-----. 1 mysql mysql 181 Jun 19 11:13 binlog.000001
4 -rw-r-----. 1 mysql mysql 181 Jun 19 11:19 binlog.000002
12 -rw-r-----. 1 mysql mysql 10883 Jun 19 11:37 binlog.000003
4 -rw-r-----. 1 mysql mysql 181 Jun 19 11:37 binlog.000004
4 -rw-r----- 1 mysql mysql 158 Jun 19 11:38 binlog.000005
4 -rw-r----- 1 mysql mysql 80 Jun 19 11:38 binlog.index
4 -rw-------. 1 mysql mysql 1705 Jun 19 11:10 ca-key.pem
4 -rw-r--r--. 1 mysql mysql 1108 Jun 19 11:10 ca.pem
4 -rw-r--r--. 1 mysql mysql 1108 Jun 19 11:10 client-cert.pem
4 -rw-------. 1 mysql mysql 1705 Jun 19 11:10 client-key.pem
8 -rw-r-----. 1 mysql mysql 7127 Jun 19 11:38 error.log
6144 -rw-r-----. 1 mysql mysql 6291456 Jun 19 11:40 '#ib_16384_0.dblwr'
14336 -rw-r-----. 1 mysql mysql 14680064 Jun 19 11:10 '#ib_16384_1.dblwr'
4 -rw-r-----. 1 mysql mysql 3471 Jun 19 11:37 ib_buffer_pool
12288 -rw-r-----. 1 mysql mysql 12582912 Jun 19 11:39 ibdata1
12288 -rw-r----- 1 mysql mysql 12582912 Jun 19 11:38 ibtmp1
4 drwxr-x---. 2 mysql mysql 4096 Jun 19 11:38 '#innodb_redo'
4 drwxr-x---. 2 mysql mysql 4096 Jun 19 11:38 '#innodb_temp'
4 drwxr-x---. 2 mysql mysql 4096 Jun 19 11:10 mysql
25604 -rw-r-----. 1 mysql mysql 26214400 Jun 19 11:38 mysql.ibd
4 -rw-r----- 1 mysql mysql 5 Jun 19 11:38 mysql.pid
4 -rw-r-----. 1 mysql mysql 124 Jun 19 11:10 mysql_upgrade_history
4 drwxr-x---. 2 mysql mysql 4096 Jun 19 11:10 performance_schema
4 -rw-------. 1 mysql mysql 1709 Jun 19 11:10 private_key.pem
4 -rw-r--r--. 1 mysql mysql 452 Jun 19 11:10 public_key.pem
4 -rw-r--r--. 1 mysql mysql 1108 Jun 19 11:10 server-cert.pem
4 -rw-------. 1 mysql mysql 1705 Jun 19 11:10 server-key.pem
4 drwxr-x---. 2 mysql mysql 4096 Jun 19 11:34 superdb
4 drwxr-x---. 2 mysql mysql 4096 Jun 19 11:10 sys
16384 -rw-r-----. 1 mysql mysql 16777216 Jun 19 11:40 undo_001
16384 -rw-r-----. 1 mysql mysql 16777216 Jun 19 11:40 undo_002
-
ls -lst:
-l
: 与上面相同,使用长格式显示详细信息。-s
: 同样显示每个文件分配的块数。-t
: 根据文件的修改时间对输出进行排序。最新的文件首先显示。
因此,ls -lst
会以长格式显示所有文件和目录(不包括隐藏文件,除非指定了 -a
),并根据文件的修改时间对它们进行排序。每个文件分配的块数也会被显示。
bash
[root@openEuler ~]# ls -lst /mysql_data/3306/data/ |wc -l
33
[root@openEuler ~]# ls -lst /mysql_data/3306/data/
total 103540
16384 -rw-r-----. 1 mysql mysql 16777216 Jun 19 11:40 undo_001
16384 -rw-r-----. 1 mysql mysql 16777216 Jun 19 11:40 undo_002
6144 -rw-r-----. 1 mysql mysql 6291456 Jun 19 11:40 '#ib_16384_0.dblwr'
12288 -rw-r-----. 1 mysql mysql 12582912 Jun 19 11:39 ibdata1
25604 -rw-r-----. 1 mysql mysql 26214400 Jun 19 11:38 mysql.ibd
12288 -rw-r----- 1 mysql mysql 12582912 Jun 19 11:38 ibtmp1
8 -rw-r-----. 1 mysql mysql 7127 Jun 19 11:38 error.log
4 -rw-r----- 1 mysql mysql 5 Jun 19 11:38 mysql.pid
4 -rw-r----- 1 mysql mysql 158 Jun 19 11:38 binlog.000005
4 -rw-r----- 1 mysql mysql 80 Jun 19 11:38 binlog.index
4 drwxr-x---. 2 mysql mysql 4096 Jun 19 11:38 '#innodb_redo'
4 drwxr-x---. 2 mysql mysql 4096 Jun 19 11:38 '#innodb_temp'
4 -rw-r-----. 1 mysql mysql 3471 Jun 19 11:37 ib_buffer_pool
4 -rw-r-----. 1 mysql mysql 181 Jun 19 11:37 binlog.000004
12 -rw-r-----. 1 mysql mysql 10883 Jun 19 11:37 binlog.000003
4 drwxr-x---. 2 mysql mysql 4096 Jun 19 11:34 superdb
4 -rw-r-----. 1 mysql mysql 181 Jun 19 11:19 binlog.000002
4 -rw-r-----. 1 mysql mysql 181 Jun 19 11:13 binlog.000001
4 drwxr-x---. 2 mysql mysql 4096 Jun 19 11:10 sys
4 drwxr-x---. 2 mysql mysql 4096 Jun 19 11:10 mysql
4 -rw-r--r--. 1 mysql mysql 452 Jun 19 11:10 public_key.pem
4 -rw-------. 1 mysql mysql 1709 Jun 19 11:10 private_key.pem
4 -rw-r--r--. 1 mysql mysql 1108 Jun 19 11:10 client-cert.pem
4 -rw-------. 1 mysql mysql 1705 Jun 19 11:10 client-key.pem
4 -rw-r--r--. 1 mysql mysql 1108 Jun 19 11:10 server-cert.pem
4 -rw-------. 1 mysql mysql 1705 Jun 19 11:10 server-key.pem
4 -rw-r--r--. 1 mysql mysql 1108 Jun 19 11:10 ca.pem
4 -rw-------. 1 mysql mysql 1705 Jun 19 11:10 ca-key.pem
4 drwxr-x---. 2 mysql mysql 4096 Jun 19 11:10 performance_schema
4 -rw-r-----. 1 mysql mysql 124 Jun 19 11:10 mysql_upgrade_history
14336 -rw-r-----. 1 mysql mysql 14680064 Jun 19 11:10 '#ib_16384_1.dblwr'
4 -rw-r-----. 1 mysql mysql 56 Jun 19 11:10 auto.cnf
如果你想要看到隐藏文件并按时间排序,你可以使用 ls -last
。这样,所有文件和目录(包括隐藏文件)都会以长格式显示,并根据修改时间排序,同时还会显示每个文件分配的块数。
bash
[root@openEuler ~]# ls -lsat /mysql_data/3306/data/ |wc -l
35
[root@openEuler ~]# ls -lsat /mysql_data/3306/data/
4 drwxr-x---. 9 mysql mysql 4096 Jun 19 16:00 .
4 drwxr-xr-x 2 root root 4096 Jun 19 16:00 .dbamaofile
16384 -rw-r-----. 1 mysql mysql 16777216 Jun 19 11:40 undo_001
16384 -rw-r-----. 1 mysql mysql 16777216 Jun 19 11:40 undo_002
6144 -rw-r-----. 1 mysql mysql 6291456 Jun 19 11:40 '#ib_16384_0.dblwr'
12288 -rw-r-----. 1 mysql mysql 12582912 Jun 19 11:39 ibdata1
25604 -rw-r-----. 1 mysql mysql 26214400 Jun 19 11:38 mysql.ibd
12288 -rw-r----- 1 mysql mysql 12582912 Jun 19 11:38 ibtmp1
8 -rw-r-----. 1 mysql mysql 7127 Jun 19 11:38 error.log
4 -rw-r----- 1 mysql mysql 5 Jun 19 11:38 mysql.pid
4 -rw-r----- 1 mysql mysql 158 Jun 19 11:38 binlog.000005
4 -rw-r----- 1 mysql mysql 80 Jun 19 11:38 binlog.index
4 drwxr-x---. 2 mysql mysql 4096 Jun 19 11:38 '#innodb_redo'
4 drwxr-x---. 2 mysql mysql 4096 Jun 19 11:38 '#innodb_temp'
4 -rw-r-----. 1 mysql mysql 3471 Jun 19 11:37 ib_buffer_pool
4 -rw-r-----. 1 mysql mysql 181 Jun 19 11:37 binlog.000004
12 -rw-r-----. 1 mysql mysql 10883 Jun 19 11:37 binlog.000003
4 drwxr-x---. 2 mysql mysql 4096 Jun 19 11:34 superdb
4 -rw-r-----. 1 mysql mysql 181 Jun 19 11:19 binlog.000002
4 -rw-r-----. 1 mysql mysql 181 Jun 19 11:13 binlog.000001
4 drwxr-x---. 2 mysql mysql 4096 Jun 19 11:10 sys
4 drwxr-x---. 2 mysql mysql 4096 Jun 19 11:10 mysql
4 -rw-r--r--. 1 mysql mysql 452 Jun 19 11:10 public_key.pem
4 -rw-------. 1 mysql mysql 1709 Jun 19 11:10 private_key.pem
4 -rw-r--r--. 1 mysql mysql 1108 Jun 19 11:10 client-cert.pem
4 -rw-------. 1 mysql mysql 1705 Jun 19 11:10 client-key.pem
4 -rw-r--r--. 1 mysql mysql 1108 Jun 19 11:10 server-cert.pem
4 -rw-------. 1 mysql mysql 1705 Jun 19 11:10 server-key.pem
4 -rw-r--r--. 1 mysql mysql 1108 Jun 19 11:10 ca.pem
4 -rw-------. 1 mysql mysql 1705 Jun 19 11:10 ca-key.pem
4 drwxr-x---. 2 mysql mysql 4096 Jun 19 11:10 performance_schema
4 -rw-r-----. 1 mysql mysql 124 Jun 19 11:10 mysql_upgrade_history
14336 -rw-r-----. 1 mysql mysql 14680064 Jun 19 11:10 '#ib_16384_1.dblwr'
4 -rw-r-----. 1 mysql mysql 56 Jun 19 11:10 auto.cnf
4 drwxr-x---. 3 mysql mysql 4096 Jun 19 11:03 ..