玩转Linux系统03--文件操作

玩转Linux系统03

一、vi的其他操作

1.字符串查找

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

2.字符串替换

		光标所在行
            :s/孤单/幸福   将光标所在行的第一个孤单替换为幸福
            :s/孤单/幸福/g   将光标所在行的所有孤单替换为幸福
        指定行
            :n,ms/孤单/幸福  将n到m行第一个孤单替换为幸福
            :n,ms/孤单/幸福/g  将n到m行所有孤单替换为幸福
        所有行
            :%s/孤单/幸福
            :%s/孤单/幸福/g

3.vi打开文件快捷到指定行

vi lala.txt +n    打开文件(这里是文本文件lala.txt)默认到第n行行首
vi lala.txt +     打开文件默认到尾行行首

4.vi的配置文件

.vimrc没有文件就创建一个.vimrc文件

如果想用vi来写python代码,搞一个配置文件

【例】设置一个自动生成编号的。vimrc文件

[root@localhost ~]# vi .vimrc

进入编辑

set nu
~
~

保存退出:wq

此时vi打开一个文本文件就会显示行号

5.vi的常见错误

非法编辑退出vi的时候,会产生一个 .swp 的一个交换文件,只要有这个文件存在, 那么打开这个文件的时候就会有提示,不想要这个提示,删除这个文件即可

 rm -f .2.txt.swp      #强制删除.2.txt.swp文件
 vi -r 2.txt  			 恢复到上次编辑的内容

二、文件相关的指令

文件和文件夹相关的操作包括创建、删除、移动、拷贝、查看等

1.创建

(1)创建文件==touch

可以同时创建多个文件,中间用空格隔开

[root@localhost ~]# touch zhou.mp3 wu.txt zheng.avi   同时创建多个文件

(2)创建文件夹==mkdir(make directory)

(3)递归创建目录文件夹===mkdir -p

p==parents缩写
[root@localhost ~]# mkdir -p pythonfile/linux/hello   

#此时新创建了一个pythonfile文件夹,文件夹下包含二级文件夹linux,
下面有三级文件夹hello

此时分别查看pythonfile和linux文件夹,下面会存在新创建的目标文件夹

[root@localhost ~]# cd pythonfile/
[root@localhost pythonfile]# ls
linux
[root@localhost pythonfile]# cd linux/
[root@localhost linux]# ls
hello

2.删除

成熟的程序员不会随意删除文件,一般都是先备份再编辑

(1)删除文件== rm 文件路径

  rm+文件路径       
  rm -f 强制删除   force
通配符   `rm-f   *`

        rm -f *.txt   删除所有txt文件
        rm -f *       删除所有文件

(2)删除目录(文件夹)

rmdir 目录路径    只能删除空目录   remove empty directory
rm -r  目录路径    递归删除非空目录(会层层进入) 	recursive递归的
rm -rf 目录路径    强制删除非空目录

3.拷贝(复制)

(1)文件==cp 原文件 目标文件

拷贝文件的时候可以修改名字

(2)文件夹==cp -r 源文件夹 目标文件夹


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

4.移动

mv `源文件路径   目标文件路径`

移动的时候可以修改文件名字

移动文件和文件夹一样,不需要加-r参数**

5.查看文件

vi就可以查看

   	   cat 文件名
    		-n 显示行号
        tac 文件名   倒着查看
        head 文件名   默认查看文件前十行
            -5  查看文件前五行  
        tail 文件名   默认查看文件后十行
            -5 查看文件后五行
        more 文件名
            enter : 往下走一行
            空格 : 往下走一页
            不能向上看,按q退出
        less 文件名
            enter : 往下走一行
            空格 : 往下走一页
            按q退出
            pageup   上翻页
            pagedown 下翻页
            /要查找的字符     也可与查找

三、文件系统操作

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

常见的文件系统格式

windows

fat
	fat 16    已经淘汰
	fat 32	  经常使用,尤其是U盘常用
	fat 64	 (exfat) 在win和mac都可直接读写
	
ntfs
	windows的默认系统格式

Linux

