Linux 新手命令

1 强大好用的SHELL

Shell就是终端程序的统称,它充当了人与内核(硬件)之间的翻译官,用户把一些命令“告诉”终端程序,它就会调用相应的程序服务去完成某些工作。现在包括红帽系统在内的许多主流Linux系统默认使用的终端是Bash(Bourne-Again SHell)解释器,这个Bash解释器主要有以下4项优势:

通过上下方向键来调取执行过的Linux命令;

命令或参数仅需输入前几位就可以用Tab键补全;

具有强大的批处理脚本;

具有实用的环境变量功能。

2 执行命令的必备知识

命令名称 [命令参数] [命令对象]

命令名称:就是语法中的“动词”,表达的是想要做的事情,例如创建用户、查看文件、重启系统等操作。

命令参数:用于对命令进行调整,让“修改”过的命令能更好地贴合工作需求,达到事半功倍的效果。

Linux命令参数的长格式与短格式示例

长格式 man --help
短格式 man -h

4个快捷键/组合键小技巧

1)Tab键:
# re<Tab键><Tab键>
eg.输入了两个字母re,随后敲击了两下Tab键。由于以re开头的命令不止一个,所以系统将所有以re开头的命令全部显示了出来。而第二次输入reb后再敲击Tab键,由于此时没有以reb开头的其他命令,所以系统就显示出了完整的reboot重启命令。

2)Ctrl+c组合键:当同时按下键盘上的Ctrl和字母c的时候,意味着终止当前进程的运行

3)Ctrl+d组合键:当同时按下键盘上的Ctrl和字母d的时候,表示键盘输入结束。

4)Ctrl+l组合键:当同时按下键盘上行的Ctrl和字母l的时候,会清空当前终端中已有的内容(相当于清屏操作)。
补充其他方式: 1、clear
2、reset
3、上述命令,自定义别名 alias cls='clear'
PS:windows CMD终端的清屏命令是cls
3 常用系统工作命令
1.echo 在终端设备上输出字符串或变量提取后的值,语法格式为“echo [字符串] [$变量]”
2.date 显示或设置系统的时间与日期,语法格式为“date [+指定的格式]”
# date "+%Y-%m-%d %H:%M:%S"
3.timedatectl 设置系统的时间,英文全称为“time date control”,语法格式为“timedatectl [参数]”
4.reboot 用于重启系统,输入该命令后按回车键执行即可(需要 root权限)
5.poweroff 关闭系统,输入该命令后按回车键执行即可(需要 root权限)
6.wget 终端命令行中下载网络文件,英文全称为“web get”,语法格式为“wget [参数] 网址”
软件源和文件类型掌握后,再测试~~~~
7.ps 查看系统中的进程状态,英文全称为“processes”,语法格式为“ps [参数]”
PS aux #太乱,不好看
R(运行):进程正在运行或在运行队列中等待。
S(中断):进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该 状态。
D(不可中断):进程不响应系统异步信号,即便用kill命令也不能将其中断。
Z(僵死):进程已经终止,但进程描述符依然存在, 直到父进程调用wait4()系统函数后将进程释放。
T(停止):进程收到停止信号后停止运行。

      除了上面5种常见的进程状态,还有可能是高优先级(<)、低优先级(N)、被锁进内存(L)、包含子进程(s)
	  以及多线程(l)这5种补充形式。

8.pstree 树状图的形式展示进程之间的关系,英文全称为“process tree”,输入该命令后按回车键执行即可(不常用)
9.top *动态地监视进程活动及系统负载等信息,输入该命令后按回车键执行即可!!
第1行:系统时间、运行时间、登录终端数、系统负载
(3个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低)。
第2行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。
第3行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。
其中数据均为CPU数据并以百分比格式显示,例如“99.9 id”意味着有99.9%的CPU处理器资源处于空闲。
第4行:物理内存总量、内存空闲量、内存使用量、作为内核缓存的内存量。
第5行:虚拟内存总量、虚拟内存空闲量、虚拟内存使用量、已被提前加载的内存量。
10.nice 调整进程的优先级,语法格式为“nice优先级数字 服务名称” 取值 -20 ~ 19,越小越优先
11.pidof 查询某个指定服务进程的PID号码值,语法格式为“pidof [参数] 服务名称”
12.kill 终止某个指定PID值的服务进程,语法格式为“kill [参数] 进程的PID”
参数-9,表示最高级别地强制杀死进程
13.killall 终止某个指定名称的服务所对应的全部进程,语法格式为“killall [参数] 服务名称”
4 系统状态检测命令
1.ifconfig 获取网卡配置与网络状态等信息
主要查看的就是网卡名称ens160、inet参数后面的IP地址、ether参数后面的网卡物理地址(又称为MAC地址),
以及RX、TX的接收数据包与发送数据包的个数及累计流量
2.uname 看系统内核版本与系统架构等信息,英文全称为“unix name”,语法格式为“uname [-a]”
3.uptime 查看系统的负载信息,输入该命令后按回车键执行即可
最近1分钟、5分钟、15分钟内的压力情况(下面加粗的信息部分),负载值越低越好。
4.free 显示当前系统中内存的使用量信息,语法格式为“free [-h]”,不加参数,默认按照Kb来衡量
-h 取最大单位,
-M 已M为单位来衡量
5.who 查看当前登入主机的用户终端信息,输入该命令后按回车键执行即可
6.last 调取主机的被访记录,输入该命令后按回车键执行即可,重启也不丢失,保存在文件中
7.ping 测试主机之间的网络连通性,语法格式为“ping [参数] 主机地址”

      参数	作用
      -c	总共发送次数
      -l	指定网卡名称
      -i	每次间隔时间(秒)
      -W	最长等待时间(秒)
