Linux操作系统
内容管理
Linux操作系统介绍、简单使用
Linux基础教程,没什么特别的地方,简单复习一下【之前用的ubutn】现在使用的CentOS7
Linux基础操作
查看网络IP和网关
在cmd中直接输入命令ipconfig就可以查看本机的ip
在linux中,使用的是ifconfig查看本地的ip地址
[root@hadoop100 ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.204.129 netmask 255.255.255.0 broadcast 192.168.204.255
inet6 fe80::6404:e373:bdf4:ecd8 prefixlen 64 scopeid 0x20<link>
互相ping可以发现主机和虚拟机之间是相互连通的
VMware提供了三种网络的连接模式:
- 桥接模式: 虚拟机直接连接外部物理网络,主机起到的作用只是桥梁作用,虚拟机可以直接访问外部网络,并且对于外部网络是可见的
- NAT模式(network address translation): 虚拟机和主机构建一个专用的网络,通过虚拟网络地址转换【NAT】设备对IP进行转换,虚拟机通过共享主机IP可以访问外部网络,但是外部网络不能访问虚拟机
- 仅主机模式: 虚拟机只与外部主机共享一个
专用网络
,不能与外部进行通信,也就是只有上面的VMnet1网卡,该网卡就是构建交换机,形成一个专用网络,并且Linux虚拟机与外网的连接断掉了,不能访问互联网
相当于就是NAT构建了一个虚拟的局域网,所有的虚拟机通过路由连接到PC主机,所有的VMware中的虚拟机之间是可以相互访问的【PC上有两个VMware的网卡,其中一个就是相当于路由的作用,另外一个就是Vmnet8,作用就是可以再次连接到路由,从而实现对于局域网的中的VM的访问】
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EhBzQbS4-1650378811435)(C:\Users\OMEY-PC\Desktop\Linux.png)]
手绘了一张图片,大家应该可以大致看懂网络NAT的转换方式了
设置静态IP vim /etc/syconfig/network-scripts/
DHCP时动态分配IP,所以每次启动都是动态的IP,所以不是很方便,因为不方便主机进行远程操纵,所以需要将VM虚拟机的设置为静态IP
既然要修改,那么肯定是在配置文件中,配置文件放在etc目录下,在系统配置文件夹下面的network下面,tab补全
vim /etc/sysconfig/network-scripts/ifcfg-ens33
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
这里可以看到协议就是dhcp动态分配,所以将其改为静态即可static; 就是vim的操作命令
静态之后就需要配置几个内容
- IP地址 : IPADDR= 这里就是192.168.111.100
- 网关 : GATEWAY = 192.168.204.2
- 域名解析器: DNS1 = 192.168.204.2
之后重启网络服务, service network restart
修改IP后ping问题
物理机能够ping虚拟机,但是虚拟机不能ping物理机,这是因为物理机的防火墙,将其关掉即可
虚拟机能Ping主机,但是不能Ping外网,因为DNS设置问题,不能连接外网
虚拟机Ping www.baidu.com域名未知,可能时GATEWAY和DNS设置问题
关闭NetworkManager服务, systemctl stop NetworkManager 关闭 ; disabled 禁用
如果检查出systemctl status network进行检查
更改主机名
可以直接敲IP地址访问,但是同时也可以使用主机名代替,就像之前的localhost代替本机类似,这里使用hostname可以查看,在etc下面修改
hostname 查看
vim /etc/hostname 修改 但是需要重启服务器
hostnamectl set-hostname XXX 直接修改
更改之后要实现映射关系,这里的映射关系是hosts文件记录,这也是一个配置文件 /etc/hosts
192.168.204.100 hadoop100
除了修改这里的hosts之外,还要要主机也能找到
在windows–> system32-- > drivers --> etc --> hosts中进行修改
//这里提醒一下,每次配置网络之后就需要重新start service network restart
配置网络需要在物理机上配置Vnet8,配置ip端口、网关名,相当于就是这个路由器的; 那么按照之前的那幅图,在同一个局域网,所以ipv4的前三位相同,就配置为1即可,然后网关和DNS配置为2,在ens33中配置相关的端口即可 ,重启访问
C:\Users\OMEY-PC>ping hadoop100
正在 Ping hadoop100 [192.168.***.100] 具有 32 字节的数据:
来自 192.168.204.100 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.204.100 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.204.100 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.204.100 的回复: 字节=32 时间<1ms TTL=64
192.168.204.100 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 1ms,平均 = 0ms
可以看到这里的就配置成功
远程登录 Xshell、Xftp-7
一般在实际生产中,机房是不可能直接进的,那么要操作服务器就需要进行远程登录,远程工具有很多种类,比如XShell、SSH Secure Shell等,这里就安装Xshell
基于ssh协议直接进行远程登录 ssh user@hostname
可以直接在DOS窗口中输入ssh命令进行远程登录,当然可能会出现问题
'ssh' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
这里可能是系统没有下载SSH客户端,下载即可
右键开始键 —> 应用与功能 --> 可选功能 —> 添加功能 ----> 下载OpenSSH客户端
配置环境变量 ---- 这个很多次了,说一下参数
SSH_PATH C:\Windows\System32\OpenSSH\
在path中加入
%SYSTEMROOT%\System32\OpenSSH\;
C:\Windows\System32\OpenSSH
这样就可以使用ssh指令了,环境变量的配置也确实挺烦的,所以后面出现了Docker,这样简化了操作
C:\Users\OMEY-PC>ssh root&hadoop100
ssh: Could not resolve hostname root: \262\273\326\252\265\300\325\342\321\371\265\304\326\367\273\372\241\243
'hadoop100' is not recognized as an internal or external command,
operable program or batch file.
C:\Users\OMEY-PC>ssh root@hadoop100
The authenticity of host 'hadoop100 (192.168.***.100)' can't be established.
ECDSA key fingerprint is SHA256:JwDUnYOszNFgjdkPFGi6g3N/f06VQVW7rh6yW3k5mcU.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'hadoop100,192.168.204.100' (ECDSA) to the list of known hosts.
root@hadoop100's password:
Last login: Tue Apr 19 11:38:24 2022 from 192.168.204.1
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.***.100
使用的命令格式 ssh user@hostname 这样就可以进行远程登录,点击yes、输入pwd即可
使用工具进行远程登录
大家可以自行百度下载即可🎄
只要输入密码等,就可以实现远程登录了,这里输入ifconfig进行验证
https://www.xshellcn.com/ — 中文官网,下载更快
接下来远程连接了之后还要能够和主机之间进行文件的传输,所以自行到官网下载Xftp-7即可,安装之后还是配置主机和用户即可使用
配置一下编码方式: 文件 —> 当前会话属性 —> 点击 —> 语言设置 —> UTF8
这样就可以正常进行远程的通信了
系统管理 systemctl
上面已经配置了网络的相关设置,其中使用到了一个命令 service network restart,这里的service指令就是一个服务?
首先复习一下操作系统和java基础:java中有精灵线程的概念,daemon thread,就是守护线程,线程是CPU调度的最小单位
- 计算机中,一个正在执行的程序【命令】 , 就是一个process,是CPU资源分配的最小单位,
进程可以看作火车,线程当作火车的车厢,所以进程中包含多个线程,CPU会为每一个进程分配一个唯一的地址空间,使用PID【process ID】标识,一个线程挂掉,整个进程就会崩调
守护进程: 生命周期很长【一直存在】、常驻内存的进程就是服务service 比如网络服务进程,一般只要不关机,就一直服务呢,一直占用一块内存【CPU中可以查看】
CentOS中使用的方式就是:
service 服务名称 start/stop/restart/status
比如上面的网络服务的重启就是这个命令
比如查看服务的命令
[root@localhost ~]# ls /etc/init.d
functions netconsole network README
但是这里发现启用的服务只有network两个,这里是因为旧版的命令已经不再使用了,所以需要使用新版本的
systemctl 基本
CentOS 7版本已经逐步没有使用上面的service的命令了,而是使用systemctl命令【system control】
systemctl start/stop/restart/status 服务
— status 状态
所以现在的服务是放在usr下的lib的systemd中的system文件夹下
查看当前的所有的服务: 使用ls命令就可以列出
查看服务
[root@localhost ~]# ls /usr/lib/systemd/system
abrt-ccpp.service
abrtd.service
abrt-oops.service
abrt-pstoreoops.service
abrt-vmcore.service
abrt-xorg.service
accounts-daemon.service
alsa-restore.service
alsa-state.service
比如这里可以查看一下防火墙服务firewalld【d结尾就是daemon】
[root@localhost ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running)
这里就看到了防火墙的服务是打开的状态
NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
Active: active (running)
可以看到Centos7的网络状态NetworkManager也是active,所以可以正常的上网,关闭就不行
service开机自启设置 setup
对于服务,是可以设置是否开机自启动的,直接输入命令setup就可以进入交互式窗口,在这里就可以设置服务的开机的行为
进入的图形化界面如上所示,这里可以看到两个重要的分块,一个是SysV initScripts — 就是老版本的服务;而下的systemd services ---- 新版本的服务呢 一个是在/etc/init.d CentOS 7的有一个服务进程为systemd服务,就是后面的所有的进程都是基于这个进程的,所以systemd就是第一个启用的进程; 这些服务都是在usr/lib/systemd/system下
命令式设置开机的自启动
systemctl list-unit-files 可以查看服务开机的自启动状态
systemctl disable … 关闭开机自启动
systemctl enbale … 开启开机自启
UNIT FILE 就是代指的服务,查看所有就是list即可
[root@localhost ~]# systemctl list-unit-files
UNIT FILE STATE
proc-sys-fs-binfmt_misc.automount static
dev-hugepages.mount static
dev-mqueue.mount static
proc-fs-nfsd.mount static
proc-sys-fs-binfmt_misc.mount static
run-vmblock\x2dfuse.mount disabled
[root@localhost ~]# systemctl enable sssd
Created symlink from /etc/systemd/system/multi-user.target.wants/sssd.service to /usr/lib/systemd/system/sssd.service.
[root@localhost ~]# systemctl disable sssd
Removed symlink /etc/systemd/system/multi-user.target.wants/sssd.service.
系统的运行级别
在CentOs7 中,Linux系统的运行界别一共有7种,级别越高,支持的功能越高;比如0就是系统停机状态
常用的状态就是3和5,状态3就是完全的多用户状态,登录后进入的式控制台命令行; 而级别5就是进入的图像GUI; 级别六式正常关闭重启 — 默认的级别也不能到这里,不然一直关机,卡bug
在Centos 7 种,于宁的几倍简化成了
multi-user.target: 多用户有网,无图形界面,就是原来的3
graphical.target: 多用户有网,且有图形界面, 就是原来的5
查看当前的系统的运行运行级别:·systemctl get-default
修改当前的运行的级别: systemctl set-default TRAGET 【就上面两种】
[root@localhost ~]# systemctl get-default
graphical.target
因为安装的时候就不是最小安装,所以默认级别就是graphical
防火墙的关闭
上面在演示服务的时候就查看过状态了,防火墙就是一个服务,所以使用命令status就可查看
比如这里给一个操作的小练习
查看当前防火墙服务的状态
设置为相反的状态,再设置为当前状态
查看防火墙的开机自启动状态,关闭开机自启动
[root@localhost ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since 二 2022-04-19 19:16:57 CST; 4h 2min left
Docs: man:firewalld(1)
Main PID: 938 (firewalld)
CGroup: /system.slice/firewalld.service
└─938 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid
Hint: Some lines were ellipsized, use -l to show in full.
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl start firewalld
[root@localhost ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since 二 2022-04-19 15:15:29 CST; 18s ago
Docs: man:firewalld(1)
Main PID: 58626 (firewalld)
Tasks: 2
CGroup: /system.slice/firewalld.service
└─58626 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid
Hint: Some lines were ellipsized, use -l to show in full.
[root@localhost ~]# systemctl enable firewalld
[root@localhost ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]# systemctl enable firewalld
Created symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service.
就是上面的CentOs的服务命令的使用
关机重启
Linux因为轻量并且没有图形界面占用资源,一般使用再服务器领域,所以作为服务器一般要持久运行的,关机或者宕机带来的损失很严重;
但是还是介绍一些常用的命令
- sync : 将数据又内存同步到磁盘中
- halt 停机、关闭系统,不断电【待机】
- poweroff 关机、断电
- reboot : 重启 【等同于shultdown -r row】
- shutdown 【-H/-r】 时间[now 等待多久后关机min] halt,停机, reboot 重启
Linux的磁盘读写 :
Linux系统为了提高磁盘读写的效率【其实项目也要像这样】,采用的预读迟写, 也就是拿到数据后,不会马上写入硬盘持久化,而是先放在内存中缓冲,缓冲区满后写入磁盘 ------ 但是内存不是持久化的,一旦poweroff那么数据就没有了, 所以需要sync指令立即将数据写入磁盘
....sync [同步, vue中使用的asyn异步]到磁盘
reboot : 立刻重启 ---- 刚刚试了,立马给关了....
Linux常用shell命令
这个部分非常的important,因为Linux面向文件,并且后期企业没有图形界面,所有的操作都是使用命令操作的;Linux操作最里层就是Linux内核直接来控制硬件,而上面的shell层就是可以通过终端输入命令,shell可以看作一个命令解释器,然后将命令解释交给内核执行
help 类型 man help
帮助类型的命令就是获取帮助信息的,没什么太重要,但是有的时候很有用,初学java的时候的命令就是使用javac --help就可以获取帮助
man +(命令/配置文件) 获取帮助
这个命令很有用,后面接上命令就可以查看命令的作用
[...]# man ls
LS(1) General Commands Manual LS(1)
NAME
ls, dir, vdir - 列目录内容
提要
ls [选项] [文件名...]
POSIX 标准选项: [-CFRacdilqrtu1]
GNU 选项 (短格式):
[-1abcdfgiklmnopqrstuxABCDFGLNQRSUX] [-w cols] [-T cols] [-I pattern]
[--full-time] [--format={long,verbose,commas,across,vertical,single-
column}] [--sort={none,time,size,extension}]
[--time={atime,access,use,ctime,status}] [--color[={none,auto,always}]]
[--help] [--version] [--]
描述( DESCRIPTION )
程序ls先列出非目录的文件项,然后是每一个目录中的“可显示”文件。如果
没有选项之外的参数【译注:即文件名部分为空】出现,缺省为 "."
(当前目录)。 选项“ -d ”使得目录与非目录项同样对待。除非“ -a ”
选项出现,文 件名以“.”开始的文件不属“可显示”文件。
man可以查看所有的类型的命令的用法,包括内置命令和外部命令
就可以看到这个命令的详细解释,还有就是使用的格式
除了接命令之外,还可以查看配置文件,普通的文件是不能查看的
[root@localhost ~]# man /etc/sysconfig/network-scripts/ifcfg-ens33
这里就可以观察该配置文件的内容,但是要想修改编辑等,还是使用vim命令来操作
常用的快捷键
在Linux系统中,之前的Windows的快捷键就不合适了,常用的快捷键
- ctrl + c 停止进程
- ctrl + l 清屏【等同于clear】 ---- 彻底清理是reset 【 windows的cmd命令cls区分】
- 上下键 执行过的指令
help + 内置命令
shell命令分为内置和外部,内置的命令,基础功能的命令是直接内嵌在shell中的,系统加载启动之后会随着shell一起加载,常驻在系统中【有点类似上面的daemon process】,这些命令都是built-in命令 — 比如cd、 exit、echo 【 类似print】
内置命令在系统启动的时候就会调入内存; 外部命令只有使用相关的软件的时候才会从硬盘进入内存 【 这个也是数据库设计的思想—使用频率高的单独】
[root@localhost ~]# help cd
cd: cd [-L|[-P [-e]]] [dir]
Change the shell working directory.
Change the current directory to DIR. The default DIR is the value of the
HOME shell variable.
......
[root@localhost ~]# help ls
bash: help: 没有与 `ls' 匹配的帮助主题。尝试 `help help' 或者 `man -k ls' 或者 `info ls'。
可以看到help只能查看内置指令比如cd,可以看到是change directory,ls指令是不行的
文件类
文件类的指令通常是操作文件,Linux是面向文件的,所以文件类指令使用频度很高
pwd 【显示当前目录绝对路径】
pwd不是password,是print working directory,打印当前工作目录的绝对路径
[root@localhost network-scripts]# pwd
/etc/sysconfig/network-scripts
这里的绝对路径当然是从根路径/开始的,根路径之前分析过各个文件夹的作用和功能
ls[-a/-l] 目录 列出目录内容
ls就是list ,选项中,-a 就是all 【列出所有的文件,包括隐藏的文件】, -l long 长数据串列出,也就是不只是列出目录文件名称,而是包括
文件类型权限 链接数 文件属性 文件大小用byte标识, 建立或者最近修改的时间 名称 list -l 简写为ll
[root@localhost ~]# ls -al
总用量 60
dr-xr-x---. 15 root root 4096 4月 19 15:31 .
dr-xr-xr-x. 17 root root 224 4月 19 2022 ..
-rw-------. 1 root root 2001 4月 19 2022 anaconda-ks.cfg
-rw-------. 1 root root 608 4月 19 15:30 .bash_history
-rw-r--r--. 1 root root 18 12月 29 2013 .bash_logout
-rw-r--r--. 1 root root 176 12月 29 2013 .bash_profile
-rw-r--r--. 1 root root 176 12月 29 2013 .bashrc
drwx------. 14 root root 4096 4月 19 2022 .cache
可以看到列出了所有的文件,包括隐藏的.
cd [参数] 切换到…
这个文件命令也是使用非常平凡,在Windows中也又这个命令,change directory 跳转到指定的目录;
-
cd 绝对路径 切换路径
-
cd 相对路径
-
cd ~ 或者直接 cd 回到家目录 当前登录用户的主目录
-
cd - 回到上一次所在的目录
-
cd … 回到当前目录的上一级目录【这个和前端路径类似,./ …/就是上一级】
-
cd -P 跳转到实际的物理路径,不是快捷方式的路径
前面的两个很常见,后面的也要了解,比如~ … P等 , -也用的多
[root@localhost ~]# cd /etc/sysconfig/network-scripts
[root@localhost network-scripts]# cd ..
[root@localhost sysconfig]# cd ..
[root@localhost etc]# cd -
/etc/sysconfig
[root@localhost sysconfig]# cd -P
[root@localhost ~]# cd /etc
[root@localhost etc]# cd /sysconfig
bash: cd: /sysconfig: 没有那个文件或目录
[root@localhost etc]# cd /usr
这里演示了一下使用,…就是上一级目录,然后/… 就可以打开当前目录下的其他的某个目录【资源路径和前台理解相同】
mkdir + name [-p] 创建新目录
mkdir make directory 建立目录;— 创建一个新目录, make make 创建
-p : 创建多层目录呢
[root@localhost ~]# mkdir cfengStudy/linux
mkdir: 无法创建目录"cfengStudy/linux": 没有那个文件或目录
[root@localhost ~]# mkdir cfengStudy/linux -p
这里创建了二级目录,当然相对路径就是当前所在路径之下;ls -l 就可以看到创建成功
rmdir + 空目录 删除空目录
remove directory 移除空目录, 这里只能删除空的目录,如果是其中有其他的内容,就不能使用这个命令,使用rm
[root@localhost cfengStudy]# ll
总用量 0
drwxr-xr-x. 2 root root 6 4月 19 17:08 linux
[root@localhost cfengStudy]# ^C
[root@localhost cfengStudy]# rmdir linux
[root@localhost cfengStudy]# ll
总用量 0
这里的linux就是空的目录,可以使用这个rmdir删除
touch + 文件名称 创建空的文件
需要注意的是,上面的cd、mkdir、rmdir都是创建的目录,也就是文件夹,这里的touch是创建一个新的文件
touch + 文件 创建一个空的文件
[root@localhost etc]# cd -
/root/cfengStudy/linux
[root@localhost linux]# touch cfengdir.txt
[root@localhost linux]# vim cfengdir.txt
cp [-r] source dest 复制文件或目录到dest
copy 复制,复制source文件到dest;
- -r 递归复制整个文件夹【所有】
- \cp 强制覆盖不提示的方法
[root@localhost linux]# ls
cfengdir.txt
[root@localhost linux]# cp cfengdir.txt ~/cfengStudy
[root@localhost linux]# cd ..
[root@localhost cfengStudy]# ll
总用量 4
-rw-r--r--. 1 root root 130 4月 19 17:40 cfengdir.txt
drwxr-xr-x. 2 root root 26 4月 19 17:30 linux
rm[-r/-f/-v] file 删除文件或者目录
remove ; 递归删除目录中的所有的内容,和上面的rmdir不同,这里就会删除所有的内容,可以进行选择
- -r : 递归删除所有的内容
- -f : 强制执行删除,不会提示
- -v view 显示详细的删除过程
[root@localhost cfengStudy]# rm -rv linux
rm:是否进入目录"linux"? Y
rm:是否删除普通文件 "linux/cfengdir.txt"?Y
已删除"linux/cfengdir.txt"
rm:是否删除目录 "linux"?Y
已删除目录:"linux"
可以看到这里就是使用了view来显示详细的操作过程,同时因为没有选择force ,所以需要进行确认
mv olepo newpo 移动文件与目录或者重命名
move,移动;上面的copy相当与windows中的复制,这里的mv相当于之前剪切;还可以当重命名使用
- 重命名 mv oldname newname
- 移动文件 mv /temp/movefiles /targetFoder
[root@localhost ~]# cd cfengStudy
[root@localhost cfengStudy]# ll
总用量 4
-rw-r--r--. 1 root root 130 4月 19 17:56 linux
[root@localhost cfengStudy]# mv linux cfeng.txt
[root@localhost cfengStudy]# ll
总用量 4
-rw-r--r--. 1 root root 130 4月 19 17:56 cfeng.txt
[root@localhost cfengStudy]# mkdir linux
[root@localhost cfengStudy]# ll
总用量 4
-rw-r--r--. 1 root root 130 4月 19 17:56 cfeng.txt
drwxr-xr-x. 2 root root 6 4月 19 17:57 linux
[root@localhost cfengStudy]# mv cfeng.txt linux
[root@localhost cfengStudy]# ll
总用量 0
drwxr-xr-x. 2 root root 23 4月 19 17:58 linux
[root@localhost cfengStudy]# cd linux
[root@localhost linux]# ll
总用量 4
-rw-r--r--. 1 root root 130 4月 19 17:56 cfeng.txt
[root@localhost linux]# vim cfeng.txt
这里博主使用了很多ll,类似之前的调试了,看看操作是否成功
cat [-n] 文件 查看文件内容
-n 显示所有行的行号,包括空行, 整个命令一般用于一页就可以显示完全的小的文件的内容
[root@localhost linux]# cat cfeng.txt
hello ereryone, my name is Cfeng, I'm now learning linux, and I hope to get many *** the next year. I believe I can finish. Fighting!
[root@localhost linux]#
[root@localhost linux]# cat -n cfeng.txt
1 hello ereryone, my name is Cfeng, I'm now learning linux, and i hope to get many offers the next year. I believe I can. Fighting!
可以看到和vim编辑器不同,cat会显示内容之后就退出
more+ 文件内容 内容分屏查看器
more是基于Vim的文本过滤器,可以全屏幕显示文本内容【只是查看文件】,有很多快捷键,和之前的vim有类似之处
- space 向下翻页
- Enter 向下一行
- q 立即离开more,类似之前的命令模式的:q
- Ctr + F : 向下滚动一屏 B 向上
- = 输出当前行的行号 :f 当前列的列号
less + 文本内容 比more更强大
也是分屏查看文本内容的指令
- 空白键 翻页
- pagedowm 向下 pageup 向上翻页
- /字串 向下搜寻字串, n下,N上
- ?字串 向上搜索字串 n上, N下
- q 离开
其实和vim也是类似的,如果编辑文本使用vim更佳
但是使用SecureCRT的时候,pagedown和pageup会出现问题呢
使用less查看,也会进入一个单独的类似vim的页面,q退出
[root@localhost linux]# less cfeng.txt
echo [-e] 输出内容 输出内容到控制台
echo可以输出内容到控制台,真就hello echo了
- -e 支持反斜杠控制的字符的转换 也就是转义
比如 \\ \t \n等
[root@localhost linux]# echo "hello\ncfeng"
hello\ncfeng
[root@localhost linux]# echo -e "hello\ncfeng"
hello
cfeng
不带-e就是不支持转义字符
指令还是挺多的,明天继续介绍🎉