py学习9——linux常见指令

数据流、管道

数据流及输出重定向命令:>
		输入流:从键盘或者文件中读取内容到内存中
		输出留:从计算机内存中把数据写入到文件或者显示到显示器上
		重定向:改变数据流和原来的默认走向
		标准输出流:stdout :标准输出,对应于终端的输出
		标准错误输出流:stderr :标准错误输出,对应于终端的输出
		标准输入流:stdin :标准输入,对应于你在终端的输入
		
		echo "xxx":将xxx输出到终端
		echo "xxx" > demo.txt:将xxx输出到文件demo.txt中,但是会覆盖文件已有的信息
		echo "xxx" >> demo.txt:就不会覆盖,而是追加
		可以输出数据的语法 > 文件 :这样的就可以

管道:|  :可以看成队列,左边写东西,右边读东西
		ls -l / | more:将管道左边的得到的数据输出给右边,成为右边的输入,右边将数据进行处理
		管道只能处理经由前面一个指令传出的正确输出信息,对错误信息没有直接处理能力,然后传递给下一个命令,作为标准输入

建立链接

Linux链接文件类似于Windows下的快捷方式
链接文件分为软链接和硬链接

软链接:文件数据由它的文件名指向,再创建一个文件名来指向文件数据的文件名(快捷方式类似的)
			ln -s 源文件 链接文件
			删掉最开始的文件名,其他的链接都不可使用
硬链接:文件数据由多个文件名指向
			ln 源文件 链接文件
			只要有一个文件名存在就可以

文件搜索

grep:文件内容搜索(会将符合搜索内容串的整行输出出来,符合搜索内容串的用红色标出)
		grep [-选项] '搜索内容串' 文件名(选项的内容可以是零或多个)
		grep -i  '搜索内容串' 文件名:模糊字母大小写搜索
		grep -n  '搜索内容串' 文件名:在每行前面显示当前行在文件中的行数
		grep -v  '搜索内容串' 文件名:取反(就是不包含搜索内容串的)
		grep -i  '^搜索内容串' 文件名:搜索以搜索内容串开头的行(^:正则表达式相关内容)
		grep -i  '搜索内容串$' 文件名:搜索以搜索内容串结尾的行
		grep -i  '[Ss]igna[Ll]' 文件名:匹配[]里中一系列字符中的一个:搜索匹配单词signal、Signal、signaL、SignaL的行
		grep -n 'e.e' 文件名:匹配一个非换行的字符;匹配e和e之间有任意一个字符。可以匹配'eee'、'eae'、'eve'、'ese'但是不能匹配'ee'、'eaae'

find:文件搜索(在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属性的文件)
		find ./ -name test.sh :查找当前目录下所有名为test.sh 的文件
		find ./ -name '*.sh' :查找当前目录下所有后缀为.sh 的文件
		find ./ -name "[A-Z]*" :查找当前目录下所有以大写字母开头的文件
								*表示任意字符
								?表示任意一个字符
								[列举字符]表示列举出的任意一个字符
		find /tmp -size 2M :查找在/tmp目录下大小等于2M的文件
		find /tmp -size +2M :查找在/tmp目录下大小大于2M的文件
		find /tmp -size -2M :查找在/tmp目录下大小小于2M的文件
		find ./ -size +4K -size -5M :查找在当前目录下大小大于4K,小于5M的文件
		find ./ -perm 777 :查找在当前目录下权限为777的文件或目录

归档和压缩

压缩:就是一种打包,原理是将文件中相同的信息用一个符号代替。使文件体积变小
归档:将一些文件放在一起变成一个包,便于保存和传输(压缩没有明显效果的文件使用归档进行保存)
tar使用:
		多文件归档:tar [参数] 打包文件名 文件1 文件2
		目录归档:tar [参数] 打包文件名 目录
		参数:(同时使用多个参数的时候,f 要放在最后)
				-c:生成档案文件,创建打包文件
				-v:列出归档解档的详细过程,显示进度
				-f:指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后
				-x:解开档案文件
		
		归档+压缩:tar -zcvf xx.tar.gz 文件1 文件2(.gz 是linux的压缩文件的后缀,类似于windows的.zip  .rar)
		解压缩+解档:tar -zxvf xx.tar.gz 
		解压缩+解档+到指定目录:tar -zxvf xx.tar.gz -C 要解档到的目录

