From 7b8985081119503d1934ec63a5c39873219e0129 Mon Sep 17 00:00:00 2001 From: Kiita Date: Fri, 22 Oct 2021 19:57:29 +0800 Subject: [PATCH] =?UTF-8?q?shell=E5=91=BD=E4=BB=A4=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E6=96=87=E6=A1=A3=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新了shell命令的使用说明,本次更新部分为新增的toybox命令的 使用说明;除此之外保留的是原自研shell命令的使用指导。 Signed-off-by: yansira Change-Id: Ia36f3b5f06703df10bfb69ee429bdfa838f379a8 --- .../Snipaste_2021-01-26_10-38-58-26.png | Bin 5006 -> 0 bytes ...3\345\207\272\347\244\272\344\276\213.png" | Bin 1641 -> 0 bytes .../figure/zh-cn_image_0000001179967909.png | Bin 3337 -> 0 bytes ...7\347\224\250\346\203\205\345\206\265.png" | Bin 17505 -> 0 bytes ...1\351\200\201\345\244\261\350\264\245.png" | Bin 3171 -> 0 bytes ...1\347\273\223\346\236\234\345\233\276.png" | Bin 21005 -> 0 bytes ...uid\344\270\272100-gid\344\270\272200.png" | Bin 8164 -> 0 bytes ...46\235\203\351\231\220\344\270\272666.png" | Bin 8193 -> 0 bytes ...47\276\244\347\273\204\344\270\272100.png" | Bin 8850 -> 0 bytes ...73\272-share-\347\233\256\345\275\225.png" | Bin 8323 -> 0 bytes ...-\347\232\204\346\226\207\344\273\266.png" | Bin 4757 -> 0 bytes ...-\347\232\204\347\233\256\345\275\225.png" | Bin 4577 -> 0 bytes ...7\345\256\232\350\277\233\347\250\213.png" | Bin 3423 -> 0 bytes ...3\347\273\237\346\227\245\346\234\237.png" | Bin 2014 -> 0 bytes ...46\236\234\345\246\202\344\270\213-24.png" | Bin 11218 -> 0 bytes ...5\345\256\271\345\246\202\344\270\213.png" | Bin 6572 -> 0 bytes ...47\234\213\350\277\233\347\250\213PID.png" | Bin 15377 -> 0 bytes ...51\231\244\347\233\256\345\275\225-sd.png" | Bin 4935 -> 0 bytes ...\244\346\226\207\344\273\266-log1-txt.png" | Bin 3797 -> 0 bytes .../kernel-small-debug-shell-cmd-date.md | 49 ++- .../kernel-small-debug-shell-cmd-free.md | 105 +++--- .../kernel-small-debug-shell-cmd-help.md | 66 ++-- .../kernel-small-debug-shell-cmd-kill.md | 132 ++++++-- .../kernel-small-debug-shell-cmd-reboot.md | 33 ++ .../kernel-small-debug-shell-cmd-reset.md | 2 +- .../kernel-small-debug-shell-cmd-top.md | 176 +++++++++++ .../kernel-small-debug-shell-cmd-uname.md | 79 +++-- .../kernel/kernel-small-debug-shell-cmd.md | 8 +- .../kernel-small-debug-shell-file-chgrp.md | 41 ++- .../kernel-small-debug-shell-file-chmod.md | 45 +-- .../kernel-small-debug-shell-file-chown.md | 53 ++-- .../kernel-small-debug-shell-file-cp.md | 69 ++-- .../kernel-small-debug-shell-file-du.md | 92 ++++++ .../kernel-small-debug-shell-file-ls.md | 299 ++++++++++++++++-- .../kernel-small-debug-shell-file-mkdir.md | 105 +++++- .../kernel-small-debug-shell-file-mount.md | 84 +++-- .../kernel-small-debug-shell-file-mv.md | 134 ++++++++ .../kernel-small-debug-shell-file-rm.md | 84 +++-- .../kernel-small-debug-shell-file-rmdir.md | 59 +++- .../kernel-small-debug-shell-file-touch.md | 67 ++-- .../kernel-small-debug-shell-file-umount.md | 68 ++-- .../kernel/kernel-small-debug-shell-file.md | 4 +- .../kernel-small-debug-shell-net-ifconfig.md | 96 +++--- .../kernel-small-debug-shell-net-ping.md | 92 +++--- 44 files changed, 1566 insertions(+), 476 deletions(-) delete mode 100644 zh-cn/device-dev/kernel/figure/Snipaste_2021-01-26_10-38-58-26.png delete mode 100755 "zh-cn/device-dev/kernel/figure/umount\350\276\223\345\207\272\347\244\272\344\276\213.png" delete mode 100644 zh-cn/device-dev/kernel/figure/zh-cn_image_0000001179967909.png delete mode 100755 "zh-cn/device-dev/kernel/figure/\344\273\245\344\270\211\347\247\215\346\226\271\345\274\217\346\230\276\347\244\272\345\206\205\345\255\230\344\275\277\347\224\250\346\203\205\345\206\265.png" delete mode 100755 "zh-cn/device-dev/kernel/figure/\344\277\241\345\217\267\345\217\221\351\200\201\345\244\261\350\264\245.png" delete mode 100755 "zh-cn/device-dev/kernel/figure/\344\277\241\345\217\267\345\217\221\351\200\201\347\273\223\346\236\234\345\233\276.png" delete mode 100755 "zh-cn/device-dev/kernel/figure/\344\277\256\346\224\271-hello-harmony-txt-\346\226\207\344\273\266\347\232\204uid\344\270\272100-gid\344\270\272200.png" delete mode 100755 "zh-cn/device-dev/kernel/figure/\344\277\256\346\224\271-hello-harmony-txt-\346\226\207\344\273\266\347\232\204\346\235\203\351\231\220\344\270\272666.png" delete mode 100755 "zh-cn/device-dev/kernel/figure/\344\277\256\346\224\271-hello-harmony-txt-\346\226\207\344\273\266\347\232\204\347\276\244\347\273\204\344\270\272100.png" delete mode 100755 "zh-cn/device-dev/kernel/figure/\345\210\233\345\273\272-share-\347\233\256\345\275\225.png" delete mode 100755 "zh-cn/device-dev/kernel/figure/\345\210\233\345\273\272\344\270\200\344\270\252\345\220\215\344\270\272-file-c-\347\232\204\346\226\207\344\273\266.png" delete mode 100755 "zh-cn/device-dev/kernel/figure/\345\210\240\351\231\244\344\270\200\344\270\252\345\220\215\344\270\272-dir-\347\232\204\347\233\256\345\275\225.png" delete mode 100755 "zh-cn/device-dev/kernel/figure/\345\217\221\351\200\201\344\277\241\345\217\267\347\273\231\346\214\207\345\256\232\350\277\233\347\250\213.png" delete mode 100755 "zh-cn/device-dev/kernel/figure/\346\214\211\346\214\207\345\256\232\346\240\274\345\274\217\346\211\223\345\215\260\347\263\273\347\273\237\346\227\245\346\234\237.png" delete mode 100644 "zh-cn/device-dev/kernel/figure/\346\230\276\347\244\272\347\273\223\346\236\234\345\246\202\344\270\213-24.png" delete mode 100755 "zh-cn/device-dev/kernel/figure/\346\237\245\347\234\213\345\275\223\345\211\215\347\263\273\347\273\237\350\267\257\345\276\204\344\270\213\347\232\204\347\233\256\345\275\225-\346\230\276\347\244\272\347\232\204\345\206\205\345\256\271\345\246\202\344\270\213.png" delete mode 100755 "zh-cn/device-dev/kernel/figure/\346\237\245\347\234\213\350\277\233\347\250\213PID.png" delete mode 100755 "zh-cn/device-dev/kernel/figure/\347\224\250-rm--r-\345\210\240\351\231\244\347\233\256\345\275\225-sd.png" delete mode 100755 "zh-cn/device-dev/kernel/figure/\347\224\250-rm-\345\221\275\344\273\244\345\210\240\351\231\244\346\226\207\344\273\266-log1-txt.png" create mode 100644 zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-reboot.md create mode 100644 zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-top.md create mode 100644 zh-cn/device-dev/kernel/kernel-small-debug-shell-file-du.md create mode 100644 zh-cn/device-dev/kernel/kernel-small-debug-shell-file-mv.md diff --git a/zh-cn/device-dev/kernel/figure/Snipaste_2021-01-26_10-38-58-26.png b/zh-cn/device-dev/kernel/figure/Snipaste_2021-01-26_10-38-58-26.png deleted file mode 100644 index 2e52f5c4b1ed500cd7eb3ebf665e49d531e4bd41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5006 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 Xxok`omrMlyrGd0H5OCa`Cqe%JwXU$} diff --git "a/zh-cn/device-dev/kernel/figure/umount\350\276\223\345\207\272\347\244\272\344\276\213.png" "b/zh-cn/device-dev/kernel/figure/umount\350\276\223\345\207\272\347\244\272\344\276\213.png" deleted file mode 100755 index 0696f82d77764ee6c2c1f3fc87c298ede5daa784..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1641 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 Bpd0`I diff --git "a/zh-cn/device-dev/kernel/figure/\344\277\241\345\217\267\345\217\221\351\200\201\345\244\261\350\264\245.png" "b/zh-cn/device-dev/kernel/figure/\344\277\241\345\217\267\345\217\221\351\200\201\345\244\261\350\264\245.png" deleted file mode 100755 index bbac94b4cedd784cf2affc0b7bed38f0ab2962a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3171 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 diff --git "a/zh-cn/device-dev/kernel/figure/\344\277\256\346\224\271-hello-harmony-txt-\346\226\207\344\273\266\347\232\204\346\235\203\351\231\220\344\270\272666.png" "b/zh-cn/device-dev/kernel/figure/\344\277\256\346\224\271-hello-harmony-txt-\346\226\207\344\273\266\347\232\204\346\235\203\351\231\220\344\270\272666.png" deleted file mode 100755 index 97d249223841af716073bdc5c66d4d19dc078471..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8193 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 SNMv)$PZBf diff --git "a/zh-cn/device-dev/kernel/figure/\345\210\233\345\273\272-share-\347\233\256\345\275\225.png" "b/zh-cn/device-dev/kernel/figure/\345\210\233\345\273\272-share-\347\233\256\345\275\225.png" deleted file mode 100755 index cc4564a075f63d3f95fba9d747a70ea203a1348c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8323 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 L*~#nDJ^sG{OHdNS diff --git "a/zh-cn/device-dev/kernel/figure/\345\210\240\351\231\244\344\270\200\344\270\252\345\220\215\344\270\272-dir-\347\232\204\347\233\256\345\275\225.png" "b/zh-cn/device-dev/kernel/figure/\345\210\240\351\231\244\344\270\200\344\270\252\345\220\215\344\270\272-dir-\347\232\204\347\233\256\345\275\225.png" deleted file mode 100755 index ae2df6f3a9b19b467ddf5c17ffde90ed115e2a23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4577 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 diff --git "a/zh-cn/device-dev/kernel/figure/\345\217\221\351\200\201\344\277\241\345\217\267\347\273\231\346\214\207\345\256\232\350\277\233\347\250\213.png" "b/zh-cn/device-dev/kernel/figure/\345\217\221\351\200\201\344\277\241\345\217\267\347\273\231\346\214\207\345\256\232\350\277\233\347\250\213.png" deleted file mode 100755 index d6d610c3206ee28dd5e4e3d53cac87f455bd8a2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3423 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 I)vyiwAJMOe2LJ#7 diff --git "a/zh-cn/device-dev/kernel/figure/\346\214\211\346\214\207\345\256\232\346\240\274\345\274\217\346\211\223\345\215\260\347\263\273\347\273\237\346\227\245\346\234\237.png" "b/zh-cn/device-dev/kernel/figure/\346\214\211\346\214\207\345\256\232\346\240\274\345\274\217\346\211\223\345\215\260\347\263\273\347\273\237\346\227\245\346\234\237.png" deleted file mode 100755 index 51508faa738519f47c0670f113b1f0f8cead31f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2014 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 diff --git "a/zh-cn/device-dev/kernel/figure/\346\237\245\347\234\213\345\275\223\345\211\215\347\263\273\347\273\237\350\267\257\345\276\204\344\270\213\347\232\204\347\233\256\345\275\225-\346\230\276\347\244\272\347\232\204\345\206\205\345\256\271\345\246\202\344\270\213.png" "b/zh-cn/device-dev/kernel/figure/\346\237\245\347\234\213\345\275\223\345\211\215\347\263\273\347\273\237\350\267\257\345\276\204\344\270\213\347\232\204\347\233\256\345\275\225-\346\230\276\347\244\272\347\232\204\345\206\205\345\256\271\345\246\202\344\270\213.png" deleted file mode 100755 index b8a236bdc184363d0463a7eaf5a4f054421e531c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6572 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 Sc;fsQ24JXbs#C3PAM-z#**41n diff --git "a/zh-cn/device-dev/kernel/figure/\346\237\245\347\234\213\350\277\233\347\250\213PID.png" "b/zh-cn/device-dev/kernel/figure/\346\237\245\347\234\213\350\277\233\347\250\213PID.png" deleted file mode 100755 index 8fb629e38738641a958cba848c37a522ee8b893b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15377 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 diff --git "a/zh-cn/device-dev/kernel/figure/\347\224\250-rm--r-\345\210\240\351\231\244\347\233\256\345\275\225-sd.png" "b/zh-cn/device-dev/kernel/figure/\347\224\250-rm--r-\345\210\240\351\231\244\347\233\256\345\275\225-sd.png" deleted file mode 100755 index 61eb6697739122f4dc74a0a583aa2edd00f9e3a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4935 zcmaKwc{CJk-^WKZlqt)Q5e-HtWEo3~Wzg6nTL=}?ZDgksjcvw6nvta;ON2s}QL@Vt zW1mb2*@dzb(_k!Pd))W)KIgped(Qj*bDist>pJIquI2ar{JumBGs6?dPag*W04I!% zkX8Ty8~kv7p9^?6rc3Oe0sz1#jgh+67`Ej*w3sO+kU!6YxF84BdlG1+<8#^kjKbaE z`#gR4!j!V5Z%^XgdP=cozlaE)=TB97lD|)ZrR+^@Y!aJr^8g3{s258GKpzR28m}C2yx?Sx^2xxSfUdsa)B)v)92o@Ce`_5gET8w1ac1xIr&? zWtip((NZ7#?DyRC3i~gTOp~ba8FL|~3G;`-A}xMEsKT%!)t*DZD%Xa)bV!T;SE$1wWN%n*;2D!kS%e-#Ck(qZFg#4*flzs{zoiMp7t?n4r zQTKLrH@#t@dqzJYs3=-LKVw8Z6T{PepWcpo@H9GsVsZl~=i^1x%bg52mRTqi;l z331ebrcnQU<(H+@1t?|X+FQ?YfjEF50DD?HW%ejVK4i=u;v84v3JRktiLkR%D6`7N zfov%xM$2yyNK}Y@jbPfo;UNb2DoV+5Y+)|qv2#E9G6dFLlmYtkJ|Go>7o#52Lfi;D zNJqV~O2j6lOXhEommHXOQ^D3EK~vai`_M3|!E$(A@slA0Fok-1+8W%OduzhvZJGp} z4s6T>zZ%@%*9B!YLClHKw>!T?D}1h`LWi@LZ3cU1Jm-E?FX;%JZg1_PJ3N-6eyYR< zsoWOM;{Ksvn^IUS#+)LjqW2P`HWkrZH~SyqmrSL?B<}cQ4{r4nM%lsJH&`w(fhvC1 z%fa7OPNa}2;uo=rQjC{@jO6gOb-bqd$c!?tH2m|}%QiQSUm{_*oxqmsSBeHzA4Zso zP-&2eI#^C$?LE6*N3j?J&%I6M@)C{i2fgZpxKKC#c;=09>jUYBQX}!pW(ZEM7sN|_ z2(o7{PjBr7IyKIy;ifZe?sJCDj%`354vLvTyfZIHKTNb)p|zDNYy+i%-_ z&ZcYG%Pp5kKu5WFBzAw+ss$(EbkM&^ptm{8t1q26R&i#zb|Qp!Y39>z$x*qc14I8)(xu`< z&XMyCg za=Wus!!*FaAVOIdvQ#~!v;XdM^?A}evkT#o>hPBf`w$XXvH$j0MKF6b(IjtfgQ^!H zK9Z{?c?b7bocs!j4@0zwsY>Y*0tUUL`ZsiD*phKM&);CViSi@bA|&Z6@!e_GQBx&% z{ceV{)}yyf;!+D^aweQ2n}VZ$bx2CUdHDrRfH32>R+Q z(p+H}yY5HuO40F3#d$0&cFbS2uA-|&uHN5i?&D|9mk$C;<)I>kuQ9`mpg{LH*JY-& z&e==h&>kI*2Y22XYdV@$?sd$WR~=lNunY(c5!Gq8$Pz(MmE>&1-FAFi1@kqURupeT zX_P$7^g#?LhBO2y-ZS63^^Ky=fnIeBaIK4aut460fjS!P*5vwN}H<9dZ$dI z{FDGNb`sk^-;kG&f)H%}t>hY@<2ZQ~V#m*Z1AByYS3MSmG8WJB;r$^80gysF+-8D( z(mhn@W%%23v3)(vV5MzcwBLzot!-w3o9ES?+nFJqQ;EV}b1rd36U|@5WJ;eABnK9T z?6IFtSq-R;rv#2_tgj@7R9oX_O@5)RSwHd^d(HRvT#%)atSLtUzCkK<~H^-tAA*7<@nBqkW^_W%~ytn)T}$Q z_ifTlE7HD4(ru$$G5!i%;#-WXasA65mK?*B=XpiH%feJRwhLHm$a^45CnK43Ex)`z z8NAl+9$Dh#Oci+ozB8&=|Ne(MkN=5%TO$${^J-2X$@OW&GD|oNx#E;}#X;}nM2xYq zVnLnDDISY*toQo>^)6)I7J5&k~TT=FWk~wv>z9 zhcs9*?_;-}jg!qC)4}0}ZO}8VIliU>+)?XFj2f?JsktKUK z;arvD8`Ks|5}O*MrfGnwv5a%meYL=B5;D3{_idM~kq-P^*oq zTie{fehSV%b2X@b#GRR%Luiv<_`Pb~T^w7^RX4`RIjzjNpTYL^okGE%**56p#2_8* zoZd0lIKKAkGIkmdYIv#Nz^f1atT{8lw2wBcm(lXQ)6lekW$pPb!+3-kkNNzw%G}(o z7j2Q_*%i%!?m6+YTHiSU`GoKs3|)lp{$2}gnsoyoHuK=4W~JEQ)5 z&<8U=5iG;WD@*`EhNOVwCIX%^jzEU-UZL-`AN1LS54ICBX#qvd#|_B|d~N$57Rz`Q z{x|Bxy}SQbWnk}!IR=f(c11nD5F{;mr2vJ!M)Ci#9R*sDx>8n7F-D$tk}P4C`Vx7>6dPpw>UrI&UDYTOP~8N>z314e1-LP z)^73onIy`LV|u-`AR$jWT(hIlHWg#Ash=sS1T-n%dk>wjvB^sv{H4}7R2GEw4hekC z*d;*a{!c=p0mq&Gi;+0oUZ$YekCvQ$KC9@}oxHTo+OlGrFj95U=CNsr*sUE&WMcEj zxljg*li+1{8eYP%vYtJWI7i>Tj#E(V%@*&W-Ms3UdZ`tAt33Lq?@Oa`J@l%TCtZJE ziCxTlV#(DaV{l4sCM;|{{((+L#V_=>Rw?oBYK8-!FrzVCgYk$)3ryRygavYwW?T#0 zc2r`fzF@9<9u;S)`R&SVM658ue4MD-06OQqiqu3xrqCoY*pIY6rFHSgumHvnVb*NNLPSYkYHY-rM}J7T;9|0>ki~&ZxB`XjehMWdi+X5CR!(f4L9=+1~d?b2^8- z(T%4+$5V7r6iS8?1(}55`8~5qwdIckAuDAj^-l4Yv;g>qn|wDoi_V6gg$ff)Pikt1 zb8ST6XXp;VY-de&7{m5Jg+Vp_l<@~@uRSglT!dLcAzaLXAbU{quI@T_t?J$*&C*Mx znW@l5jP4|bLRP;28iRI+Wq;Es!8jE{b-q%&F`MVgE{^Tu4W)HdSbXt_Si@5?rPnMS zM*Y=W)SlMPW`5)(HiFrJ>S6dpebU#sy!OpkLDQS{7_>1=WTf!B>bOvtsF>J1u*Uu< zFdxjF>CkK5_(2?MZ}aL!4~x@~(HbnGUc31n(Us^wp@o+%wB!Eii2pTw zRuT$;j2wpi-6zH2JGm{I2B_ioXCOltfwO$CVwd~10a2IVq&%=c!%BZf&d+vMYgQo~%_ zm)duhm!@ zvW*u3)j5(`^E+m0aqiPx>FSV=$^dLOTF9r0I9N0s@@k$~&c}OMRjCTAN%w=93ReW4-!B= zC{YdJ`2k?R)kt9jUDmfPPz}S#i5npBHqxb1xWQ5@r*+BCRkc=+*A6yq3+dph&wo_@ zS;fx52J$+}j)ZX^^lmL=VTlwUA*KtS;eVwt^U#nh>of{85A%!HayIFn?^Y^U3TzHh z@2%XW{3W|>!(y>3B87?M6t~4Sr6H%}w2cf=_pyHZ47yj1IF|Tp_tom{L5qF+r^i=W zMfy9{EGu;4HCq4kbv8v8a8Fal#kMKxRO5Jzxa^S#DY@&~t7S%qO@O&jAUe>&c7Gsw z+vM6UgrbR|`Og{snDc+jg|v}Qu$TIBA0!?RGL3)z7xFKyQm^f(k^Iip_)V&#mv{5LPApw44{@pDtm5y7 z0WwMThRK2*ugM;9-{RkBM^KZ>A~RNNtlZx*CB;Bs$d)P)W9zi4Rhqym@*Ri1lC1pw zUiOPg0_vxy5UA*Ht)DbAGJ)quIDvkLJ~+zw_sz&~LUY(9JsT;p$D(zU{;kdL0!kkd u)(Qch)I%ffN^k%}kmwe4Xov&2&t7LXpfsW)v3wYi0gUy{kVSf^C;tLuf1j@a diff --git "a/zh-cn/device-dev/kernel/figure/\347\224\250-rm-\345\221\275\344\273\244\345\210\240\351\231\244\346\226\207\344\273\266-log1-txt.png" "b/zh-cn/device-dev/kernel/figure/\347\224\250-rm-\345\221\275\344\273\244\345\210\240\351\231\244\346\226\207\344\273\266-log1-txt.png" deleted file mode 100755 index dfe025c125714a7b7f3374b8323b785b59706c8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3797 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 -date命令用于查询及设置系统日期和时间。 +date命令用于查询系统日期和时间。 ## 命令格式 @@ -19,22 +19,19 @@ date --help date +\[_Format_\] -date -s_ _\[_YY/MM/DD_\] - -date_ _-s_ _\[_hh:mm:ss_\]__ - -date -r \[_Filename_\] +date -u ## 参数说明 **表 1** 参数说明 + - @@ -42,35 +39,21 @@ date -r \[_Filename_\] - - - - - - - - - - - - - @@ -78,17 +61,21 @@ date -r \[_Filename_\] ## 使用指南 -- date参数缺省时,默认显示当前系统日期和时间。 -- --help、+Format、-s、-r不能混合使用。 +- date参数缺省时,默认显示系统UTC日期和时间。 +- --help、+Format、-u不能混合使用。 +- 目前命令不支持设置时间和日期。 ## 使用实例 举例: -输入date +%Y--%m--%d。 +输入 date +%Y--%m--%d ## 输出说明 -**图 1** 按指定格式打印系统日期 -![](figure/按指定格式打印系统日期.png "按指定格式打印系统日期") +**示例 1** 按指定格式打印系统日期 +```shell +OHOS:/$ date +%Y--%m--%d +1970--01--01 +``` \ No newline at end of file diff --git a/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-free.md b/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-free.md index 7530dfc1fc3..d37eb4f96c8 100644 --- a/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-free.md +++ b/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-free.md @@ -1,21 +1,21 @@ # free -- [命令功能](#section175151514841) -- [命令格式](#section8488721749) -- [参数说明](#section27272181949) -- [使用指南](#section148661259410) -- [使用实例](#section68081530242) -- [输出说明](#section171235517543) +- [命令功能](#section01) +- [命令格式](#section02) +- [参数说明](#section03) +- [使用指南](#section04) +- [使用实例](#section05) +- [输出说明](#section06) -## 命令功能 +## 命令功能 -free命令可显示系统内存的使用情况,同时显示系统的text段、data段、rodata段、bss段大小。 +free命令可显示系统内存的使用情况。 -## 命令格式 +## 命令格式 -free \[_-k | -m_\] +free \[_-b | -k | -m | -g | -t_\] -## 参数说明 +## 参数说明 **表 1** 参数说明 @@ -35,6 +35,20 @@ free \[_-k | -m_\] + + + + + + + + + + + + + + + +

