admin 管理员组

文章数量: 887021

Linux的基本指令

一、进阶指令(重点)

1、cat 选项:

-b, --number-nonblank 对非空输出行编号 -E, --show-ends 在每行结束处显示 $ -n, --number 对输出的所有行编号 -T, --show-tabs 将跳 字符显示为 ^I 注意:tac命令 从最后一行开始显示文件的信息,tac是cat倒着写的

2、df指令 作用:查看磁盘的空间(disk free)

语法:#df -h -h表示以可读性较高的形式展示大小

filesystem 磁盘名称     size  总大小      used被使用的大小      Avail剩余大小

use% 使用的百分比    Mounted on 挂载路径

3、free指令

作用:查看内存使用情况

语法:#free -m -m表示以mb为单位查看 看剩余空间看free那一列。

Mem第一行是内存的真实的使用情况,包含了已经被分配的共享内存、输出缓冲区、缓存内存等。

-/+第二行最后一个数字就是实际的内存剩余情况(包含了未使用的共享内存、缓冲区、缓存) 第三行Swp交换空间内存。可以在内存不够使用的情况下当临时内存来使用,交换分区并不是越大越好,一般话它就等同于实际内存的大小。 T

otal 总大小        used使用过的大小          Free 空闲的空间          Shared 共享内存 Buffers 输出缓冲区   Cached 缓存内存 看实际剩余内存只需要看648那个数字的位置即可,648≈460+25+160

4、head指令

作用:查看一个文件的前n行,如果不指定n,则默认显示前10行。

语法:#head -n 文件路径 【n表示数字】

案例:使用/root/install.log尝试演练head指令,显示前3行 #head -3 /root/install.log

案例:使用head不添加指定的行数 【默认显示前10行】 #head /root/install.log

5、tail指令

作用1:查看一个文件的末n行,如果n不指定默认显示后10行

语法:#tail -n 文件的路径 n同样表示数字 案例:显示install.log文件的最后5行和最后默认的十行 #tail -5 /root/install.log #tail /root/install.log 【默认显示后10行】

作用2:可以通过tail指令来查看一个文件的动态变化内容【变化的内容不能是用户手动增加的】 语法:#tail -f 文件路径 该命令一般用于查看系统的日志比较多。

案例:使用tail -f的语法查看/test.txt文件的动态变化情况(test.txt文件不存在) #touch /test.txt #tail -f /test.txt #free -m > /test.txt

注意:要想观察到变化的效果,需要同时开启两个终端中去实践,一个终端执行tail -f,另外一个终端去执行能够让文件内容产生变化的指令。

退出tail -f卡屏状态可以按下ctrl+c键,在命令行中c不再表示copy,而表示cancel(终止)。

6、less指令(了解)

作用:查看文件,以较少的内容进行输出,按下辅助功能键(数字+回车、空格键+上下方向键)查看更多 空格是一页一页翻 上下键是一行一行翻 1是往下1行;10是往下10行 语法:#less 需要查看的文件路径

案例:使用less指令查看/root/install.log 在退出的只需要按下q键(quit)即可(此时ctrl+c不好使)。

扩展: 从第 20 行开始显示 testfile 之文档内容。 more +20 testfile Linux more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vim 相似),使用中的说明文件,

7、wc指令(重点)

作用:统计文件内容信息(包含行数、单词数、字节数),wc = word count

语法:#wc -lwc 需要统计的文件路径

-l:表示lines,行数(以回车/换行符为标准)

-w:表示words,单词数 依照空格来判断单词数量

-c:表示char,字节数(空格,回车,换行)

选项的顺序不影响输出结果。

8、date指令(重点)

作用:表示操作时间日期(读取、设置)

语法1:#date 输出的形式:2018年 3月 24日 星期六 15:54:28 CST

语法2:#date “+%F” (等价于#date “+%Y-%m-%d” ) 输出形式:2018-03-24

语法3:#date “+%F %T” 引号表示让“年月日与时分秒”成为一个不可分割的整体 等价操作#date “+%Y-%m-%d %H:%M:%S” 输出的形式:2018-03-24 16:01:00

语法4:获取之前或者之后的某个时间(备份)数据库一般是1天备份一次 #date -d '-1 day' "+%Y-%m-%d %H:%M %S"

%F:表示完整的年月日,形如2018-12-31

%T:表示完整的时分秒,形如08:00:00

%Y:(year)表示四位年份

%m:(month)表示两位月份(带前导0)

%d:(day)表示日期(带前导0)

%H:(hour)表示小时(带前导0)

%M:(minute)表示分钟(带前导0)

%S:(second)表示秒数(带前导0)

9、cal指令(了解)

作用:用来操作日历的(只有1和3)

语法1:#cal 等价于 #cal -1 直接输出当前月份的日历

语法2:#cal -3 表示输出上一个月+本月+下个月的日历

语法3:#cal -y 年份数字 表示输出某一个年份的日历

10、clear/ctrl + L指令(实用)

作用:清除终端中已经存在的命令和结果(信息)。

语法:#clear 或者快捷键

ctrl + L 需要注意的是,该命令并不是真的清除了之前的信息,而是把之前的信息的隐藏到了最上面,通过滚动条继续查看以前的信息。

