2020-04-17 linux 和文件操作命令 统计

#linux 基本命令和文件操作基本命令

一、linux 命令
命令[命令的参数][命令作用的对象] #这里[]类似python中,里边的内容可有可无
ls -laR .pip
cat /proc/cpuinfo
cat -n /proc/cpuinfo

caomand not found -命令找不到,敲了无效的命令

具体如下:

1、linux常用命令:

	1. w/who/whoami/last  -查看用户登录情况
	2. adduser/passwd/userdel -创建用户 修改密码 删除用户
	3. date/cal 查看日期日历
	4. write/wall/mesg -发送消息
	5. clear     清楚屏幕
	6. logout/exit  退出登录
	7. man/info/ --help -查看帮助
		[...]# man clear 
		查看clear的源代码
		
	9. history  -历史命令-!命令编号-再次执行的命令
	    -c -消除历史记录
	10. reboot  -重启系统  -init 6
	
	11. shutdown  -关机  -init 0
	   关机一般等待one minute
	  shutdown now  现在立刻关机
	
	12. su -switch usr -切换用户
		注意:Linux中用户为usr

   13、查找
 	find  找文件

	例如:[..]# find / -name "*.html"
	     从跟(root)目录下 找 文件名后缀为.heml的文件 
	        [..]# find . -name "*.html"
	    从当前目录下找文件后缀为.html的文件
	
	    [..]# find /size +10M  
	    根目录下找文件大于10M的文件(-10小于10M)

	grep:查找字符串


2、***符号连接(symbolic象征的 符号的 link)~***

①硬链接: in  文件名  路径
    含义:给磁盘文件增加了新的引用,只要引用数不为0 ,文件就不会消失)
    例如:[...]# in hehe /root/code/example03.py
        给hehe这个文件做硬链接,将其连接到 /root/code/example03.py 这个目录后边;

②软连接(符号连接): in -s  (link  连接 soft 软)
    含义:相当于windows下的快捷方式,将长的路径变短
    例如:in -s /usr/local/python37/bin/python3    /usr/bin/python3

***2、linux 文件操作相关命令***

1. pwd  -print working  directory -打印当前工作目录
     directory 目录 文件夹
     file  文件
2. cd -change directory -改变目录 -后边+相对路径和绝对路径
       linux中一般/ 表示我的电脑  /+路径  即表示 绝对路径
       但是一般不写绝对路径,内存压力大,代码多乱
    
   补充:
	cd 文件名
		到该目录下
	cd ~
		 返回最初目录
	cd ..
		返回到上一级目录
	cd -
		撤销上一步操作,即返回到之前的工作目录

3. ls -list directory contents -列出目录下的内容
      -l  (length) 长格式查看
      -a(all)查看所有文件 -在linux系统中以点开头的文件和文件夹会死隐藏的
      
      -***R(recursive)递归式***的查看 -遇到文件夹就要递归列出文件夹下的内容

4. cat -concatenate -连接多个文件(查看文件的内容)
         concatenate  -连接  连锁

5. touch  创建空文件或者修改已有文件的最后访问时间
		创建两个文件:
			touch test.txt test1.txt
		创建文件二:
				vim test.txt
				
7.  mkdir -make directory  -创建文件夹
       -p 如果需要就创建文件夹

		
			
			mkdir  xx  创建文件夹xx 
					注:一次只能创建一级目录(mkdir xx/yy 则会报错)
			2、mkdir -p 递归创建目录,即使上级目录不存在,也会按照目
			录层级自动创建目录;
					注:mkdir -p xx/yy 一次可以创建多级文件夹,若
					xx文件夹不存在,则先创建文件夹xx,再创建在xx文件
					夹下创建文件夹yy;
			3、mkdir -p {de1,de2}/test  
					若de1和de2不存在,则先创建de1和de2两个文件夹,然
					后分别在里边创建文件夹test;
					若de1和de2存在,则直接在两个文件夹内创建文件夹test;