参数

参数说明

取值范围

+

取值范围

使用帮助。

N/A

+

N/A

+Format

根据Format格式打印日期和时间。

--help中列出的占位符。

-

-s YY/MM/DD

-

设置系统时间,用“/”分割的年月日。

-

>= 1970/01/01

-

-s hh:mm:ss

-

设置系统时间,用“:”分割的时分秒。

-

N/A

+

--help中列出的占位符。

-r Filename

+

-u

查询Filename文件的修改时间。

+

显示UTC,而不是当前时区

N/A

+

N/A

N/A

--help/-h

+

查看free命令支持的参数列表。

+

N/A

+

-b

+

以Byte为单位显示。

+

N/A

+

-k

以KiB为单位显示。

@@ -49,23 +63,54 @@ free \[_-k | -m_\]

N/A

-g

+

以GiB为单位显示。

+

N/A

+

-t

+

以TiB为单位显示。

+

N/A

+
-## 使用指南 +## 使用指南 无。 -## 使用实例 +## 使用实例 -举例:分别输入free、free -k、free -m. +举例:分别输入free、free -k、free -m。 -## 输出说明 +## 输出说明 -**图 1** 以三种方式显示内存使用情况 -![](figure/以三种方式显示内存使用情况.png "以三种方式显示内存使用情况") +**示例 1** 以三种方式显示内存使用情况 -**表 2** 输出说明 +```shell +OHOS:/$ free + total used free shared buffers +Mem: 2819652 2754468 65184 0 0 +-/+ buffers/cache: 2754468 65184 +Swap: 0 0 0 +OHOS:/$ free -k + total used free shared buffers +Mem: 2753 2692 60 0 0 +-/+ buffers/cache: 2692 60 +Swap: 0 0 0 +OHOS:/$ free -m + total used free shared buffers +Mem: 2 2 0 0 0 +-/+ buffers/cache: 2 0 +Swap: 0 0 0 +``` + +**表 2** 输出元素说明 - - - - - - - - - - - - -

