linux的文件权限包括用户和权限
用户:user(文件拥有者), group(群组,把很多用户放到一个组里,可以给与他们权限),others(游客)
权限:r(read),w(write),x(execute运行)
1. 查看权限:
ls -l 显示当前文件夹内元素详情,有wxr和- 组成的就是权限,分辨对应了 3种用户的3种权限
比如
表示user是wxr权限(可写入,可运行,可读取)
group群组是-xr权限(不可写入,可运行,可读取)
others群组是 -x权限(不可写入,不可读取,可运行)
stat aaa 查看当前文件夹中aaa文件的详情,包括id,名字,权限,占用空间,创建修改时间等。
2. 修改权限:
chmod [-R] who[op][permission] file-list
chmod: 修改权限指令
-R修改文件夹内所有文件
who: u g o a(user,group,others,all)
[op]: + - = (添加,删除,赋值)
[permission]: r w x (直接赋值的时候可以直接rw,rwx 这样)
file-list: 要赋值的文件列表,用空格隔开
修改g和o的权限,去掉w权限,目标文件aaa,bbb
也可以同时修改很多种用户的很多种权限
所有用户 添加wx,去掉r权限
然后写一个比较装逼的- -
731 是8进制表示 111 011 001 对应ugo的rwx权限。 111 011 001表示,u有rwx权限,g有wx权限,o有x权限
比如 6 转化为2进制为 110 表示有rw权限
我在我电脑上试的时候5会有bug- -不知道为什么。
3.修改文件内容:
打开文件: vi 文件名
vi aaa 打开aaa文件,进入编辑页面
有两种模式: command 和 edit
按esc(左上角那玩意)切换到command模式
刚进入时一般是edit模式,在edit模式下,基本所有按键都是输入(包括上下左右)。
输入方式和windows差不多
按esc进入command模式
x :删除一个字符
i: 插入一个字符 (切换到edit模式)
a:在当前这个字符后面追加内容(光标往后挪一格,然后切换到edit模式)
A:在当前这行后面追加内容(光标挪到这行后面,切换到edit模式)
dw:删除从当前位置到单词末尾+空格 比如 hello world 从第二个 l 开始删除 则剩下 helworld, 如果这一行后面没有单词,只有一大串空格,则删除到末尾并去掉空格
de:删除从当前位置到单词末尾,如 hello world 从第二个 l 开始删除 则剩下 hel world
d$:删除从当前位置到这一行末尾
w:光标挪到下一个单词开始(可以换行)
e:光标挪到当前单词末尾
$:光标挪到这一行末尾
dd:删除这一行
2dd:删除2行
u:取消上一步操作(相当于windows的 ctrl + z),再按一次恢复
p:把删掉的内容放在当前位置后面
r:输入一个字符替换当前字符
?:输入一个字符串 向前寻找该字符串
/: 输入一个字符串 向后寻找该字符串
:%s/old/new/g : 把文件中所有old换成new
:%s/old/new/g : 把文件中所有old换成new,(替换前挨个询问)
:w 保存
:w bbb 保存在当前文件夹下,名字为bbb(原版不删除,相当于另存为)
:!dir 查看当前文件夹内容, 按esc或者回车返回当前文件编辑页面。
:q! 不保存退出
:wq 保存退出
注意上面这7个中的:是命令,别漏了