Linux
Linux快速上手
学习目标:
- 掌握Linux虚拟机的安装
- 掌握Linux中高级命令的使用
- 掌握Linux中的shell编程
一、 Linux的安装配置
- 安装VMware软件(略)
- 使用VMware安装配置Linux虚拟机
- 使用SecureCRT连接Linux虚拟机
电脑要开启虚拟化才能安装上虚拟机
1. 使用Vmware安装Linux虚拟机
使用的是Centos,安装过程略
2. 使用克隆的方式创建Linux虚拟机
略
二、 使用Xshell连接Linux虚拟机
- 方法一:SecureCRT
- 方法二:Xshell
- 方法三:MobaXTerm
这里安装Xshell,如果缺少mfc110u.dll文件,可以安装DirectX软件修复。
- 打开虚拟机终端,输入下面命令,找到对应的IP地址:
ifconfig
- 打开Xshell,打开文件–>新建
- 填写名称,主机这里填入刚才的IP,点击连接
三、 Linux常见高级命令
1.与文件相关
- vi:文件编辑利器
- wc、uniq、sort、head:文件内容统计相关命令
vi
- 编辑文件内容
- 复制粘贴
- 查找字符串
- 快速删除
- 查找某一行内容
- 快速跳转到文件行首和末行
- clear:清屏命令
- touch:创建库文件 等价于 vi一个不存在的文件
- vi Hello.txt:编辑Hello.txt文件,如果Hello.txt是不存在的,相当于创建。
- 不可编辑模式
- 按下
i
可编辑模式 - 编辑完成后按
Esc
,退出编辑,进入命令模式。 - 按
Shift + :
,输入wq
:表示保存退出。
- cat : 查看文件
- / + 你想要查找的内容,如果想看下一个按
n
:查找字符串:(https://img-blog.csdnimg.cn/619d8942a116475aaf8277e715adac63.png#pic_center) - 按
Shift + :
和 行号:跳转至对应行 - 按
Shift + :
和 set nu:显示行号 - Y 按两次,再按 P:将Y行代码复制粘贴到下一行
- D 按两次:删除当前行
- 9 按三次,再按D 两次:删除光标下面所有行
- 按 G :快速到最后一行
- 按 g 两次:跳转第一行
wc
代码 | 含义 |
---|---|
-c | 统计字节数。 |
-l | 统计行数。 |
-m | 统计字符数。这个标志不能与 -c 标志一起使用。 |
-w | 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。 |
-L | 打印最长行的长度。 |
-help | 显示帮助信息并退出 |
–version | 显示版本信息并退出 |
sort
代码 | 含义 |
---|---|
-b | 忽略每行前面开始出的空格字符。 |
-c | 检查文件是否已经按照顺序排序。 |
-d | 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。 |
-f | 排序时,将小写字母视为大写字母。 |
-i | 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。 |
-m | 将几个排序好的文件进行合并。 |
-M | 将前面3个字母依照月份的缩写进行排序。 |
-n | 依照数值的大小排序。 |
-o<输出文件> | 将排序后的结果存入指定的文件。 |
-r | 以相反的顺序来排序。 |
-t<分隔字符> | 指定排序时所用的栏位分隔字符。 |
+<起始栏位>-<结束栏位> | 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。 |
–help | 显示帮助。 |
–version | 显示版本信息 |
uniq
代码 | 含义 |
---|---|
-c或–count | 在每行前加上表示相应行目出现次数的前缀编号 |
-d或–repeated | 只输出重复的行 |
-D或–all-repeated[=delimit-method | 显示所有重复的行delimit-method={none(default),prepend,separate}以空行为界限 |
-f或–skip-fields=N | 比较时跳过前N 列 |
-i或–ignore-case | 在比较的时候不区分大小写 |
-s或–skip-chars=N | 比较时跳过前N 个字符 |
-u或–unique | 只显示唯一的行 |
-z或–zero-terminated | 使用’\0’作为行结束符,而不是新换行 |
-w或–check-chars=N | 对每行第N 个字符以后的内容不作对照 |
–help | 显示此帮助信息并退出 |
–version | 显示版本信息并退出 |
uniq只能对连续重复的字符进行去重,所以如果想要去重,最好先要进行排序组合,然后用管道命令| 联系去重 |
head
代码 | 含义 |
---|---|
-q | 隐藏文件名 |
-v | 显示文件名 |
-c<数目> | 显示的字节数 |
-n<行数> | 显示的行数 |
date
代码 | 含义 |
---|---|
-d<字符串> | 显示字符串所指的日期与时间。字符串前后必须加上双引号 |
-s<字符串> | 根据字符串来设置日期与时间。字符串前后必须加上双引号 |
-u | 显示GMT |
–help | 在线帮助 |
–version | 显示版本信息 |
格式化输出:date + “%Y-%m-%d %H:%M:%S”
输出昨天日期:
date -d "1 day ago" +"%Y-%m-%d"
输出二月份的天数:
date --date="2026-3-01 1 days ago" +%d
2. 与进程相关的命令
- ps:显示进程信息
- netstat:显示端口信息
- jps:显示java进程信息
- top:动态监控进程信息
- kill:杀掉进程
ps、netstat命令
代码 | 含义 |
---|---|
ps -ef | 显示系统内所有进程 |
netstat -anp | 可以查看端口信息,默认没有安装,安装命令:yum install -y net-tools |
jps命令
jps:类似ps命令,不同的是ps是用来显示所有进程信息的,而jps只显示Java进程信息。
准确的来说jps是显示当前用户已启动的Java进程信息,信息包括进程号和简短的进程command
注意:jps是Java提供的命令,所以只能在安装配置好Java环境才能使用
top命令
tip命令:主要作用在于动态显示系统小号资源最多的进程信息;包含进程ID、内存占用、CPU占用等
和ps命令基本相同,唯一的区别是top命令能够动态显示进程信息
q
键退出
kill命令
代码 | 含义 |
---|---|
kill PID | 杀掉进程 |
kill -9 PID | 强制杀掉进程 |
四、 Linux 三剑客
- grep:查找
- sed:编辑
- awk:分析
grep
grep:常用于查找文件里符合条件的字符串
代码 | 含义 |
---|---|
grep 字符串 | 查找对应字符串 |
grep -i | 忽略大小写 |
grep -n | 显示该行的行号 |
grep -v | 忽略包含指定字符串的内容 |
grep经常和管道| 结合使用,实现数据过滤查找;并且支持正则表达式 |
sed
sed:用来自动编辑一个或多个文件,简化对文件的反复操作
代码 | 含义 |
---|---|
sed a/i | 增加,a表示在某行后添加内容,i表示在某行前添加内容 |
sed d | 删除 |
sed s | 替换 |
sed -i | 直接修改源文件 |
默认不会修改源文件数据,它会修改在缓冲区中
sad命令解析:
sad[address] s/pattern/replacement/flags
address:表示指定要操作的具体行,是一个可选项
s:表示替换操作
pattern:指的是需要替换的内容
replacement:指的是要替换的新内容
flags:有多种用法
1. 第一种:就是flags可以表示为1~512之间的任意一个数字,表示指定要替换的字符串在这一行中出现第几次才进行替换
2. 第二种:就是flags可以直接表示为g,这样就是对每一行数据中所有匹配到的内容全部进行替换
3. 第三种:如果flags位置的值为空,则只会在第一次匹配成功时做替换操作
awk
awk:是一种处理文本的语言,是一个强大的文本分析工具,默认以空白或制表符切割
== 基本格式:awk [option] programe file==
awk '{print $1}' Hello.txt
自定义切割(以:为分隔符,取第一列):
awk -F: '{print $1}' /etc/passwd
正则过滤数据(对每行数据进行匹配,存在world打印整行):
awk '/world/{print $o}' Hello.txt