输出

@@ -89,31 +134,15 @@ free \[_-k | -m_\]

表示未被分配的内存大小。

heap

-

表示已分配堆大小。

-

text

+

shared

表示代码段大小。

+

表示共享内存大小。

data

+

buffers

表示数据段大小。

-

rodata

-

表示只读数据段大小。

-

bss

-

表示未初始化全局变量占用内存大小。

+

表示缓冲区内存大小。

- diff --git a/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-help.md b/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-help.md index 6e6a6d8899d..5a1b32501a8 100644 --- a/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-help.md +++ b/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-help.md @@ -1,46 +1,64 @@ # help -- [命令功能](#section991211345413) -- [命令格式](#section19103204016410) -- [参数说明](#section1533416233432) -- [使用指南](#section4156445417) -- [使用实例](#section12776124712417) -- [输出说明](#section092662412544) +- [命令功能](#section01) +- [命令格式](#section02) +- [参数说明](#section03) +- [使用指南](#section04) +- [使用实例](#section05) +- [输出说明](#section06) -## 命令功能 +## 命令功能 -help命令用于显示当前操作系统内所有操作指令。 +help命令用于显示当前操作系统内所有操作指令和部分toybox指令。 -## 命令格式 +## 命令格式 help -## 参数说明 +## 参数说明 无。 -## 使用指南 +## 使用指南 help用于显示当前操作系统内所有操作指令。 -## 使用实例 +## 使用实例 -举例:输入help +举例:输入help。 -## 输出说明 +## 输出说明 -查看系统内所有操作指令。 +**示例1** 查看系统内所有操作指令 -``` -OHOS # help +```shell +OHOS:/$ help *******************shell commands:************************* -arp cat cd chgrp chmod chown cp cpup -date dhclient dmesg dns format free help hwi -ifconfig ipdebug kill log ls lsfd memcheck mkdir -mount netstat oom partinfo partition ping ping6 pwd -reset rm rmdir sem statfs su swtmr sync -systeminfo task telnet tftp touch umount uname watch -writeproc +arp cat cat_logmpp cd chgrp chmod chown cp +cpup date dhclient dmesg dns format free help +hi3881 hwi ifconfig ipdebug kill log ls lsfd +memcheck mkdir mount netstat oom panicreset partinfo partition +ping ping6 pmm pwd reset rm rmdir sem +shm stack statfs su swtmr sync systeminfo task +telnet touch umount uname v2p vmm watch writeproc +usage: help [command] + +Show usage information for toybox commands. +Run "toybox" with no arguments for a list of available commands. +``` + +**内容声明:** + +展示toybox指令请使用toybox。 + +**示例2** toybox指令集 + +```shell +OHOS:/$ toybox +chgrp chmod chown cp date du free help ifconfig kill ls mkdir mount +mv ping ps reboot rm rmdir top touch umount uname ``` + + diff --git a/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-kill.md b/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-kill.md index 0d8323058c7..2326ebaa81f 100644 --- a/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-kill.md +++ b/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-kill.md @@ -1,21 +1,21 @@ # kill -- [命令功能](#section366714216619) -- [命令格式](#section8833164614615) -- [参数说明](#section12809111019453) -- [使用指南](#section15935131220717) -- [使用实例](#section79281818476) -- [输出说明](#section12742311179) +- [命令功能](#section01) +- [命令格式](#section02) +- [参数说明](#section03) +- [使用指南](#section04) +- [使用实例](#section05) +- [输出说明](#section06) -## 命令功能 +## 命令功能 命令用于发送特定信号给指定进程。 -## 命令格式 +## 命令格式 -kill \[_signo_ | _-signo_\] \[_pid_\] +kill \[-l \[_signo_\] | _-s signo_ | _-signo_\] _pid..._ -## 参数说明 +## 参数说明 **表 1** 参数说明 @@ -28,7 +28,28 @@ kill \[_signo_ | _-signo_\] \[_pid_\] -

signo

+

--help

+ +

查看kill命令支持的参数列表

+ +

N/A

+ + +

-l

+ +

列出信号名称和编号。

+ +

N/A

+ + +

-s

+ +

发送信号

+ +

N/A

+ + +

signo

信号ID。

@@ -48,35 +69,86 @@ kill \[_signo_ | _-signo_\] \[_pid_\] >![](../public_sys-resources/icon-notice.gif) **须知:** >signo有效范围为\[0,64\],建议取值范围为\[1,30\],其余为保留内容。 -## 使用指南 +## 使用指南 必须指定发送的信号编号及进程号。 进程编号取值范围根据系统配置变化,例如系统最大支持pid为256,则取值范围缩小为\[1-256\]。 -## 使用实例 - -1. 查看当前进程列表,查看需要杀死的进程PID(7)。 +## 使用实例 + +1. 查看当前进程列表,查看需要杀死的进程PID(42)。 + +``` +OHOS:/$ ps + + allCpu(%): 4.67 sys, 195.33 idle + + PID PPID PGID UID Status VirtualMem ShareMem PhysicalMem CPUUSE10s PName + 1 -1 1 0 Pending 0x33b000 0xbb000 0x4db02 0.0 init + 2 -1 2 0 Pending 0xdabc08 0 0xdabc08 1.14 KProcess + 3 1 3 7 Pending 0x72e000 0x1a3000 0x1d24c2 0.0 foundation + 4 1 4 8 Pending 0x362000 0xbb000 0x5c6ff 0.0 bundle_daemon + 5 1 5 1 Pending 0xdfa000 0x2e7000 0x1484f0 0.0 appspawn + 6 1 6 0 Pending 0x688000 0x137000 0x11bca0 0.0 media_server + 7 1 7 0 Pending 0x9d2000 0x103000 0xa1cdf 0.88 wms_server + 8 1 8 2 Pending 0x1f5000 0x48000 0x47dc2 0.2 mksh + 10 5 5 101 Pending 0x11ec000 0x2f9000 0x206047 0.93 com.huawei.launcher + 12 1 12 0 Pending 0x4d4000 0x112000 0xe0882 0.0 deviceauth_service + 13 1 13 0 Pending 0x34f000 0xbd000 0x51799 0.0 sensor_service + 14 1 14 2 Pending 0x34e000 0xb3000 0x52184 0.0 ai_server + 15 1 15 0 Pending 0x61f000 0x13b000 0x168071 0.45 softbus_server + 42 8 42 2 Pending 0x1c1000 0x3a000 0x1106a 0.9 test_demo + 43 8 43 2 Running 0x1d7000 0x3a000 0x1e577 0.0 toybox +``` + +2. 发送信号9(SIGKILL默认行为为立即终止进程)给42号进程**test\_demo**(用户态进程):**kill -s 9 42**(kill -9 42效果相同),并查看当前进程列表,42号进程已终止。 + +``` +OHOS:/$ kill -s 9 42 +OHOS:/$ +[1] + Killed ./nfs/test_demo +OHOS:/$ ps + + allCpu(%): 4.73 sys, 195.27 idle + + PID PPID PGID UID Status VirtualMem ShareMem PhysicalMem CPUUSE10s PName + 1 -1 1 0 Pending 0x33b000 0xbb000 0x4e01c 0.0 init + 2 -1 2 0 Pending 0xda5fa4 0 0xda5fa4 1.14 KProcess + 3 1 3 7 Pending 0x72e000 0x1a3000 0x1d29dc 0.0 foundation + 4 1 4 8 Pending 0x362000 0xbb000 0x5cc19 0.0 bundle_daemon + 5 1 5 1 Pending 0xdfa000 0x2e7000 0x148a0a 0.0 appspawn + 6 1 6 0 Pending 0x688000 0x137000 0x11c1ba 0.0 media_server + 7 1 7 0 Pending 0x9d2000 0x103000 0xa21f9 0.89 wms_server + 8 1 8 2 Pending 0x1f5000 0x48000 0x482dc 0.2 mksh + 10 5 5 101 Pending 0x11ec000 0x2f9000 0x206561 0.93 com.huawei.launcher + 12 1 12 0 Pending 0x4d4000 0x112000 0xe0d9c 0.0 deviceauth_service + 13 1 13 0 Pending 0x34f000 0xbd000 0x51cb3 0.0 sensor_service + 14 1 14 2 Pending 0x34e000 0xb3000 0x5269e 0.0 ai_server + 15 1 15 0 Pending 0x61f000 0x13b000 0x16858b 0.51 softbus_server + 45 8 45 2 Running 0x1d7000 0x3a000 0x1e9f5 0.0 toybox +``` + +## 输出说明 -**图 1** 查看进程PID -![](figure/查看进程PID.png "查看进程PID") - -2. 发送信号14(SIGALRM默认行为为进程终止)给7号进程**helloworld\_d**(用户态进程):**kill 14 7**(kill -14 7效果相同),并查看当前进程列表,7号进程已终止。 - -**图 2** 信号发送结果图 -![](figure/信号发送结果图.png "信号发送结果图") +发送成功或失败输出结果如下。 -## 输出说明 +**示例 1** 发送信号给指定进程 -发送成功或失败输出结果如下。 +```shell +OHOS:/$ kill -s 9 42 +OHOS:/$ +[1] + Killed ./nfs/test_demo +``` -**图 3** 发送信号给指定进程 -![](figure/发送信号给指定进程.png "发送信号给指定进程") +信号发送成功会显示的提示进程已被杀死。 -信号发送会显示发送记录,未报错表示信号发送成功。 +**示例 2** 信号发送失败 -**图 4** 信号发送失败 -![](figure/信号发送失败.png "信号发送失败") +```shell +OHOS:/$ kill -100 31 +kill: Unknown signal '(null)' +``` -信号发送失败,上图所示原因为信号发送命令参数无效,请排查信号编号及进程编号是否无效。 +信号发送失败,示例2所示原因为信号发送命令参数无效,请排查信号编号及进程编号是否有效。 diff --git a/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-reboot.md b/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-reboot.md new file mode 100644 index 00000000000..9ee15a22d15 --- /dev/null +++ b/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-reboot.md @@ -0,0 +1,33 @@ +# reboot + +- [命令功能](#section01) +- [命令格式](#section02) +- [参数说明](#section03) +- [使用指南](#section04) +- [使用实例](#section05) +- [输出说明](#section06) + +## 命令功能 + +reboot命令用于重启设备。 + +## 命令格式 + +reboot + +## 参数说明 + +无。 + +## 使用指南 + +reboot命令输入后,设备会立刻重启。 + +## 使用实例 + +reboot + +## 输出说明 + +无。 + diff --git a/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-reset.md b/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-reset.md index 47c0170574c..c359250aa26 100644 --- a/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-reset.md +++ b/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-reset.md @@ -21,7 +21,7 @@ reset ## 使用指南 -reset命令输入后,设备会在立刻重启。 +reset命令输入后,设备会立刻重启。 ## 使用实例 diff --git a/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-top.md b/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-top.md new file mode 100644 index 00000000000..514f1594cfa --- /dev/null +++ b/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-top.md @@ -0,0 +1,176 @@ +# top + +- [命令功能](#section01) +- [命令格式](#section02) +- [参数说明](#section03) +- [使用指南](#section04) +- [使用实例](#section05) +- [输出说明](#section06) + +## 命令功能 + +top命令用于查询进程及线程信息。 + +## 命令格式 + +top \[_-a_\] + +## 参数说明 + +**表 1** 参数说明 + + + + + + + + + + + + + + + + +

