3Linux命令(二)

常用命令--数据流、管道

重定向

图1

我们键盘输入echo "helloworld"会把键盘输入写到内存,程序将内存输出到屏幕作为显示,这是默认的输出流,什么是重定向呢,就是改变输出流的流向,让其输出到文件中

图2


图3

我们使用>输出,使输出流变成helloworld.txt,这样

图4

我们在给txt重定向内容,会发现内容被覆盖

图5

我们用两个大于号>>就可以实现追加(开头另起一行)

图6

注意:要想重定向必须得有输出

管道

图7

图中1,2号都有输入输出。1号管道的输出作为2号的输入

图8

比如ls -l /会显示根目录的很多内容,我们想将这部分内容用分屏显示,就可以

ls -l / | more


建立链接

ln 命令

图9

先来介绍下软连接和硬链接

软连接 好比是windows的快捷方式,我们建立新的连接存储2.txt的地址,如果删除链接,文件并不删除,但如果删除文件名,则链接失效。

硬链接就是给一个数据起了多个文件名,如果我们删除其中一个文件名,但是其他文件名依然可以访问数据

软链接演示 ln -s 源文件 链接文件

图中会看出ls -l链接文件的表示

图10

硬链接 ln 源文件 链接文件 (即不加 -s)

ls -l后发现硬链接并没有软连接提示,而且大小和源文件大小一样,但其实他们都是一个区域

图11

我们可用cat查看软硬链接,内容和源文件一样,通过软硬链接修改链接文件内容也同样都修改了源文件

文件搜索

文本内搜索grep

注意这里是文本内部

grep [-option]  查询词 文件名

下图中我们搜索worker(其实是可以用单引号字符串的),会发现找到2个,而有个W是大写,所以这里搜索是大小写敏感的,会显示满足的结果行,并对满足部分标红

图12

我们如果想忽略大小写呢,用grep -i 查询词 文件名

图13

如果我们想显示行号用grep -n 查询词 文件名

图14

如果想获得没有查询词的结果用grep -v 查询词 文件名 (结果没有红色)

图15

如果我们想搜索以w开头的,可以用grep 正则(后面章节详细介绍)

示例grep -n '^w' test.txt


计算机中查找文件find


图16

find ./ -name 文件名   查找当前目录下文件名得到文件

find ./ -name '*.txt'      查找当前目录下所有后缀为.txt文件  注意有引号

图17

如下我们是当前文件下找到所有a加上一个字符的文件名开头的txt,这里?相当于正则只匹配一个字符

图18

find ,/ -size 2M就找2M大小的,+2M,找大于2M的,-2M找小于2M的

图19

如果是找大于15M小于30M,我们要2次-size

图20

归档和压缩


图21

归档管理tar

-f选项和其他选项组合时必须放最后

图22
图23


图24

我们用tar -cvf 紧跟着就是打包后文件名 然后是那些要被打包的文件

图25

我们打包后就可以删除源文件,然后通过tar -xvf 1-2.tar还可以得到1.txt,2.txt

压缩打包 和 解压解包

之前的选项加上-z

图26

我们压缩出来的文件一般后缀是.tar.gz是linux默认的压缩文件后缀(gz表示gzip)

图27

如图我们建立了一个d目录,我们想将文件解压到这个目录中去呢。末尾加上 -C 目录 选项

tar -zxvf 1-2.tar.gz -C d

图28

文件压缩解压

图29

文件夹压缩要加-r选项 zip -r a.zip a

解压直接unzip a.zip

图30

权限管理

我们ls -l 可以看到权限相关的信息,之前我们也介绍了

图31

我们之前也说了,一行2个demo,分别是用户,和文件所在组,前10个字符,第一个-表示文件,l表示链接,d表示目录,而后9个我们之前没有写,这9个字符又分为3组,分别表示文件所有者权限,文件所属组权限,其他用户权限(linux默认你创建一个用户,创建一个用户重名的组)

图32

这里又通俗的分析了文件所有用户,组,其他用户,比如班长买了个足球,那他可以自己踢也可以自己拿刀子扎,班长对于足球就相当于文件拥有者和文件的关系(绝对权限),班长在班里,这个班就是组,班长授权本班同学可以踢足球,但是不运行本班同学损坏足球,而其他班就相当于其他用户,班长可以授权不让你踢,更别提让你损坏

