日期:2014-05-16  浏览次数:20638 次

嵌入式开发学习总结——Linux常用shell命令

嵌入式开发学习总结——Linux常用shell命令?
?

【目录】
一、shell命令
1、内建命令
2、外部命令
3、实用程序
4、用户程序
5、shell脚本
二、命令帮助文档
1、命令自身的帮助功能
2、man手册
3、在线帮助文档

三、分类介绍
(一)文件、目录操作命令
(二)查看文件内容命令
(三)基本系统命令
(四)监视系统状态命令
(五)磁盘操作命令
(六)用户和组相关命令
(七)备份压缩命令
(八)网络相关命令
(九)其他命令

【参考资料】


一、shell命令
作为用户和Linux内核之间的接口程序,shell的一个很重要的功能就是对用户输入的命令进行解释。这些命令可以分为以下几类:

1、内建命令
处于效率的考虑,将一些常用的命令解释程序构造在shell内部。
用enable命令可以查看到shell的内建命令。
例如,GNU bash 3.1.17的内建命令如下:
.? :? [? alias? bg? bind? break? builtin? caller? cd? command? compgen? complete? continue? declare? dirs? disown? echo??? eval? exec? exit? export? false fc? fg? getopts? hash? help? history? jobs? kill? let? local? logout? popd? printf? pushd? pwd? read? readonly? return? set? shift? shopt? source? suspend? test? times? trap? true? type? typeset? ulimit? umask? unalias? unset? wait

2、外部命令
存放在/bin, /sbin目录下的命令。

3、实用程序
存放在/usr/bin, /usr/sbin, /usr/share, /usr/local/bin等目录下的实用工具和程序。

4、用户程序
用户程序经过编译生成可执行文件后, 也可作为shell命令运行。

5、shell脚本
由shell脚本编写的批处理文件。

二、命令帮助文档
我们可以通过下述三种方法获得帮助:
1、命令自身的帮助功能
大多数命令都可以通过--help参数获取自身提供的帮助。
2、man手册
可以通过man命令来查看任何命令的联机帮助信息。它将命令名作为参数, 该命令的语法格式为: man 【命令名】。
3、在线帮助文档
还可以通过一些专业网站或者搜索引擎获得帮助。例如,Linux命令大全
http://wiki.chinaunix.net/index.php/Linux%E5%91%BD%E4%BB%A4%E5%A4%A7%E5%85%A8
三、分类介绍
(一)文件、目录操作命令
1、ls命令
功能:显示文件和目录的信息
ls 以默认方式显示当前目录文件列表
ls -a 显示所有文件包括隐藏文件
ls -l 显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行
ls -lh 显示文件的大小,以容易理解的格式印出文件大小 (例如 1K 234M 2G)
ls -lt 显示文件,按照修改时间排序

2、cd命令
功能:改名目录
cd dir 切换到当前目录下的dir目录
cd / 切换到根目录
cd .. 切换到到上一级目录
cd ../.. 切换到上二级目录
cd ~ 切换到用户目录,比如是root用户,则切换到/root下

3、cp命令
功能:copy文件
cp source target 将文件source复制为target
cp /root /source. 将/root下的文件source复制到当前目录
cp –av soure_dir target_dir 将整个目录复制,两目录完全一样

4、rm命令
功能:删除文件或目录
rm file 删除某一个文件
rm -f file 删除时候不进行提示。可以于r参数配合使用
rm -rf dir 删除当前目录下叫dir的整个目录

5、mv命令
功能:文件移动,或者改名,在uinx下面没有改名的命令,如果想改名,可以使用该命令
mv source target 将文件source更名为target
6、diff
功能:比较文件内容
diff dir1 dir2 比较目录1与目录2的文件列表是否相同,但不比较文件的实际内容,不同则列出
diff file1 file2 比较文件1与文件2的内容是否相同,如果是文本格式的文件,则将不相同的内容显示,如果是二进制代码则只表示两个文件是不同的
comm file1 file2 比较文件,显示两个文件不相同的内容
7、ln命令
功能:建立链接
ln source_path target_path 硬连接
ln -s source_path target_path 软连接

(二)查看文件内容命令
1、cat命令
显示文件的内容,和DOS的type相同
cat file 

2、more命令
功能:分页显示命令
more file
more命令也可以通过管道符(|)与其他的命令一起使用,例如:
ps ux|more
ls|more

3、tail 命令
功能:显示文件的最后几行
tail -n 100 aaa.txt 显示文件aaa.txt文件的最后100行

4、vi命令
vi file 编辑文件file
vi 原基本使用及命令:
输入命令的方式为先按[ESC]键,然后输入:w(写入文件),:w!(不询问方式写入文件),:wq保存并退出,:q退出,q!不保存退出

(三)基本系统命令
1、man命令
功能:查看某个命令的帮助
例如:
man ls 显示ls命令的帮助内容
2、w命令
功能:显示登录用户的详细信息
例如:
Sarge:~# w
22:06:51 up 43 min,? 1 user,? load average: 0.00, 0.00, 0.00
USER???? TTY????? FROM????????????? LOGIN@?? IDLE?? JCPU?? PCPU WHAT
zhoulj?? pts/0??? 10.140.0.109???? 21:24??? 0.00s? 0.85s? 0.09s sshd: zhoulj [priv]
3、who命令
功能:显示登录用户
例如:
Sarge:~# who
zhoulj?? pts/0??????? Mar 13 21:24 (10.140.0.109)
4、last命令
功能:查看最近那些用户登录系统
例如:
Sarge:~# last
zhoulj?? pts/0??????? 10.140.0.109???? Mon Mar 13 21:24?? still logged in??
reboot?? system boot? 2.6.8-2-386????? Mon Mar 13 21:23????????? (00:43)???
zhoulj?? pts/0??????? 10.140.0.105???? Sun Mar 12 22:51 - down?? (00:00)???
zhoulj?? pts/0??????? 10.140.0.105???? Sun Mar 12 22:51 - 22:51? (00:00)???
root???? tty1????????????????????????? Sun Mar 12 22:50 - down?? (00:01)???
root???? tty1????????????????????????? Sun Mar 12 22:46 - 22:48? (00:02)???
root???? tty1????????????????????????? Sun Mar 12 22:43 - 22:46? (00:02)???
reboot?? system boot? 2.6.8-2-386????? Mon Mar 13 06:34????????? (-7:-41)??
wtmp begins Mon Mar 13 06:34:11 2006
5、date命令