Linux是一个与 Windows "并列" 的操作系统。
下面介绍一些常用的Linux命令。
注:本文所有演示内容是在xshell上进行的。
1.ls
list ,列出当前目录下有哪些内容(文件/目录)
语法: ls [选项] [目录或文件]
直接输入ls ,是查看当前目录的情况;输入 ls /是查看 /(根目录,相当于windows的此电脑)这个目录下的情况。在输入Linux命令时,一定要确保命令与后面的参数之间至少带有一个空格!
1) ls
2) ls /
这些目录都是Linux系统自带的文件和目录,不能随便删除
3) ls -l
当我们查看当前目录下的内容时,输入ls命令看上去不太直观,就可以使用ls -l命令,它可以用列表的形式显示出目录/文件,更加方便我们查看
ls -l命令也可以简写成 ll,使用 效果是完全一样的
1表示该文件的权限(可读 可写 可执行),权限字符的第一个字母表示了该文件的类型:
- 普通文件(白色)
d 文件目录(文件夹) (蓝色)
l 链接文件(快捷方式) (绿色)
2表示当前文件的拥有者是谁,比如上述图片上的拥有者有ty和root;
3表示文件的大小(只对普通文件有意义)
4表示文件/目录修改的时间
在使用Linux的时候,按ctrl+l可以达到清屏的效果,并且不会清除之前的操作,向上翻页时仍然可以看到之前的操作。
2.cd
change directory ,改变工作目录,将当前工作目录改变到指定的目录下
语法: cd 目录名
1) cd /
转换到根目录下
也可以转换到其他目录下,比如转换到test目录下
cd test
2)cd ..
返回到上级目录
(111的上级目录是test)
在使用cd等命令,需要加上路径的时候,可以使用tab键来自动补全路径,但当前输入的内容必须是唯一的选项,有多个匹配的目录/文件名时,按tab键就不能直接补全,但是按两下tab键可以列出所有可以补全的选项。
如果命令或者目录敲错了, 可以使用 ctrl + c 取消当前的命令。在xhsell中,ctrl + insert是复制,shift + insert是粘贴。
3.pwd
查看当前所处路径的绝对路径
在Linux的命令中,但凡涉及到目录相关的操作,都可以支持绝对路径和相对路径。
在Linux上,绝对路径是以/开头的;相对路径是以.或者..开头的(有时候.可以省略)。
4.touch
创建空的文件
语法:touch 文件名
在创建tay.txt文件成功后,并没有创建成功的提示消息,这在Linux中是常有的现象,但是如果操作失败的话有失败的提示信息。在linux中,"没有消息就是好消息"。
5.cat
查看文件内容(把文件内容打印到控制台上)
语法:cat 文件名
使用cat -n 可以对输出的所有行编号
6.echo
打印内容到控制台上
echo也可以将内容写入文件中,但是只能写一些简单的字符串,如果需要写的内容很多的话就不是很方便。
但是这种写法会覆盖掉文件之前的内容,如果想要达到追加效果的话,要使用>>
7.vim
Linux自带的文本编辑器,使用vim可以更灵活的对文件进行编辑。vim的用法有很多,这里只介绍vim最最基础的操作。
1)打开文件
语法:vim 文件名
2)编辑内容
启动vim之后,默认处于normal mode(普通模式),这是并不能编辑文件内容,想要输入文本,就需要进入insert mode(插入模式)。进入插入模式的方法有很多种,其中最简单的就是在键盘上敲击i,就会进入插入模式。如果页面末尾变成下图就说明已经进入插入模式了。
3)保存退出
一般我们保存文章是用的ctrl + s,但是在xshell中,ctrl + s是冻结屏幕的意思(有时候服务器打印的日志内容比较多,滚动太快看不清,就可以冻结屏幕,按ctrl + q就能解除冻结)。那在xshell中怎样才能保存内容并退出呢?
首先按esc回到普通模式,再按:进入到命令模式,再输入wq(w:write保存, q:quit 退出),再按一下回车键就可以了。
8.mkdir
make directory 创建目录
语法:mkdir 目录名
如果想要创建多级目录,可以使用 mkdir -p
可以看到moon目录下已经有light目录了
9.rm
remove 删除目录/文件
语法: rm 文件名
如果想要删除目录,不仅删除目录本身,还要删除目录包含的其他目录和文件,就要使用 rm -r 来删除, -r表示"递归"
有的系统上删除的时候会提示是否要真的删除,如果是删除目录的话,每个目录都会提示你进行确认,就会比较麻烦,那么就可以使用rm -rf 的方式直接删除, f 表示"强制删除",不需要进行确认。
10.mv
move 移动文件/目录(相当于剪切+粘贴)
语法:mv 要移动的源 移动的目的地
mv也可以对文件/目录进行重命名
mv操作,无论移动的是文件还是目录,时间复杂度都是O(1)。
11.cp
copy 复制文件/目录(相当于复制+粘贴)
语法:cp 要复制的源 复制的目的地
cp可以拷贝普通文件也可以拷贝目录.拷贝目录的时候和 rm 类似,要加上 -r 选项,来表示要递归拷贝目录里的内容
上面介绍的命令都是围绕目录和文件来展开的,下面介绍几个查找命令
12.grep
字符串匹配/查找
如果想要查看某个文件中是否包含某个关键字,这个关键字在第几行,都可以使用grep(-n 选项,显示行号)来查看。
grep不仅可以在文件中查找,还可以搭配其他的命令,完成更复杂的查找。
13.ps
process show 展示进程 显示出当前系统上都有哪些进程
只能看到当前会话(终端)对应的进程,这是很不完全的。
要使用 ps aux来查看当前设备上的所有进程
很多时候ps都会搭配grep来使用,比如,查看mysql进程的进程pid
这里使用的 | 叫做管道,可以把前一个命令的输出作为后一个命令的输入。
14.netstat
查看网络信息
直接使用netstat查看的网络信息不是很全,一般使用netstat -anp来查看。
netstat可以用查看某个端口是否被某个进程使用,也可以查询某个进程使用了哪个端口。使用方法和ps类似,小伙伴们可以自行尝试一下~
15.man
Linux的命令有很多,而且每个命令还有不同的参数选项,这很难让人都记住,所以Linux上提供了man这个命令,可以查看命令手册。
语法: man 命令
比如查看cp命令的的使用手册
好啦,这就是这次分享的全部内容了,有问题的小伙伴可与留言评论,我们一起共勉~