一.linux
1969-unix
minix——开源
1991—— Linux
特点:免费 开源 稳定 简洁 高效
用户群体多 安装便捷
核心——文件
unix——网络特性
二.linux体系结构(重点)
第一个部分:
用户空间:命令 脚本 程序(shell)
第二部分:
内核空间:系统调用 内核模块
三.操作界面
四.shell命令
1.内核的保护工具,用于用户和计算机之间的交互(翻译软件)
2.终端:字符设备 是一个编译模拟器 用来编写命令
3. 命令:shutdown -t now
指令 选项 参数
注意:指令必须有,选项和参数可以不写,而且指令后面可以跟许多选项
ls:打印当前目录下的所有可见文件
ls -l:打印当前目录下的所有可见文件的详细信息
ls -a:打印当前目录下所有文件包括隐藏文件
linux下复制:ctrl +shift+ c 粘贴 ctrl +shift+ v
放大 ctrl +shift+ “+” 缩小 ctrl + “-
student @student-machine: ~ $ #
用户名 主机名 用户目录 普通用户 超级用户
补充1: 超级用户是root 相当于window下的管理员
补充2: 一行写不完,需要用 / 连接
补充3:代码忘记了,最起码记住首字母 按下tab 找到你需要的指令
补充4:方向键盘的上下键用来查看历史指令
五.vi
1.vi 是一个编辑器,相当于windows下的记事本
2.创建一个vi:vi + 文件名
3.三种模式:刚进去是命令模式 输入“a”“A”“i”"I" "o" "O"进去编辑模式,
再从编辑模式按下 esc 返回命令模式 再按下shift +“:”进入底行命令模式;
a:在光标之后插入内容
i:在光标之前插入内容
o:在下一行插入内容
A:当前行的行末插入
I: 当前行的行首插入
O:在上一行插入内容
命令模式下:
1.dd:删除当前行的所有内容 n(任何数字)+dd:删除从当前行开始往下数n行
2.u:撤回最后一次操作
3.ctrl+r :重做,返回撤回前的操作(在已有撤回的基础上才能生效)
4.e:将光标移动至当前行的行末
5.h:将光标移动到光标前的一位
6.delete:删除光标处的内容 x:删除光标处的内容
7.yy:复制当前行 nyy:复制从当前行开始往下n行的所有内容
8.p:粘贴 np:粘贴n次
9.gg:跳转到整个编辑内容的开头
10. G:跳转到编辑内容的最下面
编辑模式下:
a:在光标之后插入内容
i:在光标之前插入内容
o:在下一行插入内容
A:当前行的行末插入
I: 当前行的行首插入
O:在上一行插入内容
底行命令模式下:
w:保存
q:退出
q!:强制退出,不保存
set number:显示行号
set nonumber:取消行号
vsplit:左右分屏
split:上下分屏
set ai sw=n:设置缩进(n为缩进的格数)
删除光标到文件首的内容:dgg
删除光标到最后一行的内容:dG
补充:如果vim非正常退出,会产生后缀是.swp的交换文件,会影响C语言或shell命令的编译
所以需要用 “rm -rf .文件名.swp” 指令删除交换文件
退出VI: 先从编辑模式按下 esc 进去命令模式 再按下shift +“:”进入底行命令模式
再输出“wq”退出
w:保存
q:退出
q!:强制退出,不保存
六.Linux的文件类型
用ls -l查看详细信息
例子:drwxr-xr-x 2 student student 4096 9月 28 09:20
1.文件类型(第一个字母)
普通文件:-开头,表示普通的二进制文件,可执行文件,字符文件
目录文件:d开头,相当于windows下的文件夹
链接文件:i开头,相当于windows下的快捷方式
硬链接:利用Linux中为每个文件分配的物理编号——inode建立链接。(硬链接不能跨越文件系统)
I : 软链接:利用文件的路径名建立链接。通常建立软链接使用绝对路径而不是相对路径,以最大限度增加可移植性。
2.设备文件:
表示某些设备,放在/dev
c开头:字符设备文件
b开头:块设备,比如说硬盘
s开头:网卡设备
p开头:管道设备
3.字符设备
consloe:终端设备
null:空设备
mouse:鼠标
event:键盘
tty:串口设备
补充: ROM:只读内存,事先读取先前储存过的内容设备,断电的时候,不会丢失
(手机内存大小,可以下多大的软件)
RAM:运行内存,可读可写,断电丢失
(手机可以同时运行多少个软件)
七:文件访问权限(从第二个字母开始到数字之前)
1.格式:-rwxrwxr-x 1 student student 8656 11月 2 19:56 1002
2.权限:rwx rwx r-x 分为3组
第一组:创建者权限(u)
第二组:组员权限(g)
第三组:其他人权限(o)
3.解释:r代表 read 可读权限
w代表 write 可写权限
x代表 excute 可执行权限
-代表 这一处无权限
4.表示 rwx rwx r-x
绝对表示 111 111 101
8进制表示 7 7 5
文件创建的默认权限是664
目录创建的默认权限是775
文件和目录的满权限是777
5.第十一位字符
如果当前是目录的话,则数字表示里面有几个子目录
如果当前是文件的话,则代表有几个链接
6.其余部分
student student 8656 11月 2 19:56 1002
第一个student:创建者
第二个student:代表当前文件放在哪一个组中
第三个:当前文件的的大小
第四个:代表最后修改的时间
第五个:目录或文件名
( windows下:全选:ctrl+a 查找:ctrl+f 剪切:ctrl+x 撤销: ctrl+z 保存:ctrl+s)
八.Linux的系统目录结构
1.Linux是一个树状结构(只有一个根目录)
windows是一个森林结构(多个根目录,盘符)
2.根目录(/)有很多子目录
①/dev:用来存放设备文件,比如,鼠标键盘,串口
②/bin:用来存放命令文件,比如 ls cd
③/etc:用来存放系统配置文件,比如块设备,字符设备
④/media:用来存放媒体文件
⑤/home:用户家目录,在家目录中为每个用户创建一个文件夹
⑥/root :根目录
⑦/lib: 用来存放库文件
动态库:在windows下,文件后缀为.dll 在linux下,后缀为 .so
静态库:在windows下,文件后缀为.lib 在linux下,后缀为 .a
⑧/proc /sys 特殊文件系统(虚拟文件)
⑨/tmp:临时目录,存放的是临时的数据
⑩/usr:用户的应用程序的安装目录
11./mnt 用作外部文件系统(U盘)
九.文件系统
Linux系统:文件在存储设备中的组织方式
1.EXT系统:ubuntu中普遍运用的EXT
2.NTFS系统:windows下的文件系统
3.VFAT系统:windows下的文件系统,fat32
4.iso9660文件系统:光盘文件系统(PE安装)
5.NFS系统:Linux的网络文件系统(共享目录)
十.linux常用基本命令
1.跳转目录命令 :cd(重点)
格式:cd +目录名 表示跳转到该目录下
cd .. 返回上一级
cd 跳转到用户目录下
注意:cd +目录名的时候 会在目录名默认加上 “./”
例子:cd day1 cd ./day1
2.查看当前路径:pwd
格式:直接输入pwd
3.创建目录:mkdir
格式1:mkdir +目录名 在当前目录下创建子目录
格式2:mkdir -p 目录名1/目录名2 在当前目录下创建目录1,并且在目录1下创建目录2
格式3:mkdir -m n 目录名 在当前目录下创建一个权限为n的子目录
4.删除目录:rmdir
格式1:rmdir 目录名 删除空目录
格式2:rm -rf 目录名 删除有内容的目录
格式3:rm -r 目录名 删除多级目录
5.查看指定的目录内容:
格式1:ls 查看当前目录下的内容
格式2:ls -l 查看当前目录下的详细内容
格式3:ls -a 查看当前目录下的隐藏内容
格式4:ls -d 列出当前目录它本身 .
格式5:ls -t 按照文件最后修改的顺序排列,将最近修改的排在前面
格式6:ls -r 按照文件的名称,逆序排列
格式7:ls -R 按照递归的方式,将子目录中的内容都显示出来
6.通配符:
可以替代名称中的字母或数字
*:表示一个或多个字符,数字或字母都可以被替代
?:表示单个字符,数字或字母都可以被替代
[..]: 表示在[]任取一个字符,只要匹配到,就满足([]只代表一位)
[^..]:表示在除了[]中的数,只要匹配到,就满足
[.-.]:表示在n-m中的范围中的数,只要匹配到,就满足
二.系统管理命令
1.创建新用户 :adduser
格式:先进入 su -m root 根用户
再adduser +用户名
2.切换用户 :su + 用户名
3.修改密码:passwd
passwd + 用户名
注意:不能跟之前的一致
4.删除用户:userdel
格式:userdel +用户名
补充:查看帮助文件
方法1:man+命令
方法2:命令 + --help
方法3:whereis + 命令(告诉你帮助文件在哪里)
三.文件处理命令(重点)
1.在屏幕上输出:echo
格式: echo+想要输出的
2.在屏幕上打印文件信息:cat
格式1:cat + 文件名 打印文件中的信息
格式2:cat + 文件名1 文件名2 同时打印文件1和文件2的内容,按照输入名字的先后顺序
格式3:cat 文件1>文件2 文件1覆盖文件2
格式4:cat 文件1>>文件2 文件1的内容追加到文件2的末尾
格式5:cat >文件1 将屏幕上输入的内容覆盖到文件1中 ,以ctrl + c 结束
格式6: cat >>文件1 将屏幕上输入的内容追加到文件1中 ,以ctrl + c 结束
四.文件操作命令(重点点)
1.创建文件:touch
格式:touch + 文件名
如果没有该文件,则创建,有,则更新最后修改时间
2.移动
格式1:mv 文件1 文件2 将文件1的内容覆盖到文件2中,并且删除文件1
格式2:mv 目录1 目录2 将目录1移动到目录2中(使目录1成为目录2的子目录)
格式3:mv 文件1 目录1 将文件1移动到目录1中
选项:-i :询问模式(只针对于文件对文件的覆盖操作时的询问)选y/n
-v:提示移动的步骤
-b:备份覆盖文件
3.删除文件
格式1:rm + 文件名 删除文件
格式2:rm -rf 目录名 删除有内容或者没有内容的目录
选项:-r 删除目录 -f 强制删除 -i 提示是否可以删除
4.比较两个文件是否相同
格式: cmp 文件1 文件2 如果不相同,会打印第一处不同的地方的位置,如果相同,不打印
5.文件拷贝
格式1:cp 文件1 文件2 如果文件2不存在,则先创建,再将文件1的内容拷贝并覆盖到文件2中
格式2:cp 文件1 目录1 把文件1拷贝到目录1中
格式3:cp -r 目录1 目录2 将目录1拷贝到目录2中
6.按照某些要求查看文件
格式:cut -d +’分隔符‘ (必须在文件中存在)-f n(n为目标列)文件名
7.分屏查看 (较大文件)
格式1:more +文件名
格式2:more -n 文件名 先显示n行,再进行分屏查看
空格是页数,回车是行数
8.分屏查看
格式1:less 文件名 查看,看到 end 按q退出
选项 -p 查找关键字 less -p 关键字 文件名
-M 查看百分比
9.查看文件的头部内容
格式1:head + 文件名 默认显示前10行的内容
格式2:head -n 5 文件名 显示前5行的内容
格式3:head -c 5 文件名 显示前5个字符
格式4:head -n -5 文件名 显示除了后5行所有的内容
格式5:head -c -5 文件名 显示除了后5个字符的内容
10.查看文件末尾
格式1:tail 文件名 默认显示后10行的内容
格式2:tail -n 5 文件名 显示后5行的内容
格式3:tail -c 5 文件名 显示后5个字符