一.首先,什么是shell
? shell翻译成壳的意思,它是包裹在linux内核外层的,一个可通过一系列的linux命令对操作系统发出相关指令的人机界面。 shell可以通过其条件语句和循环语句等,把一系列linux命令结合在一起,形成一个相当于面向过程的程序,shell script,来实现一些较为复杂的功能。
? ? ? 总括,shell是linux命令集的概称,是属于命令行的人机界面。Shell 是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Ken Thompson的sh是第一种Unix Shell,Windows Explorer是一个典型的图形界面Shell。Shell 和Shell Script不是一回事,通常我们说的都是Shell Script。
? ? ? 由定义可知, shell相当于经过装饰的命令行,和命令行一样,都能操作linux。但是shell是面向过程的,相当于有了一定的逻辑和过程,而命令行只是单一的操作。
二.常用命令
1. telnet
语法:telnet 主机名 或 telnet IP地址 telnet 130.129.21.250
2.ll?文件或目录处理:列出文件或目录下的文件名。
语法: ls [-atFlgR] [name]
ls 列出目前目录下的文件名。
ls -a 列出包括以 .开始的隐藏文件的所有文件名。
ls -t 依照文件最后修改时间的顺序列出文件名。
ls -F 列出当前目录下的文件名及其类型。以/ 结尾表示为目录名,以* 结尾表示为可执行文件,以@ 结尾表示为符号连接。
ls -l 列出目录下所有文件的权限、所有者、文件大小、修改时间及名称。
ls -lg 同上,并显示出文件的所有者工作组名。
ls -R 显示出目录下以及其所有子目录的文件名。
3.cd??改变工作目录
语法:cd [name] name:目录名、路径或目录缩写。 cd - //返回到原来的目录
4.cp: 复制文件
语法: cp [-r] 源地址 目的地址 cp -r dir1 dir2 复制整个目录。
5.mv :?移动或更改文件、目录名称
语法:mv 源地址 目的地址
6.mkdir: 建立新目录
语法: mkdir 目录名
7.rm 和rmdir: 删除目录
语法: rmdir 目录名 或 rm 目录名 rmdir dir1 删除目录 dir1,但 dir1 下必须没有文件存在,否则无法删除。 rm -r dir1 删除目录 dir1及其子目录下所有文件
8.rm: 删除文件
rm file? 删除文件名中有五个字符且前四个字符为file 的所有文件。 rm f* 删除文件名中以 f 为字首的所有文件。
9.pwd:?列出当前所在的目录位置
10.cat:?查看文件内容
cat file1 以连续显示方式,查看文件名 file1 的内容。
11.more:分页查看文件内容
语法: more 文件名 或 cat 文件名 | more
12.查看目录所占磁盘容量
语法: du [-s] 目录 du dir1 显示目录 dir1 的总容量及其子目录的容量(以KB 为单位)。 du -s dir1 显示目录 dir1 的总容量(以KB 为单位)。 du -sh dir1 显示目录 dir1 的总容量(以M 为单位)。
13.文件权限的设定
????????(1)改变文件或目录的读、写、执行权限
语法:chmod [-R] mode name name :文件名或目录名 chmod -R 777 xml.go
?(2)改变文件或目录的所有权
语法:chown [-R] 用户名 name chown vagrant? xml.go?
14. groups:?检查自己所属的工作组名称
15. touch:改变文件或目录的最后修改时间(没啥意义)
语法:touch name
16.grep "关键字" 文件名: 查询关键字在文件中的位置
grep string file
17.查找文件或命令的路径
语法:whereis command 显示命令的路径。 语法:which command 显示命令的路径,及使用者所定义的别名。 语法:whatis command 显示命令功能的摘要。 sudo find / -name xml.go //查找文件的路径
18.比较文件或目录的内容
语法:d i ff [-r] name1 name2 name1 name2:必须同时为文件名或目录名。 diff file1 file2 比较文件file1 与 file2 内各行的不同之处。 diff -r dir1 dir2 比较目录 dir1 与 dir2 内各文件的不同之处
19.进程控制
? (1)查看系统中的进程
语法:ps [-aux] ps或ps -x 查看系统中,属于自己的进程。 ps -au 查看系统中,所有用户的进程。 ps -aux 查看系统中,包含系统内部的及所有用户的进程。
(2)结束或终止进程
语法:kill [-9] PID
(3)在后台执行进程的方式(不常用)
语法:命令 &
(4)jobs: 查看正在后台中执行的进程
20.history: 查看命令记录表的内容
?!!:? 重复执行前一个命令
! n:? n代表记录表的命令编号
! cat : 重复前面执行过的以 cat 为起始字符串的命令。
?显示前一个命令的内容
语法: ! !:p
21.文件的压缩
(1). 压缩文件
语法:compress 文件名 压缩文件
语法:compressdir 目录名 压缩目录
(2). 解压缩文件
语法:uncompress 文件名 解压缩文件
语法:uncompressdir 目录名 解压缩目录
22.| :管道命令的使用
语法:命令1 | 命令2? 将命令1的执行结果送到命令2,做为命令2的输入。
23.输入/输出控制
(1)标准输入的控制
mail -s “mail test” 电子邮件地址 < file1 将文件file 当做信件的内容,主
题名称为 mail test,送给收信人。
mail -s "mail test" xiaowangli@huashenggroups.com < xml.go
(2)标准输出的控制
语法:命令 > 文件 将命令的执行结果送至指定的文件中。 ls -l > list 将执行 “ls -l” 命令的结果写入文件list 中。 语法:命令>! 文件 将命令的执行结果送至指定的文件中,若文件已经存在,则覆盖。 ll >list.txt tail -30 xml.go>list2.txt
结果:list.txt内容
?
?
?