linux、vim常用命令

版权声明:内容版权为CSDN用户:kayseen 所有,若您需要引用、转载,需要注明来源及原文链接 https://blog.csdn.net/m0_43394876/article/details/88371540

linux常用命令

1.Linux基本命令(一)

1.1基础操作

1.ls表示当前文件夹下面的内容	
2.pwd表示当前位置		
3.cd[目录名]表示切换文件夹        cd空格Desktop
                           		.cd表示切换路径,如果在当前路径下没有输入的指令的路径,将不执行
                           	
4.touch[文件名]表示新建文件	    touch空格123.txt
						touch {1,2,3,4,5}    一次性创建多个同级目录
						touch a/b/c/123.txt  表示在a目录下面的b下面的c下面,创建123.txt前提是abc目录已经存在
5.mkdir[目录名]表示新建目录	    mkdir空格qqq
		创建连续的文件夹: mkdir a/b/c/d/e/f -p
6.rm[文件名]表示移除指定的文件	  rm空格123.txt	(删除文件夹+  -r)
7.clear表示清屏
8.cd空格..表示返回上级路径
	cd空格../..表示返回上级的上级路径
9.cd空格—   表示在最后执行的两个命令之间来回切换
10.cd空格./Desktop 表示跳转到当前路径下的Desktop中,   这里的./表示当前路径
11.cd空格/home表示跳转到根目录下的home目录中
12.cd空格~  表示快速回家
13.rm —r Desktop 等同于 rm Desktop —r      —r 表示删除文件夹  
	也可以 remove Desktop -rf    f表示强制删除不用询问
14.cp空格①空格②   复制文件,①是要复制的,②是复制到的路径
15.cp空格①空格②空格—r  等同于  cp空格—r空格①空格②      复制文件夹,将文件夹①放到文件夹②之下
16.mv ① ②    移动文件①到②之下   移动文件夹的时候需要 —r
17.mv ① XXX	将①的名字改为XXX,本来是移动命令,但是XXX不存在则是改名字
18.man空格ls        有问题找男人。表示查看ls命令的帮助,man后面可以加任意的命令
19.ls空格-l   ==  ll 	表示以列表的形式展示当前目录下的文件,l即list
		ls -ll  ==  ls -al
20.ls空格-l空格-h  ==  ls空格-lh     在19的基础之上,展示文件的大小 
21.ls空格-l空格-h空格-a   ==   ls空格-alh     在19和20的基础之上,显示所有文件包含隐藏文件的大小
		ls -alh显示的内容,d开头表示文件夹,l开头表示软连接,-开头表示普通文件
22. touch空格.123.txt         创建文件时,在文件名称前面加.  表示创建的是隐藏文件
	touch {1,2,3,4,5}        一次性创建多个同级文件目录,可以不是连续的
	touch {1..5} 			一次性创建多个文件目录,必须是连续的同级的

23. 删除空文件夹:rmdir XXX         rm XXX -d

1.2调整终端窗口

终端字字体放大:Ctrl + shift + +
         缩小:ctrl + -
打开终端 : ctrl + alt + t
           ctrl + shift + t  在同一终端打开多窗口
在文件管理中查看路径 : ctrl + l   在终端里表示清屏
调到行首:ctrl+a 或者 home键
调到行尾:ctrl+e 或者 end键
cd绝对路径时如果忘记下一级目录可以按两次tab键出来可选
文件管理中显示隐藏文件:ctrl + h

2.Linux基本命令(二)

2.1重定向、打开文件

1.ls > 123.txt      表示将ls命令的内容写入到123.txt中,如果123.txt已经存在则直接覆盖
2.ls >> 123.txt     同1命令,不过>>不会覆盖已经存在的文件,如果文件名称存在,则追加在文件后面
3.tree /home/python/ > 123.txt       将/home/python/下的tree写入123.txt中
4.gedit 123.txt        打开123.txt文件,查看其中的内容
5.cat 123.txt		   在命令窗口显示123.txt的所有内容
6.more 123.txt         在命令窗口分页显示123.txt中的所有内容,可以f向前翻页,q退出
7.tree /home/python/ | more  	|是管道的意思,此命令是在命令窗口分页显示路径下的tree命令

2.2 软连接 硬链接

