day08-用户基本概念作业

[root@oldboy ~]# cp /etc/passwd /root/test.txt

[root@oldboy ~]# cat test.txt

[root@oldboy ~]# vim test.txt

:set nu

j下k上h左l右  ctrl+b上翻两页  ctrl+f上翻两页

10gg  G  0^行首  $行尾

set ic  /root 4个

:1,3s#root#--od--#g  u

:% s#root#--od--#g

20gg  dG u

19gg dG u

which:查看某个命令的完整路径

df -h:查看系统磁盘情况

history:查看历史输入的命令

网卡配置路径:vim /etc/sysconfig/network-scripts/ifcfg-eth0

1.systemctl reboot        重启 *

2.shutdown -r now        立刻重启 *

3.shutdown -h now        立刻关机 *

4.systemctl poweroff    关闭系统并切断电源 *

5.systemctl halt        关闭系统CPU停止工作 *

6.systemctl suspend      暂停系统

7.systemctl hibernat    系统进入休眠状态

8.systemctl hybrid-sleep 系统进入交互式休眠状态

9.systemctl rescue 启动进入救援状态

pwd 查看当前目录

cd - 去上一次所在的目录

cd . 去当前目录,表示当前目录

cd .. 去上一级目录。 ..表示上一级目录

cd ~或cd  去当前目录的家目录, ~表示家目录。

root:当前登录系统的用户

www:当前登录系统的主机名称

~:当前所在的位置

#:通常情况下,是超级管理员的身份(root)

$:为普通用户

公网IP地址:

私网:办公室局域网内使用的地址,不能再互联网上使用(路由器将私网的IP 地址转换为公网)

192.168

172.16

10.0.0

端口的概念:

IP地址:唯一标识一台计算机(身份证)  (找谁,去哪里)

端口:不同软件运行的服务用端口区分    (到这里干啥)

      是一台计算机里唯一标识服务的数字

  我们要访问一台计算机拿到IP地址,找到对应的服务就需要端口。

协议:计算机之间的通信方式(语言),采用相同的协议沟通。  (用什么方式语言干什么)

连接Linux的服务:

SSH服务  Security Shell服务

包括客户端(相当于男人)和服务端(相当于女人) 通过客户端才能连接服务端

[root@oldboyedu ~]# rpm -qa openssh openssl

openssl-1.0.2k-16.el7_6.1.x86_64  #连接和传输过程中加密

openssh-7.4p1-16.el7.x86_64        #SSH服务端软件

服务端运行的SSH的服务:

[root@oldboyedu ~]# ps -ef|grep ssh

root      1457      1  0 11:57 ?        00:00:00 /usr/sbin/sshd -D

root      1995  1457  0 11:59 ?        00:00:00 sshd: root@pts/0

root      7937  1457  0 14:20 ?        00:00:00 sshd: root@pts/1

root      7961  7941  0 14:38 pts/1    00:00:00 grep --color=auto ssh

服务端运行的SSH的服务所用的端口:22  #<==ss -lntup|grep ssh

服务端(女人):软件openssh (提供远程连接) openssl(提供加密)

检查服务信息:

查IP的命令:ip add

查端口:ss -lntup  或  netstat -lntup

查进程:ps -ef|grep ssh

暂停SSH服务:systemctl stop  sshd.service

开启SSH服务:systemctl start sshd.service

客户端(男人)有哪些? Xshell、SeurCRT、Putty、SSH

连接不上服务端,出现连接故障:

Connecting to 10.0.0.201:22...

连接故障的解决方法:

1、检查服务端:

  网卡、IP是不是启动和正确的:输入命令ip add 或 ifconfig

2、检查端口和进程:

  查端口:ss -lntup  或  netstat -lntup

  查进程:ps -ef|grep ssh

  暂停SSH服务后再开启SSH服务  暂停SSH服务:systemctl stop  sshd.service

                              开启SSH服务:systemctl start sshd.service

3、检查客户端的IP、端口、协议是不是对的(眼睛查) 

  都是对的,就是连接不上,咋办?

  (1)ping 10.0.0.200 检查物理链路能否到达

    [root@oldboyedu ~]# ping 10.0.0.200

PING 10.0.0.200 (10.0.0.200) 56(84) bytes of data.

64 bytes from 10.0.0.200: icmp_seq=1 ttl=64 time=0.031 ms

64 bytes from 10.0.0.200: icmp_seq=2 ttl=64 time=0.054 ms

64 bytes from 10.0.0.200: icmp_seq=3 ttl=64 time=0.041 ms

64 bytes from 10.0.0.200: icmp_seq=4 ttl=64 time=0.040 ms

^C

    如果不可达:1、连接的IP输入错了

            2、物理链路有问题(VM环境调虚拟网络编辑器)

    (2)telnet 10.0.0.200 22(连接的端口号)检查对方有没有提供服务,开启服务

[g:\~]$ telnet 10.0.0.200 22

Connecting to 10.0.0.200:22...

Connection established.

To escape to local shell, press 'Ctrl+Alt+]'.

SSH-2.0-OpenSSH_7.4

    如果是连不上的状态:

[g:\~]$ telnet 10.0.0.200 23

Connecting to 10.0.0.200:23...

Could not connect to '10.0.0.200' (port 23): Connection failed.

