命令行下总是处于某一目录下,即当前目录,命令行提示符中有描述当前目录的字段。
一般以 root 用户登录 SylixOS,其默认当前目录就是 /root
,用户提示符为“#”。
以非 root 用户登录时,默认当前目录为 /home/xxx
xxx 一般和用户名同名,而用户提示符也由“#”变为“$”号。
通过 pwd
命令查看当前目录全路径,例如:
[root@sylixos:/root]# cd /apps
[root@sylixos:/apps]# pwd
/apps
[root@sylixos:/apps]#
一个目录内只会存在子目录或文件,子目录层层嵌套从而实现复杂的目录层级关系。
通过 ls
命令可以查看当前目录内容,携带路径参数时可以直接查看指定目录内容,例如:
[root@sylixos:/root]# ls /tmp/
sylixos qtembedded-0 .qt_soundserver-0
[root@sylixos:/tmp]# cd /tmp/
[root@sylixos:/tmp]# ls
sylixos qtembedded-0 .qt_soundserver-0
ls
命令只是简单列出文件夹内所有文件和子文件夹的名字,信息比较少,想了解更详细的信息需要用 ll
命令。 ll
命令以列表的形式列出文件夹内容的详细信息,包括类型、访问权限,用户组,用户创建日期,文件大小和具体名字等。
通过 ll
命令查看文件夹详细信息,例如:
[root@sylixos:/root]# ll /tmp/
-rw-r--r-- root root Thu Jun 18 20:19:19 2015 20 B, syl
drwx------ root root Thu Jun 18 15:38:06 2015 qtembedded-0/
-rw------- root root Thu Jun 18 15:38:06 2015 0 B, .qt_soundserver-0
total items : 3
[root@sylixos:/root]# cd /tmp/
[root@sylixos:/tmp]# ll
-rw-r--r-- root root Thu Jun 18 20:19:19 2015 20 B, syl
drwx------ root root Thu Jun 18 15:38:06 2015 qtembedded-0/
-rw------- root root Thu Jun 18 15:38:06 2015 0 B, .qt_soundserver-0
total items : 3
文件信息列表分 6 大列,从左到右分别是:类型及访问权限、用户,用户组、修改日期、文件大小(如果是文件夹则为空)、文件或文件夹名称。最下面一行是列出文件夹内总项目数。
修改日期又分为 5 列:星期、月,日、时分秒、年。
类型及访问权限又分为 10 列,第一列为文件类型,后面每 3 列为一组,分别表示用户、用户组和其他用户对该文件的读写执行权限。读写执行权限分别对应字母“r(Read,读取)”“w(Write,写入)”“x(eXecute,执行)”,如果对应位为“-”则表示没有对应权限。
文件类型列总共有7种情况:
-
普通文件d
目录文件l
链接文件c
字符设备文件b
块设备文件f
FIFO 文件,命名管道s
套接字文件通过 cd
命令或 ch
命令可切换当前目录到指定目录下,例如:
cd
命令:
[root@sylixos:/root]# cd /etc/
[root@sylixos:/etc]# ls
pointercal passwd group shadow fs_init.sh qtenv.sh qtln_4.8.6.sh startup.sh profile
ch
命令:
[root@sylixos:/root]# ch /etc/
[root@sylixos:/etc]# ls
pointercal passwd group shadow fs_init.sh qtenv.sh qtln_4.8.6.sh startup.sh profile
/
根目录是SylixOS 下所有路径的起始,有且只有一个。注意反斜杠前面没有任何其他字符时才是根目录,否则为目录层级分割符。作为目录层级分割符时,右边名称是左边目录的内部文件或子目录,目录层级分割符可以级联,这样就可以一系列目录层次的路径信息。~
用户根目录。对于 root 用户是 /root
目录,对于非 root 用户是 /home/username
目录。.
当前目录。..
上一级目录,如果已经是根目录,则没有上一级目录,还是指代根目录。[user1@sylixos:/home/sylixos]$
[user1@sylixos:/home/sylixos]$ cd /
[user1@sylixos:/]$ cd ~
[user1@sylixos:/home/sylixos]$ cd .
[user1@sylixos:/home/sylixos]$ cd ..
[user1@sylixos:/home]$
[root@sylixos:/root]#
[root@sylixos:/root]# cd /home/
[root@sylixos:/home]# cd ~
[root@sylixos:/root]# cd .
[root@sylixos:/root]# cd ..
[root@sylixos:/]#
通过 mkdir
命令在 /tmp
目录下创建一个新目录 ,例如:
[root@sylixos:/root]# cd /tmp
[root@sylixos:/tmp]# ls
.qt_soundserver-0 qtembedded-0
[root@sylixos:/tmp]# mkdir sylixos
[root@sylixos:/tmp]# ls
sylixos .qt_soundserver-0 qtembedded-0
rmdir
命令用于删除目录,但只能删除空目录。想删除一个非空目录,需要先用 rm
命令和 rmdir
命令删除内部的文件和空子目录,然后再删除该目录。
[user1@sylixos:/apps/testdir]$ ls
dir a
[user1@sylixos:/apps/testdir]$ ls dir/
b
[user1@sylixos:/apps/testdir]$ rmdir dir
can not remove directory, error: Directory not empty
[user1@sylixos:/apps/testdir]$ rm dir/b
[user1@sylixos:/apps/testdir]$ rmdir dir
[user1@sylixos:/apps/testdir]$ ls
a
[user1@sylixos:/apps/testdir]$
chmod
命令用于修改文件权限。
[root@sylixos:/root]# ll
drwxr-xr-- root root Thu May 25 10:24:15 2023 sylixos/
drwxr-xr-- root root Thu May 25 09:42:45 2023 test/
-rw-r--r-- root root Sun Jan 02 08:09:59 2000 5 B, BSPUPDATE
-rw-rw-rw- root root Sat Jan 01 08:16:56 2000 18 B, a
total items: 4
[root@sylixos:/root]# chmod 777 sylixos
[root@sylixos:/root]# ll
drwxrwxrwx root root Thu May 25 10:24:15 2023 sylixos/
drwxr-xr-- root root Thu May 25 09:42:45 2023 test/
-rw-r--r-- root root Sun Jan 02 08:09:59 2000 5 B, BSPUPDATE
-rw-rw-rw- root root Sat Jan 01 08:16:56 2000 18 B, a
total items: 4
dsize
命令可以计算文件夹内总文件数和所有文件总大小,文件数不包括子文件夹,但递归包括所有子文件夹内的文件:
[root@sylixos:/apps]#
[root@sylixos:/apps]# ll
drwxr-xr-- root root Thu Jun 29 14:50:07 2023 ddd/
drwxr-xr-- root root Wed Jun 21 13:39:57 2023 hunterbox/
-rw-rw-rw- root root Wed Jun 14 18:51:18 2023 1 B, t1
drwxr-xr-- root root Wed Jun 21 13:39:29 2023 cmdParse/
-rw-rw-rw- root root Thu Jun 15 15:38:59 2023 16KB, test
total items: 5
[root@sylixos:/apps]# dsize .
scanning...
total file 19 size 642674 bytes.
[root@sylixos:/apps]# dsize test
total file 1 size 17332 bytes.
[root@sylixos:/apps]#
当文件数大于 1KB 时, ll
命令不能获取文件的具体大小,这时也可用 dsize
命令来获取文件具体大小。