Linux
基本概念
文件和目录
-
Linux系统中的所有文件都存放在根目录下,以.开头的文件为隐藏文件
-
目录
-
/ :根目录
-
/home:所有普通用户的家目录
- 普通用户的操作范围仅限在自己的家目录
-
/root : Linux系统超级管理员的家目录
-
/usr/bin: Linux命令大部分都存在于该目录下
-
-
路径
-
绝对路径:路径源头固定不变
- / :根目录
- ~:当前用户的家目录
-
相对路径:当前所在路径为源头
- ./当前路径
- ../上一级路径
-
命令
-
命令主体 [-命令选项1命令选项2] [命令参数]
- 命令主体和选项之间必须包含一个空格
- 命令选项的作用一般是用来扩展命令主体功能的
-
查看命令帮助信息方法
-
命令主体 --help
- 可以查看命令具备哪些选项及选项含义
-
man 命令主体
- 查看命令的手册信息
-
通配符
- *:代表可以匹配任意长度的文件名
- ?:代表可以匹配单个字符
- []:括号内的内容表示一个范围
快捷键
- 空格键:向下翻页
- b:向上翻页
- q:退出分屏
- 上下键:快速调出历史命令
- tab键自动补齐
文件和目录操作
路径操作
-
查看当前路径
- pwd
-
切换路径
- cd 路径
-
查看当前路径下的文件和文件夹
-
ls
- -a:显示所有文件,包含隐藏文件
- -l:以列表形式显示文件详细信息
-
创建
-
创建文件
- touch 文件1 [文件2]
-
创建文件夹
- mkdir 文件夹1 [文件夹2](也可使用/创建多级目录)
复制
-
复制文件并提示是否覆盖
- cp -i 文件1 [文件2] 目录路径
-
复制文件夹
- cp -r 目录1 目录2
移动文件/文件夹
-
mv 文件名/文件夹名 目录路径
-
重命名
- mv 文件名1 文件名2(要在同一目录下)
删除
-
删除文件
- rm 文件名
-
删除文件夹
- rm -r 文件夹名
查找文件
-
find路径 -name '目标文件名'
- 文件名可使用通配符,可在其后加上-exec 命令
链接文件
-
软连接
- ln -s 源文件/文件夹路径 链接文件名
-
硬连接
- ln 源文件 目标文件
-
软连接与硬链接的区别
- 软链接使用文件路径名作为指针。所以删除连接文件对源文件无影响,但是删除源文件,连接文件就会找不到要指向的文件。
- 硬连接不管有多少个,都指向的是同一个I节点,会把结点连接数增加 ,只要结点的连接数不是 0,文件就一直存在,不管删除的是源文件还是 连接的文件,只要有一个存在,文件就存在
- 软连接可以对目录进行连接,硬连接不可以
文件内容操作
查看文件内容
-
cat 文件名
-
more 文件名:分屏查看
-
head -n 文件名:前n行
-
tail -n 文件名:后n行
-
动态查看日志内容
- tail -f 日志文件名
-
查看指定时间段日志
- sed -n '/2021-09-17 10:00:00/,/2021-09-18 10:00:00/p' 日志文件名
写入内容
- echo 内容>文件名
- cat 文件1 文件2>文件3
追加内容
- echo 内容>>文件名
- cat 文件1 >>文件2
查找内容
-
grep 需查找内容 文件名
-
命令 | grep 需查找内容
- |左侧命令的结果传递给右侧命令当数据源
-
统计字符串在文件中出现次数
- grep -o 'str1|str2' 文件名|wc -l
-
-
截取字符串:cut
-
显示每行从开头算起 num1 到 num2 的文字 -b :以字节为单位进行分割。 -c :以字符为单位进行分割。 -d :自定义分隔符,默认为制表符。 -f :与-d一起使用,指定显示哪个区域。 -n :取消分割多字节字符。仅和 -b 标志一起使用。
- cut [-bn] [file]
- cut [-c] [file]
- cut [-df] [file]
-
-
将str1替换为str2
- sed -i 's/str1/str2/g' 文件名
比较文件的差异
-
diff 文件1 文件2
- 以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则 diff 会比较目录中相同文件名的文件,但不会比较其中子目录
-
cmp 文件1 文件2
- 当相互比较的两个文件完全一样时,则该指令不会显示任何信息。若发现有所差异,预设会标示出第一个不同之处的字符和列数编号。若不指定任何文件名称或是所给予的文件名为"-",则cmp指令会从标准输入设备读取数据
-
comm 文件1 文件2
- 比较排序文件差异
文件权限操作
ls-l查看权限信息
-
第一位字母代表文件类型
- -:普通文件
- d:文件夹
- l:链接文件
-
9位字母,3位一组
- 拥有者权限
- 用户组权限
- 其他用户权限
-
1位数字
- 文件大小
-
文件拥有者和用户组名称
-
修改时间
-
文件名
chmod 数字1数字2数字3 文件名
- r4 w2 x1 -0
- 数字1,2,3分别对应 拥有者,用户组,其他人
umask -s 文件名
- 以rwx形式显示文件缺省权限
Vi编辑器
三种模式
-
vi 新文件名/已有文件名 ->命令模式
- i->插入模式,可输入内容
- :->末行模式 wq存盘退出,w存盘,q!不保存退出
-
扩展命令
-
命令模式
-
移动光标
-
gg:
- 光标移动文件开头
-
G:
- 光标移动到文件末尾
- 数字 G:移动到指定行
-
-
删除命令
-
X:
- 删除光标前一个字符,相当于backspace
-
dd:
- 删除光标所在行
-
ndd
- 删除指定的行数
-
-
撤销命令
-
u
- 一步一步撤销
-
Ctr-r:
- 反撤销
-
-
复制粘贴
-
yy:
- 复制当前行
-
nyy
- 复制n行
-
p:
- 在光标所在位置向下新开辟一行粘贴
-
-
查找命令
-
/str
- 查找
-
n
- 下一个
-
N
- 上一个
-
-
-
插入模式
- i:光标当前位置插入 I:插入行首
- a:光标后插入 A:光标所在行行尾插入
- o:光标所在行下开启新行
-
系统相关操作
系统
-
重启
- reboot
-
关机
- shutdown -h now
-
查看程序安装位置
- which 程序名
-
开启,关闭,重启服务
- service 服务名 start/stop/restart
-
显示系统信息
- uname [-amnrsv][--help][--version]
-
远程登录
- ssh [-l name -p port] hostname
- telnet hostname
进程
-
查看当前系统的(某)进程信息
- ps -aux | grep 进程名
-
杀死进程
- kill -9 进程ID
-
动态查看所有的进程信息
- top -p PID -d n(n秒刷新一次)
网络信息
-
查看端口号
- netstat -anptu| grep8080
-
查看占用某一端口的的程序名称及进程ID
- lsof -i:端口号
-
查看设备网络信息
- ifconfig
-
测试网络连通性
- ping
用户
-
用户切换
- su -用户名
-
查看用户名称
- whoami
- id -un:自身用户名称
- id -gn:组名称
-
exit
磁盘管理
-
df列出文件系统的整体磁盘使用量
- df [-ahikHTm] [目录或文件名]
-
du当前目录及其所有子目录下所有文件的大小
- du [-ahskm] 文件或目录名称
-
fdisk:用于磁盘分区
- fdisk [-l] 装置名称
压缩与解压
tar和gzip
-
打包和压缩
- tar -zcvf 压缩包名.tar.gz 目标文件/文件夹
-
解包和解压
- tar -zxvf 压缩包名.tar.gz 目标文件/文件夹 -C 解压位置文件夹
tar和bzip
-
打包和压缩
- tar -jcvf 压缩包名.tar.gz 目标文件/文件夹
-
解包和解压
- tar -jxvf 压缩包名.tar.gz 目标文件/文件夹 -C 解压位置文件夹
zip和unzip
- zip -r 压缩包名.zip 目标文件/文件夹
- unzip -d 解压位置文件夹 压缩包名.zip