day33linux

一、vi

字符串查找(常用)

:/要查找的字符串(从上往下找) 敲enter开始查找 n带表下一个 N代表上一个
?/要查找的字符串 (从下往上找) 敲enter开始查找 n带表下一个 N代表上一个

字符串替换
光标所在行
:s/孤单/幸福    将光标所在行的第一个孤单替换成幸福
:s/孤单/幸福/g    将光标所在行的所有的孤单替换成幸福

指定行
:n,ms/孤单/幸福   将n到m行第一个孤单替换成幸福
:n,ms/孤单/幸福/g    将n到m行所有的孤单替换成幸福

所有行
:%s/孤单/幸福
:%s/孤单/幸福/g

vi打开快捷到某行
vi lala.txt +n  打开文件默认到第n行行首
vi lala.txt +   打开文件默认到最后一行行首

vi配置文件
.vimrc 如果想用vi写python代码,搞一个配置文件(linux自带python2.6)
vi ~/.vimrc

vi的常见错误
非法编辑退出vi的时候,会产生一个 .2.txt.swp 的一个交换文件,只要这个文件存在,那么打开这个2.txt文件的时候就会有提示,不想要这个提示,删除这个文件即可
rm -f .2.txt.swp
vi -f 2.txt 恢复到上次编辑的内容

二、文件相关指令

文件和文件夹的相关指令,创建、删除、拷贝、移动、查看

创建
文件: vi 文件路径 touch 文件路径
文件夹:mkdir 文件夹名(若文件夹存在,则不能创建)
mkdir -p dudu/haha/xixi 递归创建文件夹
删除
文件:rm文件路径 rm -f 文件路径 强制删除
一般都不删除文件 一般拷贝文件

rm -f * 删除所有文件

目录:rmdir 目录路径 只能删除空目录
rm -rf 目录路径 删除非空目录

cp -r 源文件夹 目标文件夹
拷贝文件夹的时候可以修改
cp -r lihong jielun/ 使用原来的名字
cp -r lihong jielun/hong 修改名字

移动
mv 源文件路径 目标文件路径
移动的时候可以修改文件名字
移动文件夹不用加 -r 参数

查看文件
vi 就能查看
cat 文件名
-n 显示行号
tac 文件名 倒着查看
head 文件名 默认查看文件前十行
-5 查看文件前5行

tail 文件名 默认查看文件末十行
-5 查看文件末5行

more 文件名
enter:往下走一行
空格 :往下走一页
不能向上看,按q退出

less 文件名
enter: 往下走一行
空格:往下走一页
按q退出
pageup 上翻页
pagedown 下翻页
/要查找的字符 也可以查找

三、文件系统

文件系统就是文件管理系统的简称,不同的文件系统存储和读取数据的方式都不一样,就会导致同样的东西,不同的文件系统来存,存的大小就不一样。

apfs:苹果手机的格式

常见的文件系统格式
windows:
fat
fat16 已经淘汰
fat32 经常使用,尤其在u盘领域
fat64 (exfat) 在Windows和mac都可以直接读写

ntfs
windows的默认系统格式

linux:
ext
ext2
ext3
ext4 目前是这个格式 不能读写ntfs,如果要读写,安装其他软件
mac:
hfs
hfs+ 不能写入ntfs,如果想要写入,需要安装插件,该插件收费

四、用户和组

linux是一个多用户多组的操作系统
一个用户能否属于多个组 yes
一个组能否拥有多个用户 yes
一个用户至少必须属于一个组,一个用户必须拥有自己的主组,其他组称之为附加组

用户创建
useradd bajie
创建成功后会留下记录 tail /etc/passwd
创建一个用户的同时,会给当前用户创建一个名字一模一样的组作为该用户的主组
给用户添加密码
passwd用户名
这个操作只能在root去给某一个普通用户设置密码,在普通用户下只能给自己修改密码,不能设置其他普通用户密码

