linux基础知识总结
- 绝对路径:从根目录开始,指定一个位置,文件
- 相对路径:从当前进程工作目录位置开始,指定一个位置,文件
- shell:命令解析器。默认运行在终端当中的程序(进程)。
- bash:born again shell。linux版的shell。命令解析器。
- 文件:在linux操作系统中,所见皆文件
- 用户:linux是一款多用户多任务的分时复用操作系统
- 家目录:宿主目录。每个用户不同。——cd回车 所到的目录
基本命令
-
ls -l命令:
文件属性:10个字符,分为两组。
- 第一组:第一个字符。代表文件类型:7种——linux下不以文件后缀名,作为区分文件类型的依据。
- 普通文件: -
- 目录文件:d
- 软连接文件:l ——相当于windows快捷方式
- 字符设备文件:c ——伪文件(不占用磁盘存储)
- 块设备文件:b ——伪文件
- 套接字文件:s ——伪文件
- 管道文件: p ——伪文件 unknown文件
- 第一组:9个字符,分三组。——文件所有者,文件所属组,其他人:r,w,x
- 硬链接统计数:有多少个文件公用同一个inode编号
- 创建软连接:ln 旧文件名新硬链接文件
- 特征:文件和硬链接文件之间,出文件名不一样外,其他信息完全一致,并能实时同步。
- 文件所属用户:谁创建默认属于谁
- 文件所属用户组:谁创建默认属于该用户所在用户组。用户——同名用户组
- 文件所占存储空间大小(字节):文件:实际大小。目录文件,4k整数倍
- 文件创建,最后一次修改时间:初创时间,实际创建时间;修改过的文件,修改时间,文件名。
- 第一组:第一个字符。代表文件类型:7种——linux下不以文件后缀名,作为区分文件类型的依据。
-
ls常用参数
- -a:常隐藏文件。——以“.”开头的文件或目录
- -d:查看目录本身属性
- –help:查看帮助信息
-
TAB键:自动补齐
-
history:历史命令
-
man:帮助手册
-
重定向:
- ">"重定向到指定文件,文件不存在自动创建,存在覆盖原文件
- ">>"将内容追加到指定文件,文件不存在自动创建。存在不覆盖
-
分屏读取大文件:
- more
- less
- cat
- tac
-
管道:
- ”|“将左边命令执行结果,写到右边,再执行右边的命令。
- ps aux | grep XXX ——筛选系统中,所有正在运行的XXX进程
-
cd: change directory ——进入某个目录
- cd /bin 绝对路径
- cd …上一级目录
- cd ./当前目录
- cd ~ 回到用户宿主目录(家目录)
- cd 回车 回到用户宿主目录
- cd -:切换到上一次工作过的目录中
-
pwd:查看当前进程工作目录位置
-
终端提示符的语法规则:
- 用户名@主机名:当前shell进程工作目录$/# $普通用户 #管理员
-
创建目录:
- mkdir 目录名
- -p:递归一次性创建多个目录
-
删除文件和目录:
- rm -r r:递归删除目录子内容
- rm命令删除的文件,目录不易恢复。
-
ln命令:
- 硬链接: ln 源文件 链接文件,不能给目录创建硬链接
- 软连接: ln -s 源文件 链接文件,等同于windows下的快捷方式。建议使用”绝对路径创建软连接“,可以给目录创建软连接。
-
目录文件拷贝:
- -r: 递归拷贝目录内容。在执行命令时,创建文件,目录
- -a: 递归拷贝目录内容。保留文件原有属性
-
mv命令:
- 移动文件:mv 待移动文件名 目录位置
- 改文件名: mv待改文件名 不存在的文件、目录名
-
压缩命令:
- gzip:不能打包压缩,不能保留原文件,不能压缩目录
- bzip2:不能打包压缩,不能压缩目录
- tar:打包压缩
- 压缩:
- tar -zcvf xxx.tar.gz 打包压缩材料
- tar -jzvf xxx.tar.bz2 打包压缩材料
- j:bzip2压缩格式
- z:gzip格式压缩
- c:创建压缩文件
- v:输出压缩详细
- f:指定压缩后的文件名
- .tar.gz .tar.bz2:不具有语法强制性,但推荐使用
- 解压缩:
- tar -zxvf xxx.tar.gz
- tar -jxvf xxx.tar.bz2
- zip:
- 压缩:zip -r 压缩包名(没有.zip后缀)打包压缩材料
- 解压缩:unzip -d 解压缩位置目录 xxx.zip(待压缩文件)
-
切换用户
- su 用户名:切换到指定用户登录,不修改工作目录位置
- su - 用户名: 切换到指定用户登录,修改工作目录位置到该用户的宿主目录
- su - root :切换到root用户登录,修改工作目录位置到root的宿主目录
- su root:切换到root用户登录,不改变工作目录位置 等价于(sudo su)
- sudo关键字:临时获取一次root用户权限,执行完后续命令,该权限失效。
-
添加新用户: sudo adduser 新用户名
-
删除新用户:sudo deluser 用户名
-
修改文件按所有者:chown 新用户名 待修改用户名的文件名
-
添加新用户组:sudo addgroup 新组名
-
删除新组名:sudo delgroup 新组名
-
修改文件所属组:chgrp 新组名 待修改组名的文件名
-
chmod:修改文件目录访问权限 r、w、x:4/2/1 实例:r-x-w-r–: 5 2 4
-
文件 目录 r 查看文件内容cat,more,less,tac,vim(读)gedit(读) 目录的内容(目录项)可以被查看 ls,vim(读) w 修改,删除文件内容cat> /can >> vim(写,删)/gedit(写,删除) 目录文件内容(目录项)可以被修改,删除,添加mv,cp,rm,rmdir,mkdir,touch x 该文件可以运行 该目录可以被进入 -
进程查看信息:ps aux|grep XXX top —Linux下的任务管理器
-
终止进程:kill -9 欲终止进程ID(可通过ps aux|grep XXX获得)
-
前台,后台:
- 能否与用户完成交互
- &:将进程放置到后台执行
- jobs:查看后台运行的程序
- fg:恢复后台一个进程到前台执行。+优先级高,指定某一个进程恢复到前台来。用jobs查看”进程编号“
-
多终端热键:
- Ctrl + Alt + ↓ 或 ↑ —— 虚拟一块新桌面
- Ctrl + Alt + T —— 唤醒一个新终端(独立)
- Ctrl + shift + T —— 在一个终端里,创建多个shell标签。
-
ifconfig:
-
查看当前网卡相关信息: ——ip地址
-
临时设置ip地址:sudo ifconfig ens33 新ip,系统重启失效,sudo ifconfig ens33 up/down使用命令 网卡启动关闭
-
永久设置ip地址:图形: 设置——网络——有线连接 + —— IPv4 —— 手动 —— 填入地址、子网掩码 、网关 —— “添加”
网址: 网段。IP里面倒数第二字段。子网掩码: 255. 255.255. 0 网关:网段确定后,网关即为该网段的 第一个ip地址。192.168.xxx.1 —— 192.168.xxx.255 (广播地址)命令:—— 通过修改配置文件,达到永久修改IP的目的。修改 /etc/network/interfaces 文件。 添加 网址、子网掩码、网关。 指定DNS服务器
-
-
ping:
- 发送一个测试数据包,到指定ip地址。测试是否畅通
- Ctrl+c终止
- -c参数,指定发送数据包的次数
-
虚拟机网路的设置:
- 桥接模式:路由器给虚拟linux单独分配一个ip地址,与windows在同一网段
- NAT模式:linux虚拟机借助windows网卡,访问外网。linux和windows公用访问外网的ip。
-
find命令:
-
格式:find 待搜索目录 参数 ”关键字“
-
-name:find /home/itcast/go_1 -name “*.soft” —— 在目录中找 .soft 结尾的文件。
-
-type:f(普通文件)、d、l、c、b、p、s find /run/ -type “s” —— 在目录中找 socket 文件。
-
-size:区范围时: 两个范围 之前都有加 -size 关键字。+ : 大于、 - : 小于
单位:
M 只支持大写。
k 只支持小写。
无单位——默认单位是 512B。 -
-maxdepth:指定搜索层级深度。 放置于其他参数之前。
find -maxdepth 1 -type ‘f’ -name “*.go” —— 只在当前目录下,搜索 .go 文件、目录。
-
-exec:对搜索结果执行命令 find -maxdepth 1 -type ‘f’ -name “*.go” -exec ls -l {} ;
-
-xargs:对搜索结果执行命令 find -maxdepth 1 -type ‘f’ -name “*.go” | xargs ls -l 特例:如果文件名中含有空格, 如:文件名:‘abc xyz’ find -maxdepth 1 -type ‘f’ -print0 | xargs -0 ls -l
-
-
grep:grep -r/-R ”love“ 目标目录的位置
vim
- 命令模式:默认进入vim的工作模式,该模式下,用户所有输入均被当成命令。
- 编辑模式:编写模式。写代码,文本内容
- 末行模式:在命令模式下,按”:“进入末行模式。该模式下,用户所有输入均被当成末行命令
命令模式
光标移动:
-
h:左
-
j:下
-
k:上
-
L:右
-
转换编辑模式
- i:向光标所在位置的前面插入数据
- a:向光标所在位置的后面插入数据
- o:向光标所在位置的下一行插入数据
- s:以删除光标位置一个字符为代价,修改工作模式 —— 文本编辑模式。
- O:向光标所在位置的 “上一行”插入数据!
- I:向光标所在位置的 “行首”插入数据!
- S:以删除光标位置一整行为代价,修改工作模式 —— 文本编辑模式!
-
复制,粘贴:
- yy:复制光标所在行。
- Nyy:复制光标所在往后的N行(包含本行)。
- p:粘贴至光标所在位置,下一行。
- P(大写):粘贴至光标所在位置,上一行。
- yw:将光标放置于单词的首字符上, 复制一个单词。
- 区域复制:将光标放置于待复制区域的首字符上, 按“v”(左下角出现 “可视”提示)使用 h,j,k,l 选择复制区域。
-
剪切,粘贴:
- dd:剪切光标所在行。
- Ndd:剪切光标所在往后的N行(包含本行)。
- p:粘贴至光标所在位置,下一行。
- P(大写):粘贴至光标所在位置,上一行。
- dw:将光标放置于单词的首字符上, 剪切一个单词。
- 区域剪切:将光标放置于待剪切区域的首字符上, 按“v”(左下角出现 “可视”提示)使用 h,j,k,l 选择剪切区域。
- d0:从光标所在位置,删除到 行首。
- d$(D): 从光标所在位置,删除到 行尾。
-
删除:同剪切
-
字符操作:
- x:删除光标选中字符
- r:光标选中字符, 按“r”, 按目标字符。 可以将 原字符,替换为 目标字符。
-
跳转到指定行
- 命令模式:
- gg:第一行
- G:最后一行
- gg=G 自动排版。
- NG:跳转到 第 N 行
- vim hello.go + 56 —— 打开文件同时,跳转到 56 行
- 末行模式:
- :N 回车。 —— 跳转到 第 N 行
- 查找:
-
- 想象一个单词查找。 输入“/”(显示在末行的位置), 再输入要查找的单词。
- 查找一个已经看到的单词。将光标放在该单词任意一个字符,“*”向后找, “#”向前找。 “n”代表下一个。
-
- 撤销: ”u“
- 反撤销:ctrl - r
- 替换:—— 末行模式。
-
- 单行替换: 😒/旧单词/新单词。 一行有多个“旧单词”, 使用 “g”。否则只替换一行的首个。
- 通篇替换: :%s/旧单词/新单词。 一行有多个“旧单词”, 使用 “g”。否则只替换一行的首个。
- 指定区域替换: :n,ms/旧单词/新单词。替换从n行开始,到m行结束,出现的“旧单词”, 一行有多个“旧单词”, 使用 “g”。否则只替换一行的首个。
-
- vim的配置:
- 用户配置:在宿主目录下,创建.vimrc(隐藏文件),写入配置项
- 系统配置:sudo vi /etc/vim/vimrc (非隐藏文件)。写入 配置项。
- 命令模式:
-
测试某软甲是否安装:sudo aptitude show 软件名 —— “未安装”:根据提示安装。—— “已安装”。
-
linux远程登陆linux:
ssh -l 目标主机用户名 目标主机 iP地址。 ( 或 ssh itcast@127.0.0.1 )—— 输入目标主机 密码。登录到目标主机的 “家目录”
-
Linux 远程 发送文件给 Linux:scp -r 目标用户名@目标主机名:目标存储的绝对路径 (例子: scp -r ./test123.mp3 zhangsan@192.168.35.221:/home/zhangsan/test )—— 输入目标主机 密码。
文件 直接存在在目标主机的指定目录下。 ( test123.mp3 存储在 zhangsan用户的/home/zhangsan/test目录下。)
846

被折叠的 条评论
为什么被折叠?