参数

+

参数说明

+

取值范围

+

--help

+

查看top命令支持的参数列表。

+

N/A

+

-a

+

显示更详细的信息。

+

N/A

+
+ +## 使用指南 + +- 参数缺省时默认打印部分任务信息。 + +## 使用实例 + +举例:输入top + +## 输出说明 + +**示例 1** top 命令显示详情 + +```shell +OHOS:/$ top + + allCpu(%): 4.68 sys, 195.32 idle + + PID PPID PGID UID Status VirtualMem ShareMem PhysicalMem CPUUSE10s PName + 1 -1 1 0 Pending 0x33b000 0xbb000 0x4e01c 0.0 init + 2 -1 2 0 Pending 0xd838c0 0 0xd838c0 1.16 KProcess + 3 1 3 7 Pending 0x72e000 0x1a3000 0x1d29dc 0.0 foundation + 4 1 4 8 Pending 0x362000 0xbb000 0x5cc19 0.0 bundle_daemon + 5 1 5 1 Pending 0xdfa000 0x2e7000 0x148a0a 0.0 appspawn + 6 1 6 0 Pending 0x688000 0x137000 0x11c1ba 0.0 media_server + 7 1 7 0 Pending 0x9d2000 0x103000 0xa21f9 0.87 wms_server + 8 1 8 2 Pending 0x1f5000 0x48000 0x462dc 0.0 mksh + 9 5 5 101 Pending 0x11ea000 0x2f9000 0x204561 0.94 com.huawei.launcher + 11 1 11 0 Pending 0x4d4000 0x112000 0xe0d9c 0.0 deviceauth_service + 12 1 12 0 Pending 0x34f000 0xbd000 0x51cb3 0.0 sensor_service + 13 1 13 2 Pending 0x34e000 0xb3000 0x5269e 0.0 ai_server + 14 1 14 0 Pending 0x61f000 0x13b000 0x16858b 0.45 softbus_server + 43 8 43 2 Running 0x1d7000 0x3a000 0x1e9f5 0.0 toybox + + TID PID Affi CPU Status StackSize WaterLine CPUUSE10s MEMUSE TaskName + 23 1 0x3 -1 Pending 0x3000 0xcf4 0.0 0 init + 1 2 0x1 -1 Pending 0x4000 0x2c4 0.33 0 Swt_Task + 2 2 0x3 -1 Pending 0x4000 0x204 0.0 0 system_wq + 3 2 0x2 -1 Pending 0x4000 0x514 0.75 0 Swt_Task + 4 2 0x3 -1 Pending 0x1000 0x3ac 0.0 0 ResourcesTask + 7 2 0x3 -1 Pending 0x4e20 0xa5c 0.0 0 PlatformWorkerThread + 8 2 0x3 -1 Pending 0x4e20 0xa6c 0.0 0 PlatformWorkerThread + 9 2 0x3 -1 Pending 0x4e20 0xbf4 0.0 0 PlatformWorkerThread + 10 2 0x3 -1 Pending 0x3000 0x4dc 0.0 0 bcache_async_task + 11 2 0x3 -1 PendTime 0x4000 0x3e4 0.5 0 hi_vdec_thread + 12 2 0x3 -1 Pending 0x2710 0x224 0.0 0 LiteOS usb pnp notify handle kt + 13 2 0x3 -1 Pending 0x3000 0x37c 0.0 0 bcache_async_task + 14 2 0x3 -1 Pending 0x4000 0x204 0.0 0 vibrator_queue + 15 2 0x3 -1 Pending 0x20000 0x35c 0.0 0 eth_irq_Task + 16 2 0x3 -1 PendTime 0x2000 0x354 0.0 0 MessageDispatcher + 18 2 0x3 -1 Pending 0x2710 0x200 0.0 0 GPIO_IRQ_TSK_0_4 + 19 2 0x3 -1 Pending 0x4000 0x204 0.0 0 dispWQ + 20 2 0x3 -1 Pending 0x4000 0x204 0.0 0 hdf_sensor_test_work_queue + 21 2 0x3 -1 PendTime 0x6000 0x40c 0.2 0 tcpip_thread + 22 2 0x3 -1 Pending 0x4000 0x36c 0.0 0 SendToSer + 61 2 0x3 -1 Pending 0x4000 0x244 0.0 0 USB_GIANT_Task + 63 2 0x3 -1 Pending 0x4000 0x244 0.0 0 USB_NGIAN_ISOC_Task + 64 2 0x3 -1 Pending 0x4000 0x244 0.0 0 USB_NGIAN_BULK_TasK +``` + +**表2** 输出元素说明 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

输出

+

说明

+

PID

+

进程ID。

+

PPID

+

父进程ID。

+

PGID

+

进程组ID。

+

UID

+

用户ID。

+

Status

+

任务当前的状态。

+

CPUUSE10s

+

10秒内CPU使用率。

+

PName

+

进程名。

+

TID

+

任务ID。

+

StackSize

+

任务堆栈的大小。

+

WaterLine

+

栈使用的峰值。

+

MEMUSE

+

内存使用量。

+

TaskName

+

任务名。

+
diff --git a/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-uname.md b/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-uname.md index 7ee5b951b3f..da30027e1a1 100644 --- a/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-uname.md +++ b/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd-uname.md @@ -1,72 +1,93 @@ # uname -- [命令功能](#section107697383115) -- [命令格式](#section162824341116) -- [使用指南](#section2652124861114) -- [使用实例](#section0107995132) -- [输出说明](#section1215113245511) +- [命令功能](#section01) +- [命令格式](#section02) +- [使用指南](#section03) +- [使用实例](#section04) +- [输出说明](#section05) -## 命令功能 +## 命令功能 uname命令用于显示当前操作系统的名称,版本创建时间,系统名称,版本信息等。 -## 命令格式 +## 命令格式 -uname \[_-a | -s | -t | -v | --help_\] +uname \[_-a | -s | -r | -m | -n | -v --help_\] **表 1** 参数说明 - - @@ -45,16 +45,25 @@ chmod \[_mode_\] \[_pathname_\]

参数

+ - - - - - - - - - - - - - + + + + + +

参数

参数说明

+

参数说明

无参数

+

--help

默认显示操作系统名称。

+

显示uname指令格式提示。

-a

+

无参数

显示全部信息。

+

默认显示操作系统名称。

-t

+

-a

显示版本创建的时间。

+

显示全部信息。

-s

+

-s

显示操作系统名称。

+

显示操作系统名称。

-v

+

-r

显示版本信息。

+

显示内核发行版本。

--help

+

-m

显示uname指令格式提示。

+

显示系统架构名称。

+

-n

+

显示主机的网络域名称。

+

-v

+

显示版本信息。

-## 使用指南 +## 使用指南 + +uname用于显示当前操作系统名称。语法uname -a | -s | -r | -m | -n | -v 描述uname 命令将正在使用的操作系统名写到标准输出中。 -uname用于显示当前操作系统名称。语法uname -a | -t| -s| -v 描述uname 命令将正在使用的操作系统名写到标准输出中,这几个参数不能混合使用。 +## 使用实例 -## 使用实例 +举例:输入uname -a 、uname -ms -举例:输入uname -a +## 输出说明 -## 输出说明 +**示例 1** 查看系统信息 -查看系统信息 +```shell +OHOS:/$ uname -a +Huawei LiteOS hisilicon 2.0.0.37 Huawei LiteOS 2.0.0.37 Oct 21 2021 17:39:32 Cortex-A7 +OHOS:/$ +``` -![](figure/zh-cn_image_0000001179967909.png) +**示例 2** 只查看操作系统名称和系统架构名称 +```shell +OHOS:/$ uname -ms +Huawei LiteOS Cortex-A7 +OHOS:/$ +``` diff --git a/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd.md b/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd.md index dac940d4b3d..0345b3c4c32 100644 --- a/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd.md +++ b/zh-cn/device-dev/kernel/kernel-small-debug-shell-cmd.md @@ -6,6 +6,8 @@ - **[dmesg](kernel-small-debug-shell-cmd-dmesg.md)** +- **[du](kernel-small-debug-shell-file-du.md)** + - **[exec](kernel-small-debug-shell-cmd-exec.md)** - **[free](kernel-small-debug-shell-cmd-free.md)** @@ -24,6 +26,8 @@ - **[pmm](kernel-small-debug-shell-cmd-pmm.md)** +- **[reboot](kernel-small-debug-shell-cmd-reboot.md)** + - **[reset](kernel-small-debug-shell-cmd-reset.md)** - **[sem](kernel-small-debug-shell-cmd-sem.md)** @@ -38,10 +42,10 @@ - **[task](kernel-small-debug-shell-cmd-task.md)** +- **[top](kernel-small-debug-shell-cmd-top.md)** + - **[uname](kernel-small-debug-shell-cmd-uname.md)** - **[vmm](kernel-small-debug-shell-cmd-vmm.md)** - **[watch](kernel-small-debug-shell-cmd-watch.md)** - - diff --git a/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-chgrp.md b/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-chgrp.md index f3daf2a86cd..22aafd1c9d2 100644 --- a/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-chgrp.md +++ b/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-chgrp.md @@ -1,25 +1,26 @@ # chgrp -- [命令功能](#section6103119161418) -- [命令格式](#section186958132141) -- [参数说明](#section81796174141) -- [使用指南](#section14330152417140) -- [使用实例](#section951823119149) -- [输出说明](#section14271133125715) +- [命令功能](#section01) +- [命令格式](#section02) +- [参数说明](#section03) +- [使用指南](#section04) +- [使用实例](#section05) +- [输出说明](#section06) -## 命令功能 +## 命令功能 chgrp用于修改文件的群组。 -## 命令格式 +## 命令格式 chgrp \[_group_\] \[_pathname_\] -## 参数说明 +## 参数说明 **表 1** 参数说明 +

