一、文件操作命令:
(1)文件:
-:普通文件
d:目录文件
p:管道文件
l:链接文件
cd:设备文件
s:套接字文件
(2)命令:
- touch【基础知识】:新建普通文件
- mkdir【基础知识】:新建目录文件
- rmdir【基础知识】:删除空目录
- cp【基础知识】:拷贝
- rm【基础知识】:删除普通文件
- mv【基础知识】:移动/剪切
- chmod【基础知识】:修改文件权限
- more【基础知识】:查看文件内容, more 命令会一页一页的显示,方便使用者逐页阅读
- less【基础知识】:查看文件内容,对文件或其它输出进行分页显示
less 与 cat 和 more 的区别:
①cat 命令功能:用于显示整个文件的内容,单独使用没有翻页功能。因此经常和 more 命令搭配使用,cat 命令还有就是可以将数个文件合并成一个文件的功能。
②more 命令功能:让画面在显示满一页时暂停,此时可按空格健继续显示下一个画面,或按 q 键停止显示。
③less 命令功能:less 命令的用法与 more 命令类似,也可以用来浏览超过一页的文件。所不同的是 less 命令除了可以按空格键向下显示文件外,还可以利用上下键来卷动文件。当要结束浏览时,只要在 less 命令的提示符“:”下按 q 键即可。
其实这三个命令除了 cat 命令有合并文件的功能,其余功能上相近,只是从浏览习惯和显示方式上有所不同。 - tail【重点掌握】:查看文件内容,tail 命令主要用于显示指定文件末尾内容。常用查看日志文件。
- head【基础知识】:查看文件内容,主要是用来显示档案的开头至标准输出中,默认 head 命令打印其相应文件的开头 10 行。
- cat【基础知识】:查看文件内容,cat 命令是将整个文件的内容从上到下显示在屏幕上
重定向文件(合并文件:将两个文件合并成一个文件cat > file1 (file2 > file):ctrl+d结束) - vi/vim【重点掌握】:文本编辑器
vi与vim的区别:vim是vi的增强版,完全兼容vi。vim优势主要体现在以下几个方面:
1、多级撤消
我们知道在vi里,按u只能撤消上次命令,而在vim里可以无限制的撤消。
2、易用性
vi只能运行于unix类中,而vim不仅可以运行于unix,windows ,mac等多操作平台。
3、语法加亮
vim可以用不同的颜色来加亮你的代码。
4、可视化操作
就是说vim不仅可以在终端运行,也可以运行于x window、 mac os、 windows。
5、对vi的完全兼容
某些情况下,你可以把vim当成vi来使用。 - find 【重点掌握】:查找文件内容
- grep【重点掌握】
①基本用法:grep ‘str’ filename 在filename里查找’str’字符串
②grep -c ‘str’ filename 在filename里查找有多少行包含’str’字符串
③grep -i ‘str’ filename 在filename里查找’str’字符串,忽略大小写
④"grep -l" 打印出匹配到’字符串’内容的文件清单。
⑤grep -n ‘str’ filename 在匹配的行前面打印行号(左边绿色)
⑥grep -v ‘str’ filename (只显示不匹配的行,v代表reverse)
⑦"grep -w" 全字匹配的搜索。(w为word regexp的意思) - wc 【基础知识】:统计数目
- awk 【重点掌握】:行处理器,相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息
注:①. awk 处理过程: 依次对每一行进行处理,然后输出
②. awk 更适合格式化文本,对文本进行较复杂的格式处理
③. awk的语法有两种形式:
awk [options] ‘script’ var=value file(s)
awk [options] -f scriptfile var=value file(s) - sed 【重点掌握:流编辑器,实现对文字的增删改替换查(过滤、取行),能同时处理多个文件多行的内容,可以不对原文件改动,把整个文件输入到屏幕,可以把只匹配到模式的内容输入到屏幕上。还可以对原文件改动,但是不会再屏幕上返回结果。
①sed [ options ] ‘command’ files(s) //直接加命令
②sed [ options ] -f scriptfile files(s) //使用命令文件 - tar 【基础知识】:打包
- gzip【基础知识】:压缩
- diff 比较文件 【扩展内容】
- sort 排序工具 【扩展内容】
- uniq 内容去重 【扩展内容】
二、进程
- ps 【重点掌握】:显示进程信息
- kill pid【重点掌握】:结束进程
kill -stop pid:挂起进程
kill -9 pid:强制结束进程 - pkill 【扩展内容】:终止进程,按终端号踢出用户
pkill与kill的区别:
首先说一下kill命令,它是通过pid(进程ID)来杀死进程,要得到某个进程的pid,我们可以使用ps(process status)命令,默认情况下,kill命令发送给进程的终止信号是15,但是有些进程不会理这个信号,这样的话,可以用9信号来强制杀死,信号9是不会被忽略的强制性执行信号。
而killall和pkill都是使用命令名来终止进程的有效手段,它们不同于kill通过pid来杀死进程的方式,它可以理解为成批成批的杀死进程,当然这么做的危险性也相对提高了不少。当然它们也可以给进程发送相应的终止信号。
比如我们要杀死mysql的相关进程,我们可以使用pkill -9 mysqld即可杀死所有mysql相关的进程,比较方便,不过它有可能会误删程序。
下面是常用的信号的数字及其含义:
1 表示从终端上发出的结束信号
2 表示从键盘上发出的终端信号(即Ctrl+c)
3 表示从键盘上发出的退出信号(即Ctrl+)
8 表示浮点异常,比如被0除
9 表示结束接受信号的进程,也就是强行杀死进程
15 kill命令默认的终止信号
17 子进程终止或结束的信号
19 从键盘来执行的信号 - jobs 【扩展内容】:显示后台和挂起的进程任务
- &后台运行 【扩展内容】:在后台运行进程
- pstree 【扩展内容】:以树状图显示进程
- taskset 【了解熟悉】:用于将某个进程/线程绑定到CPU的某个或某几个核上面
用法:taskset -p pid
如何使一个进程在固定在某一个CPU上运行:taskset -p,如果查看进程在哪个CPU上运行:top +f(键盘上按)+按键盘上的字母+(根据前面的显示)+回车; - pidof 【了解熟悉】:用来查找正在运行进程的进程ID (PID)
- pmap 【扩展内容】:查看进程内存映像信息
- time 【了解熟悉】:常用于测量一个命令的运行时间,注意不是用来显示和修改系统时间的(这是date命令干的事情)。还可以测量内存、I/O等的使用情况。
11)bg 任务号:将挂起的进程放到后台执行
12)fg 任务号:将挂起或后台的进程放到前台执行
三、管理
1)useradd:添加一个新的用户
2)passwd:修改密码
3)shutdown、halt、poweroff:关机
4)init(root用户可以通过init命令修改运行级别)
0 关机
1 单用户模式
2 不带网络的多用户模式
3 完全的多用户模式,优先进入字符界面
4 未定义
5 x11——多用户模式
6 重启
5)reboot:重启
四、监测
1)top:动态显示进程信息以及系统运行统计信息
2)free:可以显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer
3)tcpdump(抓包):根据使用者的定义对网络上的数据包进行截获的包分析工具
普通情况下,直接启动tcpdump将监视第一个网络接口上所有流过的数据包。
4)lsof:列出当前系统带来的所有文件描述符
5)strace:用来跟踪进程执行时的系统调用和所接收的信号。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间
6)ltrace:用来跟踪进程调用库函数的情况
ltrace能够跟踪进程的库函数调用,它会显现出哪个库函数被调用,而strace则是跟踪程序的每个系统调用.
7)netstat: netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告。
8)mpstat:实时监测多处理器系统上的每个CPU使用情况
9) iostat 【重点掌握】:iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。
10) sar 【了解熟悉】:常用格式:sar [options] [-A] [-o file] t [n]
sar是目前Linux上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。
11) watch 【了解熟悉】:可以监测一个命令的运行结果,来监测你想要的一切命令的结果变化
五、其他
- ulimit 【重点掌握】:是一个计算机命令,用于shell启动进程所占用的资源,可用于修改系统资源限制
- nm 【重点掌握】:查看程序中函数和变量的逻辑地址,显示二进制目标文件的符号表
- ldd 【重点掌握】:查看可执行程序中用到哪些共享库,ldd本身不是一个程序,而仅是一个shell脚本:ldd可以列出一个程序所需要得动态链接库(so)
- ipcs 【扩展内容】
ipcs -s/-q/-m:分别显示系统的信号量、消息队列、共享内存
ipcrm -s/-q/-m:根据id分别删除信号量、消息队列、共享内存 - mail 【扩展内容】:查看并发送电子邮件
- who 【基础内容】:用于显示系统中有哪些使用者正在上面,显示的资料包含了使用者 ID、使用的终端机、从哪边连上来的、上线时间、呆滞时间、CPU 使用量、动作等等。
- which 【基础内容】:用于查找文件。which指令会在环境变量$PATH设置的目录里查找符合条件的文件。
- uname 【重点掌握】:uname用来获取电脑和操作系统的相关信息。
- man 【基础内容】:man命令用来提供在线帮助,通过man命令可以查看Linux中的命令帮助、配置文件帮助、编程帮助等信息。
- objdump 【重点掌握】:查看目标文件或者可执行目标文件的构成,显示二进制文件
- readelf 【重点掌握】:显示一个或多个elf格式的目标文件的信息