什么是Shell?
能控制计算机硬件的只有操作系统内核,用户不能也没必要解除内核,需要再开发一个程序,作用是接收用户操作并传递给内核,间接地操作内核,既能简化用户操作、又能保障内核安全。图形界面
/ 命令行
就是这个程序,承担用户和内核间的桥梁。在Linux下,这个命令行程序叫做Shell
。
Shell会去调用内核的接口(函数),只是把这个过程隐藏了起来。比如输入cat log.txt
可以查看文件内容,但log放在磁盘哪个位置或分成几个数据块等底层信息Shell自己也不知道,只是去调用open()
和read()
函数。
我们还可以在Shell
中编程,Shell
也是一种脚本语言,可以用来开发一些自动化小工具,而非中大型软件。运维工程师必掌握Shell,用来自动化管理服务器集群。
快捷键
^L
清屏
%
通配符,一个字符;可以用\%
来表示真正的%字符
*
通配符,多个字符
Tab
输入的时候自动补齐
目录和文件
目录
cd usr:
切换到该目录下 usr 目录
cd ..
切换到上一层目录
cd /
切换到系统根目录 即computer目录
cd ~
切换到用户主目录(root操作时,切换到root文件夹)
cd -
切换到上一个操作所在目录
TAB
输入名字时按TABLE可以自动补全
目录操作(增删改查)
mkdir 目录名称:
增加目录
rm [-rf] 目录 :
删除目录(删)。f-force不提示,r递归删除子文件
mv 目录名称 目录的新位置/新名称:
移动目录的位置/修改目录的名称(改)。
find 目录 参数:
寻找目录(查)。可以通过"*.txt"通配符;-iname忽略大小写
ls :
查看当前目录下的目录和文件,仅罗列出当前文件名或目录名
常用ls -l 或 ll:
罗列出当前文件或目录的详情信息,含有时间、读写权限、大小等
cp -r
目录名称 目标位置: 拷贝目录(-r表示连同子文件递归)
eg:
把lesson01里的文件复制到leeson02
cp -r calc/ library/ ../lesson02
前两个/可以不加 ../表示退一级目录下的lesson02
把lesson01复制到lesson02(不用退)
cp -r lesson01 lesson02
文件
文件的操作命令(增删改查)
touch 文件名称:
文件的创建(增)
rm -rf 文件: 删除文件(删)
vim 编辑器:改
cat/more/less/tail 文件名称 :
文件的查看(查) 。
cat
是一次性显示整个文件的内容,还可以将多个文件连接起来显示,适用于文件内容少的情况;
显示文件内容超过一屏时,more
比cat强大,提供分页显示的功能,并且提供翻页的功能;
less
比more更强大,提供翻页,跳转,查找等命令。
tree
查看当前的文件数和示意图
其他
pwd:
Print Working Directory查看当前所在位置
ps
查看当前进程提供当前进程的快照,ps aux|grep [特定进程名],通常结合grep命令查看某进程状态,top
实时地提供进程信息。它还拥有交互式的状态,按q退出。
ps aux
显示进程和详细信息
ps ajx
显示进程和作业控制信息(组ID)
sudo + 其他命令
:以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。
grep 要搜索的字符串 要搜索的文件:
和find相比;
(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。
(2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找。
netstat
监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。
chmod u=rwx,g=rw,o=r aaa.txt
改变读写权限
man
帮助指令,可以查看Linux中的指令帮助、配置文件帮助和编程帮助等
which
可以查看shell指令及其他的地址
kill
杀死进程
-9 强制关闭
-l 查看系统定义的信号列表(前31个常规,其余为实时)
&
运行可执行文件时后面加上&
可以使进程后台运行;后台运行的时候输入fg
可以切到前台运行
ipcs -a
打印系统中进程间所有通信方式信息
ipcs -m
打印所有共享内存信息
ipcs -q
打印所有消息队列信息
ipcs -s
打印所有信号信息
echo $$
显示当前终端进程号
tty
显示连接到当前终端的文件名
rz
:(Receive ZMODEM)上传文件至Linux服务器。
sz
:(Send ZMODEM)将文件从Linux服务器下载至本地。
《Linux命令之rz命令与sz命令》