Type `help' to learn how to use Xshell prompt.

    (1)服务端是否开着防火墙(6是iptables,7是firewalld )(2)服务端没有提供服务

检查防火墙是否开着: 开启防火墙:systemctl status firewalld.service

Active:active (running)开着的状态

Active:inactive(dead)关着的状态

关闭防火墙:systemctl stop firewalld.service

开启防火墙:systemctl start firewalld.service

开机不自动启动防火墙:systemctl disable firewalld.service

开机自动启动防火墙:systemctl enable firewalld.service

什么是快照?

作用:可以让时间倒流,操作过的、说过的话 都可以不算数

克隆:

1、链接克隆

2、开机:

nmtui(C7)===》图形化更改  set up(C6)P81页

systemctl restart network 重启让修改生效

3、复制shell标签 链接

#管理员(皇帝)

$普通用户(大臣)

~家目录:当前位置

@之前的是当前用户名 @之后的是主机名

快捷键:

Tab:补全代码

Ctrl+c:中断终端正在执行的任务

Ctrl+d:退出Shell命令行,关闭Xshell

Ctrl+l:清屏相当于命令:clear

Ctrl+a:光标回到行首

Ctrl+e:光标回到行尾

Ctrl+Insert:复制一行的内容

Shift+Insert:粘贴复制的内容

Ctrl+k:剪切(删除)光标处到行尾的字符

Ctrl+u:剪切(删除)光标处到行首的字符

Ctrl+w:删除光标前的一个单词

Ctrl+y:粘贴Ctrl+k、Ctrl+u、Ctrl+w删除的文本

Ctrl+s:锁定界面,不显示输入的内容

Ctrl+q:解除锁定

Ctrl+r:搜索命令行使用过的历史命令记录

Esc+.(点):获取上一条命令的最后部分(空格分隔)

Ctrl+z:暂停正在执行任务

!!:执行上一条命令

!+命令开头的几个字母:执行最近以字母开头的命令

linux如何查找命令帮助:

1、man:man+ 要查找功能的命令(列:man ls)男人,查找命令的功能 参数 等等帮助信息的工具

2、查内置命令:--help :命令+ --help(例:cp --help)

[root@oldboyedu ~]# LANG="zh_CN.UTF-8" 《======查看汉语帮助(只试用于--help命令)

3、搜索引擎输入:linux+要搜索的命令

普通命令和内置命令的区别:

普通命令是在系统中存在的命令

内置命令在系统中不存在文件,存在于bash解释器里

特殊性:7有些命令也存在文件了。cd,read

man命令找不到,就用help命令

man cd就可以找到所有内置命令

info cp(查命令的相关信息,几乎用不着)

reboot、shutdown重启

halt、poweroff关机

systemctl reboot      重启 *

shutdown -r now        立刻重启 *

shutdown -h now        立刻关机 *

systemctl poweroff    关闭系统并切断电源 *

systemctl halt        关闭系统CPU停止工作 *

systemctl suspend      暂停系统

systemctl hibernat    系统进入休眠状态

systemctl hybrid-sleep 系统进入交互式休眠状态

systemctl rescue   启动进入救援状态

Linux语法:

    命令 [参数选项] [文件或路径] (“[]”里面的东西可有可无)

    例:rm -f /etc/hosts        (完整的路径不带空格)

pwd:查看当前目录(print打印 working工作 directory目录)

自动显示工作目录:(o编辑→esc退出编辑→:wq保存)

[root@oldboyedu~]# vim .bashrc

# .bashrc

# User specific aliases and functions

alias rm='rm -i'

alias cp='cp -i'

alias mv='mv -i'

# Source global definitions

if [ -f /etc/bashrc ]; then

        . /etc/bashrc

fi

PS1="[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\H\[\e[0m\]\[\e[31;1m\] \w\[\e[0m\

]]\\$ "

".bashrc" 13L, 260C written

[root@oldboyedu~]# source bashrc

cd 切换目录(change改变 directory目录)

cd - 去上一次所在的目录

cd . 去当前目录。.表示当前目录

cd .. 去上一级目录。 ..表示上一级目录

cd ~或cd  去当前目录的家目录, ~表示家目录

相对路径:不是从”/“斜线开始的路径,目标文件对于当前文件的路径。

如:data/,mnt/oldboy;

绝对路径(完整的路径):是从”/“斜线根开始的路径,而是从当前目录或指定的目录开始,从根目录开始的。

如:/data/,/mnt/oldboy

ls -a 列出文件下所有的文件,包括以“.“开头的隐藏文件(linux下文件隐藏文件是以.开头的,如果存在..代表存在着父目录)。

ls -l 列出文件的详细信息,如创建者,创建时间,文件的读写权限列表等等。

ls -F 在每一个文件的末尾加上一个字符说明该文件的类型。"@"表示符号链接、"|"表示FIFOS、"/"表示目录、"="表示套接字。

ls -s 在每个文件的后面打印出文件的大小。 size(大小)

ls -t 按时间进行文件的排序 Time(时间)

ls -A 列出除了"."和".."以外的文件。

ls -R 将目录下所有的子目录的文件都列出来,相当于我们编程中的“递归”实现

ls -L 列出文件的链接名。Link(链接)

ls -S 以文件的大小进行排序

tree:以树形结构显示目录及文件(例:tree /etc)

tree -L 1(显示的层数):指定树形显示的层数(例:tree -L 1 /etc)(level层数)

tree -d :指定显示树形目录(例:tree -d /etc)(directory目录)

tree -L 1 -d /etc:显示/etc的一层树形目录

创建目录:mkdir (make创建 directory目录)

mkdir -p:覆盖目录创建,根据需要创建所有目录 包括父目录子目录,递归创建

(例:mkdir -p /oldgirl/oldboy)

在当前目录下创建文件:touch 文件名 (例:touch test.txt)

cat:查看文件内容(例:cat wzh.txt)

强制删除文件:rm -f 文件名(force)

删除目录:rm -fr 目录名    rm -i:确认

递归删除,删除目录和文件:rm -r 文件名 (recusive)

创建连续文件:touch {1..1000}.txt    {}生成数字序列,字母序列。

      touch oldboy{1..3}.txt

      touch {oldboy,oldgirl,oldbaby}.txt

Linux一切皆文件,目录也是文件,目录和文件不能重名。

Linux一切从根开始:Linux系统中的一切的数据、文件都是从根目录下衍生存放的

ls (list)显示目录下的内容

  -l (long) 以长格式显示目录下的内容(ll的效果跟ls -l效果一样)

  -a (all)显示所有文件,包含隐藏文件(以.开头的文件)

  -d(dirctory)显示目录

ls -ld oldboy:看oldboy目录的长格式

vim编辑器:(例:vim Linux.txt 进入Linux文件中编辑)

三种模式:普通模式、编辑模式、命令行模式

a:进入编辑模式  i:进入编辑模式(insert)

o:在光标所在的下一行,空行进入编辑模式

esc:退出编辑模式到命令模式  两遍esc命令模式到普通模式 

:wq保存退出  :q!强制退出 :q退出不保存 :wq!强制保存退出  :set nu显示行号

普通模式的快捷方式:

yy        复制光标所在位置的一行  n yy:复制多行

p        粘贴

dd/cc    删除光标所在的行 (dd删除/剪切本行的所有内容包括空行 cc删除本行的内容保留空行)

0        光标移至行首

$        光标移至行尾

u        撤销最后一次修改

U        撤销当前行的所有修改

gg        移动到文件头部

G        光标移至文章最后一行头部

100gg    调至第100行行首

dG        删除光标所在位置至文件结束

r   替换单个字符

C   删除光标后的整行

ZZ        保存退出

命令行模式的快捷方式:

:q!      不保存文件强制退出vim

:wq       保存文件并退出vim

:wq!      强制保存退出

:q        不保存退出

:set nu  显示行号

普通模式的快捷方式:

/3306:向下搜索3306 继续搜按n,向下搜按N 

?3306:向上搜索3306 继续搜按n,向下搜按N

:%s/A/B/g:替换  A:要替换的东西  B:拿来替换的东西 g:表示全局

例: :%s/oldboy/oldgirl/g  把文件里的oldboy全部换成oldgirl

:4,6s/A/B/g:将4-6行的A换成B

cp:复制文件和目录(copy)(例:cp test.txt /opt/  将test文件复制到/opt)

cp -r:复制目录(递归复制)(例:cp -r test /opt/ 将test目录复制到/opt)

cp -p:保存文件属性复制文件(文件的大小、创建时间、权限都是文件属性)

cp -a:跟cp -p一样

cp -d:复制链接 

cp -rp:保存目录属性复制目录

cp -i:确认

mv:(move)移动目录或文件,相当于剪切  mv -i:确认  mv -t:颠倒

复制的时候如何不提示直接覆盖?

cp -f

alias:查看所有命令的别名  unalias:删除别名(unalias cp)临时生效,关机就没有了

                  设置别名:alias cp='cp -i'

默认执行pc相当于执行了cp -i,这是系统默认的别名在作怪。

解决方案:

加“\”:[root@oldboyedu~]#\cp {1.100}.txt /opt/

输入完整路径:[root@oldboyedu~]#/bin/cp {1.100}.txt /opt/

which:查看某个命令的完整路径(例:which cp)

如何防止使用rm误删数据?

1、放弃使用rm,用mv或find替代

2、不删除,只是移动到回收站(/tmp)

3、一定要删除,要先备份

4、不要这样用:rm -fr /opt/*(*代表删除所有)

  这样用更安全些:cd /opt →  rm -fr*

5、为rm设置别名,提醒自己和组员

课后作业:

1.cd /tmp pwd mkdir data{1..3}

2.(慢)touch /data1/oldboy1.txt  touch /data2/oldboy2.txt  touch /data/oldboy3.txt

tree -L 2  ls  ll

2.touch data{1..3}/oldboy{1..3}

tree -L 2  ll data1/oldboy1 data2/oldboy1 data3/oldboy1

3.cp /etc/hosts /tmp/data1  cp /opt/data1 /opt  tree /tmp/data1  tree /opt

4.(慢)mv  /tmp/data1 /root  cd /opt/data1 rm -f /hosts cd .. rm -fr /data1

4.mv /tmp/data1 /root  rm -f /opt/data1/hosts  cd /opt  rm -fr data1

echo:输出和打印 输入啥输出啥  echo "dhsdyvnvb"

echo -n:不换行输出

echo -e:转义字符  \t代表tab键  \n回车换行(这两个要配合-e使用)

[root@oldboyedu /opt]# echo -e "\ngngb\terbvnerug"

gngb erbvnerug

printf:格式化打印

Linux里的目录和分区是分离的 

IDE盘:  不同的磁盘使用字母表示:hda  hdb

          不同分区是用数字表示:hda1  hda2

SAS/SATA/SASI  sda sdb,sda1 sda2

/dev/sda1

Linux分区默认是不能访问的(通过挂载进行访问)

挂载:为分区找到一个入口

挂载点:分区入口的目录名(例:/etc就是分区/dev/sda1的挂载点)

挂载命令:mount (例:mount /dev/cdrom /mnt)

卸载挂载命令:umount  (例:umount /mnt)

临时挂载点:/mnt

df -h:查看系统磁盘情况

磁盘下的目录结构说明:

/:存放系统相关

/usr:存放系统方开发的程序

/usr/local:存放用户自己安装的程序,相当于c:/program files

/opt:存放第三厂商开发的程序

/home:存放用户的数据(家目录)

FHS:目录层次标准

根下的目录结构分析:

[root@oldboyedu ~]# tree -L 1 /

/

├── bin -> usr/bin    binaries二进制 存放命令相关

├── boot  存放Linux的内核及系统引导程序所需的文件目录(大小可为256——1024MB)它也是引导分区的挂载点

├── dev  Device files设备文件 存放设备文件

├── etc  二进制软件包配置问价所在路径

├── home  普通用户的家目录

├── lib -> usr/lib 系统和运行命令所需的共享库文件和内核模块存放目录(libraries)

├── lib64 -> usr/lib64  64库library库文件目录

├── media  可移除的媒体挂载点

├── mnt  临时挂载点 mount

├── opt  (option 可选择)有些软件包也会安装在这里,也就是自定义的软件包

├── proc  虚拟的文件系统,存放进程和内核信息的目录

├── root  管理员的家目录

├── run  存放正在运行进程相关信息的文件的目录

├── sbin -> usr/sbin 管理员命令的所在目录,普通用户执行不了(system binaries)

├── srv  给用户提供数据所在的目录

├── sys  虚拟的文件系统,存放进程和内核信息的目录和proc类似

├── tmp  存放临时文件的目录

├── usr  存放系统软件和用户相关程序所在的目录,第二层次目录

└── var  存放可变化的数据的目录

1、/etc:系统初始化及设置相关重要文件

网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0(用于配置上网的文件)

C7:nmtui图形化配置上网  本质就是修改上述文件

C6:setup

2、/etc/resolv.conf: Linux系统DNS客户配置文件(已被网卡配置文件所替代)

DNS:域名系统(Domain Name System)

作用:把浏览器里输入的域名,解析为服务器的IP地址,然后才能找到服务器,提供内容。

3、/etc/hosts:系统本地的DNS解析文件(本地DNS配置文件,优先于DNS公网解析) 

4、/etc/fstab:配置开机设备自动挂载的文件(自动挂载)

作用:比如插入一个U盘,希望下次开机能够直接访问。就需要在/etc/fstab里配置

[root@oldboyedu ~]# cat /etc/fstab

#

# /etc/fstab

# Created by anaconda on Mon Jul 15 15:40:40 2019

#

# Accessible filesystems, by reference, are maintained under '/dev/disk'

# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

#

UUID=5402fb0a-5727-4745-b715-83fee4922bf2 /            xfs        defaults      0        0

UUID=5d25ce16-9259-4a05-a66a-797e208ef456 /boot        xfs        defaults      0        0

UUID=5e66df19-7e49-4658-ac0b-1ca64ce6b7c3 swap          swap        defaults      0        0

设备名(UUID)                          挂载点  挂载的文件系统类型  挂载参数  是否备份 是否开机检查 

blkid:查询所有设备的文件系统类型

5、/etc/rc.local:存放开机自启动程序命令的文件

它的真实路径:/etc/rc.d/rc.local

[root@oldboyedu ~]# ll /etc/rc.local

lrwxrwxrwx. 1 root root 13 Jul 15 18:11 /etc/rc.local -> rc.d/rc.local

C7的特殊性:chmod +x /etc/rc.d/rc.local(先执行这条命令才能用开机自启动文件)

C6的开机自启动:chkconfig

6、/etc/profile及/etc/bashrc:配置系统的环境变量/别名等的文件

它是各种配置的配置文件

生效条件二选一:1、退出重新登录2、执行source

7、/etc/issue和/etc/issue.net:配置登录前的显示信息文件

[root@oldboyedu ~]# cat /etc/issue

\S

Kernel \r on an \m

[root@oldboyedu ~]# cat /etc/issue.net

\S

Kernel \r on an \m

[root@oldboyedu ~]# >/etc/issue  ====>删除内核版本号(不能还原)

[root@oldboyedu ~]# >/etc/issue.net    ====>删除内核版本号(不能还原)

8、/etc/motd:配置登陆提示

编辑:

[root@oldboyedu ~]#vim /etc/motd

欢迎来到泳的乐园!

保存退出:  :wq

重新登录:Ctrl+d 两次

欢迎来到泳的乐园!(开机提示信息)

[root@oldboyedu ~]#

9、/etc/redhat-release:查看系统版本

[root@oldboyedu ~]# cat /etc/redhat-release

CentOS Linux release 7.6.1810 (Core)

uname -r:查看内核

[root@oldboyedu ~]# uname -r

3.10.0-957.21.3.el7.x86_64

10、/etc/sysctl.conf:Linux内核参数设置文件

11、/etc/init.d:软件启动程序所在的目录(C7以前)

12、/etc/hostname:查看主机名

改主机名:(改完之后退出永久生效)

[root@oldboyedu ~]# hostnamectl set-hostname wangzehua

[root@oldboyedu ~]# cat /etc/hostname

wangzehua

重启

[root@wangzehua ~]#

临时改主机名:(C7和C6都可以用)

[root@oldboyedu ~]#hostname wangzehua

[root@oldboyedu ~]#cat /etc/hostname

wangzehua

13、/etc/inittab:设置开机运行级别以及启动相应级别脚本的文件(C7以前)

定义:Linux系统运行级别当前处于的状态

Linux系统运行级别的说明如下:

#  0  关机(请不要把系统运行级别设置为0)

#  1  单用户模式(root用户密码忘记,可用此模式找回)

#  2  没有NFS,多用户模式

#  3  命令行模式 文本模式(企业级服务器核心运行状态)

#  4  未使用

#  5  图形化模式 桌面模式 X11(桌面个人版系统运行状态)

#  6  重启(不要把系统运行级别设置为6)

查看当前运行级别:runlevel或who -r(C7)

[root@oldboyedu ~]# runlevel

N 3

[root@oldboyedu ~]# who -r

        run-level 3  2019-07-20 09:55

切换运行级别:init

14、/etc/sysctl.conf  Linux内核参数信息文件-

调整Linux系统、优化需要配置这个文件

sysctl -p:让修改后的文件生效

/usr目录:

1、/usr/local:源码编译安装软件默认的位置路径(用户存放自己安装的程序)

Linux的软件安装:

  1.rpm安装

  rpm -ivh 软件包的包名.rpm

  2.yum安装,rpm包管理器(智能安装帮我们找一个软件包需要的依赖包)

  安装A,A需要B,先安装B

2、/usr/src:存放源码文件的目录

/var目录下存放的重要路径:

1、/var/log:记录系统及软件运行信息文件所在的目录

log日志信息就是记录计算机运行行为

/var/log/messages:Linux系统级别日志文件

记录Linux系统运行行为的文件,正常行为或非正常行为

[root@oldboyedu ~]#  cat /var/log/messages

2、/var/log/secure(安全):用户登录信息日志文件(安全日志文件)

[root@oldboyedu ~]#  cat /var/log/secure

3、/var/log/dmesg:记录硬件信息加载情况的日志文件

/proc目录下存放的重要路径:

1、/proc/meminfo:查看系统内容  free -m查看内容

[root@oldboyedu ~]# cat /proc/meminfo

2、/proc/cpuinfo:查看CPU

[root@oldboyedu ~]# cat /proc/cpuinfo

3、/proc/loadavg:查看负载(系统繁忙程度的一个综合指标)

[root@oldboyedu ~]# uptime

14:20:07 up  3:48,  2 users,  load average: 0.00, 0.01, 0.05

当前时间  开机多久  哪些用户  负载  平均    1分钟 5分钟 15分钟

负载的数字和CPU核数相当的时候就是负载一个临界点,

例如:一颗两核 临界负载就是2,1分钟5分钟15分钟最大负载点就是2。

4、/proc/mounts:当前设备挂载列表信息文件

vi/vim:纯文本编辑器  vi:记事本

cat:查看文件内容              [root@oldboyedu /opt]# seq 30 >test.txt

cat -n:显示文件的行号                在test文件中生成30个数字

more:分页显示内容

less:分页显示内容(可以上下调节着看)

head:显示文件头部内容 (默认显示前10行)  head test.txt

指定显示行数:head -n n test.txt

[root@oldboyedu /opt]# head -n 20 test.txt  指定显示前20行

tail:显示文件尾部内容  (默认显示后10行) tail test.txt

指定显示行数:tail -n n test.txt

[root@oldboyedu /opt]# tail -n 5 test.txt  指定显示后5行

tail -f:实时跟踪显示文件尾部的信息    tail -f test.txt

tac:翻转显示文件内容(和cat相反)

rev:字符左右翻转显示行的内容

=================7.22

tr:替换文件里面的指定内容(一个字母只能替换成一个数字) Linux里严格区分大小写

tr "A" "B" < oldboy.txt                      translate or delete characters

例:[root@oldboyedu /opt]# cat oldboy.txt      替换    或  删除    字符

walconme cnsugfbc

cdhsunsdbv

[root@oldboyedu /opt]# tr "c" "w" < oldboy.txt

[root@oldboyedu /opt]# tr "c" "w" < oldboy.txt

walwonme wnsugfbw

wdhsunsdbv

将a--d换成0--3例:

[root@oldboyedu /opt]# tr "a-d" "0-3" < oldboy.txt

w0l2onme 2nsugf12

23hsuns31v

你好啊

grep:文本过滤工具(找到要找的文本)  print lines matching a  pattern

例:                                  打印  行    匹配  一个  模式/样式

[root@oldboyedu /opt]# grep "oldboy" oldboy.txt

Welcome to oldboy training.

grep -v:取反过滤(找到文本的其他行)

[root@oldboyedu /opt]# grep -v "oldboy" oldboy.txt

we are excellent.

grep -i:文本不区分大小写过滤

[root@oldboyedu /opt]# grep -i "W" oldboy.txt

Welcome to oldboy training.

we are excellent.

which:查看某个命令的完整路径

df -h:查看系统磁盘情况

history:查看历史输入的命令

网卡配置路径:vim /etc/sysconfig/network-scripts/ifcfg-eth0

1.systemctl reboot        重启 *

2.shutdown -r now        立刻重启 *

3.shutdown -h now        立刻关机 *

4.systemctl poweroff    关闭系统并切断电源 *

5.systemctl halt        关闭系统CPU停止工作 *

6.systemctl suspend      暂停系统

7.systemctl hibernat    系统进入休眠状态

8.systemctl hybrid-sleep 系统进入交互式休眠状态

9.systemctl rescue 启动进入救援状态

pwd 查看当前目录

cd - 去上一次所在的目录

cd . 去当前目录,表示当前目录

cd .. 去上一级目录。 ..表示上一级目录

cd ~或cd  去当前目录的家目录, ~表示家目录。

公网IP地址:

私网:办公室局域网内使用的地址,不能再互联网上使用(路由器将私网的IP 地址转换为公网)

192.168

172.16

10.0.0

端口的概念:

IP地址:唯一标识一台计算机(身份证)  (找谁,去哪里)

端口:不同软件运行的服务用端口区分    (到这里干啥)

      是一台计算机里唯一标识服务的数字

  我们要访问一台计算机拿到IP地址,找到对应的服务就需要端口。

协议:计算机之间的通信方式(语言),采用相同的协议沟通。  (用什么方式语言干什么)

连接Linux的服务:

SSH服务  Security Shell服务

包括客户端(相当于男人)和服务端(相当于女人) 通过客户端才能连接服务端

[root@oldboyedu ~]# rpm -qa openssh openssl

openssl-1.0.2k-16.el7_6.1.x86_64  #连接和传输过程中加密

openssh-7.4p1-16.el7.x86_64        #SSH服务端软件

服务端运行的SSH的服务:

[root@oldboyedu ~]# ps -ef|grep ssh

root      1457      1  0 11:57 ?        00:00:00 /usr/sbin/sshd -D

root      1995  1457  0 11:59 ?        00:00:00 sshd: root@pts/0

root      7937  1457  0 14:20 ?        00:00:00 sshd: root@pts/1

root      7961  7941  0 14:38 pts/1    00:00:00 grep --color=auto ssh

服务端运行的SSH的服务所用的端口:22  #<==ss -lntup|grep ssh

服务端(女人):软件openssh (提供远程连接) openssl(提供加密)

检查服务信息:

查IP的命令:ip add

查端口:ss -lntup  或  netstat -lntup

查进程:ps -ef|grep ssh

暂停SSH服务:systemctl stop  sshd.service

开启SSH服务:systemctl start sshd.service

客户端(男人)有哪些? Xshell、SeurCRT、Putty、SSH

连接不上服务端,出现连接故障:

Connecting to 10.0.0.201:22...

连接故障的解决方法:

1、检查服务端:

  网卡、IP是不是启动和正确的:输入命令ip add 或 ifconfig

2、检查端口和进程:

  查端口:ss -lntup  或  netstat -lntup

  查进程:ps -ef|grep ssh

  暂停SSH服务后再开启SSH服务  暂停SSH服务:systemctl stop  sshd.service

                              开启SSH服务:systemctl start sshd.service

3、检查客户端的IP、端口、协议是不是对的(眼睛查) 

  都是对的,就是连接不上,咋办?

  (1)ping 10.0.0.200 检查物理链路能否到达

    [root@oldboyedu ~]# ping 10.0.0.200

PING 10.0.0.200 (10.0.0.200) 56(84) bytes of data.

64 bytes from 10.0.0.200: icmp_seq=1 ttl=64 time=0.031 ms

64 bytes from 10.0.0.200: icmp_seq=2 ttl=64 time=0.054 ms

64 bytes from 10.0.0.200: icmp_seq=3 ttl=64 time=0.041 ms

64 bytes from 10.0.0.200: icmp_seq=4 ttl=64 time=0.040 ms

^C

    如果不可达:1、连接的IP输入错了

            2、物理链路有问题(VM环境调虚拟网络编辑器)

    (2)telnet 10.0.0.200 22(连接的端口号)检查对方有没有提供服务,开启服务

[g:\~]$ telnet 10.0.0.200 22

Connecting to 10.0.0.200:22...

Connection established.

To escape to local shell, press 'Ctrl+Alt+]'.

SSH-2.0-OpenSSH_7.4

    如果是连不上的状态:

[g:\~]$ telnet 10.0.0.200 23

Connecting to 10.0.0.200:23...

Could not connect to '10.0.0.200' (port 23): Connection failed.

Type `help' to learn how to use Xshell prompt.

    (1)服务端是否开着防火墙(6是iptables,7是firewalld )(2)服务端没有提供服务