参数

参数说明

@@ -45,16 +46,24 @@ chgrp \[_group_\] \[_pathname_\]
-## 使用指南 +## 使用指南 -在需要修改的文件名前加上文件群组值就可以修改该文件的所属组。 +- 在需要修改的文件名前加上文件群组值就可以修改该文件的所属组。 +- fatfs文件系统不支持修改用户组id。 -## 使用实例 +## 使用实例 -举例:chgrp 100 hello-harmony.txt +举例:chgrp 100 testfile -## 输出说明 +## 输出说明 -**图 1** 修改 hello-harmony.txt 文件的群组为100 -![](figure/修改-hello-harmony-txt-文件的群组为100.png "修改-hello-harmony-txt-文件的群组为100") +**示例 1** 修改 dev/目录下testfile 文件的群组为100 +```shell +OHOS:/dev$ ll testfile +-rw-r--r-- 0 0 0 0 1970-01-01 00:00 testfile +OHOS:/dev$ chgrp 100 testfile +OHOS:/dev$ ll testfile +-rw-r--r-- 0 0 100 0 1970-01-01 00:00 testfile +OHOS:/dev$ +``` diff --git a/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-chmod.md b/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-chmod.md index 8de5a066f24..d3cc5ebd5a3 100644 --- a/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-chmod.md +++ b/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-chmod.md @@ -1,21 +1,21 @@ # chmod -- [命令功能](#section13992936121418) -- [命令格式](#section63342439147) -- [参数说明](#section894414671411) -- [使用指南](#section182415221419) -- [使用实例](#section8518195718147) -- [输出说明](#section127391818158) +- [命令功能](#section01) +- [命令格式](#section02) +- [参数说明](#section03) +- [使用指南](#section04) +- [使用实例](#section05) +- [输出说明](#section06) -## 命令功能 +## 命令功能 chmod用于修改文件操作权限。 -## 命令格式 +## 命令格式 -chmod \[_mode_\] \[_pathname_\] +chmod \[_mode_\] \[_filename_\] -## 参数说明 +## 参数说明 **表 1** 参数说明 @@ -35,7 +35,7 @@ chmod \[_mode_\] \[_pathname_\]

[0,777]

pathname

+

filename

文件路径。

-## 使用指南 +## 使用指南 -在需要修改的文件名前加上文件权限值就可以修改该文件的权限值。 +- 在需要修改的文件名前加上文件权限值就可以修改该文件的权限值。 +- fatfs文件系统所有创建的文件和挂载节点的权限属性保持一致,目前节点的权限只有用户读写权限,group和others权限不生效;且只允许修改用户读写权限,读写权限只有rw和ro两种。其他文件系统无限制。 -## 使用实例 +## 使用实例 -举例:chmod 666 hello-harmony.txt +举例:chmod 644 hello-harmony.txt ; chmod 777 hello-harmony.txt -## 输出说明 +## 输出说明 -**图 1** 修改 hello-harmony.txt 文件的权限为666 -![](figure/修改-hello-harmony-txt-文件的权限为666.png "修改-hello-harmony-txt-文件的权限为666") +**示例 1** 修改/dev目录下 hello-harmony.txt 文件的权限 + +```shell +OHOS:/dev$ chmod 644 hello-harmony.txt +OHOS:/dev$ ll hello-harmony.txt +-rw-r--r-- 0 0 0 0 1970-01-01 00:00 hello-harmony.txt +OHOS:/dev$ chmod 777 hello-harmony.txt +OHOS:/dev$ ll hello-harmony.txt +-rwxrwxrwx 0 0 0 0 1970-01-01 00:00 hello-harmony.txt +``` diff --git a/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-chown.md b/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-chown.md index f2a6f3e5652..6a68dafbedc 100644 --- a/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-chown.md +++ b/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-chown.md @@ -1,21 +1,21 @@ # chown -- [命令功能](#section247414691513) -- [命令格式](#section14773151018159) -- [参数说明](#section598731391517) -- [使用指南](#section16524152071510) -- [使用实例](#section17901152561510) -- [输出说明](#section15513163115816) +- [命令功能](#section01) +- [命令格式](#section02) +- [参数说明](#section03) +- [使用指南](#section04) +- [使用实例](#section05) +- [输出说明](#section06) -## 命令功能 +## 命令功能 -chmod用于将指定文件的拥有者改为指定的用户或组。 +chown用于修改指定文件的拥有者。 -## 命令格式 +## 命令格式 -chown \[_owner_\] \[_group_\] \[_pathname_\] +chown \[_owner_\] \[_pathname_\] -## 参数说明 +## 参数说明 **表 1** 参数说明 @@ -35,14 +35,6 @@ chown \[_owner_\] \[_group_\] \[_pathname_\]

[0,0xFFFFFFFF]

-

group

- -

文件群组。

- -

1、为空。

-

2、[0,0xFFFFFFFF]

- -

pathname

文件路径。

@@ -53,18 +45,23 @@ chown \[_owner_\] \[_group_\] \[_pathname_\] -## 使用指南 +## 使用指南 -- 在需要修改的文件名前加上文件拥有者和文件群组就可以分别修改该文件的拥有者和群组。 -- 当owner或group值为-1时则表示对应的owner或group不修改。 -- group参数可以为空。 +修改文件的所有者,目前fatfs不支持修改。 -## 使用实例 +## 使用实例 -举例:chown 100 200 hello-harmony.txt +举例:chown 100 testfile -## 输出说明 +## 输出说明 -**图 1** 修改 hello-harmony.txt 文件的uid为100,gid为200 -![](figure/修改-hello-harmony-txt-文件的uid为100-gid为200.png "修改-hello-harmony-txt-文件的uid为100-gid为200") +**示例 1** 修改 /dev下的testfile 文件的uid为100 +```shell +OHOS:/dev$ touch testfile +OHOS:/dev$ ll testfile +-rw-r--r-- 0 0 100 0 1970-01-01 00:00 testfile +OHOS:/dev$ chown 100 testfile +OHOS:/dev$ ll testfile +-rw-r--r-- 0 100 100 0 1970-01-01 00:00 testfile +``` diff --git a/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-cp.md b/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-cp.md index 7922befb78c..dd3cb63667b 100644 --- a/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-cp.md +++ b/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-cp.md @@ -1,68 +1,89 @@ # cp -- [命令功能](#section6841203041513) -- [命令格式](#section24286359150) -- [参数说明](#section558617385152) -- [使用指南](#section16128156162) -- [使用实例](#section19354171211618) -- [输出说明](#section16754183195914) +- [命令功能](#section01) +- [命令格式](#section02) +- [参数说明](#section03) +- [使用指南](#section04) +- [使用实例](#section05) +- [输出说明](#section06) -## 命令功能 +## 命令功能 拷贝文件,创建一份副本。 -## 命令格式 +## 命令格式 + +cp --help cp \[_SOURCEFILE_\] \[_DESTFILE_\] -## 参数说明 +## 参数说明 **表 1** 参数说明 - - - + + + + - - - -

参数

参数说明

+

参数说明

取值范围

+

取值范围

SOURCEFILE

+

--help

+

使用帮助。

+

N/A

+

SOURCEFILE

源文件路径。

+

源文件路径。

目前只支持文件,不支持目录。

+

目前只支持文件,不支持目录;支持多文件同时拷贝。

DESTFILE

目的文件路径。

+

目的文件路径。

支持目录以及文件。

+

支持目录以及文件。

-## 使用指南 +## 使用指南 - 同一路径下,源文件与目的文件不能重名。 - 源文件必须存在,且不为目录。 - 源文件路径支持“\*”和“?”通配符,“\*”代表任意多个字符,“?”代表任意单个字符。目的路径不支持通配符。当源路径可匹配多个文件时,目的路径必须为目录。 - 目的路径为目录时,该目录必须存在。此时目的文件以源文件命名。 - 目的路径为文件时,所在目录必须存在。此时拷贝文件的同时为副本重命名。 -- 目前不支持多文件拷贝。参数大于2个时,只对前2个参数进行操作。 - 目的文件不存在时创建新文件,已存在则覆盖。 -拷贝系统重要资源时,会对系统造成死机等重大未知影响,如用于拷贝/dev/uartdev-0 文件时,会产生系统卡死现象。 +> ![](../public_sys-resources/icon-notice.gif) **须知:** +> +> 拷贝系统重要资源时,会对系统造成死机等重大未知影响,如用于拷贝/dev/uartdev-1 文件时,会产生系统卡死现象。 -## 使用实例 +## 使用实例 -举例:cp hello-harmony.txt ./tmp/ +举例:cp hello-OHOS.txt hello-harmony.txt ./tmp/ -## 输出说明 +## 输出说明 -**图 1** 显示结果如下 -![](figure/显示结果如下-24.png "显示结果如下-24") +**示例 1** 显示结果如下 +```shell +OHOS:/$ ls +bin hello-OHOS.txt proc system vendor +dev hello-harmony.txt sdcard userdata +etc lib storage usr +OHOS:/$ mkdir tmp +OHOS:/$ cp hello-OHOS.txt hello-harmony.txt tmp/ +OHOS:/$ ll tmp +total 0 +-rwxrwxrwx 1 0 0 0 1979-12-31 00:00 hello-OHOS.txt* +-rwxrwxrwx 1 0 0 0 1979-12-31 00:00 hello-harmony.txt* +``` diff --git a/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-du.md b/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-du.md new file mode 100644 index 00000000000..57e9708b449 --- /dev/null +++ b/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-du.md @@ -0,0 +1,92 @@ +# du + +- [命令功能](#section01) +- [命令格式](#section02) +- [参数说明](#section03) +- [使用指南](#section04) +- [使用实例](#section05) +- [输出说明](#section06) + +## 命令功能 + +du显示指定的文件所占用的磁盘空间。 + +## 命令格式 + +du \[_-kKmh_\] \[_file..._\] + +## 参数说明 + +**表 1** 参数说明 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

参数

+

参数说明

+

取值范围

+

--help

+

查看du命令支持的参数列表。

+

N/A

+

-k

+

显示占用的块,每块1024bytes(默认)。

+

N/A

+

-K

+

显示占用的块,每块512bytes(posix)。

+

N/A

+

-m

+

兆字节为单位。

+

N/A

+

-h

+

以K,M,G为单位,提高信息的可读性(例如,1K 243M 2G)。

+

N/A

+

file

+

指定的需要统计的文件。

+

N/A

+
+ +## 使用指南 + +- 不支持统计目录的大小,只支持统计文件的大小。 +- file的内容既为文件名,不能包含其所在的目录。 + +## 使用实例 + +举例:du -h testfile + +## 输出说明 + +**示例 1** 显示结果如下 + +```shell +OHOS:/$ du -h testfile +1.8K testfile +``` diff --git a/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-ls.md b/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-ls.md index ddba2404bd8..a1fb4a932fd 100644 --- a/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-ls.md +++ b/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-ls.md @@ -1,23 +1,25 @@ # ls -- [命令功能](#section6538163771614) -- [命令格式](#section45881743111616) -- [参数说明](#section17528148171617) -- [使用指南](#section041212533166) -- [使用实例](#section986105716167) -- [输出说明](#section2036124918592) +- [命令功能](#section01) +- [命令格式](#section02) +- [参数说明](#section03) +- [使用指南](#section04) +- [使用实例](#section05) +- [输出说明](#section06) -## 命令功能 +## 命令功能 ls命令用来显示当前目录的内容。 -## 命令格式 +## 命令格式 -ls \[_path_\] +ls \[_-ACHLSZacdfhiklmnopqrstux1_\] \[_--color_\[_=auto_\]\] \[_directory..._\] -## 参数说明 +> **说明:** 系统启动过程中已经通过 alias 为 ls=toybox ls --color=auto 、ll = ls -alF 、 la=ls -A 和 l=ls -CF 赋能,使这几个命令的初始行为就和linux相同(详细效果见输出说明)。所以若要查看help列表,请输入'toybox ls --help'。 -**表 1** 参数说明 +## 参数说明 + +**表 1** 展示功能参数说明 - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