文件压缩、解压缩:zip、unzip
通过zip压缩文件的目标文件不需要指定的扩展名,默认扩展名为zip
		压缩文件:zip [-r] 压缩文件(可以没有扩展名)  源文件
		解压文件:unzip 压缩文件(把文件解压到当前目录下)

文件权限

r:可读
w:可写
x:可执行
文件拥有者(u): r  w  x
同组用户(g): r  -  x
其他用户(o): r  -  x
所有用户权限(a)


修改权限:chmod
chmod u/g/o/a +/-/= rwx 文件
		+:增加权限
		-:撤销权限
		=:设定权限

数字法设定权限:r权限数为4,w权限数为2,x权限数为1 。若是没有权限则为0 ,要是三个权限都有就是7(4+2+1)
如:chmod u=rwx g=rx o=r filename 就等同于:chmod u=7 g=5 o=4 filename
简化一下就是:chmod 754 filename

目录权限:递归所有目录加上相同权限,需要加上参数 -R 。如:chmod 777 d

用户管理

su - 切换用户
passwd - 修改用户密码
exit - 退出用户登录
who - 查看用户登录

1.切换到管理员帐号
		sudo命令用来临时以其他身份执行命令,预设身份为root(会在/etc/sudoers中设置了可执行sudo指令的用户
		未授权的用户使用sudo会发出警告邮件给管理员,用户使用sudo必须输入自己的密码,而且五分钟后需要再次
		输入密码)
		sudo -s 默认切换到root用户 ,需要输入当前用户的密码
		su root 切换到root用户(输入啥用户名就是啥用户),需要输入root用户密码,切换到指定用户,关闭终端前有效

2.设置用户密码:passwd
		超级用户可以通过passwd命令给普通用户设置或修改密码,普通用户可以修改自己的密码
		passwd 用户名 修改指定用户的密码
		passwd 修改当前登录的用户的密码

3.退出登录帐号:exit
		如果是图形用户界面,退出当前终端
		如果是使用ssh远程登录,退出登录帐户
		如果是切换后的登录用户,退出则返回上一个登录账户

4.查看登录的用户:who
		查看所有登录当前系统的用户信息
		-q或--count :只显示用户的登录帐号和登录用户的数量
		-u或--heading :显示列标题

关机、重启

关机重启:reboot、shutdown、init
		reboot:重新启动操作系统
		shutdown -r now :重新启动操作系统,shutdown会给别的用户提示
		shutdown -h now :立刻关机其中now相当于时间为0的状态
		shutdown -h 20:22 :系统在20:22会关机,shutdown -c 可以取消关机
		shutdown -h +10 :系统在过十分钟后会自动关机, shutdown -c 可以取消关机

Ubuntu下的软件安装

1. make install 源代码安装包(性能好,稳定,但是安装很麻烦)
		步骤:
			1. ./configure  ## 建立makefile这个文件
			2. makeclean  ## 消除上次编译过的目标文件之类的,不必须
			3. make  ## 会依据makefile中默认工作进行编译,主要是进行gcc将源码编译成为可执行的目标文件,而这个可执行文件放在目前所在的目录之下
			4. make install  ## 一般是最后的步骤,make会依据makefile关于install的选项,将上个步骤所编译完成的数据安装到默认的目录中
2. dpkg安装deb包(直接运行安装,简单。存在包依赖,需手动下载很多安装包)
		方法:
				sudo dpkg -i package.deb
3. apt-get方式(这种比较适合)(最简单的安装方式,一条指令下载所有包。必须有软件源 要连网搭建软件源)
		方法:
				sudo apt-get install xxxx


更新Ubuntu软件下载地址(软件源)
1.国内镜像源
			清华大学开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn
2.备份Ubuntu默认的源地址:(备份原来的软件源)
			sudo cp /etc/apt/sources.list  /etc/apt/sources.list.backup
3.更新源服务器列表:(打开了这个文件,将你想用的镜像源的配置文件复制到你的文件里面)
			sudo gedit /etc/apt/sources.list
4.更新源:(更新一下,就可以使用最新配置的软件源了)
			sudo apt-get update

测试并安装vim编译器
			sudo apt-get install vim