`
		
8. rm  remove -删除
    -f (forcible 强制的) -强制删除
    -r(recursive) -递归删除
  	rmdir  -remove empty directory -删除空文件夹

10. wget -通过网络获取文件
     -例如: wgethttps://www.python.org/ftp.python.3.7.3/python-3.7.tar.xz 
      下载python源文件
     -liru:  wgethttp://www.python.org/ftp/python/3.7.3/python-3.7.3.tgz 


  压缩包有两种格式:xz  gz 不同格式的压缩包文件  解压和压缩的命令不同
  
11. gzip /gunzip  -文件压缩/解文件(gz/tgz)
      -例如: gunzip python-3.7.3.tgz

12. xz -文件压缩/解文件(xz)
       -z   压缩
       -d  解压
            例如: xz  -d  python3.7.3.xz 

13. tar  -archive -文件归档/解归档
        -xvf -解归档(将一个文件拆成多个文件)
                   -例如:tar -xvf python-3.7.3.tar
        -cvf  -创建归档文件(将多个文件合并成一个文件)

14.  wc- word count -查看文件行数、单词数、字符数
        -l   (line) -查看行数
        -w  (word)查看单词数 
        -c (character 性格、字符)-查看字符数

15.  sort -文件排序
        -r  (rverse 翻转)降序(默认是从小到大-升序)

16. uniq  -unique -文件去重(相邻相同的内容会被过滤掉)

17. head/tail -查看文件开头/结尾的部分

18. more/less  -分页查看文件 
     例如: cat -n taobao.html | more  查看文件里边的内容,加more,路径更深一层

19.diff  -different -比较文件的差别

20.  拷贝文件  cp(copy)
   拷贝文件夹 cp -r 原文件间名 目标文件夹名/(cp后重命名)
    
    补充: cp 文件名   (目的地)目录/ 新文件名(重新命名可有可无)
        [....] # cp hehe code/hali
		含义为:将文件夹hehe拷贝到code下,并且重命名为hali

     -r recursive  循环的 ,递归的

22. 移动文件 -mv  move 原文件  目标文件 (同一个路径下移动相当于重命名操作)
             移动后原来的没有了,到了新的地方,cp就会产生新的和旧的
             
 22     / 表示前一级的里边
        如:hello/hello1/hello2  表示 hello文件夹里边有 hello1
                                     hello1文件夹里又有hello2

***3、快捷补充***

|-管道  将多个进程连接起来(把前一个命令的输出作为下一个命令的输入)
>-输出重定向
>>-追加输出重定向
2>-错误输出重定向
2>>- 错误追加输出重定向

	ctrl +D 结束输入
	ctrl+C 中断一个正在执行的命令
	ctrl+W 删除命令中的一块
	ctrl+A 光标到行首
	ctrl+E  光标到行尾

```go


4、简单应用举例:
[root@izhp32b2fxgjiz6je7nwcZ ~]#  ls 
      列出当前目录下的内容

[root@izhp32b2fxgjiz6je7nwcZ ~]#  mkdir -p hello/hello2
      创建文件夹hello ,并在hello内创建hello2

[root@izhp32b2fxgjiz6je7nwcZ ~]# cd hello
       改变目录至hello ,就是进入到文件夹hello 下

[root@izhp32b2fxgjiz6je7nwcZ ~]#  mv goodbye/ hello/hello2
      移动文件夹goodbye到hello内的hello2文件夹

三、linux系统下的软件安装:

1.、通过包管理工具

yum -yellowdog undate modified 黄狗更新器
应用实例:

 -yum search nginx 从磨人的仓库中搜索有没有指定的软件            
		 -yum install -y nginx    安装软件            
		 -yum remove nginx     卸载软件            
		 -yum info nginx          查看软件相关信息            
		 -yum list installed       查看已经安装的软件           
		  -yum update              更新所有软件            
		  -yum update nginx     更新软件 
``

rpm -redhat package manage 红帽版本下 使用
apt ubantu下使用安装软件或包

优点:目标软件依赖的其他软件都会被一起下载
注意:不懂那个名词或命令的全称或意义,可同过man等帮
助命令查看 如:[…]# man yum 返回的是yum的底层设计

1:包管理工具安装软件举例