参数

@@ -28,7 +30,105 @@ ls \[_path_\]

path

+

--help

+

查看ls命令支持的参数列表,使用方式。

+

N/A

+

-a

+

显示所有文件包括.hidden隐藏类型的文件。

+

N/A

+

-b

+

转义非图形字符。

+

N/A

+

-c

+

使用ctime作为文件的时间戳。"ls -lc"

+

N/A

+

-d

+

只显示path名称不显示path所包含的内容。

+

N/A

+

-i

+

显示文件的节点号。

+

N/A

+

-p

+

在path名称后放一个"/"。

+

N/A

+

-q

+

显示不可打印字符比如'?'。

+

N/A

+

-s

+

统计目录和其成员所占用的内存大小,单位为1024字节。

+

N/A

+

-u

+

以文件的最后访问时间为时间戳,配合 -l 一起使用。

+

N/A

+

-A

+

列出所有文件除了.和..

+

N/A

+

-H

+

跟随命令行符号链接。

+

N/A

+

-L

+

跟随符号链接。

+

N/A

+

-Z

+

安全上下文。

+

N/A

+

path

path为空时,显示当前目录的内容。

path为无效文件名时,显示失败,提示:

@@ -42,18 +142,177 @@ ls \[_path_\]
-## 使用指南 +**表2** 输出格式参数说明 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

参数

+

参数说明

+

取值范围

+

-1

+

每行列出一个文件。

+

N/A

+

-c

+

列,垂直排序。

+

N/A

+

-g

+

类似于 -l 但没有所有者。

+

N/A

+

-h

+

统计path目录下文件的总大小,单位为KiB。

+

N/A

+

-l

+

详细的显示path目录下文件的信息。

+

N/A

+

-m

+

文件之间添加逗号。

+

N/A

+

-n

+

类似 -l 数字格式显示uid/gid。

+

N/A

+

-o

+

类似 -l 但显示列表不包括组。

+

N/A

+

-x

+

列,水平排序。

+

N/A

+

-ll

+

文件的时间属性显示纳秒。

+

N/A

+

--color

+

彩色打印。

+

默认配置为:device=yellow symlink=turquoise/red dir=blue socket=purple files: exe=green suid=red suidfile=redback stickydir=greenback=auto means detect if output is a tty.

+
+ +**表3** 排序参数说明(默认为按首字母排序) + + + + + + + + + + + + + + + + + + + + + + + +

参数

+

参数说明

+

取值范围

+

-f

+

不排序。

+

N/A

+

-r

+

按首字母反向排序。

+

N/A

+

-t

+

按文件的最后修改时间排序,最近时间为排头。

+

N/A

+

-S

+

按文件大小来排序,大文件为排头。

+

N/A

+
+ +## 使用指南 - ls命令显示当前目录的内容。 -- ls可以显示文件的大小。 -- proc下ls无法统计文件大小,显示为0。 +- ll可以显示文件的大小。 +- proc下ll无法统计文件大小,显示为0。 +- dev、proc、无法统计文件时间信息。 + +> ![](../public_sys-resources/icon-notice.gif) **须知:** +> +> fatfs的文件节点信息继承其父节点,父节点号为0。故在hi3516dv300开发板上ls -i显示的文件节点号全为0。 + +## 使用实例 + +举例:输入ls、ll -## 使用实例 +## 输出说明 -举例:输入ls +**示例 1** ls命令查看当前路径下的内容 -## 输出说明 +```shell +OHOS:/$ ls +bin etc nfs sdcard system usr +dev lib proc storage userdata vendor +``` -**图 1** 查看当前系统路径下的目录,显示的内容如下 -![](figure/查看当前系统路径下的目录-显示的内容如下.png "查看当前系统路径下的目录-显示的内容如下") +**示例 2** ll命令查看当前路径下的内容 +```shell +OHOS:/$ ll +total 20 +drwxrwxrwx 1 0 0 2048 2021-11-21 17:52 bin/ +drwxr-xr-x 0 0 0 0 1970-01-01 00:00 dev/ +drwxrwxrwx 1 0 0 2048 2021-11-21 17:52 etc/ +drwxrwxrwx 1 0 0 2048 2021-11-21 17:52 lib/ +drwxrwxrwx 0 0 0 4096 2021-10-25 02:17 nfs/ +dr-xr-xr-x 0 0 0 0 1970-01-01 00:00 proc/ +drwxrwxrwx 1 0 0 4096 1979-12-31 00:00 sdcard/ +drwxrwxrwx 1 0 0 2048 2021-11-21 17:52 storage/ +drwxrwxrwx 1 0 0 2048 2021-11-21 17:52 system/ +drwxrwxrwx 1 0 0 2048 2021-11-21 17:52 userdata/ +drwxrwxrwx 1 0 0 2048 2021-11-21 17:52 usr/ +drwxrwxrwx 1 0 0 2048 2021-11-21 17:52 vendor/ +``` diff --git a/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-mkdir.md b/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-mkdir.md index b8d551e7143..1b8df8029da 100644 --- a/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-mkdir.md +++ b/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-mkdir.md @@ -1,21 +1,21 @@ # mkdir -- [命令功能](#section1083613274175) -- [命令格式](#section820913118178) -- [参数说明](#section1256834121718) -- [使用指南](#section1294234115172) -- [使用实例](#section1113345211713) -- [输出说明](#section10142201012) +- [命令功能](#section01) +- [命令格式](#section02) +- [参数说明](#section03) +- [使用指南](#section04) +- [使用实例](#section05) +- [输出说明](#section06) -## 命令功能 +## 命令功能 mkdir命令用来创建一个目录。 -## 命令格式 +## 命令格式 -mkdir \[_directory_\] +mkdir \[_-vp_\] \[_-m mode_\] \[_dirname..._\] -## 参数说明 +## 参数说明 **表 1** 参数说明 @@ -28,7 +28,35 @@ mkdir \[_directory_\] -

directory

+

--help

+ +

查看mkdir命令支持的参数列表

+ +

N/A

+ + +

-m

+ +

设置即将创建目录的权限。

+ +

N/A

+ + +

-p

+ +

递归逐级创建父子目录。

+ +

N/A

+ + +

-v

+ +

打印创建目录过程中的详细信息。

+ +

N/A

+ + +

directory

需要创建的目录。

@@ -38,17 +66,60 @@ mkdir \[_directory_\] -## 使用指南 +## 使用指南 - mkdir后加所需要创建的目录名会在当前目录下创建目录。 - mkdir后加路径,再加上需要创建的目录名,即在指定目录下创建目录。 +- mkdir后加参数,提供目录权限定制,目录逐级创建等功能。 + +> ![](../public_sys-resources/icon-notice.gif) **须知:** +> +> fatfs文件系统所有创建的文件和其挂载节点的权限属性保持一致,目前节点的权限只有用户读写权限,group和others权限不生效, +> +> 且只有读写位可设置,有rw和ro两种,因此mkdir在附加-m参数时,创建的目录权限仅有777和555两种,可执行权限也不生效。 + +## 使用实例 + +举例: + +- mkdir testpath +- mkdir -m 777 testpath +- mkdir -pv testpath01/testpath02/testpath03 + +## 输出说明 + +**示例 1** 创建默认文件 -## 使用实例 +```shell +OHOS:/tmp$ mkdir testpath +OHOS:/tmp$ ll +total 2 +drwxrwxrwx 1 0 0 2048 1979-12-31 00:00 testpath/ +``` -举例:mkdir share +**示例 2** 创建指定mode的目录 -## 输出说明 +```shell +OHOS:/tmp$ mkdir -m 777 testpath +OHOS:/tmp$ ll +total 2 +drwxrwxrwx 1 0 0 2048 1979-12-31 00:00 testpath/ +``` -**图 1** 创建 share 目录 -![](figure/创建-share-目录.png "创建-share-目录") +**示例 3** 逐级创建目录 +```shell +OHOS:/tmp$ mkdir -pv testpath01/testpath02/testpath03 +mkdir: created directory 'testpath01' +mkdir: created directory 'testpath01/testpath02' +mkdir: created directory 'testpath01/testpath02/testpath03' +OHOS:/tmp$ ll +total 2 +drwxrwxrwx 1 0 0 2048 1979-12-31 00:00 testpath01/ +OHOS:/tmp$ ll testpath01/ +total 2 +drwxrwxrwx 1 0 0 2048 1979-12-31 00:00 testpath02/ +OHOS:/tmp$ ll testpath01/testpath02/ +total 2 +drwxrwxrwx 1 0 0 2048 1979-12-31 00:00 testpath03/ +``` diff --git a/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-mount.md b/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-mount.md index a2bebb1ea13..43551e38c86 100644 --- a/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-mount.md +++ b/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-mount.md @@ -1,21 +1,21 @@ # mount -- [命令功能](#section11631837182) -- [命令格式](#section1697638111820) -- [参数说明](#section1650151221819) -- [使用指南](#section124541520171912) -- [使用实例](#section7424625171917) -- [输出说明](#section14757018116) +- [命令功能](#section01) +- [命令格式](#section02) +- [参数说明](#section03) +- [使用指南](#section04) +- [使用实例](#section05) +- [输出说明](#section06) -## 命令功能 +## 命令功能 mount命令用来将设备挂载到指定目录。 -## 命令格式 +## 命令格式 -mount <_device_\> <_path_\> <_name_\> \[_uid gid_\] +mount \[_-f_\] \[_-t TYPE_\] \[_-o OPTION,_\] \[\[_DEVICE_\] _DIR_\] -## 参数说明 +## 参数说明 **表 1** 参数说明 @@ -28,51 +28,71 @@ mount <_device_\> <_path_\> <_name_\> \[_uid gid_\] -

device

+

--help

-

要挂载的设备(格式为设备所在路径)。

+

查看mount命令支持的参数列表。

-

系统拥有的设备。

+

N/A

-

path

+

-f

-

指定目录。

-

用户必须具有指定目录中的执行(搜索)许可权。

+

佯装挂载动作(实际不做挂载)。

-

N/A

+

N/A

-

name

+

-t

-

文件系统的种类。

+

文件系统的种类。

-

vfat, yaffs, jffs, ramfs, nfs,procfs, romfs.

+

TYPE:vfat, yaffs, jffs, ramfs, nfs,procfs, romfs.

-

uid gid

+

-o

-

uid是指用户ID。

-

gid是指组ID。

-

可选参数,缺省值uid:0,gid:0。

+

挂载选项。

-

N/A

+

N/A

+ + +

DEVICE

+ +

要挂载的设备(格式为设备所在路径)。

+ +

系统拥有的设备。

+ + +

DIR

+ +

指定目录。

+

用户必须具有指定目录中的执行(搜索)许可权。

+ +

N/A

-## 使用指南 +## 使用指南 mount后加需要挂载的设备信息、指定目录以及设备文件格式,就能成功挂载文件系统到指定目录。 -## 使用实例 - -举例:mount /dev/mmcblk0p0 /bin1/vs/sd vfat +## 使用实例 -## 输出说明 +举例:mount -t nfs 192.168.1.3:/nfs nfs -将/dev/mmcblk0p0 挂载到/bin1/vs/sd目录 +## 输出说明 -![](figure/zh-cn_image_0000001134008688.png) +**示例 1** 将服务器端nfs目录192.168.1.3:/nfs挂载到当前系统下新建的/nfs目录: +```shell +OHOS:/$ mkdir nfs +OHOS:/$ mount -t nfs 192.168.1.3:/nfs nfs +Mount nfs on 192.168.1.3:/nfs, uid:0, gid:0 +Mount nfs finished. +OHOS:/$ ls nfs/ +16d.xml gpio_test ohos_test.txt userfs_vfat.img +OHOS_Image.bin hello rootfs_vfat.img +dev_tools mksh_rootfs_vfat.img test_demo +``` diff --git a/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-mv.md b/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-mv.md new file mode 100644 index 00000000000..2c0dfaad23e --- /dev/null +++ b/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-mv.md @@ -0,0 +1,134 @@ +# mv + +- [命令功能](#section01) +- [命令格式](#section02) +- [参数说明](#section03) +- [使用指南](#section04) +- [使用实例](#section05) +- [输出说明](#section06) + +## 命令功能 + +移动文件 + +## 命令格式 + +mv \[_-fivn_\] _SOURCE... DEST_ + +## 参数说明 + +**表 1** 参数说明 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

