Shell
Shell是什么?
-
Shell是一个命令解释器,它通过接受用户输入的shell命令来启动、暂停、停止程序的运行或对计算机进行控制
-
Shell是一个应用程序,它连接了用户和Linux内核,让用户能够更加高效、安全、低成本地使用Linux内核
为什么用shell
-
对机器来说兼容性更好,对人来说更加准确灵活
-
现代shell其实是一种编程语言
root
-
sudo 对紧跟着它的命令生效
新建文件:
$ sudo touch file
错误命令:
$ sudo echo 1 > file
正确命令:
$ echo 1 | sudo tee file
grep
grep(global search regular expression)是一个强大的文本搜索工具。grep使用正则表达式搜索文本,并把匹配的行打印出来。
格式:grep [options] PATTERN [FILE...]
-
PATTERN是查找条件:可以是普通字符串、可以是正则表达式,通常用单引号括起来
-
FILE是要查找的文件,可以是用空格间隔的多个文件,也可以使用Shell的通配符在多个文件中查找PATTERN,省略时表示在标准输中查找
-
grep命令不会对输入文件进行任何修改或影响,可以使用重定向将结果存为文件
例子:
-
在文件myfile中查找包含字符串mystr的行
grep -n mystr myfile
-
显示myfile中第一个字符为字母的所有行
grep '^[a-zA-A]' myfile
-
在文件myfile中查找首字符不是#的行(即过滤掉注释行)
grep -v '^#' myfile
-
列出/etc目录(包括子目录)下所有文件内容中包含字符串“root”的文件名
grep -lr root /etc/*
常用系统管理命令
-
stat 显示指定文件的详细信息,比ls更详细
-
who 显示在线登陆用户
-
whoami 显示当前操作用户
-
hostname 显示主机名
-
top 动态显示当前耗费资源最多进程信息
-
ps 显示瞬间进程 ps-aux
-
du 查看目录大小 du -h /home 带有单位显示目录信息
-
df 查看磁盘大小 df -h 带有单位显示磁盘信息
-
ifconfig 查看网络情况
-
ping 测试网络连通
-
netstat 显示网络状态信息
-
kill 杀死进程,可以先用ps或top命令查看进程的id,然后再用kill命令杀死进程
长句换行
-
在shell中为避免一个语句过长,可以使用“\”进行换行
-
使用“\”换行,在脚本执行过程中还是当做一行一个语句执行,不同于enter直接换行
TIPS
-
注意看报错信息
-
sudo 不是解决问题的万金油
-
网络上的命令不是解决问题的万金油
-
“Linux系统不容易中毒”不是因为系统非常安全
-
摆脱Windows中多个“磁盘”的习惯
-
哪些文件应该在你的“home”里(自己的代码、文档)
-
shell默认没有“回收站”或“废纸篓”