Ununtu系统-Linux内核
Windows闭源操作系统
Linux来源操作系统:源代码公开
Linux目录结构:
Linux可以看作是只有一个分区
/ 根分区
Linux文件系统是倒置的树形分层组织结构
FHS:
/bin : bin是二进制 ( binary ) 的缩写
/boot : 存放的都是系统启动时要用到的程序
/dev : 包含了所有Linux系统中使用的外部设备
/etc : 存放了系统管理时要用到的各种配置文件和子目录
/lib : 存放系统动态链接共享库的
/ home : 普通用户的主目录
/ root : 根用户(超级用户)的主目录
Linux文件类型:
d //directory目录文件(文件夹)
- //普通文件
l //link 链接文件
c //设备文件
b //bin 二进制文件
s //socket 套接字文件
p //管道文件
- 绝对路径和相对路径
绝对路径:从/
开始的完整路径
相对路径:相对于当前路径而言
终端:人机交互界面
ctrl + alt + t //打开新的终端
右键 open terminal //再打开
ctrl + shift + n //打开
ctrl + shift + t //并列打开
alt + tab //切换终端
ctrl + shift + ’+‘ //放大字体
ctrl + ‘-’ //缩小字体
命令提示符
zero@localhost:~$:
zero 当前使用用户名
@ 分隔符
localhost 主机名
: 分隔符
~ 这个位置是当前所在路径
~是用户普通用户操作的顶层目录,是用户的家目录
$ 用户权限访问符
root 管理员用户 #
其他普通用户 $
-
rwx rwx r-x:文件权限
主用户 同组用户 其他用户 -
linux用户就只能在/home/linux下面去创建删除文件
使用命令进行交互
语法格式:
命令 [-选项] [参数]
-
命令: 计算机系统可以识别的指令
-
选项: 选择命令的功能,可以省略,此时使用的是默认选项,通常选项带 -
-
参数: 命令操作目标
-
命令 选项 参数 之间有空格分隔,一条命令以回车作为结束
命令:
ls 查看当前路径下所有内容
ls -l 以长格式查看当前路径下所有内容
ls 目录名 查看指定目录里边所有内容
ls -a 查看当前路径下所有内容,包括隐藏文件
隐藏文件是以 . 开头的文件/目录
. 当前路径
… 上一级路径
清屏: clear 或者 ctrl + l
pwd: 查看当前路径的绝对路径
cd 目录名 切换到指定目录 只能进入到目录,不能操作文件
cd 指定路径/目录名 切换到指定路径的指定目录
cd … 回到上一级目录
cd - 回到上一次的操作目录
- 回到家目录的三种方式
-
cd /home/用户名
-
cd ~
-
cd
mkdir 目录名 在当前目录下创建指定目录
mkidr 目录1 目录2 … 目录n 在当前目录下创建多个目录
mkdir 指定路径(绝对路径)/目录名 在指定路径创建目录名
mkdir 路径(绝对)1/路径(相对)2/目录3 递归创建目录,如果路径的目录不存在就会创建出对应的目录
touch 文件名 在当前路径创建指定文件
touch 文件1 文件2 … 文件n 在当前路径创建多个文件
touch 路径(绝对)/文件名 在指定路径创建文件
mv 改名/移动
改名是针对在同一路径下的文件,不会改变文件的路径
mv 旧文件名/目录名 新文件名/目录名
移动是针对把文件的路径修改
mv 文件名/目录名 指定路径 把文件移动到指定路径
mv 文件名/目录名 指定路径/新文件名 把文件移动到指定路径同时更改文件名
mv 指定路径/文件名 . 把指定路径文件移动到当前路径
mv 指定路径/文件名 ./新文件名 把指定路径文件移动到当前路径同时更改文件名
mv 指定路径A/文件名 指定路径B 把指定路径A文件移动到指定路径B
mv 指定路径A/文件 指定路径B/新文件名 把指定路径A文件移动到指定路径B同时更改文件名
cp 文件名 新文件名 把当前路径的文件复制为新文件
cp 文件名 路径 把文件复制到指定路径
cp 文件名 路径/新文件名 把文件复制到指定路径同时更改文件名
cp 指定路径/文件名 . 把指定路径的文件复制到当前路径
cp 指定路径/文件名 ./新文件名 把指定路径的文件复制到当前路径同时更改文件名
cp 指定路径A/文件 指定路径B/新文件名 把指定路径A文件复制到指定路径B同时更改文件名
cp -r目录名 新文件名 把当前路径的目录复制为新目录
cp -r 目录名 路径 把目录复制到指定路径
cp -r 目录名 路径/新目录名 把目录复制到指定路径同时更改目录名
cp -r 指定路径/目录名 . 把指定路径的目录复制到当前路径
cp -r 指定路径/目录名 ./新目录名 把指定路径的目录复制到当前路径同时更改目录名
cp -r 指定路径A/目录 指定路径B/新目录名 把指定路径A目录复制到指定路径B同时更改目录名
rm 文件名 删除当前路径的指定文件
rm 文件1 文件2 … 文件n 删除当前路径的多个文件
rm 路径/文件名 删除指定路径的文件
rm -r 目录名 //删除当前路径的指定目录
rm -r目录1 目录2 … 目录n //删除当前路径的多个目录
rm -r 指定路径/目录名 //删除指定路径的目录
cat 文件名 查看文件内容
vim文本编辑器
vim使用:
vim + 文件名 //文件不存在,先创建再打开,存在直接打开
vim的三种模式
-
命令模式: 进入vim默认的模式,再该模式下不能进行文本编辑工作,可以复制,粘贴,命令操作等等
-
插入模式: 文本编辑模式
-
底行模式: 光标位于底行,可以进行文本的保存,vim 的退出等操作
vi查找和替换功能:
假设当前处于vi或vim底行模式:
查找该文件中所有与aaa有关的内容:/aaa
查找替换:
:%s/old/new/g
//全文替换指定字符串 ,old代表要被替换的字符串,new代表要替换成的字符串,最后的g代表不用提示确认,如果需要提示确认操作的话,把g改为c。
:%s/print/hello/g
//将文件所有‘print’替换成‘hello’
:4,6s/hello/print/g
//将文件4-6行‘hello’替换成‘print’
:n,my
//复制n到m行
:n,md
//剪切或删除n到m行
:s/str1/str2
//将光标所在行的第一个str1替换成str2
:s/str1/str2/g
//将光标所在行的所有str1替换成str2
:%s/str1/str2/g
//将全文所有str1替换成str2
:%s/str1/str2
//将全文所有行的第一个str1替换成str2
:noh
//取消高亮
:set number
//设置行号
:/str1
//查找str1 n向下查找,N向上查找
:n
//跳到n行
三种模式的切换
-
命令模式切换: 按ESC
-
插入模式切换: 在命令模式下,按i、I、o、O、a、A
i光标之前插入
I行首插入
o光标下一行插入
O光标上一行
a光标之后
A行尾插入
-
底行模式切换: 在命令模式下,按 : (英文的冒号,
shift + :
) -
插入模式切换:
a (append)/i (insert) : a’ 在光标后插入编辑/‘i’是在当前光标处编辑
o (open) /‘O’: 在当前行后/前插入一个新行
‘I’/‘A’: 在行首/末插入
cw: 删除一个单词,同时进入插入模式
c$: 删除光标所在的单词到末尾,同时进入插入模式
输入 nw 使光标向前移动n个单词
输入 ne 使光标向前移动到第n个单词的末尾
输入 0 (数字零) 移动光标到行首
输入 ce 改变文本直到一个单词的末尾
底行模式切换 :在命令模式下按 : (shift+:)
:set number设置显示行号
:set unnumber设置取消显示行号
底行模式命令
w 保存
w! 强制保存
q 退出
q! 强制退出
wq 保存并推出
wq! 强制保存并退出
x 保存并推出
x! 强制保存并退出
命令行模式下的命令:
yy 复制光标所在行一行
p 光标所在行之下粘贴
P 光标所在行之上粘贴
nyy 复制n行
dd 剪切光标所在行一行 剪切不粘贴就是删除
ddp 交换上下行
ndd 剪切n行
dnw 删除n个字母单词。
u 撤销上一步操作
ctrl+r 恢复撤销操作 反撤销
x 删除一个字符
r 替换一个字符
gg = 1G 回到首行
G 跳到尾行
nG 跳到第n行
0 回到行首
$ 回到行尾
touch 已存在的文件 //刷新时间戳
vim的功能取决于配置文件 .vimrc(vim配置文档)
配置文件存放在用户家目录 (~)里边
共享目录设置
在ubuntu系统下 /mnt/hgfs/共享目录名
在家目录下
cp /mnt/hgfs/共享目录名.vimrc .
在终端输入: vimtutor
切换中文输入法: //安装中文输入法, ctrl + 空格
Linux命令手册