参数

+

参数说明

+

取值范围

+

--help

+

使用帮助。

+

N/A

+

-f

+

通过删除目标文件强制复制。

+

N/A

+

-i

+

若指定移动的源目录或文件与目标中目录或文件同名,则会先询问是否覆盖旧文件,输入 y 直接覆盖,输入 n 取消该操作。

+

N/A

+

-n

+

不要覆盖任何已存在的文件或目录。

+

N/A

+

-v

+

目前本参数toybox官方最新代码虽然支持,但同样也不生效。

+

N/A

+

SOURCE

+

源文件路径。

+

目前只支持文件,不支持目录;支持多文件同时移动。

+

DEST

+

目的文件路径。

+

支持目录以及文件。

+
+ +## 使用指南 + +- 源文件路径支持“\*”和“?”通配符,“\*”代表任意多个字符,“?”代表任意单个字符。目的路径不支持通配符。当源路径可匹配多个文件时,目的路径必须为目录。 +- 目的路径为目录时,该目录必须存在。此时目的文件以源文件命名。 +- 目的路径为文件时,所在目录必须存在。 +- 目的文件已存在则会覆盖。 + +## 使用实例 + +举例: + +mv -i test.txt testpath/ + +mv test?.txt testpath/ (移动 test3.txt testA.txt test_.txt) + +## 输出说明 + +**示例 1** 显示结果如下 + +```shell +OHOS:/$ touch test.txt +OHOS:/$ mkdir testpath +OHOS:/$ touch testpath/test.txt +OHOS:/$ mv -i test.txt testpath/ +mv: overwrite 'testpath//test.txt' (Y/n):y +OHOS:/$ ls +bin etc proc storage testpath usr +dev lib sdcard system userdata vendor +OHOS:/$ cp testpath/test.txt ./ +OHOS:/$ ls +bin etc proc storage test.txt userdata vendor +dev lib sdcard system testpath usr +OHOS:/$ mv -i test.txt testpath/ +mv: overwrite 'testpath//test.txt' (Y/n):n +OHOS:/$ ls +bin etc proc storage test.txt userdata vendor +dev lib sdcard system testpath usr +``` + +**示例 2** 通配符使用 + +```shell +OHOS:/$ ls +bin etc proc storage test.txt testA.txt testpath usr +dev lib sdcard system test3.txt test_.txt userdata vendor +OHOS:/$ mv test?.txt testpath/ +OHOS:/$ ls +bin etc proc storage test.txt userdata vendor +dev lib sdcard system testpath usr +OHOS:/$ ls testpath/ +test.txt test3.txt testA.txt test_.txt +``` diff --git a/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-rm.md b/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-rm.md index 52898c3dd45..121a2b16f46 100644 --- a/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-rm.md +++ b/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-rm.md @@ -1,21 +1,21 @@ # rm -- [命令功能](#section181141523142613) -- [命令格式](#section8800926132619) -- [参数说明](#section15476229152617) -- [使用指南](#section10578163215262) -- [使用实例](#section18548133511263) -- [输出说明](#section1565323814265) +- [命令功能](#section01) +- [命令格式](#section02) +- [参数说明](#section03) +- [使用指南](#section04) +- [使用实例](#section05) +- [输出说明](#section06) -## 命令功能 +## 命令功能 rm命令用来删除文件或文件夹。 -## 命令格式 +## 命令格式 -rm \[_-r_\] \[_dirname / filename_\] +rm \[_-fv_\] _FILE or rm_ \[_-rv_\] \[_PATH_ | _filename_\]... -## 参数说明 +## 参数说明 **表 1** 参数说明 @@ -30,12 +30,26 @@ rm \[_-r_\] \[_dirname / filename_\]

-r

-

可选参数,若是删除目录则需要该参数。

+

删除空目录或非空目录。

N/A

-

dirname/filename

+

-f

+ +

强制删除:不需要确认,删除不存的文件在也不报错。

+ +

N/A

+ + +

-v

+ +

显示删除的过程。

+ +

N/A

+ + +

PATH/filename

要删除文件或文件夹的名称,支持输入路径。

@@ -45,23 +59,41 @@ rm \[_-r_\] \[_dirname / filename_\] -## 使用指南 +## 使用指南 -- rm命令一次只能删除一个文件或文件夹。 +- rm命令能同时删除多个文件或文件夹。 - rm -r命令可以删除非空目录。 +- 删除不存在的文件会报错。 -## 使用实例 +## 使用实例 举例: -1. 输入rm log1.txt -2. 输入rm -r sd - -## 输出说明 - -**图 1** 用 rm 命令删除文件 log1.txt -![](figure/用-rm-命令删除文件-log1-txt.png "用-rm-命令删除文件-log1-txt") - -**图 2** 用 rm -r 删除目录 sd -![](figure/用-rm--r-删除目录-sd.png "用-rm--r-删除目录-sd") - +1. 输入rm testfile +2. 输入rm -r testpath/ + +## 输出说明 + +**示例 1** 用 rm 命令删除文件 testfile + +```shell +OHOS:/$ ls +bin etc proc storage testfile usr +dev lib sdcard system userdata vendor +OHOS:/$ rm testfile +OHOS:/$ ls +bin etc proc storage userdata vendor +dev lib sdcard system usr +``` + +**示例 2** 用 rm -r 删除非空目录 testpath + +```shell +OHOS:/$ ls +bin etc proc storage testpath usr +dev lib sdcard system userdata vendor +OHOS:/$ rm -r testpath/ +OHOS:/$ ls +bin etc proc storage userdata vendor +dev lib sdcard system usr +``` diff --git a/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-rmdir.md b/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-rmdir.md index cc762951bbf..5d568e398b5 100644 --- a/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-rmdir.md +++ b/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-rmdir.md @@ -1,21 +1,21 @@ # rmdir -- [命令功能](#section1839611420266) -- [命令格式](#section329574512266) -- [参数说明](#section15865747102620) -- [使用指南](#section107857508261) -- [使用实例](#section11196165315262) -- [输出说明](#section1073811415613) +- [命令功能](#section01) +- [命令格式](#section02) +- [参数说明](#section03) +- [使用指南](#section04) +- [使用实例](#section05) +- [输出说明](#section06) -## 命令功能 +## 命令功能 rmdir命令用来删除一个目录。 -## 命令格式 +## 命令格式 -rmdir \[_dir_\] +rmdir \[_-p_\] \[_dirname..._\] -## 参数说明 +## 参数说明 **表 1** 参数说明 @@ -28,7 +28,28 @@ rmdir \[_dir_\] -

dir

+

--help

+ +

查看rmdir命令支持的参数列表。

+ +

N/A

+ + +

-p

+ +

删除路径。

+ +

N/A

+ + +

--ignore-fail-on-non-empty

+ +

忽略删除非空目录导致的故障。

+ +

N/A

+ + +

dir

需要删除目录的名称,删除目录必须为空,支持输入路径。

@@ -38,18 +59,24 @@ rmdir \[_dir_\] -## 使用指南 +## 使用指南 - rmdir命令只能用来删除目录。 - rmdir一次只能删除一个目录。 - rmdir只能删除空目录。 -## 使用实例 +## 使用实例 举例:输入rmdir dir -## 输出说明 +## 输出说明 -**图 1** 删除一个名为 dir 的目录 -![](figure/删除一个名为-dir-的目录.png "删除一个名为-dir-的目录") +**示例 1** 删除一个名为 dir 的目录 +```shell +OHOS:/test$ mkdir dir +OHOS:/test$ ls +dir +OHOS:/test$ rmdir dir/ +OHOS:/test$ ls +``` diff --git a/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-touch.md b/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-touch.md index d98d1833584..7a10c652a07 100644 --- a/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-touch.md +++ b/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-touch.md @@ -1,26 +1,27 @@ # touch -- [命令功能](#section17541924112716) -- [命令格式](#section866182711274) -- [参数说明](#section268912296270) -- [使用指南](#section412093332714) -- [使用实例](#section414434814354) -- [输出说明](#section1028419515711) +- [命令功能](#section01) +- [命令格式](#section02) +- [参数说明](#section03) +- [使用指南](#section04) +- [使用实例](#section405) +- [输出说明](#section06) -## 命令功能 +## 命令功能 - touch命令用来在指定的目录下创建一个不存在的空文件。 - touch命令操作已存在的文件会成功,不会更新时间戳。 -## 命令格式 +## 命令格式 -touch \[_filename_\] +touch \[_filename_\] -## 参数说明 +## 参数说明 **表 1** 参数说明 + - + + + + @@ -39,21 +47,40 @@ touch \[_filename_\]

参数

参数说明

@@ -29,7 +30,14 @@ touch \[_filename_\]

filename

+

--help

+

查看touch命令支持的参数列表

+

N/A

+

filename

需要创建文件的名称。

-## 使用指南 +## 使用指南 - touch命令用来创建一个空文件,该文件可读写。 -- 使用touch命令一次只能创建一个文件。 +- 使用touch命令允许一次创建多个文件。 >![](../public_sys-resources/icon-notice.gif) **须知:** >在系统重要资源路径下使用touch命令创建文件,会对系统造成死机等未知影响,如在/dev路径下执行touch uartdev-0,会产生系统卡死现象。 - -## 使用实例 +## 使用实例 举例:输入touch file.c 输出说明 -## 输出说明 - -**图 1** 创建一个名为 file.c 的文件 -![](figure/创建一个名为-file-c-的文件.png "创建一个名为-file-c-的文件") - +## 输出说明 + +**示例 1** 创建一个名为 file.c 的文件 + +```shell +OHOS:/tmp$ ls +OHOS:/tmp$ touch file.c +OHOS:/tmp$ ls +file.c +OHOS:/tmp$ ll +total 0 +-rwxrwxrwx 1 0 0 0 1979-12-31 00:00 file.c* +``` + +**示例 2** 同时创建三个文件 + +```shell +OHOS:/tmp$ touch testfile1 testfile2 testfile3 +OHOS:/tmp$ ll +total 0 +-rwxrwxrwx 1 0 0 0 1979-12-31 00:00 testfile1* +-rwxrwxrwx 1 0 0 0 1979-12-31 00:00 testfile2* +-rwxrwxrwx 1 0 0 0 1979-12-31 00:00 testfile3* +OHOS:/tmp$ +``` diff --git a/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-umount.md b/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-umount.md index 9a0b489feae..4356532dc2c 100644 --- a/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-umount.md +++ b/zh-cn/device-dev/kernel/kernel-small-debug-shell-file-umount.md @@ -1,21 +1,21 @@ # umount -- [命令功能](#section365125133520) -- [命令格式](#section9615254123512) -- [参数说明](#section63446577355) -- [使用指南](#section92931509368) -- [使用实例](#section144311323616) -- [输出说明](#section360525113611) +- [命令功能](#section01) +- [命令格式](#section02) +- [参数说明](#section03) +- [使用指南](#section04) +- [使用实例](#section05) +- [输出说明](#section06) -## 命令功能 +## 命令功能 umount命令用来卸载指定文件系统。 -## 命令格式 +## 命令格式 -umount \[_dir_\] +umount \[_-a \[-t TYPE\]_\] \[_dir_\] -## 参数说明 +## 参数说明 **表 1** 参数说明 @@ -28,7 +28,29 @@ umount \[_dir_\] -

dir

+

--help

+ +

查看umount命令支持的参数列表。

+ +

N/A

+ + +

-a

+ +

卸载所有已挂载的目录。

+ +

N/A

+ + + +

-t

+ +

同-a选项一起使用,限制-a,只卸载-t所指定的文件系统类型。

+ +

N/A

+ + +

dir

需要卸载文件系统对应的目录。