Ubuntu软件操作的相关命令
			sudo apt-get update:更新源
			sudo apt-get install package:安装包
			sudo apt-get remove package:卸载包
			sudo apt-cache search package:搜索包
			sudo apt-cache show package:获取包的相关信息,如说明、大小、版本等
			sudo apt-get install package --reinstall:重新安装包
			sudo apt-get -f install:修复安装
			sudo apt-get remove package -purge:删除包,包括配置文件等
			sudo apt-get build-dep package:安装相关的编译环境
			sudo apt-get upgrade:更新已安装的包
			sudo apt-get dist-upgrade:升级系统
			sudo apt-cache depends package:了解使用该包依赖哪些包
			sudo apt-cache rdepends package:查看该包被哪些包依赖
			sudo apt-get source package:下载该包的源代码
			sudo apt-get clean && sudo apt-get autoclean:清理无用的包
			sudo apt-get check:检查是否有损坏的依赖

ssh远程登录

安装ssh
		sudo apt-get install openssh-server
远程登录
		ssh 远程ssh服务器用户名@远程ssh服务器IP地址

scp远程拷贝

使用前提:目标主机已经成功安装openssh-server
			(通过命令:sudo apt-get install openssh-server 来安装)

使用方法:
			上传:
					scp 本地路径  服务器用户名@服务器地址:远程路径
					如:scp ./1.txt ssd@192.168.33.123:/home/ssd/1.txt
			下载:
					scp 服务器用户名@服务器地址:远程地址  本地路径
					如:scp ssd@192.168.33.123:/home/ssd/1.txt  ./1.txt 

编辑器vim

它可以执行输出、删除、查找、替换、块操作等众多文本操作,vi没有菜单,只有命令。

vi的三种工作模式:
		命令模式:
					用户按下esc键,vi就会进入命令模式,用户可以输入各种合法的vi命令来管理自己的文档
		文本输入模式:
					只有在输入模式下,才可以对文本进行编辑。
					在命令模式下输入:插入命令i、附加命令a、打开命令o、修改命令c取代命令r或者替换命令s。都可以进入文本输入模式
		末行模式:
					也叫ex转义模式。用户在命令模式下可以按' :' 键进入末行模式。vi会在窗口最后一行显示一个:作为末行模式的提示符

操作步骤(在终端操作):
		创建文件:vi文件名 --> i进入编辑模式 --> 编辑文件 --> esc到命令模式 --> :到末行模式 --> wq保存并退出	
进入编辑模式
i和Ii在光标前插入,I在行首插入
a和Aa在光标后插入,A在行末插入
o和Oo在光标所在下一行插入,O在光标所在上一行插入
进入命令模式
esc
进入末行模式:
q退出
w保存
q!强制退出,不保存
qw!强制退出并保存
强制的意思,可以不加
移动光标命令
h光标向左移动
j光标向下移动
k光标向上移动
I光标向右移动
H、M、L光标移动到可见屏幕的第一行、中间行、最后一行
^和$移动到行首、行末
G和gg移动到文档的最后一行、第一行
ctrl+f、ctrl+b向前翻屏、向后翻屏
ctrl+d、ctrl+u向前半屏、向后半屏
{ 和 }向上移动一段,向后移动一段
w和bw向前移动一个单词、b向后移动一个单词
删除命令
X和xx删除光标所在字符,X删除光标前一个字符,包括光标所在字符
dd和n dddd删除所在行,n dd删除n行
d0和Dd0删除光标前文本行所有内容。D删除光标后文本行所有内容,包括光标位置字符
dw删除光标所在位置的字,包括光标所在位置字符
撤销命令
u一步步撤销
ctrl+r反撤销(重做)
重复命令
.重复执行上一次操作的命令
移动命令
>>文本行向右移动
<<文本行向左移动
复制粘贴
yy、n yy、y$yy复制当前行,n yy复制n行,y$复制当前光标至行尾
p在光标所在位置向下开辟一行粘贴
查找替换
命令模式
r和Rr替换当前字符,R替换光标后的字符
/ + str找到字符串str,n查找下一个,N查找上一个
末行模式
%s/abc/123/g将文件中所有abc替换成123
1,10s/abc/123/g将第一行至第十行之间的abc替换成123
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值