一.首先,什么是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: 查看命令记录表的内容

常用shell命令归纳总结_linux

 !!:  重复执行前一个命令

! 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内容

常用shell命令归纳总结_linux_02