检查防火墙是否开着: 开启防火墙:systemctl status firewalld.service

Active:active (running)开着的状态

Active:inactive(dead)关着的状态

关闭防火墙:systemctl stop firewalld.service

开启防火墙:systemctl start firewalld.service

开机不自动启动防火墙:systemctl disable firewalld.service

开机自动启动防火墙:systemctl enable firewalld.service

什么是快照?

作用:可以让时间倒流,操作过的、说过的话 都可以不算数

克隆:

1、链接克隆

2、开机:

nmtui(C7)===》图形化更改  set up(C6)P81页

systemctl restart network 重启让修改生效

3、复制shell标签 链接

#管理员(皇帝)

$普通用户(大臣)

~家目录:当前位置

@之前的是当前用户名 @之后的是主机名

快捷键:

Tab:补全代码

Ctrl+c:中断终端正在执行的任务

Ctrl+d:退出Shell命令行,关闭Xshell

Ctrl+l:清屏相当于命令:clear

Ctrl+a:光标回到行首

Ctrl+e:光标回到行尾

Ctrl+Insert:复制一行的内容

Shift+Insert:粘贴复制的内容

Ctrl+k:剪切(删除)光标处到行尾的字符

Ctrl+u:剪切(删除)光标处到行首的字符

Ctrl+w:删除光标前的一个单词