1.ln -s 123.txt 123.s.txt           给123.txt创建了一个软连接相当于快捷方式,连接的名称为123.s.txt
2.ln 123.txt 123.h-link.txt			创建硬链接,只能连接文件,不能连接目录

2.3cat合并文件

1.cat ① ②   在终端显示①和②里面的内容,①在前②在后.  相当于用到了重定向
  重定向合并: cat ① ② >> 123.txt   将显示的①和②的内容写入到123.txt中,这是重定向

2.4grep/find搜索

1.grep "h" 123.txt          表示在123.txt中搜索含有"h"内容的部分
  grep -n "h" 123.txt    表示在123.txt中搜索含有"h"内容的部分,并且显示位置在第几行
  grep -i "h" 123.txt    表示在123.txt中搜索含有"h"内容的部分,并且忽略h的大小写
  grep -n "h$" 123.txt   表示在123.txt中搜索含有"h"内容的部分,显示第几行,并且$表示只显示h结尾的行
  grep -n "^a" 1.txt    搜寻以 a 开头的行;
  grep -n '[Ss]igna[Ll]' 1.txt  在文件1.txt中匹配 [] 里中一系列字符中的一个;搜寻匹配单词signal、signaL、	         Signal、SignaL的行;
  grep "h" 123.txt -v  搜索123.txt中不包含h的部分 后面跟 -v 是反命令
  
2.find ./ -name test         表示在./的路径下,搜索名字为test的文件.  -name表示找的是名称

2.5通配符

1. *表示多个字符  eg: ls *.txt 显示的是所有以txt结尾的文件
				eg:ls 1*3.txt 显示的是以1开头,以3结尾的txt文件*可有可无,也可以指多个
2. ?表示一个字符,可以叠加.   eg: ls ???.txt  显示的是有三个字符的txt文件
				eg: ls 1?3.txt  显示的是以1开头,以3结尾的文件,中间的?必须有一个相应的字符
				

2.6 打包 压缩

***解压到指定目录:在最后面加 -C + 路径

1.打包: tar -cvf xxx.tar *.txt   表示将当前路径下所有以txt结尾的文件打包成名称为 xxx.tar
								这里的打包不同于Windows,不会改变文件的大小
2.压缩: gzip xxx.tar   表示将xxx.tar压缩,会产生一个  xxx.tar.gz  的文件
	***可以将打包和压缩合二为一:  tar -zcvf xxx.tar.gz *.txt   
3.解压缩:  	gzip -d xxx.tar.gz,  会产生一个包
4.解包		 tar -xvf xxx.tar          表示将xxx.tar解压到当前目录下
	***可以将解压缩和解包合二为一: tar -zxvf xxx.tar.gz
	***解压到指定目录:在最后面加 -C + 路径
	
另外一种不常见的压缩格式bz2:
1.打包压缩: tar -jcvf xxx.tar.bz2 *.txt
2.解压缩解包: tar -jxvf xxx.tar.bz2

最后一种基本见不到的格式zip:
1.打包压缩:  zip myzip *   表示压缩所欲的文件到myzip当中,会产生一个myzip.zip文件
2.解压缩解包:  unzip -d ./home myzip.zip

2.7chmod权限修改

u表示文件的拥有者,也就是权限的前三位,g表示文件的同组者,也就是中间的三位,o表示其他人,是最后的三位.

a是all的意思 表示这三者皆是

rwx 含义
r read 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。
w write 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。
x excute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。

1.	ll查看当前文件列表,前面第一位 -表示普通文件,d表示文件夹,l表示软连接,后面每三个字符是一组,表示权限
	chmod u=r 123.txt  表示只赋值给123.txt可读权限   chmod u=w 123.txt  表示只赋值给123.txt可写权限
	chmod u=rwx 123.txt   表示赋值给123.txt所有权限   u表示文件的拥有者,也就是权限的前三位,g表示文件的同组者,也													就是中间的三位,o表示其他人,是最后的三位
	chmod g=r 123.txt         chmod g=rwx 123.txt    g同组者权限
	chmod o=r 123.txt                                o其他权限
	可以合并使用:			chmod u=w,g=w,o=w 123.txt
						 chmod u=,g=,o= 123.txt    表示都没有权限
	可以使用数字赋值:  eg:r=4,w=2,x=1
		chmod 751 123.txt  7表示前三位,5表示中间三位,1表示后三位,即前三位权限是rwx,中间三位是rx,后三位权限是x
		chmod 000 123.txt  表示没有任何权限
		chmod 777 a  修改a的文件夹权限为所有,chamod 777 a -R  同时也修改a文件夹内的所有文件的权限

