文章目录
- 1 前言
- 2 Linux文件系统简介
- 3 文件管理相关命令
- 3.1 路径切换: cd命令
- 3.2 查看文件列表: ls命令
- 3.3 新建文件/文件夹: mkdir命令
- 3.4 删除文件: rm命令
- 3.5 拷贝复制: cp命令
- 3.6 移动move: mv命令
- 3.7 文件查找: find命令
- 3.8 更改文件权限: chmod命令
- 4 文本内容操作命令
- 4.1 查看文本内容: cat命令
- 4.2 文本内容阅读: less命令
- 4.3 展示文本后n行信息: tail命令
- 4.4 文本内容查找: grep命令
- 5 常用系统命令
- 5.1 查看ip地址: ip命令
- 5.2 网络测试: ping命令
- 5.3 注销/关机/重启/清屏: logout/shutdown now/reboot/clear命令
- 5.4 查看进程: ps命令
- 5.5 结束进程: kill命令
- 5 常用软件操作命令
- 5.1 vim文本编辑器
- 5.2 下载器wget
- 5.3 压缩包工具tar
- 6 总结
1 前言
对于各位程序猿同行和一些电脑老手来说,Linux系统常用且不可忽视的操作系统。相比Windows良好的UI与外接设备的交互,Linux系统在使用上明显寡淡了许多,很多操作都需要通过命令行来实现。
本文总结梳理了Linux中的常用命令,Expect:通过一篇博客为各位实现从Linux命令小白到命令行高手的蜕变,还在等什么,开学!
注意:所有命令都区分大小写
2 Linux文件系统简介
不同于Windows系统,Linux系统是以操作行的形式进行人机交互。在日常的使用中,大部分的系统交互发生在文件上(增、删、改、查)。而Linux系统又是一个一切皆文件的系统,因此了解linux系统的文件目录架构是了解linux系统进而使用好Linux命令的前提。
下图是Linux的文件架构:
3 文件管理相关命令
3.1 路径切换: cd命令
cd命令是Linux系统里的路径切换命令(Windows中也同样适用),通过使用cd命令,可以实现访问系统中任意路径。
通用命令格式:
cd [选项]
选项:
path
: 进入path路径下,path是具体的路径,可以是绝对路径也可以是相对路径/
:表示进入根目录,可输入ls查看根目录内容.
:单纯表示当前目录,没有进行任何操作./
:对当前目录进行操作,如当前目录由一个名称叫test的文件夹,则输入指令cd ./test即进入到了test文件夹..
:退回到上一级目录../..
:退回上两级目录~
:进入的是当前用户默认的目录-
:返回到进入此目录之前的目录位置
3.2 查看文件列表: ls命令
ls
命令是Linux系统的查看文件列表命令,主要用来查看当前路径下的文件,配合前面提到的cd
命令,便可实现定位Linux系统下的每一个文件。
通用命令格式为:
ls [选项] [目标文件夹]
#当命令中没有[目标文件夹]时默认ls的操作针对当前所在的目录
选项:
空
:查看当前目录下的文件列表(命令只有ls)-a
:显示指定路径中的所有文件,包括隐藏文件-l
:显示文件的详细信息,包括文件类型,权限,所属用户,所属用户组,文件大小,上一次修改时间等-h
: 文件大小以KBytes为单位显示-S
:按照文件大小顺序显示,默认从大到小;若要从小到大,可使用-Sr
3.3 新建文件/文件夹: mkdir命令
mkdir
是Linux系统用来创建文件/文件夹的命令,要求创建文件夹(目录)的用户在当前目录中具有写权限,并且指定的文件夹名不能是当前目录中已有的文件夹名。
通用命令格式为:
mkdir 文件夹名称
#表示在当前目录下创建一个空文件夹
3.4 删除文件: rm命令
rm
是Linux中用来删除文件/文件夹的命令,具体使用方式我在之前创作的博客中有单独的介绍,点击:传送门。
3.5 拷贝复制: cp命令
通用命令格式为:
cp [选项] 原文件 新文件
选项:
-i
:若有同名文件,会询问是否覆盖(如果没这个参数,会不提示,直接覆盖)-r
:复制文件夹时连同子文件(夹)一起复制,如果是对文件夹进行操作,一定要带这个参数
3.6 移动move: mv命令
mv
是Linux系统的移动命令,即剪切操作,源文件会被删除。
通用命令格式为:
# 移动源文件到目标文件夹中
mv [选项] 文件 文件夹
# 修改文件A的名字为文件B
mv [选项] 文件A 文件B
选项:
-i
:同cp的-i参数,若覆盖会询问
3.7 文件查找: find命令
find
命令用来查找系统内的某一文件
通用命令格式为:
find 操作目录 [选项] 文件名称或类型
选项:
-name
:根据文件名查找-mtime n
:n为数字,表示找出在n天前的当天被更改过的文件(0表示今天)-mtime +n
:查找在n天前(不包括n天当天)被改过的文件-mtime -n
:查找在n天之内(包括n天当天)被改过的文件-size +/-
:查找比XXsize大/小的文件
样例:
## find用法
find /home -name myFile # 在/home目录下查找文件名为myFile的文件(注:myFile也可以搭配正则表达式使用)
find /home -name *.txt # 在/home目录下查找以txt为后缀的文件
find /home -mtime 0 # 在/home目录下查找今天内被改过的文件
find /home -mtime +1 # 在/home目录下查找昨天之前(不包括昨天)被改过的文件
find /home -mtime -1 # 在/home目录下查找昨天至今(即昨天和今天)被改过的文件
find /home -size +100M # 在/home目录下查找大于100MB的文件,注意c表示byte
find . -name "*.sv" # 在当前目录及子目录下查找所有后缀为.sv的文件/文件夹
find . -name "*.svn" | xargs rm (可加-rf) # 在当前目录及子目录下查找所有后缀为.svn的文件/文件夹,并删除
3.8 更改文件权限: chmod命令
在Linux中,文件权限有读Read,写Write,执行Execute。其中操作文件的用三种类型的用户:当前用户user(这里也是文件的所有者),组group,其他用户other。
通用命令格式为:
chomd [选项] 要操作的文件目录
选项:
u
:权限对象为当前用户(这里是所有者)o
:权限对象为其他用户r
:读权限w
:写权限e
:执行权限g
:权限对象为所有者和组+
:u/g/o与r/w/e组合使用,加入-
:删除=
:设置 4:仅读 5:仅读+执行 6:仅读+写 7:读+写+执行
样例:
chmod 754 myDir/ # 当前用户(所有者)可读+写+执行,组group可读+执行,其他用户可读
chmod g+w myDir/ # 为组group添加写write权限
chmod -R 777 myDir/ # 给myDir/及其所有子目录添加所有权限
ls -n # 可以查看当前目录下各子目录的文件权限
4 文本内容操作命令
4.1 查看文本内容: cat命令
用来查看文件中的具体内容。
通用命令格式:
cat 文件名
4.2 文本内容阅读: less命令
不同于cat
命令,less
命令以分页的方式浏览文件信息(适合查看大文档),进入浏览模式。
通用命令格式:
less 文件名
# 浏览模式快捷键
↑ #上一行
↓ #下一行
G #最后一页
g #第一页
空格 #下一页
/关键词 #搜索关键词
# 退出浏览模式,回到Linux命令行模式
q #退出
4.3 展示文本后n行信息: tail命令
tail
命令可以实时滚动显示文件的最后10行信息(默认10行),这项命令可以用来查看当前运行程序的日志log文件的最新更新情况。
通用命令格式:
tail -f 文件名
样例:
# 显示文件的最后20行信息
tail -n 20 文件名
tail -n -20 文件名
# 显示文件信息从第20行至文件末尾
tail -n +20 文件名
4.4 文本内容查找: grep命令
grep
命令可以用来查找某一关键词等信息在文本中所在的位置。
通用命令格式为:
grep [选项] 查找关键词 要查找的目录范围
选项:
-n
: 显示查找结果所在行号-R
: 递归查找目录下的所有文件
5 常用系统命令
5.1 查看ip地址: ip命令
常用ip
命令:
ip a #查看所有 IP 地址(以网卡分组)。
ip r #查看路由。
ip l set xxx up #打开xxx网卡
ip n #查看直连的主机
注:这部分的命令较多,想要详细了解的小伙伴们可以点击传送门进行深入学习。
5.2 网络测试: ping命令
ping
命令用来测试本地与服务器的网络连接,最简单的使用方式就是:
ping 目标机器的ip #用来测试本机是否能与该ip取得联系
ping命令也是一类命令,功能比较繁复,传送门奉上,有需要的小伙伴自行学习。
5.3 注销/关机/重启/清屏: logout/shutdown now/reboot/clear命令
# 注销logout
# 关机shutdown now
# 重启reboot
# 清屏clear
5.4 查看进程: ps命令
通用命令格式:
ps [选项]
选项:
-A
:显示所有进程-a
:不与terminal有关的所有进程-u
:有效用户的相关进程-x
:一般与-a一起用,列出完整的进程信息-l
:long,详细列出PID的信息
5.5 结束进程: kill命令
kill
命令可以结束进程,在需要强制关闭一些程序(尤其是系统级的)是非常有用的一种方法。
它的通用命令格式为:
kill [选项] 进程号
选项:
-SIGHUP
:启动被终止的进程-SIGINT
:相当于ctrl+c,中断进程-SIGKILL
:强制中断进程-SIGTERM
:以正常的结束进程方式来终止进程-SIGSTOP
:相当于ctrl+z,暂停进程
关于进程号的查找和确定,可以参考我之前的一篇博客:传送门,在文章的后半部分讲解了如何找寻系统中正在运行程序的进程号。
5 常用软件操作命令
5.1 vim文本编辑器
vim编辑器是linux下一种应用广泛的文本编辑软件,共有三种模式:命令模式、编辑模式、末行模式
模式间切换方法:
- 命令模式下,输入
:
后,进入末行模式 - 末行模式下,按
esc
慢退、按两次esc
快退、或者删除所有命令,可以回到命令模式 - 命令模式下,按下
i
、a
等键,可以计入编辑模式 - 编辑模式下,按下
esc
,可以回到命令模式
详细使用说明见:vim传送门。
5.2 下载器wget
使用方式:
wget url
5.3 压缩包工具tar
#压缩语法:
tar -zcvf 压缩后文件名 被压缩文件
#解压缩语法:
tar -zxvf 压缩文件名 -C 解压后文件所在目录
6 总结
命令行是Linux人机互动的重要方式,上文总结了几乎所有常用的命令行使用方法,当然对于一些特殊任务的实现还是远远不够的,如果想深入的学习命令行可以去
阅读文档:Linux有大量的文档可供学习,可以通过man页面或使用“–help”选项访问命令行工具的文档。