Ctrl+y:粘贴Ctrl+k、Ctrl+u、Ctrl+w删除的文本

Ctrl+s:锁定界面,不显示输入的内容

Ctrl+q:解除锁定

Ctrl+r:搜索命令行使用过的历史命令记录

Esc+.(点):获取上一条命令的最后部分(空格分隔)

Ctrl+z:暂停正在执行任务

!!:执行上一条命令

!+命令开头的几个字母:执行最近以字母开头的命令

linux如何查找命令帮助:

1、man:man+ 要查找功能的命令(列:man ls)男人,查找命令的功能 参数 等等帮助信息的工具

2、查内置命令:--help :命令+ --help(例:cp --help)

[root@oldboyedu ~]# LANG="zh_CN.UTF-8" 《======查看汉语帮助(只试用于--help命令)

3、搜索引擎输入:linux+要搜索的命令

普通命令和内置命令的区别:

普通命令是在系统中存在的命令

内置命令在系统中不存在文件,存在于bash解释器里

特殊性:7有些命令也存在文件了。cd,read

man命令找不到,就用help命令

man cd就可以找到所有内置命令

info cp(查命令的相关信息,几乎用不着)

reboot、shutdown重启

halt、poweroff关机

systemctl reboot      重启 *

shutdown -r now        立刻重启 *