11、管道(重点、难点) 管道符:|

作用:管道一般可以用于“过滤”,“特殊”,“扩展处理”。

语法:管道不能单独使用,必须需要配合前面所讲的一些指令来一起使用,

其作用主要是辅助作用。 ①过滤

案例(100%使用):需要通过管道查询出根目录下包含“y”字母的文档名称。

#ls / | grep “y” grep指令用于“过滤”

针对上面这个命令说明: ①以管道作为分界线,前面的命令有个输出,后面需要先输入(缺少查找范围),然后再过滤,最后再输出,通俗的讲就是管道前面的输出就是后面指令的输入(前面的输出就是后面指令的操作对象); (便于理解)上述的指令变相实现可以如下: #ls / > xxx.txt 将ls / 的结果保存到xxx.txt中 #grep “y” xxx.txt 使用grep指令搜索xxx.txt中的包含y的行 ②grep指令:主要用于过滤

语法:#grep [选项] “搜索关键词” 搜索范围

eg:ls / | grep "y"

②特殊用法案例:通过管道的操作方法来实现less的等价效果(了解)

例如:源指令是“less xxx.txt”使用管道的话则可以写成: cat xxx.txt | less 之前通过less查看一个文件,可以#less 路径 现在通过管道还可以这么:#cat 路径|less

③扩展处理:请使用学过的命令,来统计某个目录下的文档的总个数? 例如:需要统计“/”下的文档的个数    #ls / | wc -l

二、高级指令

1、hostname指令

作用:操作服务器的主机名(读取、设置)

语法1:#hostname 主机名.完整域名

语法2:#hostname -f 全限定域名(FQDN),

2、id指令

作用:查看一个用户的一些基本信息(包含用户id,用户组id,附加组id…),该指令如果不指定用户则默认当前用户。

语法1:#id 默认显示当前执行该命令的用户的基本信息

语法2:#id 用户名 显示指定用户的基本信息

验证上述信息是否正确? 验证用户信息:通过文件/etc/passwd 验证用户组信息:通过文件/etc/group

3、whoami指令

作用:“我是谁?”显示当前登录的用户名,一般用于shell脚本,用于获取当前操作的用户名方便记录日志。

语法:#whoami

4、ps -ef指令(重点) Windows7打开服务管理器;C:\Windows\system32\taskmgr.exe 指令:ps 【process show】

作用:主要是查看服务器的进程信息

选项含义: -e:等价于“-A”,表示列出全部的进程

-f:表示full,显示全部的列(显示全字段)

执行结果: #ps -ef

列的含义:

UID:该进程执行的用户id;                    PID:进程id;

PPID:该进程的父级进程id,如果一个程序的父级进程找不到,该程序的进程称之为僵尸进程(parent process ID);

C:Cpu的占用率,其形式是百分数;                      STIME:进行的启动时间;  TTY:终端设备,发起该进程的设备识别符号,如果显示“?”则表示该进程并不是由终端设备发起;

TIME:进程的执行时间;

CMD:该进程的名称或者对应的路径;

案例:(100%使用的命令)在ps的结果中过滤出想要查看的进程状态“crond”进程 #ps -ef|grep “进程名称” 注意查询结果:其中如果只有一条则表示没查到对应的进程(这1条表示刚才ps指令的自身)。只有查到的结果多余1条,才表示有对应的进程。

补充:针对上述情况的优化:如果没有对应的进程,则什么都不显示。 思路:在现有的基础之上再次使用管道去处理下(-v选项表示“排除”)。

# ps -ef | grep “crond” | grep -v “grep” 再例如查看火狐浏览器的进程:

5、top指令(重点)

作用:查看服务器的进程占的资源(100%使用)

语法: 进入命令:#top (动态显示) 退出命令:按下q键

输出的结果: 表头含义:

PID:进程id;                                        USER:该进程对应的用户;

PR:优先级;最高的RT                         VIRT:虚拟内存;

RES:常驻内存;                                   SHR:共享内存;

计算一个进程实际使用的内存 = 常驻内存(RES)- 共享内存(SHR)

S:表示进程的状态status(sleeping,其中S表示睡眠,R表示运行);

%CPU:表示CPU的占用百分比;

%MEM:表示内存的占用百分比;

TIME+:执行的时间;                             COMMAND:进程的名称或者路径;

在运行top的时候,可以按下方便的快捷键:

M:表示将结果按照内存(MEM)从高到低进行降序排列;

P:表示将结果按照CPU使用率从高到低进行降序排列;

1:当服务器拥有多个cpu的时候可以使用“1”快捷键来切换是否展示显示各个cpu的详细信息; Top 表示当前指令 时间 up 当前计算机运行时间 活跃用户 负载情况 压力情况 Tasks表示任务数 runnering运行 sleeping休眠 stopped停止 zombie僵尸进程(未响应)

6、du -sh指令

作用:查看目录的真实大小

语法:#du -sh 目录路径

选项含义: -s:summaries,只显示汇总的大小

-h:表示以高可读性的形式进行显示

案例:统计“/root”目录的实际大小 #du -sh /root 案例:统计“/etc”目录实际大小 #du -sh /etc

本文标签: 指令 下一页 Linux