- 1.输入e
- 2.UTF-8后加空格,然后输入init=/bin/sh
- 3.输入ctrl+x退出保存
- 4.输入 mount -o remount rw, /
- 5.输入passwd进行密码修改
- 6.如果第五步出现乱码,输入 LANG=en
- 7.修改密码
- 8.输入 touch /.autorelabel
- 9.输入 exec /sbin/reboot
- timedatectl set-timezone Asia/Shanghai
- 1、要显示系统的当前时间和日期
- timedatectl status
- 2、查看当前时区:
- timedatectl
- 3、查看所有时区
- timedatectl list-timezones
- 1、使用重定向符(>)创建一个文件
- 重定向符只允许创建一个 0KB 的空文件。
- eg: >student.txt
- 使用 ls 命令查看刚刚创建的文件
- 使用 ll 命令查看目录
- 2、touch 命令常用于将每个文件的访问和修改时间更新为当前时间。
- touch 不允许创建文件的同时向其中输入文本,它默认创建一个 0KB 的空文件,但是可以同时在不同目录下创建多个文件。
- eg: touch f1.txt
- touch f2.txt f3.txt
- 3、echo 允许在创建一个文件时就向其中输入一行文本,当然也允许你在之后向其中输入内容
- eg: echo 好好学习>student.txt 这时好好学习就会保存在student.txt 这个文件里。
- 可以使用 cat 命令查看文件的内容。
- eg: cat student.txt
- 4.mkdir 文件夹名
- 5.mkdir -m 711 文件夹名 读写执行权限
- 6.mkdir -p a1/a2/a3 递归创建文件
- 1.>文件名
- 2.cat >文件名 新建的同时可以写入多行内容 ctrl+d保存
- 3.echo 内容>文件名 只能写一行
- 4.touch 文件名
- touch ./c/a.txt
- touch /home/test/a.txt
- 5.创建指定大小的文件 dd if=/dev/zero of=文件名 bs=1 count=0 seek=1G
- 1、 递归删除
- rm -r 文件夹名
-
- 2、强制删除
- rm -rf 文件夹名
- 1 init 0 关机
- 2 init 6 重启计算机
- 3 init 2,3,4,为字符终端,5为图形界面
- pwd展示完整文件
- python a.py
- linux下常用的关机命令有:shutdown、halt、poweroff、init;重启命令有:reboot
- 关机命令
- 1、halt 立刻关机
- 2、poweroff 立刻关机
- 3、shutdown -h now 立刻关机(root用户使用)
- 4、shutdown -h 10 10分钟后自动关机
- 如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启
- 1、reboot
- 2、shutdown -r now 立刻重启(root用户使用)
- 3、shutdown -r 10 过10分钟自动重启(root用户使用)
- 4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用) 如果是通过shutdown命令设置重启的话,
- 可以用shutdown -c命令取消重启
- 1、logout
- 2、exit #工作中常用
- 3、ctrl+d #工作中常用
- 注销表示退出当前用户登录
- rpm -qa | grep telnet 检验是否安装telnet
- rpm -qa | grep xinetd检验是否安装xinetd
- yum -y install telnet 安装telnet
- yum -y install xinetd 安装xinetd
- service xinetd restart重启xinetd服务
- firewall-cmd 查看防火墙专题
- 1.安装telnet,telnet-server,xinetd
- 如果安装失败,错误类型是/var/run/yum.pid被锁定,则将该删除即可:rm -f /var/run/yum/pid
- 如果是cannot find a valid baseurl则可 能是网络问题,首先确定自己物理机有网,然后在虚拟机上进行网络设置,打开连接。或者把虚拟机当中的桥接模式改为nat模式
- 下载telnet,telnet-server,xinetd的操作如下 网络问题 IP:systemctl restart network yum install net-tools
- Yum -y install telnet
- Yum -y install telnet-server
- Yum -y install xinetd
- 2.重启xinetd服务
- 两步都执行
- service xinetd restart
- systemctl restart xinetd.service
- 3.查看xinetd,telnet.socket的启动情况
- ps -ef | grep xinetd
- Systemctl status telnet.socket
- 如果telnet.socket查看完之后没有绿色的active,则进行启动
- Systemctl start telnet.socket(如果没有安装telnet-server,是没有telnet.socket的)
- 4.查看防火墙状态,并进行关闭
- Firewall-cmd --state
- Systemctl stop firewalld.service
- 5.查看ip,ens中的ip适用于远程连接,lo,vir中的可虚拟机自身连接(确定自己的ip是正常的可用的)
- 6.Telnet ip连接即可
- 远程连接方法
- telnet 192.168.122.1
- rlogin 192.168.122.1
- rsh 192.168.122.1
- ssh 192.168.122.1
- adduser u1
- 指定目录创建用户
- useradd -d /home/test u1 不建议
- 查看用户信息
- id u1
- cd /home ll
- 设置密码
- passwd u1
- 删除用户
- userdel u1 目录没有删除
- userdel -r u1 全部删除
-
- 添加组
- groupadd g1cl
- 删除组
- groupdel g1
-
- 把已经存在的用户添加到其他组
- gpasswd -a u1 g1
- usermod -g g1 u1
-
- 将u1从g1中删除,这是u1会回到原来那个组
- gpasswd -d u1 g1
- gpasswd --help
- 成批添加用户
- newusers 1.txt
- 查看用户和组的相关消息
- cat /etc/shadow
- cat /etc/passwd 查看所有用户
- cat /etc/group 查看所有用户组
-
- file=open("./abc.txt","w",encoding="utf-8")
- ln="jb0"
- pwd="stu0401"
- uid,gid=700,700
- ufn=""
- hd="/home/jb0"
- ls="/bin/bash"
- for i in range(1,100):
- line=ln+str(40100+i)+":"+"pw"+":"+str(uid+i)+":"+str(gid+i)+":"+ufn+":"+hd+str(40100+i)+":"+ls
- file.write(line+"\n")
- file.close()
-
- 图形界面下的账户管理
- 需要下载 yum install system-config-users
- 在应用程序-杂项-用户和群组中
- who命令
- 显示当前有哪些用户登陆
- who
- 显示当前是否可以联机收发信息
- who -w
- 显示系统当前运行级和系统启动时间
- who -r runlevel
- w命令
- 显示当前已经登陆的用户
- w
- last命令
- 查看最近5条信息
- last -5
- 查看某个时间的用户登陆如2019年8月15日00点00分00秒
- last -t 201908150000000
- lastlog命令
- 显示两天来登陆用户的记录信息
- lastlog -t 2
- 显示用户uid为1000-1004的用户登陆信息
- lastlog -u 1000-1004x
- 显示2019年8月13日以来所有 用户的登陆信息
- lastlog -t 20190813
- 1su root
- su -
- su -l
- su --login
- exit退出环境
- su -c "命令" root
- sudo
-
- sucatln
- ln 1.txt 2.txt
- 可以同步更新,删除原文件,硬链接里的内容不会删除
- ln -s a.txt b.txt
- 软链接相当于快捷方式,可以同步更新,删除原文件,软链接里的内容会删除
- 查看文件方法 stat 1.txt 查看目录ls -li
- vi 1.txt
- insert
- shift+esc+q wq保存
- 删除权限
- chmod u -w f1.txt
- 添加写权限
- chmod g+w f1.txt
- 其他用户不能读
- chmod o-r f1.txt
- chmod u+s /sbin/fdisk -l
- 特殊权限
- chmod 1666 f2.txt 特殊权限 1为张贴权限
- chmod 2666 f2.txt 特殊权限 组权限
- chmod 3666 f2.txt 特殊权限 张贴和组权限
- chmod 4666 f2.txt 特殊权限 用户本身权限
- chmod 5666 f2.txt 特殊权限 用户本身和张贴权限
- chmod 6666 f2.txt 特殊权限 用户本身和组权限
- chmod 7666 f2.txt 特殊权限 用户本身张贴和组权限
- 在虚拟机上添加磁盘(界面实现)
- 2登陆虚拟机,,执行命令:
- fdisk -l
- 查看磁盘有没有添加成功,sda,sdb,....
- 3执行命令
- fdisk /dev/sdbfdi
- 开始磁盘分区
- 4命令(输入m获取帮助):
- m具体查看一些参数的实际含义:
- n添加分区,new
- d删除分区,delete
- l展示分区编码号
- w把实现的分区结果保存在磁盘中
- 5执行命令
- fdisk /dev/sdb
- 检查分区是否成功实现
-
- 编辑
- fdisk -l 查看分区
- fdisk /dev/sdb
- n
- p主分区
- 2048
- 100000
- +2G
- w保存
- 挂载分区
- mkfs.xfs /dev/sdb2
- mkdir test1
- mount /dev/sdb2 ./test
- 删除
- umount /dev/sdb2
- 种类:SUID,SGID,sticky
- 假设存在一个文件f1
- 假如给f1赋予权限sticky
- 方法:
- 1. chmod 1666 f1
- 当权限编码数字长度为4个的时候,第一位表示特殊权限,后三位表示普通权限
- 第一位表示特殊权限时,具体分为8种情况:
- 当第一位是0,特殊权限为空
- 当第一位是1,特殊权限是sticky
- 当第一位是2,特殊权限是SGID
- 当第一位是3,特殊权限是SGID,sticky
- 当第一位是4,特殊权限是SUID
- 当第一位是5,特殊权限是SUID,sticky
- 当第一位是6,特殊权限是SUID,SGID
- 当第一位是7,特殊权限是SUID,SGID,sticky
- 2. chmod u+t f1
- 3. chmod u=rwx f1
- 文件权限编码 421 rwx
- 1.在虚拟机上添加磁盘(界面端实现)
- 2.登录虚拟机,执行命令:
- fdisk -l
- 查看磁盘有没有成功添加,sda,sdb.......
- 3.执行命令:
- fdisk /dev/sdb
- 开始进行磁盘分区
- 4.命令(输入 m 获取帮助):
- m具体查看一些参数的实际含义
- n添加分区,new
- d删除分区,delete
- l展示分区编码号
- w把实现的分区结果保存在磁盘中
- 5.执行命令:
- fdisk -l
- 检查分区是否成功实现
- 6.开始进行磁盘格式化
- mkfs.xfs /dev/sdbn
- n指代的是分区号,前四个分区里,最多只能有一个扩展分区,主分区个数最多是4个
- 7.mount /dev/sdb1 ./existed_directory
- 8.执行命令:
- df -h
- 检查挂在是否成功
- 9.如果不想用这个分区了,可以进行分区的卸载,执行如下命令:
- umount /dev/sdbn
- NFS:两个或者多个电脑之间文件共享
- 假设存在两台主机A,B。A为主,B为副。
- 通过远程挂载形式,将主机A的共享目录里挂载主机B的共享目录:
- 列如:在A的共享目录下新建一个文件夹,这个文件同时在B的共享目录下生成,
- 在B这边的共享目录下新建一个文件夹,这个文件同时在A的共享目录下也会生成,
- NFS的搭建过程
- 1.确定一下两台虚虚拟机的IP
- ip addr
- 192.168.1.1(A)
- 192.168.1.2(B)
- 2.关闭A的防火墙,systemctl stop firewalld.service
- 检查A的防火墙是否关闭 systemctl status firewalld.service
- 3.设置共享目录
- A:mkdir /ashare
- 4安装A 的nfs-utils
- yum install nfs-utils
- (yum删除方法 yum remove package_name
- 查看安装的包 yum list )
- 5在主机A编辑exports文件
- vi /etc/exports
- 写入内容
- /ashare 192.168.12.0/24(rw,sync,all_squash)
- (/ashare 192.168.245.2)
- 6 重启服务
- systemctl restart nfs-server
- 7在主机B上安装nfs-utils
- yum install nfs-utils
- 8在主机B上设置共享目录
- mkdir /bshareQQQ
- 9在主机B上查看主机A可提供的挂载信息
- showmount -e 192.168.1.1(A的ip)
- 10在主机B上 实现NFS的挂载
- mount -t nfs 192.168.1.1:/ashare /bshare
- 11检查挂载成功与否
- df -h
- 12尝试在/bshare下新建一个文件1.txt,
- 如果不能成功,需要给A赋予权限
- chown -R nfsnobody:nfsnobody /ashare
- 13在/bshare新建一个文件1.txt,检查在主机A的/ashare下是否出现一个文件1.txt
- 同时也可以在主机A上的1.txt文件写入一些内容,在主机B上查看/bshare目录下的文件1.txt是否发生了同样的修改
-
-
- umount -f /directory 卸载
- 相对路径:./ ../
- 绝对路径:/
- 用户主目录:~
- cd ~主目录 cd .当前目录 cd ..上一级目录 cd../c1 上一级目录的子目录 ll..展示上一层目录 ll~
- ll -lh展示当前文件大小
- ll -a展示所有文件
- 指定权限
- mkdir -m a=rwx a.txt
- a=rwx -m g=rw 777 mkdir -m=a,u,g,o
-
- mkdir test1
- mkdir test2
- touch ./test1/a
- 文件迁移
- mv ./test1/a ./test2
- 文件复制
- cp ./test2/a ./test1
- 一·find:是以文件名称,后缀名,文件相关用户,文件大小,文件类型,文件访问,修改等时间等去查询文件,但不
- 包括以文件的内容去查询
- grep可以以内容查找
- find ./ -name "*.txt" 当前路径查询,可以遍历到它的叶子节点
- 1·在指定路径下(当不指定路径时,默认在当前路径下查找),按照文件的后缀名进行查找,从当前路径
- 一直向下遍历到满足条件的叶子节点层
- find -name ”*.后缀名“
- eg:
- find -name "*.txt"
-
-
- 2·在查询1的情况下,不区分大小写
- find -iname ”*.后缀名“
- eg:
- find -iname "*.txt" 查找文件名不区分大小写
-
- 3·把查询到的结果执行指定操作
- find -iname "*.后缀名“ -exec 指定操作 {} \;
- find -iname ”*.后缀名“ -ok rm -f {} \; 操作之前进行会进行询问
- eg:
- find -iname "*.txt“ -exec ls -lh {} \; 把查询到的文件展示出来
- find -iname "*.txt“ -exec rm -f {} \; 把查询到的文件删除
- 4· 依据文件的类型进行查找(当不指定路径时,默认在当前路径下查找)
- 文件类型:(普通文件 f,目录文件 d,链接文件 l,设备文件 s)
- eg1:查找普通文件
- find -type f
- eg2:把查询到的软连接删除
- find -type l exec rm -f {} \;
- 5·按照指定权限进行查找文件
- find -perm 权限编码
- (chomd a=rwx a.txt)
- eg1:
- find -perm 666
- 6·按照文件的所属用户进行查找
- find -user 文件所属用户
- eg1:
- find -user root
- 7·按照文件的所属组进行查找
- find -group 文件的所属组
- eg1:
- find -group test
- 8.按照文件的修改时间进行查找
- stat a.txt 查询文件信息
- atime,mtime,ctime ,amin,mmin,cmin access访问 modify修改时间 change变化时间
- find -atime -1 一天以内 find -atime -n n天以内查询访问过的文件,mtime,ctime同理
- find -atime +1 一天前 find -atime +n n天前查询访问过的文件,mtime,ctime同理
- find -amin -1 一分钟以内
- find /home -amin -1
-
- 9.按照文件的大小进行查找,查找文件大小的单位:k,M,G
- Eg1:
- find -size +1M 查找文件大于1MB的文件=find -size 1M (默认1MB以内)
- find -size -1M
- find -size -1k
- find -size -1G
- 10.按照文件的深度层次来进行查找(从最深处开始查找一直遍历到当前目录)
- A .find -depth -iname "*.txt" 将指定路径作为第一层,向下遍历到最深处,来查找每一层满足指定条件的文件
- B. find -maxdepth n -iname "*.txt" 将指定路径作为第一层,向下遍历到第n层,来查找每一层满足指定条件的文件
- C. find -mindepth n -iname "*.txt" 将指定路径作为第一层,从第n层开始向下遍历到最深处,来查找每一层满足指定条件的文件
- eg1:
- find -depth -type f -exec tree -L 2 {} \; 查找文件最深处的普通文件
- find -mindepth 2 -type f 从第2层以后开始遍历
- find -depth -type f -iname "*.txt"
- find -maxdepth 2 -type f
- 以树结构来展示文件,需要安装yum install tree,展示第一层的文件tree -L 1
- 展示指定目录文件:ll ./a/b/c
- 11.将多个条件按照指定逻辑组合在一起进行文件查找
- 逻辑组合有:
- -a:and,表示多个条件同时满足
- -o:or,表示多个条件只要一个满足即可
- eg:
- find -type f -o -iname "*.txt"
- find -type f -a -iname "*.txt"
- find / -maxdepth 1-type f -a -size -1M 条件查询 a:and o:or
- find / -maxdepth 1-type l -o -size -1k
- 12.find -name "文件名.*"按照文件名查找
- find -name "文件名*"
- find -iname"[a-Gz[0-9].*按照指定位置满足指定字符进行查找
-
- find -name "a.*" find
- find -iname"[A-G][0-9].*"
- 修改权限,具体是对我们的文件来更换对应的权限
- 权限的种类有:r,w,x,s,t,-
- r:可读权限,数字代号为4
- w:可写权限,数字代号为2
- x:执行权限,数字代号为1 书上172页
- -:没有任何权限,数字代号为0
- 修改方式1通过权限编码:
- eg:
- chmod 666 text.txt
- chmod 1666 text.txt
- 给文件修改权限为,_r_xrwx__T
- chmod 1570 text.txt 0 T I t
- 关于特殊权限的补充:当我们为文件赋予特殊权限的时候,具体是给文件对应三种用户执行这个文件时,赋予特殊权限
-
- 2通过给对应用户赋予具体权限类型来实现权限修改
- chmod a,u,g,o
- chmod a=rwx filename
- 3通过夹减给对应用户的当前权限进行修改
- chmod u-x filename
- chmod u+x filename
- 1·stat filename 可查看文件基本信息
- 2· ll -a 查看所有文件
- ll /existed_directory 绝对路径,相对路径(./,../),~
- ll -lh 显示文件大小
- 3· ls 展示当前目录下的文件 ll=ls -l(默认当前路径)
- ls ../相对
- ls ~相对
- ls / 绝对
- ls -lh显示文件大小
- ls -lh -t 按时间展示
- ls -lht 升序按时间展示
- ls -lhrt 降序 按时间展示
- ls -a 展示所有文件
- 时间戳;1970/1/1 00:00:00
- cat filename 查看内容较少(文件的行比较少)的文件
- cat file1 file2 >file3 把文件1和文件2合在文件3一起展示
- cat -n filename 展示行号
- cat -b filename 空格行不显示
- cat -E filename 增加每一行结束标识符,$
- cat -n -E filename
- 5·more
- more filename
- 可以一行一行翻看:enter,
- 可以一页一页向下翻看:空格键/ctrl+f ( forward),
- 可以一页一页向上翻看:ctrl+b (backward)
- 退出查看 ctrl+c,q
- 6·head
- ·head filename 默认查看10行
- ·head -n 5 filename 查看5行
- ·head -c 5 filename 默认查看5个字符
- 7·tail
- tail filename 默认查看后10行
- tail -n 5 filename 查看后5行
- tail -c 5 filename 默认查看后5个字符
- 8·less
- less filename 进行文件内容的查看(适合查看大文件,先比于more,它的功能更全)
- enter:逐行向下翻看
- 空格键:逐行向上翻看
- ctrl+f:逐行页下翻看
- ctrl+b:逐行页上翻看
- less+/str filename
- n:基于查询到的关键字符 向下翻
- N:基于查询到的关键字符 向上翻
- less+n filename 从第n行开始进行文件内容的查看
- less -N filename 查看每一行并添加行号
- less +/enable *.txt *.* find -iname "[a-c]*" find -iname "[1-9]*"
- less -M filename 进行文件内容的查看显示百分比 man find info man 查看帮助 find --help
- less +/apple filename 查看指定文件中的指定内容(apple)
- N/n查看关键字
- less+上/小健
- 退出查看 ctrl+c,q
-
- 查看文件基本信息:
- ls
- ls -l
- stat查看单个文件
- 查看文件内容:
- vi,vim
- cat
- more
- less
- head
- tail
- info
- man
- 创建压缩文件:
- 1.tar -zcvf 原文件名.tgz 原文件名
- 2.compress filename (.z为后缀名)
- 3.gzip filename (.gz为后缀名)
- 4.bzip2 filename (.bz2为后缀名)
- 还有很多
- 解压:
- 1·tar -zxvf 压缩包filename
- 2.uncompress filename
- 3.gunzip filename
- 4.bzip2 filename
- 词云图
- wc:
-
- wc filename展示(行数,词数,字符数,文件名)信息
- wc ./test/a.txt
- wc ./test/{a.txt,b..txt}
-
- grep
- grep net test(grep 关键词 文件名)只展示有关键词的行数
- grep -c net test(grep 关键词 文件名 统计关键词出现的次数)只展示有关键词的行数
- grep -i net test 不区分大小写
- grep -i -c net test
- grep -i -c net ./home/a.txt
- grep -i -c net ./home/*.txt
- grep -i -c net ./home/*
- grep -i -c net ./home/*.*
- grep -i -n net test 展示行数(路径,行数,内容)按行显示
- grep -v -n net test 反向显示
- wc:
- wc filename 展示文件的对应的的行数,词数,字符数,文件名
- wc {filename1,filename2...}
- wc /some_dir{filename1,filename2...}
- grep:
- 把匹配到的文件以行为单位,从每一行当中查找需要匹配的字符串,当匹配到文件有多个时,
- 会在前面显示相关文件信息(文件路径与文件名)
- grep str filename
- grep -c str filename 统计指定字符串在匹配到的文件中,出现的次数
- grep -i str filename 从匹配到的文件中,查找指定字符串(不去分大小写)
- grep -n str filename 将查询到的行的结果增加行在对应文件
- grep -v str filename 反向匹配(把没有匹配到的行结果显示出来)
-
- sort:
- 排序:是对文件的每一行进行排序(依据ASCII值)
- sort a.py
-
- cut:
- 展现文件的局部范围的内容
- cut -b 2-5,8,10 a.py
-
- uniq:
- 在进行去重显示的时候,去重的规则是:连续重复出现
- unip filename 进行文件去重展示
- unip -c filename 针对文件中出现的重复行进行计数
- unip -u filename 将没有连续重复出现的行显示出来
- unip -i filename 在连续重复出现的行不计大小写,作为重复行,来进行去重显示
-
- rpm:
- 1.按照包
- 2.查询(查询一个包是否安装)rpm -qa | grep telnet ( rpm -qa查询所有 = yum list installed) rpm -qa | grep 包名
- 3.校验:校验包安装的正确姓
- 4.升级:更新
- 5.删除
- yum:
- yum install (-y) package
- y:下载并安装
- d:下载,并不安装
- N:增加退出
-
- yum repolist 用于列出系统中已配置的yum资源
- yumex 软件包 yum list yumex=yum list installed
- vi:
- vi filename(文件可以存在,也可以不存在)
- 命令模式,文本编辑模式,行编辑模式
- 命令模式:
- vi filename
- i,a,s,o可以进入文本编辑状态
- esc+shift+q wq 保存
- 光标在每一行的开始安esc+yy 对光标所在行复制
- esc+p 对复制的内容进行张贴
- esc+gg 光标跳到首行
- esc+dd 删除光标所在行
- 在xshell中
- ctrl+insert 对选中的内容进行复制
- shift+insert 对已经复制的内容进行张贴
- 文本编辑模式:内容编辑
- 行编辑模式:
- 1.q,q!,wq,w,wq!
- 2. /内容 /[0-9 ] 光标以下进行可以查找
- 3. ?内容 光标以上进行可以查找