shutdown -h now        立刻关机 *

systemctl poweroff    关闭系统并切断电源 *

systemctl halt        关闭系统CPU停止工作 *

systemctl suspend      暂停系统

systemctl hibernat    系统进入休眠状态

systemctl hybrid-sleep 系统进入交互式休眠状态

systemctl rescue   启动进入救援状态

Linux语法:

    命令 [参数选项] [文件或路径] (“[]”里面的东西可有可无)

    例:rm -f /etc/hosts        (完整的路径不带空格)

pwd:查看当前目录(print打印 working工作 directory目录)

自动显示工作目录:(o编辑→esc退出编辑→:wq保存)

[root@oldboyedu~]# vim .bashrc

# .bashrc

# User specific aliases and functions

alias rm='rm -i'

alias cp='cp -i'

alias mv='mv -i'

# Source global definitions

if [ -f /etc/bashrc ]; then

        . /etc/bashrc

fi

PS1="[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\H\[\e[0m\]\[\e[31;1m\] \w\[\e[0m\

]]\\$ "

".bashrc" 13L, 260C written

[root@oldboyedu~]# source bashrc

cd 切换目录(change改变 directory目录)

cd - 去上一次所在的目录

cd . 去当前目录。.表示当前目录

cd .. 去上一级目录。 ..表示上一级目录

