linux文件系统
/bin 二进制可执行文件
/boot 启动文件
/dev 设备文件
/etc 配置文件
/home 用户文件
/lib 库文件
/root 管理员用户目录
/sys 系统目录
Linux下: EXT3 EXT4
Windows下: FAT16 FAT32 NTFS
七大文件类型
- 普通文件
d 目录文件
c 字符设备文件(键盘 鼠标 显示器)
l 链接文件
b 块设备文件(硬盘 u盘)
s 网络套接字设备
p 管道文件(主要用于进程间的通信)
关于文件的操作:
创建,查看,编辑,修改权限,删除
压缩,归档,链接,搜索
文件比较,显示文本,文件分割
1·创建文件
touch mkdir
2·文件的查看
vim cat
vim test.c
cat test1.c
vim编辑器:
vim 文件名 (如果没有这个文件会新建文件)
eg:
vim test.c
命令行模式:
按下Esc
nyy 拷贝
ndd 剪贴
p 粘贴
u 撤销
ctrl+r 反向撤销
gg 跳到文件开头
G 跳到文件末尾
gg=G 或者鼠标选中按下= 代码对齐
vim中搜索(注释不显示)
/<目标> 将文件中目标高亮
n 向下跳转
N 向上跳转
/^int 高亮显示以int开始的行
/break$ 高亮显示以break结尾的行
/^double$ 高亮显示以double开始和结尾的行
插入模式
a i o A I O
底行模式(均为英文字符)
shift+”:“
:w 保存
:q 退出
:wq! 强制退出
:wa 保存所有文件
:qa! 不保存退出所有文件
:vsp filename 水平打开多个文件(分屏进行)
:sp filename垂直打开多个文件(分屏进行)
:66 跳转到指定的行
:nohl 取消高亮
拷贝:
:2,4y 拷贝指定的2-4行
剪切:
:2,5d 剪切指定的2-5行
替换:
:%s/旧字符串/新字符串/g 替换文件中所有的旧字符串
:%s/旧字符串/新字符串 替换文件中首次出现的旧字符串
:5,10s/旧字符串/新字符串/g 替换5-10行中所有的旧的字符串
:5,10s/旧字符串/新字符串 替换5-10行中首次出现的旧的字符串
2,$s/旧的字符串/新字符串 替换2-末行中首次出现的字符串
2,$s/旧的字符串/新字符串/g 替换2-末行中所有的字符串
查看文件
ls cat head tail more less
cat filename //将文件的内容显示到终端上
cat -n filename //将文件的内容和行号显示到终端上
输出重定向,将正确的输出内容重定向到文件中,若文件不摧之会自动创建
(>覆盖 >>追加)以追加的方式重定向,到文件的末尾
2> 将错误的信息重定向,正确的信息直接打印
&> 将所有的信息重定向
比较两个文件是否相同:
diff 若两个文件相同,终端没有显示
head命令
head filename //默认显示文件前十行
head -20 filename //显示文件前20行
tail命令:
tail filename //默认显示文件的后10行
tail filename //显示文件的后20行
more和less
more filename //显示部分内容,回车显示下一行,ctrl+c结束
more filename //显示部分内容,回车显示下一行,y显示上一行,q退出
file 文件名 //查看文件的详细信息
df 查看磁盘使用情况
文件中字符串的搜索
grep
用法:
grep ”字符串“ 文件名 参数
-n:显示行号
-R:递归子目录
-i:忽略大小写
-w:精确搜索字符串,字符串前后有其他字符就搜索不到
文件查找命令
find
find 路径(省略就是当前路径) -name 文件名
文件中字符分割命令
cut
-d:后面跟的是分割符号
-f:根截取的位置
wc 统计文档中的字数,字节数,行数
-l 行数
-w 单词数
-c 字节数
-m 字符数
| 管道:将前一个命令的输出作为后一个命令的输入
命令置换 ’‘(Esc下的按键)
将后一个命令的输出作为后一个命令的参数
echo显示文本
echo filename filename2 filename3 filename4
//多个空格会显示成一个空格,加单引号,双引号原样显示,纯文本无区别,双引号会解析特殊字符
权限
修改文件的权限
chmod
r 读
w 写
x 执行
权限分为三组:
u 文件所有者对文件的权限(自己)
g 文件所属组对文件的权限
o 其他人
a all所有的(ugo)
+ 添加权限
- 去除权限
chmod u+w filename
//给自己添加相关权限
八进制权限表示:
umask 文件掩码
修改:umask xxxx
默认权限:
最大权限-文件掩码
普通文件最大权限 0666 (默认权限0664)
目录文件最大权限 0777
xxxx xxxx xxxx 自己 同组 其他人
二进制四位 -rwx
chown命令
修改文件所属用户
sudo chown 用户名
chgrp命令
修改文件所属组
sudo chgrp 组名
vim /etc/passwd //查看所有的用户
链接文件
软链接
in -s 原文件名 链接文件名
软链接创建的时候,源文件的链接数不会增加
可以通过软链接对源文件进行修改
创建给绝对路径,修改链接路径,软连接依然可用
可以对目录,文件创建软链接
软链接可以是链接文件
硬链接
in 原文件名 链接文件名
inode:对文件分配的一个编号,唯一的
针对文件
链接文件是普通文件
磁盘空间不增加,硬链接可以堪称一个备份,即允许犯错
硬链接和源文件的inode号一样
删除源文件,不影响链接文件
创建硬链接会增加链接数
用户管理命令:
whoami 查看当前用户名
hostname 查看当前主机名
su 切换管理员账户
su root 切换root用户
su 0000 切换0000用户
//给root用户设置密码:
sudo passwd root
adduser name //添加用户
deluser name //删除用户
deluser name --remove-home //删除用户的同时删除用户目录
chown //修改文件所属用户
chgrp //修改文件所属分组
addgroup //添加用户分组
delgroup //删除用户组
passwd 用户名 + 回车 //修改密码
usermod -aG root xxxx //将xxxx用户添加到root分组中
/etc/passwd //用户信息
/etc/group //用户组信息
进程管理
ctrl + z //将程序放到后台执行
kill -9 进程号(pid) //结束进程
fg //将后台程序放到前台执行
top //实时显示,q退出
ps //查看进程状态
参数:
a 显示所有用户的所有进程
u 安装启动时间显示
x 显示无法控制终端的进程
e 显示所有进程
f 全格式显示
PID 进程号
TTY 在哪个终端上
TIME 消耗cpu的时间
CMD 命令
STAT 进程状态