[.....]# yum search Nginx  搜索Nginx服务器是否存在     
	  返回:Nginx.x86_64  :  A high performance web server and
	                          reverse proxy sever  
	② [.....]# yum install Nginx   下载Nginx 服务器    [.....]# yum  
	 install  -y Nginx  
	下载的过程中凡是遇到询问是否都回答yes
    ③  [.....]#yum info Nginx 查看软件的信息 
    ④  [.....]#Nginx  回车 即:Nginx下载成功后启动起来     
    启动后会返回一个Nginx 的界面
    ⑤ [.....]# Nginx -s stop 停止访问Nginx
    ⑥ [.....]# yum remove Nginx  删除Nginx   删除后再启动Nginx 
    ([.....]#Nginx  回车)   返回的是: No such file or directory
    ⑦[.....]#  yum list installed  查看已经安装了的所有软件   [.....]#
     
 ***yum list installed | grep Nginx 查看具体的软件Nginx***
  (通过管道加上具体查看的内容)      

2、源代码构件安装
-gcc /makegcc c语言编译器 (g 开源协议 cc )
源代码构件安装时、目标软件的依赖的内容不会主动补齐,需要提前手动下载

***三:Nginx应用***

为使云服务器成为web服务器(全世界的人都可以访问)只需
下载一个软件即可实现,软件为: 
1、Nginx -web服务器(HTTP服务器)/反向代理服务器
       最好的,体积小,功能强大,俄国人发明的
2、Apache -web服务器       美国人发明的,性能不如
 激活nginx  
	        [.....]# nginx enter
	 停止nginx 
	 		 [.....]# nginx -s stop
	 		 (-s  signal  发送信号的简写)
	 卸载nginx前需停止nginx

四:Vim的相关知识:

1、作用:

利用Vim编辑修改,Vim使用需要提前设置一些格式,比如 缩进,格式,行号,坐标尺等;	
编辑格式前: 需创建一个隐藏文件(touch)-名字必须为 .vimrc,即 ***touch .vimrc***
 	ls -a(list directory contents) 查看当前目录下的  ***隐藏文件***
  	然后进入该文件: Vim .vimrc   
  	后进行编辑格式命令
	set nu 行号
	syntax on高亮语法  字体颜色
	  syntax Off 关闭高亮语法
	set  ts=4(tab space)
	set expandtab 空格键缩进
	set autoindent 自动缩进
	set ruler 光标尺
	set nohls 搜索到的内容不会高亮语法显示

2、含义
vim(Linux下编辑器,尤其可编辑程序),

命令模式: 按键代表命令  i或者a  进入编辑模式(页面左下角显示insert)
                 :或者/ 进入末行模式 
编辑模式: 键入内容    ESC   退出编辑模式至命令模式
末行模式: 搜索/配置/执行系统命令   enter------> 进入命令模式
补充:
	Vim  +文件名   进入Vim环境
	 文件存在,进入文件没若不存在,则新建该文件
	注意:    这样进入的是命令模式,要想进入Vim的编辑(插入)模式,
        按i进入,退出编辑模式esc,回到命令模式,:q!强制退出Vim

3、vim 操作命令补充


	***~映射快捷键***:
    ~ map gg9999dd  光标移到行首,删除99999行
    ~inoremap -main 表示 if __name__ == '__main__':

	***~多文件操作***

 	 vim一次打开多个窗口 
        [...]# vim hehe.py  hehe1.py hehe2.py
 
 	[...] #  vim -d  hehe.py  hehe1.py  (d  distinguish表示区分)
        vim直接一次打开两个窗口,并比较他们有何区别


下述命令都在末行模式进行:

~ :ls 查看所有打开的文件
~ : b 数字  指定显示那个文件

~ :vs 垂直拆分    (vertical 垂直的,拆分split)
~ :sp 水平拆分
~ : 两下crtl +w  光标左右移动(切换窗口)

~光标在那个窗口,命令作用于那个窗口:
~ :q  退出  (quit)
~ :qa 全部(窗口)退出  (quit all)
~ :wqa 全部保存退出 

***4 vim 使用的问题:***

 ①: 在编辑某个文件时突然服务器异常,系统会自动将未编辑完的文件命令保存,再次进入时会提示:
        R恢复  Delete 删除  Abort 放弃
 ②不小心按 F1   帮助界面
        :p  退出
③ 将常用的一些长命令按钮,命简短别名
    [..]# alias  ll ="ls -l"
    不想要这个别名,
    [..]# unalias  ll ="ls -l" 这个别名就不存在了

***5 、宏操作***

录制宏:
命令模式下:按q a(a时寄存器的名字) 进入录制(recording录制中)
编辑模式下 操作录制的内容
按q结束录制(宏存于寄存器a中)

播放4次宏 4@a

6、 vim 查找或替换

查找~
-? 或者-/ -/idx 查找idx(支持正则表达式)
-n/N 正向搜索/反向搜索

命令模式下输入:
?从下往上找
/ 从下往下找

例如:/0 找0

替换:末行模式下 先搜索(范围)再替换

例如~:1,$(第一行到最后一行)s(表示替换)/0(找0 这里还可以写正则表达式)/1000(0替换为1000)

-1,$s/idx/index/cige

	~c confirm  确认是否替换
	~g global 全局(一行出现多处匹配全部找出)
	~i  ignore case 忽略大小写
	~e error 忽略错误

你可能感兴趣的:(笔记)