cd ~或cd  去当前目录的家目录, ~表示家目录

相对路径:不是从”/“斜线开始的路径,目标文件对于当前文件的路径。

如:data/,mnt/oldboy;

绝对路径(完整的路径):是从”/“斜线根开始的路径,而是从当前目录或指定的目录开始,从根目录开始的。

如:/data/,/mnt/oldboy

ls -a 列出文件下所有的文件,包括以“.“开头的隐藏文件(linux下文件隐藏文件是以.开头的,如果存在..代表存在着父目录)。

ls -l 列出文件的详细信息,如创建者,创建时间,文件的读写权限列表等等。

ls -F 在每一个文件的末尾加上一个字符说明该文件的类型。"@"表示符号链接、"|"表示FIFOS、"/"表示目录、"="表示套接字。

ls -s 在每个文件的后面打印出文件的大小。 size(大小)

ls -t 按时间进行文件的排序 Time(时间)

ls -A 列出除了"."和".."以外的文件。

ls -R 将目录下所有的子目录的文件都列出来,相当于我们编程中的“递归”实现

ls -L 列出文件的链接名。Link(链接)

ls -S 以文件的大小进行排序

tree:以树形结构显示目录及文件(例:tree /etc)

tree -L 1(显示的层数):指定树形显示的层数(例:tree -L 1 /etc)(level层数)

tree -d :指定显示树形目录(例:tree -d /etc)(directory目录)

tree -L 1 -d /etc:显示/etc的一层树形目录

创建目录:mkdir (make创建 directory目录)

mkdir -p:覆盖目录创建,根据需要创建所有目录 包括父目录子目录,递归创建

(例:mkdir -p /oldgirl/oldboy)

在当前目录下创建文件:touch 文件名 (例:touch test.txt)

cat:查看文件内容(例:cat wzh.txt)

强制删除文件:rm -f 文件名(force)

删除目录:rm -fr 目录名    rm -i:确认

递归删除,删除目录和文件:rm -r 文件名 (recusive)

创建连续文件:touch {1..1000}.txt    {}生成数字序列,字母序列。

      touch oldboy{1..3}.txt

      touch {oldboy,oldgirl,oldbaby}.txt

Linux一切皆文件,目录也是文件,目录和文件不能重名。

Linux一切从根开始:Linux系统中的一切的数据、文件都是从根目录下衍生存放的

ls (list)显示目录下的内容

  -l (long) 以长格式显示目录下的内容(ll的效果跟ls -l效果一样)

  -a (all)显示所有文件,包含隐藏文件(以.开头的文件)

  -d(dirctory)显示目录

ls -ld oldboy:看oldboy目录的长格式

vim编辑器:(例:vim Linux.txt 进入Linux文件中编辑)

三种模式:普通模式、编辑模式、命令行模式

a:进入编辑模式  i:进入编辑模式(insert)

o:在光标所在的下一行,空行进入编辑模式

esc:退出编辑模式到命令模式  两遍esc命令模式到普通模式 

:wq保存退出  :q!强制退出 :q退出不保存 :wq!强制保存退出  :set nu显示行号

普通模式的快捷方式:

yy        复制光标所在位置的一行  n yy:复制多行

p        粘贴

dd/cc    删除光标所在的行 (dd删除/剪切本行的所有内容包括空行 cc删除本行的内容保留空行)

0        光标移至行首

$        光标移至行尾

u        撤销最后一次修改

U        撤销当前行的所有修改

gg        移动到文件头部

G        光标移至文章最后一行头部

100gg    调至第100行行首

dG        删除光标所在位置至文件结束

r   替换单个字符

C   删除光标后的整行

ZZ        保存退出

命令行模式的快捷方式:

:q!      不保存文件强制退出vim

:wq       保存文件并退出vim

:wq!      强制保存退出

:q        不保存退出

:set nu  显示行号

普通模式的快捷方式:

/3306:向下搜索3306 继续搜按n,向下搜按N 

?3306:向上搜索3306 继续搜按n,向下搜按N

:%s/A/B/g:替换  A:要替换的东西  B:拿来替换的东西 g:表示全局

例: :%s/oldboy/oldgirl/g  把文件里的oldboy全部换成oldgirl

:4,6s/A/B/g:将4-6行的A换成B

