目录
命令提示符:[当前登录的用户名@主机名:当前目录(~表示home目录,是用户存放数据的目录)]#(管理员)/$(普通用户)
,root 用户的 home 目录就是 /root, 是以 root 身份登录后,默认所在的目录。
Windows图形化界面的优势是适合小白快速上手电脑
Linux命令行操作的优势:
1.带宽占用低
2.系统资源的占用低
3.命令行适合通过脚本实现批量的重复操作
在Xshell里,复制是 Ctrl+Insert ,粘贴是Shift+Insert ,取消当前行输入是Ctrl+C ,清屏是Ctrl+L
man 是帮助指令,可以查看 Linux 中的指令帮助,配置文件帮助和编程帮助等信息。
常用命令:
(Linux1:40:00开始)
Linux的命令格式: 命令 -命令选项 命令参数
ls
语法:ls [选项] [目录或文件]
ls 后面跟上一个具体的目录,就可以看到指定目录的内容
/ 表示linux的根目录,对应于Windows中的此电脑,是整个目录中最顶层的节点,换句话说,云服务器上任何一个文件,都是从属于根目录


ll 等价于 ls -l ,可以说是其缩写形式 效果如下
cd
语法: cd 切换的目录路径 (有两种写法:绝对路径,相对路径)
cd 切换目录(change directory),相当于window双击文件某个目录
绝对路径: / 开头
相对路径:./ ../ 开头
如图输入 cd / 就切换到了根目录,在输入 cd /etc 就切换到了 etc 目录,此时再按 ll 展示的内容就与上面的 ll 的内容不一样了,因为这是 etc 里的文件
随着 cd 的进行,当前所在的目录也会随之发生变化
cd 目录名 进入这一个目录
cd .. 返回上一级目录
输入目录是 可以用 tab 键补全目录
cd 只写cd,后面不加任何选项,就是回到home目录
如图,从根目录,回到了home目录
pwd
语法:pwd
pwd ,作用是防止程序员迷路的。有时候cd了太多次,不知道现在处于哪个路径中了,此时就可以使用pwd查看当前的完整路径
就好比windows文件夹中,点一下文件框,就能知道当前目录的完整路径
我们从home目录进入到根目录后,在进入etc,在进入yum,在进入vars,此时pwd一下,就能获得当前的完整路径
touch
语法:touch 文件名
touch 创建一个空的文件
先cd一下,直接回到home目录,然后touch了一个文件,此时可以看到没有任何反应(比如报错)就说明成功了,然后 ll 一下就可以找到所创建的文件了
cat
语法:cat 文件名
cat,查看(读取)文件内容 ,一般用于简单短小的文件读取,如果文件很大就不太适合了
此时没有任何输出,说明这是一个空的文件
我们找一个不空的文件来查看一下,使用绝对路径查看yum.conf,就可以看到它的内容了
man
语法:man 命令
man,可以查看该命令具体的使用方式。 查看完后按 q 退出查看
man ls 查看ls命令的使用方式,通过键盘的 ↑ ↓ 按键实现上下阅读,按q退出命令使用方法查看
echo
echo,写入内容到文件中
如果单纯只写echo则是一个回显命令,直接 echo 内容 ,控制台上就会直接展示该内容
echo 内容 > 文件名 就会把内容写入到该文件中,如图,没有任何反应就说明写入成功了
> 其实是Linux的重定向,比如在此处的作用就是把本来应该显示在控制台的内容
重定向到后面指定的文件中
此时再 cat 读取该文件,就能获取到内容了
注意,每次进行 echo 内容 > 文件名 ,都会清空原有的内容,再写入新的内容,如图,原来的内容已被清空
因此, echo 和 cat 只适合对 简单的文件进行操作
如果文件复杂,或者编辑的需求复杂,此时就不太合适了
但如果,我们需要使用脚本批量处理很多操作的时候,echo 和 cat 就很有帮助了
vim
vim,针对复杂的文件进行复杂的编辑,vim 是Linux上自带的文本编辑器,相当于Windows的记事本
这里简单介绍三个最基本的用法:
1.打开文件
vim 文件名/文件路径
2.编辑文件
vi\vim 是 Linux 最经典的文本编辑器,vim 是 vi 的加强版,兼容 vi 的所有指令,它为了为了追求编辑效率,引入了大量的快捷键,默认情况下,键盘上的按键都是按照快捷键的方式来进行作用的,此时,键盘按键都被赋予了特殊的含义,不再是单纯的输入文本了。
所以此时 vim 文件名/文件路径 后的界面是普通模式(normal mode),此时键盘所有的按键都是快捷键
此时再按 i 进入插入模式(insert mode),此时键盘才是我们日常所使用的的模样,可以输入文本
此时左下角出现INSERT 就是插入模式了
要注意的是,在Linux的命令行中,如果要复制粘贴,不是使用ctrl c 和 Ctrl v
复制是 Ctrl+Insert ,粘贴是Shift+Insert
复制了三个小羊爱放屁
3.保存退出
①先按esc,回到普通模式
回到普通模式按 :就会发现光标来到了最下面,此时vim处在命令模式,表示接下来的
操作就是vim命令
②输入 :wq 再按回车
w 保存 q 退出 wq 先保存再退出
输入wq回车后,就回到了熟悉的Linux命令行界面
此时可以发现,我们vim进去一顿操作后,好像没什么反应,这就说明vim操作成功了,没有error
在cat查看,就能看到我们vim之后的结果了
想了解更多的vim操作可以去研究vimtutor(vim自带的教程),练熟悉了就算是入门vim操作了
退出: :q!
mkdir
mkdir,创建目录(make directory)
先 ll ,可以看到只有一个文件, mkdir Chen11 后再次 ll 就出现了两个文件了,蓝色表示是个目录
cd 进入Chen11 后,再 mkdir 出三个文件(11,22,33),然后再 ll 查看文件列表
就能得到如图所示的结果
rm
rm,删除文件或者目录
在Chen11目录里touch一个file44,通过 ll 可以看到目前有四个文件,rm file44 系统会问你是否确认删除,直接按回车表示取消删除 如图所示 ,按y再回车则表示确认删除,此时再 ll 就能发现,file44 已结被删除了
rm -r 文件名/文件路径 -r 是递归目录,表示删除目录的时候,需要同时删除目录中所有的文件和 子目录通过这种方法,系统会挨个文件询问你是否确定删除
rm -rf 文件名/文件路径 此处的 f 表示“强制删除”,不需要再询问了 (因此这个操作十分危险!)
Linux是没有回收站的概念的,因此删了就真的没了
rm -rf / 这个操作更狠, / 是整个文件系统中最顶级的节点,-rf 就是递归此节点下的所有 文件然后再删除,这就不是删除单个文件的问题了,而是把整个系统都给删了,比
删库跑路(drop database)还狠
更可怕的是,每个程序员都知道这个命令,但总是会不小心敲错出这个命令
cp
copy,复制文件或目录
复制文件
语法: cp 文件1 文件2 把文件1的内容复制到文件2里
如图,在Chen11目录下有一个 test1 文本,cat 后可以看到内容是 复制文本111
touch 一个 test2 ,cat test2 可以看到没有任何内容,cp test1 test2 后再次 cat test2 后
可以看到有内容了
复制目录及其目录下的所有内容
语法: cp -r 目录1 目录2 (-r 表示递归)
但是cp操作可能存在危险,假如一个目录已经存在了,此时如果程序员不知道这个目录,cp这个目录后,原先目录的内容就会被 覆盖 !!
因此要养成及时备份的习惯
mv
语法: mv 文件/目录 目录
move,移动文件位置,可以在移动的时候给目标文件设置名字(一边移动,一边改名),如果移动的目标目录和目标文件本来就在同一个目录里,这个时候就相当于单纯的改文件名字了
Linux里的文件重命名就是通过mv来完成的
mv 操作 也可以模拟Linux系统的 “回收站” 功能,创建一个文件夹,把所有想删除的文件都 mv 到这个文件夹里,就相当于删除进回收站了,而不是直接 rm 掉这个文件(rm 操作很危险 !!)
grep
grep,字符串查询,快速搜索某个文件中,是否包含某个特定的字符串
如图,查找111文件里是否有 “ 111 ” 的字符串,成功查询到了该字符串并标红
grep -n “ 字符串 ” 文件名 加上 -n 就会告诉你是在该文本的第几行出现
grep “字符串” * -r
如图在java107的目录里查询字符串“ccc”,就能查询到很多文件
ps
查看进程,process show
ps aux 是查看当前操作系统上的所有进程
ps aux | grep mysql | 称之为管道,用来连接两个命令,将前一个命令的输出作为后一个命令 的输入。将左边 ps aux 输出的所有内容都输入到这条管道中,
然后再通过右边的 grep mysql 查询出属于mysql 的进程
netstat
netstat,查询网络状态
netstat -anp
也可以通过管道查看特定的端口,比如想查询mysql服务器的网络状态
netstat -anp | grep mysql
Linux常问的问题:
1.用过哪些命令
2.Linux给定进程名,如何查询对应进程的pid ps aux | grep 对应的进程名
3.Linux给定进程名,如何查询对应进程绑定的端口号 netstat -anp | grep 对应的进程名