VMware和Ubuntu的安装,
想来想去,还是需要安装,不能老是使用Windows的,后面还有很多都要用到Linux系统的,这个可以说是开发人员必备的了,
基本的使用:
1,Windows下面C:\Windows这个是存放的系统相关的文件,删除了系统就崩溃了,C:\Program Files这个存放的安装的程序,
Linux下面除了home还有其他很多的文件夹,都不能随便动,所有的文件操作最好只在home目录下操作,其他的不要随便动,更不能删除,
/home就是家文件夹,/etc这是保持配置文件的,比如服务器配置都在这里,/bin目录,这里面保持了可执行的二进制文件,比如可执行的命令,都在这里,
Linux没有盘符这个概念,只有一个根目录,所有文件都在它下面,Windows下面有多个盘,Linux可以多用户,Windows同一时间只能是单用户,
-----------------------
2,Ubuntu的界面,任务栏,可以把一些程序拖拽到任务栏,可以锁定,可以解锁,
窗口和菜单栏是可以分离的,这个要注意,菜单栏始终是在最上面的,因为同一时间激活的窗口只能有一个,
ctrl shift +,就是放大窗口,ctrl - 就是缩小窗口,
按住Ctrl+Alt可以把鼠标移动出来,按住alt键可以拖动窗口,
--------------------------
3,为什么学习命令,因为做服务器的管理工作,都是在电脑安装一个ssh的客户端,通过远程的方式管理服务器,这个ssh没有图形界面,必须要用终端命令,
作为程序员,必须要掌握Linux终端命令,这是必备技能,Linux命令有200多个,但是常用的20多个就可能了,基本就可以管理服务器了,不停用你就记住了,不需要死记硬背
不需要把所有的命令一次性都学会,不常用的不用学,临时学习,临时查询就可以了,
------------------------
4,根目录下面有多个多个文件,我们最应该关注的是home文件,为了实现多用户的功能,home文件下可以建立多个用户,每一个用户下面可以建多个文件,存放文件,一个用户登录,在家里面想干什么干什么,不能去别人家里捣乱,
ls -l / 查看目录是列表的形式,就是Windows中的文件夹,这个目录也是文件, ls / 查看目录平铺的形式 在Linux里面一切皆文件,
斜杠 / 这个叫根 / : 所有目录都在
--------------------------
5,常用的Linux命令使用
- ls 查看当前文件夹的内容,list 这是最常用的命令,
- pwd 查看当前文件夹,print work directory
- cd [目录名] 切换文件夹,change directory,注意cd后面有空格,
- touch [文件名] 如果文件不存在,创建文件,注意touch后面有空格,
- mkdir[目录名] 创建目录 make directory,注意mkdir后面有空格,
- rm[文件名] 删除文件 remove,注意rm后面有空格,删除文件,删除目录的时候需要加选项
- clear 清屏
总结:使用终端命令的格式;
- 命令 ls pwd
- 命令 参数 touch 123.tex , mkdir aaa,
- 命令 选择 参数:rm -r aaa ,删除文件夹,
查看帮助信息,
- 命令 --help ,注意是两个减号,
- man 命令,空格 展示下一页,回车键 下一行,b回滚一屏 f, 前滚一页, q退出,
这个帮助是我们学过了忘记了,用来回顾的,一般一点不会的命令用这种方法也看不会,因为我英文不好
小技巧:
- 自动补全,tab键
- 查看曾经使用过的命令,上下键,
和文件目录相关的命令:
- ls命令
- ls -a,查看隐藏文件,touch .123.txt,隐藏文件最前面有点,
- ls -l 显示详细信息 -h 配合-l使用,查看文件的大小,ls -lh ,这样是一样的效果,ls -lha 这是查看所有的文件,
- ls通配符的使用,* 任意多个字符,?任意一个字符,ls 1*,ls ?1.txt,使用通配符可以批量操作多个文件,
- ls通配符的字符组,ls [123]2.txt ,这样就实现了指定选择文件,ls [1-3]2.txt ,
- cd命令
- cd 回车回到home目录, cd /这就是到了根目录
- cd ~波浪号,回车回到home目录,cd ~/桌面/ 这是到家目录下面的桌面文件夹,
- cd . cd .. 点是当前目录,点点是上一级目录
- cd - 在最近的两次工作目录之间来回切换,
- 相对路径和绝对路径
- cd /home/andy/桌面,这就是绝对路径,
- touch命令
- touch文件如果不存在,创建文件,如果存在修改文件的末次修改时间
- mkdir -p a1/b1/c1/d1可以一次性创建多个层次文件夹,
- rm命令
- rm命令一定要小心使用,删除之后就不能恢复了,
- rm -r 文件夹,这是删除文件夹,
- rm -f 文件夹,这是强制删除,没有任何提示信息,不管有没有,
- rm -r *这是把所有的文件和目录删除了,
拷贝和移动命令
- tree命令
- tree,可以看到该目录下的树形结构,
- tree -d ,只会显示目录,不会显示文件了,
- cp命令,copy的缩写
- cp 源文件 目标文件 cp ./123.txt ./a1/b1/123.txt
- cp -i 源文件 目标文件 加上-i,如果复制的文件在目标文件已经存在,会提示你是否覆盖,y或者n,不加就会直接覆盖,这样不够安全,
-
cp -r ./aaa/ ./a1/aaa/ 这是复制目录,
- mv命令
- mv 源文件 目标文件,mv ./3.txt ./aaa/ mv 33.txt a1/aaa/ 移动文件夹和文件是一样的命令,不需要加选项,
- mv 同样的文件 不同的文件名, 可以实现修改文件名的功能,但是这种不安全,因为前面会覆盖后面的,所以加上 mv -i a1 a2
文件内容相关的命令
- cat命令,
- cat 文件名,查看文件内容,一次性完整显示,如果比较少可以使用这个,
- more 文件名,查看文件内容,可以分屏显示的,如果比较多,就需要这个,按 空格是展示一页,按回车是展示一行,f,b,q退出
- cat -b 文件名,可以输出非空行的行号,
- cat -n 文件名,输出所有行的行号,查看文件的时候,可以看到有多少行代码
- grep命令
- grep python 123.txt 查找文件123中,是否有python
- grep -n python 123.txt,在查找到的结果中,显示行号,
- grep -v python 123.txt ,这是把除了python的行显示出来,
- grep -vn python 123.txt ,这是把除了python的行显示出来,这是把行号也显示出来,
- grep -i S 123.txt,-i,这是忽略大小写,
- grep -in S 123.txt,-i,这是忽略大小写,这是把行号也显示出来,
- grep命令-模式查找
- grep ^p 123.txt,这是要求p出现在行首,
- grep -n on$ 123.txt,这是要求on出现在行位,需要显示行号,
其他命令
- echo命令
- 可以把echo 后面的内容 输出到屏幕,这个命令很少单独使用,经常和重定向结合使用,重定向,即使>和>>,这样就可以把echo后面的内容,输出到文件了,
- > 这是输出,会覆盖原有的内容,,ls -lh >b
- >>这是追加,会追加到文件的末尾,echo python >>b
- 这个厉害了,重定向既可以创建文件还可以添加内容,
- 管道的概念和基本使用
- 管道的符号 |
- Linux中可以把一个命令的输出,通过管道,作为另一个命令的输入,所以要使用管道至少两个命令,
- 后面的内容通常是使用more(让命令的结果分屏显示)或者是grep命令(在命令执行结束的结果中查询指定的文本),
- ls -lha ~这是展示家目录下面的所有文件,
- ls -lha ~ | more
- ls -lha ~ | grep bas
- 这个管道的使用特别的重要,
远程管理常用的命令
- shutdown 关机和重启
- shutdown 直接回车,这就是一分钟之后关机,
- shutdown -c ,可以在一分钟之内取消这次关机
- shutdown -r 表示重新启动,
- shutdown -r now 表示立刻重启,Ubuntu就会立刻重启了,
- shutdown 20:20 表示这个时间会关机
- shutdown +10 表示10分钟之后关机,shutdown -c就可以取消,
- 最好不要关闭系统,shutdown命令一定要-r的选项(重新启动),因为你关机了,就要手动重启了,很麻烦,
- 网卡和IP地址的概念
- 网卡是负责网络通讯的硬件设备,还有无线的网卡,比如WiFi
- ip地址是一个网卡上的地址信息,通过ip可以唯一标识一个网卡,
- 比如,电话卡就是网卡,ip就是手机号,
- 怎么查看不同系统上绑定在网卡上的ip信息?
- Windows中使用ipconfig就可以查看了,
- Ubuntu中使用ifconfig查看ip地址,有IPV4和IPv6,这个就是网络信息了,这个也是后面要学习的!!
- ping是检测看看这个ip是不是通的,
先学到这里,后面需要了再继续往下学习,
##################################################
2019年11月18号继续学习----vi编辑器,预计花费一天的时间,
vi编辑器简介
- 这是文本的编辑器,后面多次用到了这个命令,导致我不会,验证影响了我的进度
- vi是Linux中最经典的文本编辑器,为什么使用这个,就是速度快,
- vi的核心设计思想,让程序员的手指始终保持在键盘的核心区域,就能完成所有编辑操作
- vi只能编辑不能排版,没有图像界面
- vi不支持鼠标操作,没有菜单,只有命令,
- vim是从vi发展出来的,有代码补全,等功能,被称为编辑器之神,
- 程序员都是首选vim,在Linux中直接把vi做成了vim的软连接,你使用vi命令就是使用的vim
vi打开新建文件:
- vi 文件名 ,文件存在就是打开,不存在就是新建,vi hello.py
- vi 文件名 +行数,打开文件并且定位行,
- 异常处理,如果vi异常退出,在磁盘上可能会有保持的交换文件,下次在使用vi时,会看到发现交换文件,按d可以删除交换文件,注意输入的时候关闭输入法,
- 在vim格式未保存时退出,或者两台机器同时操作一个文件时都会出现这个问题(报存在一个swap文件)
- 看看当前的文件内容是不是原先的内容,如果觉得和你想要的差不多不需要恢复,那就直接执行rm指令删除那个swap文件
- 执行这个操作不会对你现在的文件产生影响。如果内容变化较大,你想要恢复,那就按 :q
工作模式
- 有三种工作模式,这个很重要,
- 命令模式,使用vi命令打开一个文件,就是命令模式,
- 命令模式下,可以进行常规的操作,比如定位,翻页,复制,粘贴,删除,
- 在其他的图形编辑器下都是鼠标操作的,但是vi是通过命令的,
- 末行模式,执行保存,退出等操作,
- w就是write,写入的意思,保存,
- q就是退出,quit的意思,退出,
- 末行模式是出口,命令模式就是入口,
- 怎么进入出口,就是输入冒号:,进入末行模式,
- 从末行模式到命令模式,按一下esc就进入命令模式
- 编辑模式,正常的编辑文字,
- 输入字母i,insert,就进入了编辑模式,不能使用鼠标,其他基本一样,
- 按esc返回命令模式,在命令模式可以快速定位,在编辑模式只能上下键定位代码,
- 编辑模式到命令模式,命令模式到末行模式,编辑模式不能直接到末行模式,
- 现在基本可以操作了
工作模式练习:
- 文件改完之后用命令q和wq和!w都不能退出来!上网一查才发现原来vi命令在直接用vi+enter进入文件的时候这些命令退出不了,
- 解决方法:直接用ctrl+z退出就行了
- .test.py.swp .test.py.swo,这种文件都是不正常退出文件导致的交换文件,这些可以使用rm直接删除,
- 末行模式的命令
- :w 保持
- :q 退出
- :wq 保持退出
- :q! 强行退出,不保存退出,这也是比较常用的,比如修改错了,
- :x 这也是保持退出
常用命令:
vi非常强大,命令非常多,不要期望一下子都记住,
要按照使用频率学习,使用vi命令的时候,
命令线路图
- 重复次数,输入一个数字,跟上一个命令,就可以重复执行指定次数,
- 移动和选择(多练),这个比较多,
- 编辑操作,删除,复制,粘贴,替换,
- 撤销和重复
- 查找和替换
- 编辑
- 注意关闭中文输入法,因为输入vi命令的时候是没有显示的,
移动命令
- 上下左右的移动,h向左,j向下,k向上,l向右
- 行内移动,w 向前移动单词,b先后移动一个单词,0立刻到行首,$立刻到行尾,^到行首,第一个不是空白字符的位置,
- 行数移动,gg 文件顶部,G文件末尾,数字gg,移动到指定行数,数字G移动到指定行数,:数字,移动到对应行数,一般都是还是用go,
- 屏幕移动,ctrl+b,向上翻页,ctrl+f,向下翻页,H屏幕顶部,M屏幕中间,L屏幕底部,
- 段落移动, {这是往上寻找段落,}这是往下寻找段落,这是比较常用的切换方式
- 括号切换,小括号,方括号,花括号,都是程序员常用的,可以使用百分号%切换括号
- 如果有代码需要随后处理,需要参考别的代码,把编号移走,到时候怎么回来呢,可以使用标记,可以使用m 输入一个字母,然后移动光标,怎么胡来输入单引号,然后输入直接的标记的字母 ‘k,不用管标记如何删除,相同的会覆盖,删除行标记也会删除,不用管,
- 选中命令,要复制要先选中,可以使用v,切换到可视模式,V 切换到可视行模式,ctrl+v,可视块模式,可以竖着选,很厉害,
- 可视模式下,可以使用移动命令,快速选中文本,
编辑命令
- u,undo,撤销上次的命令,可以不停的回撤,到最初的命令
- ctrl+r,就是恢复撤销的命令,
- 这两个非常的重要,保命的命令,
- 删除命令
- x 删除光标所在的字符,或者选中的字符,
- 5+x,这就是删除5个字符,
- d 需要和移动命令结合在一起用,删除选中的文本,
- dd 可以把光标所在的行删除
- D,可以删除至行尾,
- 删除命令可以结合移动命令使用,所以移动命令很重要,
- 复制和粘贴的命令
- y 复制,copy的英文,
- yy 复制一行,可以myy复制多行
- p粘贴 paste,,5+p,就是粘贴的内容复制5次,
- 注意1:删除命令,本质就是剪切, 可以再复制回来,比如dd,删除一行,p,就复制回来了,
- 注意2:如果在其他软件复制的内容,你在命令模式p粘贴是不行的,要i,进入编辑模式,点击右键粘贴就对了,按esc就可以返回命令格式了,
- 替换命令
- 如果修改一个单词,就可以使用替换命令,比较快,否则就是i进入编辑模式,然后修改,然后esc,才可以,
- r,替换当前字符,输入r,然后输入H,这样就会把当前字符替换成大H了,
- 如果是使用编辑模式呢,要输入i,然后删除,然后大写输入,然后esc退出编辑模式,
- R,替换当前行光标后的所有内容,
- 缩排和重复执行命令
- 缩排就是缩进,空格越少级别越高,
- >> 这是向右缩进
- << 这是向左移动代码
- . 重复上次的操作,
查找
- /str 查找str
- n查找下一个
- N查找上一个
- * 单词快速匹配,这是向上寻找,
- # 单词快速匹配,这是向下寻找,
####################################################
学到这里发现原来没有装vim,一直用的vi,我说为什么感觉不舒服,不要慌,今天就这一件事,就是搞定这个vim编辑器的问题,
vim是LINUX系统必备啊
安装:sudo apt-get install vim
配置:sudo vim /etc/vim/vimrc,在这个里面进行配置,已经配置好了,具体的后面用到了上网络查,set hlsearch,这是设置查询内容高亮显示,
#########################################################
查找和替换:
- :%s///g,这就是替换的格式,
- 全局替换
- :%s/旧文本/新文本/g,,这是全局替换,:%s/hello/world/g
- 可视区域替换
- 可视区域范围内的替换,这样可以控制开发的风险,
- 先选中,然后:s/旧文本/新文本/g,只是没有百分号,这就是可视区域替换
- 确认替换,
- 这是推荐使用的方式,
- :%s///gc,confirm确认的意思,
- (y/n/a/q/l/^E/^Y)?yes,no,all替换所有,q退出,只需要记住前四个
- 而且这个是每一个替换都要确认,
进入编辑命令的方式:
- 之前讲了一个i,
- o小写,在光标上方插入一个空行,O,
- O大写,在光标下方插入一个空行,
- I大写的i,可以在行首插入,
- a当前字符后添加文本,这个用的少,
- A,这个是在行尾进入编辑模式,这个用的多,
- 编辑和数字是可以连起来用的,
- 1,输入10,表示重复10次
- 2,输入i进入编辑模式
- 3,输入*,也就是重复的文字,
- 4,按下esc,返回命令模式,返回之后,vi就会把2,3两步重复10次,
- 所以在编辑之前不要随便输入数字,会重复的,
- 利用可视块,对多行代码添加注释,
- 1,移动到需要增加注释的第一行代码,按^来到行首
- 2,ctrl+v,进入可视块模式
- 3,输入大I进入编辑模式,并在行首插入,
- 4,输入#,也就是注释
- 5,按下esc回到命令模式,返回之后会在选中的每一行添加#号了,
分屏命令:
- 末行命令拓展,
- e.,在末行模式,输入e,会打开内置的文件浏览器,浏览当前目录下的文件,edit
- 找到文件,然后回车,就到了另一个文件了,注意,这个时候一定文件要保存,
- 在末行模式,e 文件名,直接到了另一个文件,不知道文件名,就是e. 点,
- 这样可以不用退出vi,就可以继续编辑另一个文件了,
- :n 文件名,这是新建一个文件,
- :w 文件名 ,这是把当前编辑的文件全部写入一个文件,当前编辑的文件不会切换,
- w,为什么要这么设计?可以阶段性的备份代码,
- 分屏命令练习
- sp 文件名,横向增加分屏
- :vsp 文件名,纵向分屏
- ctrl+w,这是快捷键
- r,互换窗口
- c 关闭窗口,