-d:创建用户的时候指定家目录,不指定会在home下面创建一个和用户名一模一样的目录,一般不指定

-g:指定主组,如果不指定,默认创建一个和用户名一模一样的组作为主组

-G:指定附加组

-u:指定用户id 一般都不用

用户修改
usermod
-g : 修改主组
usermod -g 501 bajie 修改bajie主组

-l: 修改用户名
usermod -l wuneng bajie 将bajie用户名修改为wuneng

-u : 修改用户id
usermod -u 505 wuneng 将wuneng用户id修改505

-d : 修改家目录
usermod -d /home/lala wuneng 不用

用户删除
userdel
userdel用户名 只删除文件中的记录
userdel -r 用户名 将家目录一并删除
如果操作不规范,家目录也可手动干掉

用户切换
center里面
su 用户名
从root切换到普通不用密码
从普通切换到root,需要输入root密码,通过exit返回上一个用户

Ubuntu里面
不允许root直接登录,需要配置才可以
用普通用户登录 sudo 指令,提示输入密码,这个密码是当前用户的密码.

组创建
查看当前组, tail/etc/group
groupadd 组名
-g: 可以指定组 id

删除组
groupdel 组名
【注】如果一个组是主组的话,这个组删不掉
【注】如果一个组是一个用户的主组,并且仅仅是这个用户的主组,而且组名和用户名相同,那么删除用户的同时,该组也就删除了。

修改组
groupmod
-g : 修改组的id号 groupmod -g 522 dudu
-n : 修改组名 groupmod -n xixi dudu

五、文件权限

权限什么意思? 系统中,文件的权限都有哪些?
读、写、执行
读:read r 写:write w 执行:execute x
如果写一个 - 代表没有这个权限
权限表示
rwx   111   7
rw-   110   6
r-x   101   5
r--   100   4
-wx   011   3
-w-   010   2
--x   001   1
---   000   0

rwxr-xr-x
1、rwx   2、r-x   3、r-x
1、所属用户权限 2、组内用户权限 3、组外用户权限
权限表示法:755    777   644

修改权限修改组的指令不是乱用的,需要root用户的权限才能修改,Ubuntu下需要使用sudo,centos需要切换root执行

修改权限:chmod
格式:chmod 权限 文件路径

chmod g+w,g-x 1.txt
u:修改所属用户
g:修改组内用户
o:修改组外用户

目录权限修改
chmod 777目录路径 只修改该目录的权限
chmod -R 777 目录路径 递归修改目录里面所有文件的权限

修改用户:chown 用户名 文件路径 只修改组名
chown 用户名:组名 文件路径 用户和组都修改
chown:组名 文件路径 只修改组名
chown -R 用户名:组名 目录路径 递归修改目录里面所有文件

修改组:chgrp
chgrp 组名 文件路径
chgrp -R 组名 目录路径 递归修改目录里面所有文件的用户和组

umask
是什么?
系统创建文件默认权限是 644
系统创建目录默认权限是 755
目录默认比文件多了一个可执行权限,对目录来说,可执行就是打开目录
umask就决定了文件和目录的默认权限
0777-0022 = 0755 这就是默认权限,文件都少可执行权限
指定umask进行修改,将umask指定为0011
0777 - 0011 = 0766(目录)0666(文件)

六、文件搜索

find:
用法如下:
find 在哪找 怎么找 找什么
在哪找:就是一个路径,默认是当前路径
怎么找:按照名字、大小、用户、其实就是参数
-name :按照名字找
-size :按照大小找
-user :按照用户找
-group : 按照组找
-maxdepth : 查找最大目录级别
-mindepth:查找最小目录级别
找什么 :1.mp3 *.txt

find / -name dudu.py
find / -size 10k 等于10k的文件
+10k 大于10k的文件
-10k 小于10k的文件
find / *.txt -user liuyan
find / -maxdepth 3 -mindepth 2 -name *.txt 找指定级别的文件

你可能感兴趣的:(day33linux)