cp:复制文件和目录(copy)(例:cp test.txt /opt/  将test文件复制到/opt)

cp -r:复制目录(递归复制)(例:cp -r test /opt/ 将test目录复制到/opt)

cp -p:保存文件属性复制文件(文件的大小、创建时间、权限都是文件属性)

cp -a:跟cp -p一样

cp -d:复制链接 

cp -rp:保存目录属性复制目录

cp -i:确认

mv:(move)移动目录或文件,相当于剪切  mv -i:确认  mv -t:颠倒

复制的时候如何不提示直接覆盖?

cp -f

alias:查看所有命令的别名  unalias:删除别名(unalias cp)临时生效,关机就没有了

                  设置别名:alias cp='cp -i'

默认执行pc相当于执行了cp -i,这是系统默认的别名在作怪。

解决方案:

加“\”:[root@oldboyedu~]#\cp {1.100}.txt /opt/

输入完整路径:[root@oldboyedu~]#/bin/cp {1.100}.txt /opt/

which:查看某个命令的完整路径(例:which cp)

如何防止使用rm误删数据?

1、放弃使用rm,用mv或find替代

2、不删除,只是移动到回收站(/tmp)

3、一定要删除,要先备份

4、不要这样用:rm -fr /opt/*(*代表删除所有)

  这样用更安全些:cd /opt →  rm -fr*

5、为rm设置别名,提醒自己和组员

课后作业:

1.cd /tmp pwd mkdir data{1..3}

2.(慢)touch /data1/oldboy1.txt  touch /data2/oldboy2.txt  touch /data/oldboy3.txt

tree -L 2  ls  ll

2.touch data{1..3}/oldboy{1..3}

tree -L 2  ll data1/oldboy1 data2/oldboy1 data3/oldboy1

3.cp /etc/hosts /tmp/data1  cp /opt/data1 /opt  tree /tmp/data1  tree /opt

4.(慢)mv  /tmp/data1 /root  cd /opt/data1 rm -f /hosts cd .. rm -fr /data1

4.mv /tmp/data1 /root  rm -f /opt/data1/hosts  cd /opt  rm -fr data1

echo:输出和打印 输入啥输出啥  echo "dhsdyvnvb"

echo -n:不换行输出

echo -e:转义字符  \t代表tab键  \n回车换行(这两个要配合-e使用)

[root@oldboyedu /opt]# echo -e "\ngngb\terbvnerug"

gngb erbvnerug

printf:格式化打印

Linux里的目录和分区是分离的 

IDE盘:  不同的磁盘使用字母表示:hda  hdb

          不同分区是用数字表示:hda1  hda2

SAS/SATA/SASI  sda sdb,sda1 sda2

/dev/sda1

Linux分区默认是不能访问的(通过挂载进行访问)

挂载:为分区找到一个入口

挂载点:分区入口的目录名(例:/etc就是分区/dev/sda1的挂载点)

挂载命令:mount (例:mount /dev/cdrom /mnt)

卸载挂载命令:umount  (例:umount /mnt)

临时挂载点:/mnt

df -h:查看系统磁盘情况

磁盘下的目录结构说明:

/:存放系统相关

/usr:存放系统方开发的程序

/usr/local:存放用户自己安装的程序,相当于c:/program files

/opt:存放第三厂商开发的程序

/home:存放用户的数据(家目录)

FHS:目录层次标准

根下的目录结构分析:

[root@oldboyedu ~]# tree -L 1 /

/

├── bin -> usr/bin    binaries二进制 存放命令相关

├── boot  存放Linux的内核及系统引导程序所需的文件目录(大小可为256——1024MB)它也是引导分区的挂载点

├── dev  Device files设备文件 存放设备文件

├── etc  二进制软件包配置问价所在路径

├── home  普通用户的家目录

├── lib -> usr/lib 系统和运行命令所需的共享库文件和内核模块存放目录(libraries)

├── lib64 -> usr/lib64  64库library库文件目录

├── media  可移除的媒体挂载点

├── mnt  临时挂载点 mount

├── opt  (option 可选择)有些软件包也会安装在这里,也就是自定义的软件包

├── proc  虚拟的文件系统,存放进程和内核信息的目录

├── root  管理员的家目录

├── run  存放正在运行进程相关信息的文件的目录

├── sbin -> usr/sbin 管理员命令的所在目录,普通用户执行不了(system binaries)

├── srv  给用户提供数据所在的目录

├── sys  虚拟的文件系统,存放进程和内核信息的目录和proc类似

├── tmp  存放临时文件的目录

├── usr  存放系统软件和用户相关程序所在的目录,第二层次目录

└── var  存放可变化的数据的目录

1、/etc:系统初始化及设置相关重要文件

网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0(用于配置上网的文件)

C7:nmtui图形化配置上网  本质就是修改上述文件

C6:setup

2、/etc/resolv.conf: Linux系统DNS客户配置文件(已被网卡配置文件所替代)

DNS:域名系统(Domain Name System)

作用:把浏览器里输入的域名,解析为服务器的IP地址,然后才能找到服务器,提供内容。

3、/etc/hosts:系统本地的DNS解析文件(本地DNS配置文件,优先于DNS公网解析) 

4、/etc/fstab:配置开机设备自动挂载的文件(自动挂载)

作用:比如插入一个U盘,希望下次开机能够直接访问。就需要在/etc/fstab里配置

[root@oldboyedu ~]# cat /etc/fstab

#

# /etc/fstab

# Created by anaconda on Mon Jul 15 15:40:40 2019

#

# Accessible filesystems, by reference, are maintained under '/dev/disk'

# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

#

UUID=5402fb0a-5727-4745-b715-83fee4922bf2 /            xfs        defaults      0        0

UUID=5d25ce16-9259-4a05-a66a-797e208ef456 /boot        xfs        defaults      0        0

UUID=5e66df19-7e49-4658-ac0b-1ca64ce6b7c3 swap          swap        defaults      0        0

设备名(UUID)                          挂载点  挂载的文件系统类型  挂载参数  是否备份 是否开机检查 

blkid:查询所有设备的文件系统类型

5、/etc/rc.local:存放开机自启动程序命令的文件

它的真实路径:/etc/rc.d/rc.local

[root@oldboyedu ~]# ll /etc/rc.local

lrwxrwxrwx. 1 root root 13 Jul 15 18:11 /etc/rc.local -> rc.d/rc.local

C7的特殊性:chmod +x /etc/rc.d/rc.local(先执行这条命令才能用开机自启动文件)

C6的开机自启动:chkconfig

6、/etc/profile及/etc/bashrc:配置系统的环境变量/别名等的文件

它是各种配置的配置文件

生效条件二选一:1、退出重新登录2、执行source

7、/etc/issue和/etc/issue.net:配置登录前的显示信息文件

[root@oldboyedu ~]# cat /etc/issue

\S

Kernel \r on an \m

[root@oldboyedu ~]# cat /etc/issue.net

\S

Kernel \r on an \m

[root@oldboyedu ~]# >/etc/issue  ====>删除内核版本号(不能还原)

[root@oldboyedu ~]# >/etc/issue.net    ====>删除内核版本号(不能还原)

8、/etc/motd:配置登陆提示

编辑:

[root@oldboyedu ~]#vim /etc/motd

欢迎来到泳的乐园!

保存退出:  :wq

重新登录:Ctrl+d 两次

欢迎来到泳的乐园!(开机提示信息)

[root@oldboyedu ~]#

9、/etc/redhat-release:查看系统版本

[root@oldboyedu ~]# cat /etc/redhat-release

CentOS Linux release 7.6.1810 (Core)

uname -r:查看内核

[root@oldboyedu ~]# uname -r

3.10.0-957.21.3.el7.x86_64

10、/etc/sysctl.conf:Linux内核参数设置文件

11、/etc/init.d:软件启动程序所在的目录(C7以前)

12、/etc/hostname:查看主机名

改主机名:(改完之后退出永久生效)

[root@oldboyedu ~]# hostnamectl set-hostname wangzehua

[root@oldboyedu ~]# cat /etc/hostname

wangzehua

重启

[root@wangzehua ~]#

临时改主机名:(C7和C6都可以用)

[root@oldboyedu ~]#hostname wangzehua

[root@oldboyedu ~]#cat /etc/hostname

wangzehua

13、/etc/inittab:设置开机运行级别以及启动相应级别脚本的文件(C7以前)

定义:Linux系统运行级别当前处于的状态

Linux系统运行级别的说明如下:

#  0  关机(请不要把系统运行级别设置为0)

#  1  单用户模式(root用户密码忘记,可用此模式找回)

#  2  没有NFS,多用户模式

#  3  命令行模式 文本模式(企业级服务器核心运行状态)

#  4  未使用

#  5  图形化模式 桌面模式 X11(桌面个人版系统运行状态)

#  6  重启(不要把系统运行级别设置为6)

查看当前运行级别:runlevel或who -r(C7)

[root@oldboyedu ~]# runlevel

N 3

[root@oldboyedu ~]# who -r

        run-level 3  2019-07-20 09:55

切换运行级别:init

14、/etc/sysctl.conf  Linux内核参数信息文件-

调整Linux系统、优化需要配置这个文件

sysctl -p:让修改后的文件生效

/usr目录:

1、/usr/local:源码编译安装软件默认的位置路径(用户存放自己安装的程序)

Linux的软件安装:

  1.rpm安装

  rpm -ivh 软件包的包名.rpm

  2.yum安装,rpm包管理器(智能安装帮我们找一个软件包需要的依赖包)

  安装A,A需要B,先安装B

2、/usr/src:存放源码文件的目录

/var目录下存放的重要路径:

1、/var/log:记录系统及软件运行信息文件所在的目录

log日志信息就是记录计算机运行行为

/var/log/messages:Linux系统级别日志文件

记录Linux系统运行行为的文件,正常行为或非正常行为

[root@oldboyedu ~]#  cat /var/log/messages

2、/var/log/secure(安全):用户登录信息日志文件(安全日志文件)

[root@oldboyedu ~]#  cat /var/log/secure

3、/var/log/dmesg:记录硬件信息加载情况的日志文件

/proc目录下存放的重要路径:

1、/proc/meminfo:查看系统内容  free -m查看内容

[root@oldboyedu ~]# cat /proc/meminfo

2、/proc/cpuinfo:查看CPU

[root@oldboyedu ~]# cat /proc/cpuinfo

3、/proc/loadavg:查看负载(系统繁忙程度的一个综合指标)

[root@oldboyedu ~]# uptime

14:20:07 up  3:48,  2 users,  load average: 0.00, 0.01, 0.05

当前时间  开机多久  哪些用户  负载  平均    1分钟 5分钟 15分钟

负载的数字和CPU核数相当的时候就是负载一个临界点,

例如:一颗两核 临界负载就是2,1分钟5分钟15分钟最大负载点就是2。

4、/proc/mounts:当前设备挂载列表信息文件

vi/vim:纯文本编辑器  vi:记事本

cat:查看文件内容              [root@oldboyedu /opt]# seq 30 >test.txt

cat -n:显示文件的行号                在test文件中生成30个数字

more:分页显示内容

less:分页显示内容(可以上下调节着看)

head:显示文件头部内容 (默认显示前10行)  head test.txt

指定显示行数:head -n n test.txt

[root@oldboyedu /opt]# head -n 20 test.txt  指定显示前20行

tail:显示文件尾部内容  (默认显示后10行) tail test.txt

指定显示行数:tail -n n test.txt

[root@oldboyedu /opt]# tail -n 5 test.txt  指定显示后5行

tail -f:实时跟踪显示文件尾部的信息    tail -f test.txt

tac:翻转显示文件内容(和cat相反)

rev:字符左右翻转显示行的内容

=================7.22

tr:替换文件里面的指定内容(一个字母只能替换成一个数字) Linux里严格区分大小写

tr "A" "B" < oldboy.txt                      translate or delete characters

例:[root@oldboyedu /opt]# cat oldboy.txt      替换    或  删除    字符

walconme cnsugfbc

cdhsunsdbv

[root@oldboyedu /opt]# tr "c" "w" < oldboy.txt

[root@oldboyedu /opt]# tr "c" "w" < oldboy.txt

walwonme wnsugfbw

wdhsunsdbv

将a--d换成0--3例:

[root@oldboyedu /opt]# tr "a-d" "0-3" < oldboy.txt

w0l2onme 2nsugf12

23hsuns31v

你好啊

grep:文本过滤工具(找到要找的文本)  print lines matching a  pattern

例:                                  打印  行    匹配  一个  模式/样式

[root@oldboyedu /opt]# grep "oldboy" oldboy.txt

Welcome to oldboy training.

grep -v:取反过滤(找到文本的其他行)

[root@oldboyedu /opt]# grep -v "oldboy" oldboy.txt

we are excellent.

grep -i:文本不区分大小写过滤

[root@oldboyedu /opt]# grep -i "W" oldboy.txt

Welcome to oldboy training.

we are excellent.

你可能感兴趣的:(day08-用户基本概念作业)