一文练就命令行高手: Linux命令大全

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下一种应用广泛的文本编辑软件,共有三种模式:命令模式、编辑模式、末行模式
模式间切换方法:

  1. 命令模式下,输入:后,进入末行模式
  2. 末行模式下,按esc慢退、按两次esc快退、或者删除所有命令,可以回到命令模式
  3. 命令模式下,按下ia等键,可以计入编辑模式
  4. 编辑模式下,按下esc,可以回到命令模式

详细使用说明见:vim传送门

5.2 下载器wget

使用方式:

wget url

5.3 压缩包工具tar

#压缩语法:
tar -zcvf 压缩后文件名 被压缩文件
#解压缩语法: 
tar -zxvf 压缩文件名 -C 解压后文件所在目录

6 总结

命令行是Linux人机互动的重要方式,上文总结了几乎所有常用的命令行使用方法,当然对于一些特殊任务的实现还是远远不够的,如果想深入的学习命令行可以去
阅读文档:Linux有大量的文档可供学习,可以通过man页面或使用“–help”选项访问命令行工具的文档

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值