[Tutorials] Linux小白的 命令行入门
Tofloor
poster avatar
Jack
deepin
2021-01-14 04:34
Author

为什么要用命令行?

 

早期的Linux并没有图形化界面,人们只能通过终端与计算机进行交互。现在操作系统的图形化已经非常成熟,但是对于某些追求稳定的领域,只有终端的Linux仍然在贡献自己的力量,比如:服务器领域。在日常生活中,有图形化无法完成的配置,这时候就需要命令行操作。

图1 虚拟机截图,这是CentOS

常见Linux命令

  • 处理目录

    • ls(list files): 列出目录及文件名
    • cd(change directory):切换目录
    • pwd(print work directory):显示目前的目录
    • mkdir(make directory):创建一个新的目录
    • rmdir(remove directory):删除一个空的目录
    • cp(copy file): 复制文件或目录
    • rm(remove): 移除文件或目录
    • mv(move file): 移动文件与目录,或修改文件与目录的名称
    • touch (touch):创建新的空文件
  • 磁盘管理

    • df(disk free):列出文件系统的整体磁盘使用量
    • du(disk usage):检查磁盘空间使用量
    • fdisk:用于磁盘分区
    • mount:用于挂载一个文件系统
    • umount::(unmount)用于卸除文件系统
  • 查看文件内容

    • cat  (concatenate)   由第一行开始显示内容,并将所有内容输出
    • tac   (cat倒序)  从最后一行倒序显示内容,并将所有内容输出
    • more    根据窗口大小,一页一页的现实文件内容
    • less    和more类似,但其优点可以往前翻页,而且进行可以搜索字符
    • head    只显示头几行
    • tail    只显示最后几行
    • nl      类似于cat -n,显示时输出行号
  • 文件目录与权限

    • chmod (change mode):用来变更文件或目录的权限
    • chown    (change owner):用来变更文件或目录的拥有者或所属群组
    • chgrp(change group):用来变更文件或目录的所属群组
  • 文件查找

    • which:查找并显示给定命令的绝对路径
    • whereis:查找二进制程序、代码等相关文件路径
    • locate:比 find 好用的文件查找工具
    • find:在指定目录下查找文件
    • grep(global(全局) regular expression(正则表达式) pattern(模式)):强大的文本搜索工具
  • 其他

    • ps(processes status)报告当前进程
    • kill:终止某个指定 PID 的服务进程
    • tar (Tape archive (磁带档案)) :Linux下的归档使用工具,用来打包和备份
    • vim 文本编辑器,具体使用可以查看:Linux vi/vim
    • ifconfig(interfaces config) :用来查看和配置网络设备。
    • tree: 用于以树状图列出目录的内容
    • sort:将文件(内容)进行排序并输出(通常与uniq命令通过管道 连接使用)
    • uniq:将文件(内容)去重

注:

以上多数命令均可以使用 图形化操作代替。如有命令行操作需求,查看本文如何使用命令 -- help 和 man 最后面的

权限、路径以及管道

文件权限

  • 访问权限控制组
    • user 包含对文件属主设定的权限
    • group 包含对文件属组设定的权限
    • others 包含对其他者设定的权限
    • all 表示所有用户
  • 可设定的权限(非全部)
    • 读权限(r):控制读取文件。(权限值4)
    • 写权限(w):控制写入文件。(权限值2)
    • 执行权限(x):控制将文件执行,比如脚本、应用程序等。(权限值1)
  • 权限设置说明
    • + 增加权限
    • -  撤销权限
    • = 设置权限

 

案例讲解:

图2 权限讲解,自截图

  • jack 用户名,系统登陆时候所选择的名字。
  • deepin 主机名,在局域网中主机的名字。
  • 红色方框:文件类型  d(directory)目录, -(regular file)普通文件,p (pipeline)管道
  • 黄色方框:用户权限(rwx表示可读可写可执行,如果用-代替,表示无权限,下同)
  • 蓝色方框:组权限
  • 绿色方框:全部用户权限

注:

可以使用 chmod 命令修改文件权限。

使用 whoami 命令查看当前用户。

用户权限

  • 管理员权限( 超级用户):可以操作系统的任何功能。root是唯一拥有修改根目录权限的用户。
  • 普通用户权限:拥有部分修改系统的权限,可以通过sudo 命令提升权限。
  • 执行root权限
    • su:(Swith user)
      • 普通用户 切换 超级用户 sudo -s
      • 超级用户 切换 普通用户:su 用户名
    • sudo + 要执行的命令

路径:

路径 指的是如何定位到某个文件,分为绝对路径和相对路径。

  • 绝对路径:从根目录算起的路径叫做绝对路径
    • /home/jack/Desktop
  • 相对路径:从当前目录算起的路径叫做相对路径
    • ./Desktop

可以使用 cd命令 切换路径

管道(Pipeline)

概念:将前一个命令的输出作为后一个命令的输入
形式:
命令1 | 命令2 | 命令3 | ......

示例:

图3 管道操作,自截图

ps aux | grep wps

命令解析:

在当前终端里显示所有进程(作为输入) --> 在左边的所有结果中搜索所有包含 wps 的进程.

如何使用命令 -- help 和 man

  • man (MANual pages): 查看Linux中的指令帮助,
    • 使用方式:man 命令
  • help:查看Linux中的指令帮助
    • 使用方式:命令 --help
  • 使用详解:(以find命令为例)
    • 输入 man find,显示:
    • 图4 详细命令
    • find的man说明书有 1474 行! 并且是全英文,不过内容真的很全! 这时候就得上网址查了。如下图:
    • 图5 命令解释,网站截图

是不是很清晰,并且讲解完啦后面还有用例可以参考,对于普通使用绝对够用!

注:网络上关于命令的教程很多,能够找到自己可以使用的就行,如果真的找不到命令的具体用法,man命令 绝对可以满足你!

大杀器:git 版本管理

  • 什么是git?
    • git (读音为/gɪt/)由 Linux之父 Linus为了帮助管理 Linux 内核开发而创造的一个开放源码的版本控制工具。
    • 通俗的讲,可以查看保存到仓库中的文件的历史版本。因为可以将本地仓库推送到远程仓库,所以成为了最受欢迎的分布式开发方案。
  • 工作区、暂存区和仓库区

图6 git架构,图源网络

  • 常用命令:
    • 安装git : sudo apt install git
    • 初始化本地仓库:git init
    • 将文件提交到暂存区:git add 文件路径
    • 将暂存区文件提交到仓库区:git commit -m "版本描述"
    • 查看文件状态:git status
    • 查看历史版本:git log
    • 回退版本:git reset --hard 版本号
    • 撤销工作区代码:git checkout 文件名
    • 推送到服务器仓库:git push
    • 从服务器仓库拉取代码:git pull
    • 创建分支:git branch
    • 切换分支:git checkout 分支名

 

注:可以在这个网站练习git命令,图形化显示,非常容易理解。

 

 

彩蛋:有趣的Linux命令

  • screenfetch 一个能够在截屏中显示系统/主题信息的命令行脚本。
  • sl:一个疾驶而过的火车~~~
  • cmatrix:超酷炫的代码

可以通过这个链接获取以上命令:12 个非常有趣的 Linux 命令! - 芋道源码的文章 - 知乎

 

拓展资料:

  1. 在线学习git命令
  2. Linux中 du (详解)、 df (详解)和 free(详解)以及它们的区别
  3. 查看文件命令 详解
  4. Linux vi/vim
  5. Linux简介及最常用命令
  6. Linux权限控制的基本原理
  7. 进程重定向和管道指令--拉勾教育
  8. linux命令大全 网站
  9. git简介 --廖雪峰的网站
  10. 软连接和硬连接的概念和区别(ln命令)

 

参考资料:

  1. GiT --百度百科
  2. Linux 文件与目录管理 -- 菜鸟教程
  3. Linux 常用命令全拼
  4. linux中管道和重定向命令
  5. 用户和权限划分指令--拉勾教育
(Expired, see the results below)
16 users voted
1.今天的内容看懂了吗?(6 votes)
38 %
2.大部分看懂了(8 votes)
50 %
3.大部分没看懂(2 votes)
12 %
4.我有没看懂的地方,写在评论区了(0 votes)
0 %
Reply Favorite View the author
All Replies
Jack
deepin
2021-01-14 04:36
#1

没有用过投票,投票的第一个选项,是题目,大家不要选。

Reply View the author
Jack
deepin
2021-01-14 04:38
#2

今天8点的时候,帖子因为网站无法登录,所以没有发。

我这是下了班,到家发的。明天早晨8点接着更新。

Reply View the author
Jack
deepin
2021-01-14 06:14
#3

@ element,哈喽,看一下这一篇帖子像不像课件啊?

Reply View the author
心平气和
deepin
2021-01-14 06:58
#4

其实缺的从来不是教程,缺的是对linux 的热爱。每个人的需求不同而已。

Reply View the author
bluesky_
deepin
2021-01-14 07:03
#5

Reply View the author
Jack
deepin
2021-01-14 07:45
#6
心平气和

其实缺的从来不是教程,缺的是对linux 的热爱。每个人的需求不同而已。

这位老兄说到点子上了,普通人很少对 命令行 感兴趣的,

不过能静下心来,就能发现命令行的无穷乐趣。

Reply View the author
sgb76
deepin
2021-01-14 16:51
#7

收藏了

Reply View the author
Jack
deepin
2021-01-14 17:08
#8
sgb76

收藏了

感谢认可。

Reply View the author
element
deepin
2021-01-14 17:19
#9
Jack

@ element,哈喽,看一下这一篇帖子像不像课件啊?

你这个可以到时候弄一个汇总贴。从0到1.。。。

期待长期更新

Reply View the author
Jack
deepin
2021-01-14 17:30
#10
element

你这个可以到时候弄一个汇总贴。从0到1.。。。

期待长期更新

这是我的文章汇总链接:https://bbs.deepin.org/post/209755

谢谢

Reply View the author