2.8超级管理

1.sudo -s  打开超级管理员的身份,即root权限  exit退出    whoami   可以查看当前身份
2.修改密码: passwd
3.ifconfig  查看配置信息和ip

2.9关机重启

1. reboot  立即重启
2. shutdown -r now  立即关机,会给别的用户提醒
3. shutdown -h now  立即关机
4. shutdown -h 20:25 设置关机时间
5. shutdown -h +10  十分钟之后关机
6.取消关机/重启命令: shutdown -c

2.10 vim常用命令

  • 任意模式切换到命令模式: esc
  • 命令模式到插入模式: 输入i
  • 命令模式到末行模式: ctrl + ; w:存盘,wq保存退出,q不存盘直接退出
    vim常用命令
    	命令模式:输入命令,操作vim
    	插入(编辑)模式:写代码,写入文件
    	末行模式:保存、退出等
    编辑模式:
    48.1. i: 进入编辑模式
    命令模式:
    48.2. yy: 复制从光标所在行开始向下多行  复制多行: 数字+yy
    48.3. p: 粘贴, 粘贴多次: 数字+p
    48.4. dd(删除、剪切), 剪切或者删除多行:数字 +dd   注意数字后面加空格
    48.5. V: 选中多行
    48.6. 上下左右: k:上, j:下, l:右 ,h:左 等同于方向键
    48.7. x: 从前往后删除一个字母
    48.8. X: 从后往前删除一个字母
    48.9. u: 撤销 	Ctr-r: 反撤销
    48.10. shift + >: 往右缩进
    48.11. shift + <: 往左缩进
    48.12. .:重复上一次操作
    48.13. G: 回到最后一行
    48.14. gg: 回到第一行 1G
    48.15. 18G: 回到指定行
    48.16. shift + 4:回到行末
    48.17. shift + 6:回到行首
    48.18. 搜索: : /1 n:查看下一个搜索到的内容, N:查看上一个搜索到的内容
    48.19. 替换: : 末行模式下,将当前文件中的所有abc替换成123	:%s/abc/123/g
    			  末行模式下,将第一行至第10行之间的abc替换成123	:1, 10s/abc/123/g
    48.20. ctr+f: 下一页
    48.21. ctr+b: 上一页
    	r: 替换当前字符  r+替换后字符
    	R: 替换当前行光标后的字符
    
    末行模式:
    48.22. :wq, :x: 保存退出  w保存  q退出

3.ssh远程连接与scp拷贝

A.安装ssh服务器		sudo apt-get install openssh-server

B.远程登陆			ssh 用户名@IP

3.1远程登录

远程登陆 ssh 用户名@IP

3.2远程复制文件

scp -r 表示复制文件夹

远程拷贝文件到本地 :
scp -r 目标用户名@目标主机IP地址:/目标文件的绝对路径 /保存到本机的绝对/相对路径
** 拷贝单个文件可以不加 -r参数,拷贝目录必须要加 **
举例:
scp -r [email protected]:/home/kayseen/QQ_dir/ ./mytest/lisi

拷贝命令大全:

本地文件复制到远程: scp 本地文件名 远程用户名称@远程ip:远程文件名
本地目录复制到远程:scp -r 本地目录 远程目录名称@远程ip:远程目录
远程文件复制到本地:scp 远程用户名@远程ip:远程文件名 文件名
远程目录复制到本地:scp -r 远程用户名@远程ip:远程文件名 文件名

在xshell上编辑文件时使用vim编辑器
小结

  1. scp可以实现Ubuntu远程连接和文件上传和下载
  2. 在windows系统上远程连接Ubuntu需要安装OpenSSH(xshell)软件
  3. FileZilla工具通过SFTP协议实现文件上传和下载

4.端口查询命令

1. 查询某个进程的命令

ps -aux|grep uwsgi

2. 查询端口占用

lsof -i:端口号 查看指定的端口号

netstat -tunlp 用于显示tcp,udp的端口和进程等相关情况

3.查看进程树

比如需要获取Gunicorn进程树,可以执行如下命令:
pstree -ap|grep gunicorn

猜你喜欢

转载自blog.csdn.net/m0_43394876/article/details/88371540