文件系统 Shell 命令
命令 | 作用 | 示例 |
---|---|---|
cd | 切换当前目录 | cd /etc/ |
ch | 改变目录 | ch [目录名] |
pwd | 查看当前目录 | pwd |
df | 查看指定目录的文件系统信息 | df [目录名] |
tmpname | 获得一个可以创建的临时文件名 | tmpname |
mkdir | 创建一个目录 | mkdir [目录名] |
mkfifo | 创建一个命名管道 | mkfifo [命名管道名] |
rmdir | 删除一个空目录 | rmdir [目录名] |
rm | 删除一个文件 | rm [文件名] |
mv | 移动或重命名一个文件 | mv [源文件名] [目的文件名] |
cat | 查看一个文件的内容 | cat [文件名] |
cp | 拷贝一个文件 | cp [源文件名] [目的文件名] |
cmp | 比较两个文件是否相同 | cmp [文件名1] [文件名2] |
touch | 创建一个文件 | touch [文件名] |
ls | 列出指定目录下的文件 | ls [目录名] |
ll | 列出指定目录下的文件详细信息 | ll [目录名] |
dsize | 计算一个指定目录包含的所有文件的大小 | dsize [目录名] |
chmod | 设置目录或文件的权限位 | chmod [新权限位] [文件名或目录名] |
mkfs | 格式化指定磁盘 | mkfs [磁盘名] |
shfile | 执行指定的 Shell 脚本文件 | shfile [脚本名] |
mount | 挂载一个卷 | mount -t [文件系统类型] [块设备] [挂载路径] |
umount | 卸载一个卷 | umount [挂载路径] |
showmount | 查看系统中所有已经挂载的卷 | showmount |
ln | 创建符号链接文件 | ln -s [实际路径] [符号链接路径] |
dosfslabel | 查看或设置 fat 文件系统卷标 | dosfslabel [卷名] [卷标] |
xattr | 设置、修改、删除和查看文件的扩展属性 | xattr -s [文件名] [扩展属性名] [扩展属性值] |
在 SylixOS 中,可以使用 cd 命令来切换当前目录。
【命令格式】
cd path
【常用选项】
无
【参数说明】
path:路径名
以下是 cd 命令切换当前目录到/etc 目录的输出结果:
# cd /etc/
# ls
pointercal passwd group shadow fs_init.sh qtenv.sh qtln_4.8.6.sh startup.sh profile
在 SylixOS 中,可以使用 ch 命令来改变目录。
【命令格式】
ch dir
【常用选项】
无
【参数说明】
dir:路径名
以下是 ch 命令切换当前目录到/etc 目录的输出结果:
# ch /etc/
# ls
pointercal passwd group shadow fs_init.sh qtenv.sh qtln_4.8.6.sh startup.sh profile
在 SylixOS 中,可以使用 pwd 命令来查看当前目录。
【命令格式】
pwd
【常用选项】
无
【参数说明】
无
以下是 pwd 命令查看当前目录的输出结果:
# cd /etc
# pwd
/etc
在 SylixOS 中,可以使用 df 命令来查看指定目录的文件系统信息,默认为当前目录。
【命令格式】
df volume name
【常用选项】
无
【参数说明】
volume name:路径名
以下是 df 命令查看 yaff2 分区 n1 文件系统信息的输出结果:
# df /yaffs2/n1
VOLUME TOTAL FREE USED RO FS TYPE
-------------- ------------ ------------ ---- -- --------------------
/yaffs2/n1 109.88MB 42.05MB 61% n YAFFS FileSystem
在 SylixOS 中,可以使用 tmpname 命令来获得一个可以创建的临时文件名。
【命令格式】
tmpname
【常用选项】
无
【参数说明】
无
例如,以下是 tmpname 命令的输出结果:
# tmpname
can mktmp as name : /tmp/tmp.0.6DQbEP
# tmpname
can mktmp as name : /tmp/tmp.1.HcRXHN
在 SylixOS 中,可以使用 mkdir 命令来创建一个目录。
【命令格式】
mkdir directory
【常用选项】
无
【参数说明】
directory:目录名
例如,以下是 mkdir 命令在/tmp 目录下创建一个新目录 sylixos 的输出结果:
# cd /tmp
# ls
.qt_soundserver-0 qtembedded-0
# mkdir sylixos
# ls
sylixos .qt_soundserver-0 qtembedded-0
在 SylixOS 中,可以使用 mkfifo 命令来创建一个命名管道。
注意:
只能在根文件系统设备下创建。
【命令格式】
mkfifo [fifo name]
【常用选项】
无
【参数说明】
[fifo name]:命名管道名
以下是 mkfifo 命令在/dev 目录下创建一个新命名管道 sy 的输出结果:
# cd /dev
# ls
log socket netevent fb0 ttyS2 ttyS1 ttyS0 urandom random shm rtc hotplug epollfd gpiofd signalfd hstimerfd timerfd eventfd zero null input pipe pty
# mkfifo /dev/sy
# ls
sy log socket netevent fb0 ttyS2 ttyS1 ttyS0 urandom random shm rtc hotplug epollfd gpiofd signalfd hstimerfd timerfd eventfd zero null input pipe pty
# devs
device show (minor device) >>
drv open name
19 0 /dev/sy
14 1 /dev/pty/9.dev
15 1 /dev/pty/9.hst
30 0 /dev/input/xmse
30 0 /dev/input/xkbd
29 0 /dev/socket
28 0 /dev/netevent
26 1 /dev/input/touch0
……
在 SylixOS 中,可以使用 rmdir 命令来删除一个空目录。
【命令格式】
rmdir directory
【常用选项】
无
【参数说明】
directory:目录名
以下是 rmdir 命令删除/tmp 目录下的 sylixos 目录的输出结果:
# cd /tmp
# ls
qtembedded-0 .qt_soundserver-0 sylixos
# rmdir sylixos/
# ls
qtembedded-0 .qt_soundserver-0
在 SylixOS 中,可以使用 rm 命令来删除一个文件。
【命令格式】
rm file name
【常用选项】
无
【参数说明】
file name:文件名
以下是 rm 命令删除/tmp 目录下的 sy 文件的输出结果:
# cd /tmp
# ls
qtembedded-0 .qt_soundserver-0
# touch sy
# ls
sy qtembedded-0 .qt_soundserver-0
# rm sy
# ls
qtembedded-0 .qt_soundserver-0
在 SylixOS 中,可以使用 mv 命令来移动或重命名一个文件。
【命令格式】
mv SRC file name, DST file name
【常用选项】
无
【参数说明】
SRC file name :源文件名
DST file name :目的文件名
以下是 mv 命令重命名/tmp 目录下的 sy 文件的输出结果:
# cd /tmp
# ls
qtembedded-0 .qt_soundserver-0
# touch sy
# ls
sy qtembedded-0 .qt_soundserver-0
# mv sy sy0
# ls
sy0 qtembedded-0 .qt_soundserver-0
在 SylixOS 中,可以使用 cat 命令来查看一个文件的内容。
【命令格式】
cat file name
【常用选项】
无
【参数说明】
file name:文件名
以下是 cat 命令查看/tmp 目录下的 sy 文件内容的输出结果:
# cd /tmp
# ls
qtembedded-0 .qt_soundserver-0
# touch sy
# ls
sy qtembedded-0 .qt_soundserver-0
# vi sy
sylixos and soft
# ls
sy qtembedded-0 .qt_soundserver-0
# cat sy
sylixos and soft
在 SylixOS 中,可以使用 cp 命令来拷贝一个文件。
【命令格式】
cp [src file name] [dst file name]
【常用选项】
无
【参数说明】
src file name:源文件名
dst file name:目的文件名
以下是 cp 命令查看/tmp 目录的 sy 文件拷贝到 sy0 文件的输出结果:
# cd /tmp
# ls
sy qtembedded-0 .qt_soundserver-0
# cat sy
sylixos and soft
# cp sy sy0
copy complete. size:20(Bytes) time:0(s) speed:20(Bps)
# ls
sy0 sy qtembedded-0 .qt_soundserver-0
# cat sy0
sylixos and soft
在 SylixOS 中,可以使用 cmp 命令来比较两个文件是否相同。
【命令格式】
cmp [file one] [file two]
【常用选项】
无。
【参数说明】
[file one]:文件1的文件名
[file two]:文件2的文件名
以下是 cmp 命令比较/tmp 目录的 sy 文件和 sy0 文件的输出结果:
# cd /tmp
# ls
sy0 sy qtembedded-0 .qt_soundserver-0
# cat sy0
sylixos and soft
# cat sy
sylixos and soft
# cmp sy0 sy
file same!
在 SylixOS 中,可以使用 touch 命令来创建一个文件。
【命令格式】
touch [-amc] file name
【常用选项】
-a:只改变访问时间
-m:只改变修改时间
-c:不创建文件
【参数说明】
file name:文件名
以下是 touch 命令创建/tmp 目录的 sylixos 文件并更改文件内容的输出结果:
# cd /tmp
# ls
qtembedded-0 .qt_soundserver-0
# touch sylixos
# ls
sylixos qtembedded-0 .qt_soundserver-0
# vi sylixos
sylixos and soft
# ls
sylixos qtembedded-0 .qt_soundserver-0
# cat sylixos
sylixos and soft
在 SylixOS 中,可以使用 ls 命令来列出指定目录下的文件,默认为当前目录。
【命令格式】
ls [path name]
【常用选项】
无
【参数说明】
path name:目录名
以下是 ls 命令列出/tmp 目录下文件的输出结果:
# ls /tmp/
sylixos qtembedded-0 .qt_soundserver-0
# cd /tmp/
# ls
sylixos qtembedded-0 .qt_soundserver-0
在 SylixOS 中,可以使用 ll 命令来列出指定目录下的文件详细信息,默认为当前目录。
【命令格式】
ll [path name]
【常用选项】
无
【参数说明】
path name:目录名
以下是 ll 命令列出/tmp 目录下文件详细信息的输出结果:
# 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
# cd /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
在 SylixOS 中,可以使用 dsize 命令来计算一个指定目录包含的所有文件的大小。
【命令格式】
dsize [path name]
【常用选项】
无
【参数说明】
path name:目录名
以下是 dsize 命令列出/tmp 目录下所有文件大小的输出结果:
# dsize /tmp/
scanning...
total file 4 size 172
在 SylixOS 中,可以使用 chmod 命令来设置目录或文件的权限位。
【命令格式】
chmod newmode filename
【常用选项】
无
【参数说明】
newmode:新权限位,使用绝对值模式
filename:文件或目录名
以下是 chmod 命令设置/tmp 目录下 sylixos 文件权限位的输出结果:
# cd /tmp
# ll
-rw-r--r-- root root Thu Jun 18 20:19:19 2015 20 B, sylixos
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
# chmod 755 sylixos
# ll
-rwxr-xr-x root root Thu Jun 18 20:19:19 2015 20 B, sylixos
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
在 SylixOS 中,可以使用 mkfs 命令来格式化指定磁盘。
【命令格式】
mkfs media name
【常用选项】
无
【参数说明】
media name:磁盘名
以下是 mkfs 命令格式化 sdcard0:
# mkfs /media/sdcard0/
now format media, please wait...
disk format ok.
在 SylixOS 中,可以使用 shfile 命令执行指定的 Shell 脚本文件。
【命令格式】
shfile shell file
【常用选项】
无
【参数说明】
shell file:脚本
以下是 shfile 命令运行/etc 目录下 factory.sh 脚本文件的输出结果:
# cd /etc
# ls
passwd group shadow fs_init.sh qtenv.sh qtln_4.8.6.sh startup.sh profile pointercal
# touch factory.sh
# vi factory.sh
echo factory shell file
# cat factory.sh
echo factory shell file
# shfile factory.sh
factory shell file
在 SylixOS 中,可以使用 mount 挂载一个卷。
【命令格式】
mount [-t fstype] [-o option] [blk dev] [mount path]
【常用选项】
-t:文件系统类型,如ramfs,romfs,nfs等
-o:文件系统类型,ro 为只读类型,rw为读写类型
【参数说明】
[blk dev]:块设备
[mount path]:挂载路径
以下是 mount 命令的运行结果:
# showmount
AUTO-Mount point show >>
VOLUME BLK NAME
-------------------- --------------------------------
/media/hdd0 /dev/blk/hdd0:0
Mount point show >>
VOLUME BLK NAME
-------------------- --------------------------------
/tmp 0
# mount -t ramfs 100 /mnt/ram
# showmount
AUTO-Mount point show >>
VOLUME BLK NAME
-------------------- --------------------------------
/media/hdd0 /dev/blk/hdd0:0
Mount point show >>
VOLUME BLK NAME
-------------------- --------------------------------
/mnt/ram 100
/tmp 0
在 SylixOS 中,可以使用 umount 卸载一个卷。
【命令格式】
umount [mount path]
【常用选项】
无
【参数说明】
[mount path]:挂载路径
以下是 umount 命令的输出结果:
# showmount
AUTO-Mount point show >>
VOLUME BLK NAME
-------------------- --------------------------------
/media/hdd0 /dev/blk/hdd0:0
Mount point show >>
VOLUME BLK NAME
-------------------- --------------------------------
/mnt/ram 100
/tmp 0
# umount /mnt/ram/
# showmount
AUTO-Mount point show >>
VOLUME BLK NAME
-------------------- --------------------------------
/media/hdd0 /dev/blk/hdd0:0
Mount point show >>
VOLUME BLK NAME
-------------------- --------------------------------
/tmp 0
在 SylixOS 中,可以使用 showmount 查看系统中所有已经挂载的卷。
【命令格式】
showmount
【常用选项】
无
【参数说明】
无
以下是 showmount 命令看系统中所有已经挂载的卷:
# showmount
AUTO-Mount point show >>
VOLUME BLK NAME
-------------------- --------------------------------
/media/hdd0 /dev/blk/hdd0:0
Mount point show >>
VOLUME BLK NAME
-------------------- --------------------------------
/tmp 0
在 SylixOS 中,可以使用 ln 命令创建符号链接文件。
【命令格式】
ln [-s | -h | -f] [actualpath] [linkpath]
【常用选项】
-s:创建软链接(符号链接)
-h:创建硬链接(仅TpsFS文件系统支持硬链接创建)
-f:强制执行,需要搭配-s或-h选项使用
【参数说明】
[actualpath]:实际路径
[sympath]:符号链接路径
以下是 ln 命令将/tmp/sylixos 链接到/sylixos 的输出结果:
# ls
tmp var root home apps sbin bin usr lib qt ftk etc
boot usb yaffs2 proc media mnt dev
# mkdir /tmp/sylixos
# ls /tmp/
sylixos ram0 syl qtembedded-0 .qt_soundserver-0
# ln -s /tmp/sylixos /sylixos
# ls
sylixos tmp var root home apps sbin bin usr lib qt ftk
etc boot usb yaffs2 proc media mnt dev
在 SylixOS 中,可以使用 dosfslabel 查看或设置 fat 文件系统卷标。
【命令格式】
dosfslabel [[vol newlabel] [vol]]
【常用选项】
无
【参数说明】
[vol newlabel]:卷名
[vol]:卷标
以下是 dosfslabel 命令查看/media/sdcard0 卷标并设置新卷标为 sylixos 的输出结果:
# dosfslabel /media/sdcard0/
sdcard
# dosfslabel /media/sdcard0/ sylixos
# dosfslabel /media/sdcard0/
sylixos
扩展属性(Extended attributes)提供了一种机制,用来将键值对永久关联到文件,让现有的文件系统支持在原始设计中未提供的功能,SylixOS 中,目前仅 TpsFS 文件系统支持该特性。
在 SylixOS 中,可以使用 xattr 命令设置、修改、删除和查看文件的扩展属性。
【命令格式】
xattr -s [file] [key] [value]
-g [file] [key]
-gb [file] [key]
-d [file] [key]
-l [file]
【常用选项】
-s: 设置一组扩展属性
-g: 获取扩展属性值
-gb:获取扩展属性值,以 16 进制形式显示
-d: 删除一组扩展属性
-l: 列出指定文件下的全部扩展属性名称
【参数说明】
[file]:文件名(可以是普通文件/目录文件/软连接文件)
[key]:扩展属性名称
[value]:扩展属性值
以下是 xattr命令设置、查看、修改、删除 sylixos.txt 文件扩展属性的输出结果:
# Set xattr.
[root@sylixos:/apps]# xattr -s sylixos.txt key1 value1
# Get xattr.
[root@sylixos:/apps]# xattr -g sylixos.txt key1
'value1'
# Get xattr in hex mode.
[root@sylixos:/apps]# xattr -gb sylixos.txt key1
HEX: 76 61 6c 75 65 31
# List xattr names.
[root@sylixos:/apps]# xattr -l sylixos.txt
'key1'
# Delete xattr.
[root@sylixos:/apps]# xattr -d sylixos.txt key1
# Check xattr again.
[root@sylixos:/apps]# xattr -l sylixos.txt
No extended attributes in this file.