图33

我们的rwx-都是什么意思呢,如图,r可读,w可写,x可执行,-没权限

图34

我们又可以把文件拥有者简写为u  (user)  同组用户 g (group) 其他用户 o (other)

额外还有个所有用户a (all)

权限修改

chmod命令

chmod u/g/o/a +/-/= rwx  文件名   给u或g或o或a +增加 权限    -移除权限   =赋予右侧权限

比如我们给1.txt的user加上x权限(原来只有rw)chmod u+x 1.txt

此时1.txt在ls 显示时就变成了绿色(可执行)

如果是去掉chmod u-x 1.txt

图35

如上图,我们还可以通过数字来赋予权限,4代表r,2代表w,1代表x,0代表-,这样实际权限就变成了每个数字的和,我们就可以直接chmod 三位数 文件名 给文件设置权限(777是最高权限)

图36

当我们把权限误设为000则无法打开,记得chmod修改,当只有r权限时,用户gedit会看到文件是只读的,你修改内容也无法保存

再说我们修改目录权限,默认是不修改内部权限的,我们想将内部文件目录设置跟目录一起改动用

chmod 三位数 -R 目录   (注意是-R大写)

用户管理命令

命令su

我们cd /到根目录,尝试touch 文件,会发现权限不够,根目录默认是超级管理员的目录,默认下是不允许普通用户操作

图38

于是我们使用sudo touch 1.txt临时提升权限,会提示输入密码,我们就成功创建了1.txt在根目录,但是我们再次touch没用sudo还是会提示没权限,这就是临时的含义,但是再次sudo不用提示密码

ls时也能看到用户和组为root

图39

我们也可以直接切换到管理员账户 sudo -s,会提示输入密码(之前未输入过的话),你会发现左侧用户已经变成了root。其中美元符号也表示你是个‘保安’身份,而井号表示是超管身份

图40

我们还可以用su 用户名 切换账户,如果是su root 密码要输入的是root的密码而非自己用户的密码

图41

修改密码passwd

我们可以用passwd修改密码, passwd 用户 如果修改当前用户,可以不输入用户名,2次输入一致成功修改密码

如果是普通用户登录,修改普通用户密码。必须改后比之前长才行。那我们就是想把密码改短呢,可以切换到root身份,然后修改用户密码变短(root不会问你原来密码- -)

退出登录exit

我们打开终端,默认就是当前用户demo。用exit就可以退出登录,终端关闭

我们如果我们打开终端切换到root,再su回demo,需要3次exit才能退出,这是因为Linux用栈(类似一个井,后入先出)存储登录,这样栈结构就分别是demo,root,demo。而exit就相当于出栈,第一次demo出去。然后再root.demo。最后栈空退出终端。

图42

查看登录用户who

会得到当前登录server的用户及位置,比如我们就可以通过ssh尝试登录虚拟机,这里就得提下我自己的使用过程中的坑(首先,教程开始并没有告诉需要装什么,你要把虚拟机当服务器,远程登录他,那就得给虚拟机安装ssh server,命令sudo apt-get install openssh-server,然后sudo /etc/init.d/ssh start开启sshd服务。然而这样还没完,比如我们电脑操作系统是windows,我开始装了openssh,但是好像用起来一直提示no kex alg,后来是靠大哥提示安装putty,在putty界面里成功ssh,具体输入内容是ssh 用户名@ip地址   ,这个ip地址可以在连接信息里看到),ssh后,输入who就可以看到虚拟机和ssh登录的2个用户

图43

who -q显示登录用户名,数量

who -u额外显示登录时间

图44

关机重启

shutdown关机命令

-h now立刻关机

-r now立刻重启

shutdown 时间(比如15:00)到时间关机,远程ssh登录的会得到提示

-c 取消关机,这时ssh登录也会提示关机取消

shutdown +20 让20分钟后关机

图45

reboot重启(尽量使用shutdown)

重启可以,关机尽量避免,当然大的云服务器已经有了远程开机关机

软件安装卸载

三种软件安装方式,make install 、 deb包方式、apt-get 几种

图46

makeinstall

比较麻烦,亲力亲为

dpkg安装deb包

要安装依赖包

sudo dpkg -i 包名(.deb)

图47

apt-get 