ext
ext2
ext3
ext4  目前是这个格式  不能读写ntfs,如果要读写,安装其他软件

mac

hfs
hfs+  不能写入ntfs,如果想要写入,需要安装插件,该插件收费

四、用户和组(用户)

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

1.用户创建

(1)创建命令==useradd

[root@localhost ~]# useradd bajie      #创建用户命名为bajie

查看是否创建成功,创建成功后会留下记录tail /etc/passwd

创建一个用户的同时,会给当前用户创建一个名字一模一样的组作为该用户的主组

[root@localhost ~]# tail /etc/passwd    #查看一下创建记录

给用户添加密码==passwd 用户名

这个操作只能在root去给某个普通用户设置密码,在普通用户下只能给自己修改密码,不能设置其他普通用户密码

这里以123456为例

[root@localhost /]# passwd   #此时是设置初始密码,后面再操作是修改密码
更改用户 root 的密码 。
新的 密码:
无效的密码: 过于简单化/系统化
重新输入新的 密码:
\passwd: 所有的身份验证令牌已经成功更新。
#修改密码
[root@localhost /]# passwd bajie
更改用户 bajie 的密码 。
新的 密码:

(2)用普通用户登录

在超级管理员状态下:pwd找到超级管理员的用户主目录root下以普通用户身份的登录到自己ip的home中,没有root权限。

xshell重新建立连接,输入用户名bajie,密码为123456就可以。

 #普通用户的符号是$,管理员root的符号是#
[bajie@localhost ~]$

(3)相关指令

-d : 创建用户的时候指定家目录,
	 不指定会在home下面创建一个和用户名一模一样的目录,一般不指定
-g : 指定主组,如果不指定,默认创建一个和用户名一模一样的组作为主组
-G : 指定附加组
-u :指定用户id    一般都不用

2.用户修改===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   不用

3.用户删除===userdel

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

查看一下此时状态,已经删除==tail /etc/passwd

4.用户切换

centos里面
        su 用户名
        从root切换到普通不用密码
        从普通切换到root,需要输入root的密码,通过exit返回上一个用户
        这里面不能sudo,因为不支持,如果要支持,需要相关配置

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

五.用户和组(组)

1**.创建组**

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

2.删除组

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

3.修改组 ==gropmod

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

六、文件权限

1.什么是权限

系统中,文件的权限都有哪些?读、写、执行
读:read r 写:write w 执行:execute x
如果写一个-代表没有这个权限

ll查看文件权限信息(2-10位就是权限,9位分成3部分)

[root@localhost /]# ll
总用量 90
dr-xr-xr-x.  2 root root  4096 8月  28 02:51 bin
dr-xr-xr-x.  5 root root  1024 8月  28 02:53 boot
drwxr-xr-x. 20 root root  3760 8月  29 21:54 dev

2.权限的表示法

权限表示	二进制    十进制
    rwx     111     7   
    rw-     110     6
    r-x     101     5
    r--     100     4
    -wx     011     3
    -w-     010     2
    --x     001     1
    ---     000     0

    rwx             r-x             r-x
    所属用户权限     组内用户权限     组外用户权限
    权限表示法:0755   0777   0644

3.修改权限

(1)文件权限修改==chmod


格式  chmod 权限 文件路径
      chmod 755 1.txt
      chmod g+w,g-x 1.txt
            u : 修改所属用户
            g : 修改组内用户
            o : 修改组外用户

(2)目录权限修改

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

4.修改用户

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

5.修改组==chagrp

修改组:chgrp
        chgrp 组名 文件路径
        chgrp -R 组名 目录路径      递归修改

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

6.umask

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

【注】Centos自带python2.x版本(Ubuntu还带有3.5版本)

[root@localhost ~]# python
Python 2.6.6 (r266:84292, Jul 23 2015, 15:22:56) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux2
Type "help", "copyright", "credits" or "license" for 
more information.
>>> 

七.文件搜索

命令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  找指定级别的文件

八、IT三规律

摩尔定律:18个月
安迪比尔定律
反摩尔定律

猜你喜欢

转载自blog.csdn.net/ZZQHELLO2018/article/details/82191421
今日推荐