文章目录
Linux
- 冯诺依曼:CPU(计算器、控制器),存储器,I/O(输入设备、输出设备)
- 操作系统:管理软硬件资源,为用户提供与计算机交互的一种软件。
- Linux:免费,开源,多用户同时操作,内核小
1 系统目录结构
- 根目录
- /bin:系统所使用命令的可执行文件
- /home:普通用户的家目录
- /dev:设备接口,驱动
- /proc:虚拟目录,内存的映射
- /mnt:临时挂载点
- /usr:第三方软件
- /etc:系统配置目录
- /lib:库文件——静态库,共享(动态)库
2 文件
不以扩展名划分文件类型
- 普通文件:-
- 目录文件:d
- 链接文件:l
- 管道文件:p
- 设备文件:字符设备c,块设备b,套接字s
cd #切换当前工作目录
cd ~ #返回家目录
cd .. #返回上一级目录
cd - #快速切换两个路径
cd /路径
cd 目录
ls -l #显示文件的详细信息
ls -a #显示所有文件,包含隐藏文件
pwd #查看当前目录的绝对路径
type | 权限 | link | 属主 | 属组 | 大小(byte) | 最后修改时间 | 文件名 |
---|---|---|---|---|---|---|---|
d | rwxr-xr-x. | 2 | root | root | 67 | Jun 13 2019 | doc |
2.1 权限
- 属主:创建者
- 属组:创建者同属用户组的其他用户
- 其他用户
属主 | 属组 | 其他用户 |
---|---|---|
rwx | r-x | r-x |
u | g | o |
r | w | x |
---|---|---|
读权限 | 写权限 | 执行权限(至少有一个用户) (目录文件:可进入权限) |
3 文件操作命令
3.1 创建
#普通文件
touch #需要,文件类型后缀名
#目录文件
mkdir
3.2 删除
#普通文件
rm
#目录文件
rmdir #仅空目录
rm -r #非空目录,删除目录下所有(递归)
3.3 拷贝
#普通文件
cp /源文件路径/文件名 /目的路径
#目录文件
cp -r /源文件路径/文件名 /目的路径
3.4 剪切 / 重命名
mv 源文件路径/文件名 /目的路径
mv 源文件路径/文件名 源文件路径/重命名
3.5 修改属性
#只能root
#属主
chown newuser filname
#属组
chgrp newgroup filename
#属主和root
#权限
#1 字符方式修改
chmod (a/u/g/o) (+/-/=) (r/w/x/rw/rx/wx/rwx)
#2 数字方式修改
chmod nnn filename
# r w x
# 1 0 0 —— 4
# 0 1 0 —— 2
# 0 0 1 —— 1
# r/w/x/rw/rx/wx/rwx
# 4/2/1/ 6/ 5/ 3/ 7 /0
# 0 ~ 7 —— n
3.6 文本编辑
vi
vim
- 三种模式
3.6.1 末行模式
:q #退出
:wq #保存并退出
:w #保存
:w newfile #另存为
:q! #强制退出
:num #调到num行
:set nu #显示行号
:set nonu #取消行号
#搜索,按n切换
/string #从开头查找
?string #从结尾查找
- 替换命令
:1,$s/oldstring/newstring #从第一行开始,替换每一行找到的第一个字符
:1,$s/oldstring/newstring/g ##从第一行开始,全文替换
3.6.2 命令模式
- 光标移动
shift+6 —— 当前行的开头
shift+4 —— 当前行的末尾
shift+g —— 文件末尾
gg —— 文件开头
num+shift+g —— num行的开头
shift+h m l —— 当前屏幕开头行,中间行,末尾行
ctrl+ f b —— 翻页,向下,向上
- 批处理
dd —— 删除一行
num+dd —— 从当前光标位置,删除num行
d+shift+g —— 删除当前光标到文件末尾
d+gg —— 删除当前光标到文件开头
u —— 撤销
shift+c —— 删除当前光标到该行末尾,并进入插入模式
cc —— 删除一行,并进入插入模式
r+string —— 替换当前光标的一个字符
shift+r —— 进入替换模式
c+w —— 替换一个单词
yy —— 拷贝一行
num+yy —— 拷贝num行
p —— 粘贴
3.7 查看文件内容
cat filename #一次显示整个文件
more filename #底部显示百分比,回车一行显示,空格翻页
less filename #f/空格下翻页,b上翻页,支持/?搜索,q退出
head -n filename #查看前n行
tail -n filename #查看后n行