Linux基础回顾
Linux起源于一个学生的简单需求。Linus Torvalds是Linux的作者与主要维护者,在芬兰赫尔辛基大学时所买得起的唯一软件是Minix. Minix是一个类似Unix,被广泛用来辅助教学的简单操作系统。
Linus对Minix并不是很满意,于是决定自己编写软件。他以当时熟悉的Unix作为原型,在一台Intel386Pc上开始了他的工作,然后成功的完成了Linux的雏形,一个拥有了绝大多数Unix优质特性的,可以运行在廉价的个人PC上的系统诞生了。同时,他将软件发布到了FTP服务器上,并将源代码开放,供所有人免费使用。
部分常用命令:
1) cp 复制 -r 拷贝目录 -p保持属性
2) mkdir 创建目录 -p 递归创建目录
3) find 查找文件或目录
4) tail 查看文件后N行,默认是10行
5) pwd 打印当前工作目录
6) rm 删除文件或目录 -r 目录 -f 强制删除
7) cat 查看文件内容
[图略]
相对路径与绝对路径:
绝对路径:由根目录 / 写起,例如 /usr/share/doc;
相对路径:用 .. 写起,代表上一级目录,例如cd ../local;
目录操作:
变换目录:cd ,例如 cd /home;
显示当前目录:pwd
建立新目录:mkdir, 例如 mkdir test;
删除空目录:rmdir,例如 rmdir test;
目录管理:
检视文件与目录:ls 例如 ls -l 可查看详细信息
复制文件与目录:cp 例如 cp test.txt /home/
删除文件与目录:rm 例如 rm -rf /opt/test可强制删除test目录
移动与更名:mv 例如 mv test.txt test.txt.old 可将文件更名
直接查看:
cat 由第一行开始显示文件全部内容
nl 显示文件全部内容,显示行号
tac 从最后一行开始倒叙显示文件全部内容
可翻页查看:
more 一屏一屏的现实文件内容
less 一屏一屏的现实文件内容,更强大
段落获取:
tail 文件末尾的内容,例如 tail -n 200 access.log
head 首部的内容,例如 head -n 100 access.log
修改文件时间或新建空文件:
touch 可修改文件时间属性,
例如 touch –t 201903200520.20 test.txt
查看文件类型:
file 可查看文件类型
文件类型标识 |
文件类型 |
- |
普通文件 |
d |
目录 |
L |
符号链接 |
S |
套接字 |
B |
块设备 |
C |
字符设备 |
p |
管道 |
find
通过实际的搜寻硬盘来查找文件,是很强大的命令,有很多的参数可供选择
find . -name “*install*” 可查找当前目录下所有带有install字样的文件与目录
find . -size +500k 可查找当前目录下所有大于500k的文件
find . -type d -name “*install*”可仅仅只查找出带有install字样的目录
find . -mtime +30 可查找出当前目录下所有30天以前的文件
tar 可对文件及目录进行打包、压缩与解压,
例如 tar -zxvf file.tar 可解压.tar类文件,
tar -zcvf file.tar.gz file/ 可打包整个file目录
unzip 可对zip类文件进行解压缩
例如 unzip file.zip 可解压file.zip文件
unzip -l file.zip 可仅查看file.zip内的文件
nzip 可将文件及目录压缩为zip类格式,
例如 zip -r file.zip file/ 可压缩整个file目录
文本编辑:
通过vi text.txt 打开文件后,可进行以下编辑模式
i 插入文本、删除文本;
x 删除单个文本;
dd 删除单行文本;
yy 复制单行文本;
pp 粘贴复制的单行文本;
A 从该行末尾插入文本;
G 定位到文件最后一个字符;
字符串定位:
进入命令模式后,
键入 /8080,敲回车,会定位到文本中首个 8080字符串位置,键入 n 可跳到下一个该字符串位置
连续操作符 [;]:
通过操作符 ; 可以将多个命令串联起来连续执行
例如 cd /root;cat test.txt,
可以先进入到/root目录然后接着显示出test.txt的文本内容
管道操作符 [ | ]:
通过操作符 | 可以将前一个命令的结果交给后面的命令进行二次处 ……理
例如 cat test.txt | cut -d ‘,’ -f 1-3,可将test.txt中的内容以, 分割然后取出第一段到第三段字符串
ps -ef | grep tomcat,可查看tomcat进程是否存在
重定向操作符 [ >> > < ]:
通过操作符 >> 可以将前面命令的结果附加到后面的文件中
例如 find . >> test.txt;
通过操作符 > 可以用前面命令的结果覆盖后面的文件内容
例如 find . > test.txt;
通过操作符 < 可以将后面文件的内容作为互动的参数传给前面命 令执行
例如 ftp < ftplogin.txt ;
ps 通过ps可查看系统进程状态信息
pstree 可形象的以进程树的形式显示进程间的关系
top 相当于Windows下的任务管理器
free 可查看系统的内存使用情况,例如 free -m,将以M为单位显示内存使用情况;
kill 可根据进程ID来结束进程,例如 kill 3031
kill -9 3031,可以强制结束ID为3031的进程
killall 可根据进程名称来结束进程,例如 killall java
killall -9 java,可以强制结束所有名称为java的进程
批处理模式:
1.使用 vim hello.sh 创建并开始编写shell
2.第一行写入 #!/bin/sh
3.后面分行写入需要执行的命令,然后保存并退出
4.使用 chmod 755 hello.sh 给脚本赋予执行权限
5.通过 sh hello.sh 或 ./hello.sh 方式执行脚本
日志:
指定内容查看:cat -n catalina.out | grep "上传" | more
指定内容输出:cat -n catalina.out | grep "上传" >test.txt
awk、grep、sed是linux操作文本的三大利器