eg.   ping -c 4 -i 0.2  -w 2 192.168.175.75

8.tracepath 显示数据包到达目的主机时途中经过的所有路由信息,语法格式为“tracepath [参数] 域名”
9.netstat 显示如网络连接、路由表、接口状态等的网络相关信息,英文全称为“network status”,语法格式为“netstat [参数]”。
参数以及作用
-a 显示所有连接中的Socket
-p 显示正在使用的Socket信息
-t 显示TCP协议的连接状态
-u 显示UDP协议的连接状态
-n 使用IP地址,不使用域名
-l 仅列出正在监听的服务状态
-i 显示网卡列表信息
-r 显示路由表信息
10.history 显示执行过的命令历史,语法格式为“history [-c]”
使用-c参数清空所有的命令历史记录。还可以使用“!编码数字”的方式来重复执行某一次的命令
11.sosreport sosreport命令用于收集系统配置及架构信息并输出诊断文档,输入该命令后按回车键执行即可
排错,自检首要文件!
5 查找定位文件命令
1.pwd 显示用户当前所处的工作目录,英文全称为“print working directory”,输入该命令后按回车键执行即可
2.cd 切换当前的工作路径,英文全称为“change directory”,语法格式为“cd [参数] [目录]”
cd ~ 返回家目录
cd - 返回上次目录
cd ..返回上一级目录
3.ls 显示目录中的文件信息,英文全称为“list”,语法格式为“ls [参数] [文件名称]”
-a参数可以看到全部文件(包括隐藏文件),
-l参数可以查看文件的属性、大小等详细信息,
也可结合,-al
-d参数查看目录属性信息,
也可查看项目目录信息,-ld
4.tree 树状图的形式列出目录内容及结构,输入该命令后按回车键执行即可
与 ls区别,可以查看嵌套的目录内容
5.find 按照指定条件来查找文件所对应的位置,语法格式为“find [查找范围] 寻找条件”
find / ## 全目录查找
且,find比较特殊,用的是长格式命令,但是用一个-
参数 作用
-name 匹配名称
-perm 匹配权限(mode为完全匹配,-mode为包含即可)
-user 匹配所有者
-group 匹配所有组
-newer f1 !f2 匹配比文件f1新但比f2旧的文件
-size 匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件)
-exec …… {}; 后面可跟用于进一步处理搜索结果的命令(下文会有演示)

6.locate 按照名称快速搜索文件所对应的位置,语法格式为“locate文件名称”
在使用locate命令时,先使用updatedb命令生成一个索引库文件
7.whereis 按照名称快速搜索二进制程序(命令)、源代码以及帮助文件所对应的位置
8.which 按照指定名称快速搜索二进制程序(命令)所对应的位置

find 慢,找的全,重名的多
locate 直到部分名字,也有重复,比find快,但是可能不全
whereis 没有重复,但是有源代码和帮助文件
which 只关心二进制程序的位置,其他啥也不管

6 文本文件编辑命令
1.cat 查看纯文本文件(内容较少的),英文全称为“concatenate”,语法格式为“cat [参数] 文件名称”,一屏幕以内的
2.more 查看纯文本文件(内容较多的),语法格式为“more [参数] 文件名称”,有分屏提示,适用多屏幕的
3.head 查看纯文本文件的前N行,语法格式为“head [参数] 文件名称” head -n 10 文件名 看前10行
4.tail 查看纯文本文件的后N行或持续刷新文件的最新内容,语法格式为“tail [参数] 文件名称” tail -n 10 文件名 看最后10行
tail命令最强悍的功能是能够持续刷新一个文件的内容,当想要实时查看最新的日志文件时,
这特别有用,此时的命令格式为“tail -f文件名称”:

Tips:看中间5行? # head -n 15 123.txt | tail -n 5 123.txt 把前面的15行,当作对象,用tail看最后5行==看中间的5行
5.tr 替换文本内容中的字符,英文全称为“translate”,语法格式为“tr [原始字符] [目标字符]”
6.wc 统计指定文本文件的行数、字数或字节数,英文全称为“word counts”,语法格式为“wc [参数] 文件名称”
参数 作用
-l 只显示行数
-w 只显示单词数
-c 只显示字节数
7.stat 看文件的具体存储细节和时间等信息,英文全称为“status”,语法格式为“stat文件名称”

除了修改时间之外,Linux系统中的文件包含3种时间状态,分别:
Access Time(内容最后一次被访问的时间,简称为Atime),
Modify Time(内容最后一次被修改的时间,简称为Mtime),
Change Time(文件属性最后一次被修改的时间,简称为Ctime)。

8.grep 按行提取文本内容,语法格式为“grep [参数] 文件名称”
-n参数用来显示搜索到的信息的行号;
-v参数用于反选信息(即没有包含关键词的所有信息行)。
9.cut 按“列”提取文本内容,语法格式为“cut [参数] 文件名称”,系统文件在保存用户数据信息时,每一项值之间是采用冒号来间隔的
-f参数设置需要查看的列数,
-d参数来设置间隔符号

eg.  # cut -d : -f 1 /etc/passwd

10.diff 比较多个文件之间内容的差异,英文全称为“different”,语法格式为“diff [参数] 文件名称A 文件名称B”

 --brief参数来确认两个文件是否相同,只说是否不同
-c参数来详细比较出多个文件的差异之处,明确哪里不同

11.unip 用于去除文本中连续的重复行,英文全称为“unique”,语法格式为“uniq [参数] 文件名称”
12.sort 用于对文本内容进行再排序,语法格式为“sort [参数] 文件名称”
参数 作用
-f 忽略大小写
-b 忽略缩进与空格
-n 以数值型排序
-r 反向排序
-u 去除重复行
-t 指定间隔符
-k 设置字段范围
Tips:与uniq命令不同,sort命令是无论内容行之间是否夹杂有其他内容,只要有两个一模一样的内容行,立马就可以使用-u参数进行去重操作:

7 文件目录管理命令
1.touch 创建空白文件或设置文件的时间,语法格式为“touch [参数] 文件名称”

参数 作用
-a 仅修改“读取时间”(atime)
-m 仅修改“修改时间”(mtime)
-d 同时修改atime与mtime

2.mkdir 用于创建空白的目录,英文全称为“make directory”,语法格式为“mkdir [参数] 目录名称”
3.cp 复制文件或目录,英文全称为“copy”,语法格式为“cp [参数] 源文件名称 目标文件名称”

在Linux系统中,复制操作具体分为3种情况:

如果目标文件是目录,则会把源文件复制到该目录中;

如果目标文件也是普通文件,则会询问是否要覆盖它;

如果目标文件不存在,则执行正常的复制操作。

参数 作用
-p 保留原始文件的属性
-d 若对象为“链接文件”,则保留该“链接文件”的属性
-r 递归持续复制(用于目录)
-i 若目标文件存在则询问是否覆盖
-a 相当于-pdr(p、d、r为上述参数)

4.mv 剪切或重命名文件,英文全称为“move”,语法格式为“mv [参数] 源文件名称 目标文件名称”
如果在同一个目录中将某个文件剪切后还粘贴到当前目录下,其实也就是对该文件进行了重命名操作
5.rm 删除文件或目录,英文全称为“remove”,语法格式为“rm [参数] 文件 名称”

参数 作用
-f 强制执行
-i 删除前询问
-r 删除目录
-v 显示过程

6.dd 按照指定大小和个数的数据块来复制文件或转换文件,语法格式为“dd if=参数值of=参数值count=参数值bs=参数值”。

参数 作用
if 输入的文件名称
of 输出的文件名称
bs 设置每个“块”的大小
count 设置要复制“块”的个数

还可以光驱设备中的光盘制作成iso格式的镜像文件

dd if=/dev/cdrom of=RHEL-server-8.0-x86_64-LinuxProbe.Com.iso

7.file 查看文件的类型,语法格式为“file文件名称”
8.tar 用于对文件进行打包压缩或解压,语法格式为“tar参数 文件名称”

参数 作用
-c 创建压缩文件
-x 解开压缩文件
-t 查看压缩包内有哪些文件
-z 用Gzip压缩或解压
-j 用bzip2压缩或解压
-v 显示压缩或解压的过程
-f 目标文件名
-p 保留原始的权限与属性
-P 使用绝对路径来压缩
-C 指定解压到的目录

一般使用“tar -czvf压缩包名称.tar.gz要打包的目录”命令把指定的文件进行打包压缩;
相应的解压命令为“tar -xzvf压缩包名称.tar.gz”********

posted @ 2021-10-17 22:04  Alex~75  阅读(181)  评论(0)    收藏  举报