一般格式 sudo apt-get install 软件名(但是必须有软件源或联网,软件源必须配置好,需要修改etc/apt/source.list文件)

图48

卸载软件 sudo apt-get remove 软件名

SSH远程登录

比如说我们的服务器在很远的地方,服务器安装ssh server,我们在电脑上就可以ssh远程登录操作服务器

图49

服务器要sudo apt-get install openssh-server安装sshserver,装完了就允许远程登录了

用户登录命令ssh 用户名@服务器IP地址 (客户端我用的是putty)

远程拷贝下载SCP

图50

上传 scp 本地路径 用户@服务器地址文件路径(视频是mac本,直接就能sch,我的电脑是windows,用openssh还是出问题,最后是用了winscp搞定的(实际是拖拽操作,或右键点击上传修改路径))

下载scp  用户@服务器地址文件路径 本地路径(同上,事实上就是前面的是有文件的地方,后面是要下载的地方)

上面2个如果操作目录要加上-r

VIM编辑器介绍

gedit只有ubuntu有,centos没有,

图51

命令模式,左下角空白(移动光标,删除复制)

图52

我们用vi工具打开文件默认是进入命令行模式,我们想编辑文件必须进入文本输入模式(文本编辑),命令模式插入i,附加a,打开o,修改c,取代r、替换s都会进入文本输入模式,左下角会显示个插入

图53

末行模式(保存,查找,替换),命令模式按:冒号进入

图54

三种模式切换,默认就是命令模式,esc都能退回命令模式,a,i,o等进命令模式,:末行模式

图55

VIM操作

vim是vi的升级版,现在发行的ubuntu基本默认vi都是调用vim

vi 1.txt 如果1.txt存在则打开,不存在则创建,按i进行插入文本,想保存退出,先esc到命令行模式,然后:进入末行,输入wq即同时保存和退出,回终端命令行界面

进入文本编辑模式,i所在光标位置左侧输入,I所在光标行首输入

a在光标右侧位置输入,A所在光标行尾输入

o在光标下一行产生新的一行,O所在光标上一行产生新行

命令行下移动光标h左,l(小写L)右,j上,k下(一个字符位置)

{}每段按空白来算

图56


图57


图58
图59

g是全部替换,没有g只把开头的abc替换123

图60

这里想说下vim命令真的是够多,如果经常用还好。。

系统实时性能监控案例

我们这里用python写一个服务器状态监控脚本,服务器访问量大,就可能各种硬件指标参数大,我们这里做一个监控预警,达到一定的指标,就给自己发一个邮件,这里需要安装psutil,python自带的subprocess太麻烦,使用这个模块简单方便

图51

中间插入一个坑,这里要安装pycharm 参照https://blog.csdn.net/xiaozaizi666/article/details/84137768

chrome浏览器下载社区版,tar -zxvf 解压对应包,然后切换到有pycharm.sh文件的地方运行,然后工具设置添加快捷方式锁定,我们就不必每次都sh才进入,记得设置环境变量,开始我pip3安装的包没加载进来,后来经过设置OK了

cpu

图52
图53

内存,属性用.加名字获得

图54
图55

网络,属性用.加名字获得

图56

开机时间

图57

获得用户

图58

我们按照如上功能,做个终端显示界面,编程看看视频就行了,不过是调用api,还用了一个比较长的字符串= =

图59

终端运行py文件

我们可以python3 py文件 运行

如果想只输入./xxx.py文件名 执行,这时需要在py文件开头加上#!/usr/bin/python3 (./不可省略)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,340评论 0 10
  • 3月11日Linux永远不需要也不能重启。 /etc/hostname C7主机...
    dereinsameFnger阅读 3,097评论 0 0
  • 2019年3月11日 day 1: linux永远不要重启,也不需要重启 主机名 cetnos6及以前版本的配置文...
    Linux_wu_sir阅读 2,924评论 0 0
  • 来自rulongjun的博客 1.标准IO(Standard Input/Output) 可用于做输入的设备: 键...
    BeautifulSoulpy阅读 2,915评论 0 1
  • 认识一座城,最好的方法是什么? 听别人讲述? 自己走一次? 我觉得,统统都不是。 最好的方式是,去看这座城里的书店...
    林小希阅读 2,481评论 0 0

友情链接更多精彩内容