@@ -38,18 +60,28 @@ umount \[_dir_\] -## 使用指南 +## 使用指南 umount后加上需要卸载的指定文件系统的目录,即将指定文件系统卸载。 -## 使用实例 +## 使用实例 + +举例:umount ./nfs 、umount -a -t nfs ./nfs + +## 输出说明 -举例:umount /bin1/vs/sd +将已在./nfs挂载的文件系统卸载 -## 输出说明 +**示例 1** umount输出示例 -将已在/bin1/vs/sd挂载的文件系统卸载 +```shell +OHOS:/$ umount ./nfs/ +umount ok +``` -**图 1** umount输出示例 -![](figure/umount输出示例.png "umount输出示例") +**示例 2** umount指定文件类型 +```shell +OHOS:/$ umount -a -t nfs ./nfs/ +umount ok +``` diff --git a/zh-cn/device-dev/kernel/kernel-small-debug-shell-file.md b/zh-cn/device-dev/kernel/kernel-small-debug-shell-file.md index 3ba2b47a796..903ec8967f0 100644 --- a/zh-cn/device-dev/kernel/kernel-small-debug-shell-file.md +++ b/zh-cn/device-dev/kernel/kernel-small-debug-shell-file.md @@ -22,6 +22,8 @@ - **[mount](kernel-small-debug-shell-file-mount.md)** +- **[mv](kernel-small-debug-shell-file-mv.md)** + - **[partinfo](kernel-small-debug-shell-file-partinfo.md)** - **[partition](kernel-small-debug-shell-file-partition.md)** @@ -41,5 +43,3 @@ - **[writeproc](kernel-small-debug-shell-file-write.md)** - **[umount](kernel-small-debug-shell-file-umount.md)** - - diff --git a/zh-cn/device-dev/kernel/kernel-small-debug-shell-net-ifconfig.md b/zh-cn/device-dev/kernel/kernel-small-debug-shell-net-ifconfig.md index 8d0fef2a094..e6e68c7c605 100644 --- a/zh-cn/device-dev/kernel/kernel-small-debug-shell-net-ifconfig.md +++ b/zh-cn/device-dev/kernel/kernel-small-debug-shell-net-ifconfig.md @@ -1,17 +1,17 @@ # ifconfig -- [命令功能](#section174940284379) -- [命令格式](#section136073203715) -- [参数说明](#section6493235203710) -- [使用指南](#section05763403371) -- [使用实例](#section168802042123717) -- [输出说明](#section124638211109) +- [命令功能](#section01) +- [命令格式](#section02) +- [参数说明](#section03) +- [使用指南](#section04) +- [使用实例](#section05) +- [输出说明](#section06) -## 命令功能 +## 命令功能 ifconfig命令用来查询和设置网卡的IP地址、网络掩码、网关、硬件mac地址等参数。并能够启用/关闭网卡。 -## 命令格式 +## 命令格式 ifconfig @@ -27,7 +27,7 @@ ifconfig \[_up|down_\] -## 参数说明 +## 参数说明 **表 1** 参数说明 @@ -129,30 +129,30 @@ ifconfig -## 使用指南 +## 使用指南 - 命令需要启动TCP/IP协议栈后才能使用。 - 由于IP冲突检测需要反应时间,每次使用ifconfig设置IP后会有2S左右的延时。 -## 使用实例 +## 使用实例 1. ifconfig eth0 192.168.100.31 netmask 255.255.255.0 gateway 192.168.100.1 hw ether 00:49:cb:6c:a1:31 2. ifconfig -a 3. ifconfig eth0 inet6 add 2001:a:b:c:d:e:f:d 4. ifconfig eth0 inet6 del 2001:a:b:c:d:e:f:d -## 输出说明 +## 输出说明 1. 设置网络参数 - ``` - OHOS # ifconfig eth0 192.168.100.31 netmask 255.255.255.0 gateway 192.168.100.1 hw ether 00:49:cb:6c:a1:31 - OHOS # ifconfig - eth0 ip:192.168.100.31 netmask:255.255.255.0 gateway:192.168.100.1 - HWaddr 00:49:cb:6c:a1:31 MTU:1500 Running Default Link UP - lo ip:127.0.0.1 netmask:255.0.0.0 gateway:127.0.0.1 - ip6: ::1/64 - HWaddr 00 MTU:0 Running Link UP + ```shell + OHOS:/$ ifconfig eth0 192.168.100.31 netmask 255.255.255.0 gateway 192.168.100.1 hw ether 00:49:cb:6c:a1:31 + OHOS:/$ ifconfig + lo ip:127.0.0.1 netmask:255.0.0.0 gateway:127.0.0.1 + ip6: ::1/64 + HWaddr 00 MTU:0 Running Link UP + eth0 ip:192.168.100.31 netmask:255.255.255.0 gateway:192.168.100.1 + HWaddr 00:49:cb:6c:a1:31 MTU:1500 Running Default Link UP ``` 输出的各参数说明如下表所示: @@ -211,7 +211,7 @@ ifconfig 2. 获取协议栈统计信息 - ``` + ```shell OHOS # ifconfig -a RX packets:6922 errors:0 ip dropped:4312 link dropped:67 overrun:0 bytes:0 (0.0 B) RX packets(ip6):3 errors:0 dropped:0 overrun:0 bytes:0 (0.0 B) @@ -283,33 +283,35 @@ ifconfig -3. 设置IPv6的地址信息 - - ``` - OHOS # ifconfig eth0 inet6 add 2001:a:b:c:d:e:f:d - OHOS # ifconfig - eth1 ip:192.168.3.60 netmask:255.255.255.0 gateway:0.0.0.0 - HWaddr 00:0e:c6:a8:5a:c2 MTU:1500 Running Link UP - eth0 ip:192.168.2.60 netmask:255.255.255.0 gateway:0.0.0.0 - ip6: 2001:A:B:C:D:E:F:D/64 - HWaddr 46:44:02:02:03:03 MTU:1500 Running Link UP - lo ip:127.0.0.1 netmask:255.0.0.0 gateway:127.0.0.1 - ip6: ::1/64 - HWaddr 00 MTU:16436 Running Link UP - ``` +3. 设置IPv6的地址信息 + + ```shell + OHOS:/$ ifconfig eth0 inet6 add 2001:a:b:c:d:e:f:d + NetifStatusCallback(eth0): nsc event: 0x8 + NetifStatusCallback(eth0): nsc status changed: 0 + NetifStatusCallback(eth0): nsc event: 0x200 + NetifStatusCallback(eth0): nsc event: 0x8 + NetifStatusCallback(eth0): nsc status changed: 1 + NetifStatusCallback(eth0): nsc event: 0x200 + NetifStatusCallback(eth0): nsc event: 0x200 + OHOS:/$ ifconfig + lo ip:127.0.0.1 netmask:255.0.0.0 gateway:127.0.0.1 + ip6: ::1/64 + HWaddr 00 MTU:0 Running Link UP + eth0 ip:192.168.1.10 netmask:255.255.255.0 gateway:192.168.1.1 + ip6: 2001:A:B:C:D:E:F:D/64 + HWaddr 66:2f:e5:bd:24:e6 MTU:1500 Running Default Link UP + ``` 4. 删除IPv6的地址信息 + ```shell + OHOS:/$ ifconfig eth0 inet6 del 2001:a:b:c:d:e:f:d + NetifStatusCallback(eth0): nsc event: 0x200 + OHOS:/$ ifconfig + lo ip:127.0.0.1 netmask:255.0.0.0 gateway:127.0.0.1 + ip6: ::1/64 + HWaddr 00 MTU:0 Running Link UP + eth0 ip:192.168.1.10 netmask:255.255.255.0 gateway:192.168.1.1 + HWaddr 66:2f:e5:bd:24:e6 MTU:1500 Running Default Link UP ``` - OHOS # ifconfig eth0 inet6 del 2001:a:b:c:d:e:f:d - OHOS # ifconfig - eth1 ip:192.168.3.60 netmask:255.255.255.0 gateway:0.0.0.0 - HWaddr 00:0e:c6:a8:5a:c2 MTU:1500 Running Link UP - eth0 ip:192.168.2.60 netmask:255.255.255.0 gateway:0.0.0.0 - HWaddr 46:44:02:02:03:03 MTU:1500 Running Link UP - lo ip:127.0.0.1 netmask:255.0.0.0 gateway:127.0.0.1 - ip6: ::1/64 - HWaddr 00 MTU:16436 Running Link UP - ``` - - diff --git a/zh-cn/device-dev/kernel/kernel-small-debug-shell-net-ping.md b/zh-cn/device-dev/kernel/kernel-small-debug-shell-net-ping.md index 41bea417ae1..0e2eab6f174 100644 --- a/zh-cn/device-dev/kernel/kernel-small-debug-shell-net-ping.md +++ b/zh-cn/device-dev/kernel/kernel-small-debug-shell-net-ping.md @@ -1,25 +1,21 @@ # ping -- [命令功能](#section119672573385) -- [命令格式](#section869419010390) -- [参数说明](#section9877183173918) -- [使用指南](#section1097046193914) -- [使用实例](#section14564129113911) -- [输出说明](#section1621732891215) +- [命令功能](#section01) +- [命令格式](#section02) +- [参数说明](#section03) +- [使用指南](#section04) +- [使用实例](#section05) +- [输出说明](#section06) -## 命令功能 +## 命令功能 ping命令用于测试网络连接是否正常。 -## 命令格式 +## 命令格式 -ping_ _\[_-n cnt_\] \[_-w interval_\] \[_-l data\_len_\]_ _ +ping _\[-4\] \[-c cnt\] \[-f\] \[-i interval\] \[-q\] \[-s size\] _ -ping \[_-t_\] \[_-w interval_\] __ - -ping _-k_ - -## 参数说明 +## 参数说明 **表 1** 参数说明 @@ -32,66 +28,88 @@ ping _-k_ -

IP

+

--help

-

要测试是否网络连通的IPv4地址。

+

查看ping命令支持的参数列表

-

N/A

+

N/A

-

-n cnt

+

-4

+ +

强制以IPV4通讯协议ping目标地址。

-

执行的次数,不带本参数则默认为4次。

+

0-65500

+ + +

-c CNT

+ +

执行的次数,不带本参数则默认为3次。

1-65535

-

-w interval

+

-f

+ +

隐式的ping IPv4地址,其默认参数配置等价于"-c 15 -i 0.2"

+ +

N/A

+ + +

-i interval

发送两次ping包的时间间隔,单位毫秒。

-

>0

+

1-200

-

-l data_len

+

-q

-

ping包,即ICMP echo request报文的数据长度,不包含ICMP包头。

+

隐式的ping IPv4地址,如果主机还存活,则在返回 true 后停止ping。

-

0-65500

+

N/A

-

-t

+

-s SIZE

-

表示永久ping,直到使用ping -k杀死ping线程。

+

设置每个ping包的大小,SIZE是以字节为单位的数据(默认为56字节)。

-

N/A

+

0-4088

-

-k

+

IP

-

杀死ping线程,停止ping。

+

要测试是否网络连通的IPv4地址。

-

N/A

+

N/A

-## 使用指南 +## 使用指南 - ping命令用来测试到目的IP的网络连接是否正常,参数为目的IP地址。 - 如果目的IP不可达,会显示请求超时。 - 如果显示发送错误,说明没有到目的IP的路由。 - 命令需要启动TCP/IP协议栈后才能使用。 -## 使用实例 - -举例:输入ping 192.168.1.10 +## 使用实例 -## 输出说明 +举例:输入ping 192.168.1.3 -**图 1** ping tftp 服务器地址 +## 输出说明 +**示例 1** ping tftp 服务器地址 -![](figure/Snipaste_2021-01-26_10-38-58-26.png) +```shell +OHOS:/$ ping 192.168.1.3 +Ping 192.168.1.3 (192.168.1.3): 56(84) bytes. +84 bytes from 192.168.1.3: icmp_seq=0 ttl=0 time=0 ms +84 bytes from 192.168.1.3: icmp_seq=0 ttl=0 time=1 ms +84 bytes from 192.168.1.3: icmp_seq=0 ttl=0 time=0 ms +--- 192.168.1.3 ping statistics --- +3 packets transmitted, 3 received, 0% packet loss +round-trip min/avg/max = 0/0/0 ms +``` -- Gitee