iOS开发常用shell命令
浏览数:23 /
时间:2015年06月11日
1、shell是什么?
答:(1)Shell是一种具备特殊功能的程序, 它是介于使用者和 UNIX/Linux 操作系统之核心程序(kernel)间的一个接口。
(2)为了对用户屏蔽内核的复杂性,也为了保护内核以免用户误操作造成损害,在内核的周围建了一个外壳(shell)。用户向shell提出请求,shell解释并将请求传给内核。
(3)使用较广的shell有标准的Bourne?shell?(sh)、Korn Shell(ksh)、C?shell?(csh)、Bourne Again Shell(bash)等。
例如:查看当前环境所用shell:echo $SHELL
(4)shell的另一个重要特性是它自身就是一个解释型的程序设计语言,shell程序设计语言支持绝大多数在高级语言中能见到的程序元素,如函数、变量、数组和程序控制结构。shell编程语言简单易学,任何在提示符中能键入的命令都能放到一个可执行的shell程序中。
(5)本质上,shell?脚本是命令行命令简单的组合到一个文件里面。Shell基本上是一个命令解释器,类似于DOS下的command.com。它接收用户命令,然后调用相应的应用程序。
2、shell的特点:
(1) 对已有命令进行适当组合,构成新的命令,并且组合方式很简单
(2) 提供了文件名扩展符使得用单一的字符串可以匹配多个文件名
(3) 可以直接使用Shell的内置命令,而不需创建新的进程
(4) Shell允许灵活地使用数据流,提供通配符、输入/输出重定向、管道符等机制,方便了模式匹配、I/O处理和数据传输。
(5) 结构化的程序模块,提供了顺序流程控制、分支流程控制、循环流程控制等
(6)Shell提供了在后台(&)执行命令的能力
(7) Shell提供了可配置的环境,允许用户创建和修改命令、命令提示符和其它的系统行为
(8) Shell提供一个高级的命令语言,允许用户能创建从简单到复杂的程序。
3、shell用户管理命令:
1.新建用户(user add)
useradd UserName
新建用户后,会在/home目录下建立一个以UserName命名的文件夹,用户每次登录时自动定位到该文件夹下。
2.为用户修改密码(password)
passwd UserName
3.删除用户(user delete)
userdel UserName
使用-p选项可以删除用户目录下的文件及与用户相关联的其他文件。
4.新建组群(group add)
groupadd GroupName
5.删除组群(group delete)
groupdel GroupName
6.用户身份
whoami
7.查看登录用户
who [选项]
-a 显示所有用户的所有信息
-H 显示列标题
8.查看用户的操作
w 某一时刻用户的行为
9.用户间切换(substitute user)
su UserName
如:su 或su root 切换为根用户
su Haison 切换为名为Haison的用户
4、shell目录管理命令:
1.创建目录(make directory)
mkdir DirectoryName
2.删除目录(remove directory)
rmdir DirectoryName
3.显示工作目录(print working directory)
pwd
4.显示目录内容(list)
ls [选项]
选项:-a 显示当前目录下的所有文件,包括以.开头的文件。
-l 以长列表的形式显示文件列表,如:
-rw-r--r-- 1 haison haison 18 Nov 2 10:10 haison.c
5.改变当前目录(change directory)
cd 或 cd ~ 进入登录时的主目录
cd / 进入根目录
cd .. 进入上一级目录
cd /home 进入系统的home目录
cd home 进入当前目录下的home目录
6.目录重命名(move)
mv SourceDirecName TargetDirecName
7.目录拷贝(copy)
cp SourceDirec TargetDirec
-r 拷贝目录下的文件、子目录及子目录下的文件
5、shell文件管理命令
1.新建文件
>FileName 或 touch FileName 或 vi FileName
2.删除文件(remove file)
rm [选项] FileName
选项:-i 系统提示是否真要删除该文件
-f 删除文件之前不提示任何确认信息
-r 递归删除目录下所有子目录的内容
3.文件拷贝(copy)
cp SourceFile TargetFile
4.文件链接(link)
ln –s SourceFile TargetFile
创建文件链接,用ls –l查看,会看到TargetFile->SourceFile
5.显示文件内容
more FileName 一次一屏的显示文件内容,空格或回车显示下一屏
less FileName 一次一屏的显示文件内容,空格或回车显示下一屏
cat FileName 一次全部显示文件的内容
cat file1 file2>file3 将file1、file2的内容写到file3,覆盖file3原内容
cat file1>>file2 将file1的内容追加到file2,file2原内容不变
head FileName 只显示文件的前10行
head –n FileName 显示文件的前n行
tail FileName 只显示文件的后10行
tail –n FileName 显示文件的后n行
tail –f FileName 查阅正在改变的日志文件,会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容.
nl FileName 以编号的形式一次全部显示文件的内容,忽略空行
6.文件移动/重命名(move)
mv SourceFile TargetFile 将一个或多个文件移动到另外一个目录下,或者将一个文件重命名为另一个文件。
7.文件查找(find)
find [路径] [选项]
如:find / -name test.txt -print
8.文件内容查找(grep)
如:grep main haison.c
grep -i main haison.c #忽略大小写
grep –n main haison.c #输出行号
grep -v main haison.c #反检索,只显示不匹配的行
9.文件类型
命令ls –l以长列表形式显示文件的类型等,如:-rw-r--r--
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。