Linux笔记1

对于初学者来说,怎样选择Linux教程是挺困惑的事。视频教程大多只是讲片面的知识点,比较零散,大部头书籍很难啃,虽然书籍会将知识分类,可庞杂的知识体系往往令人望而生畏,遇到一个坎时很难跨过去。

尤为重要的是,初学者很难分辨哪些知识是常用的,哪些是只需要了解即可。而对于教程编写者来说,也很难做这样的区分,同样的知识点,对于不同应用人群,重要程度是不一样的。

我作为一个Linux新手,深知在学习过程中遇到的各种坑。新手总是希望能有一本大宝典,囊括了所有的技能,只需要跟着学,就能成为高手。

可,这种想法是不现实的。每一个高手的成长路径都不尽相同,高手并不是通过学习某些书籍而练成的,而是在不断解决问题中,累积经验,逐步构建了自己的知识体系。

因此,最好的教材,肯定是自己整理而成的。这也是我写《Linux笔记》系列的出发点。这个系列将持续更新,记录我在使用Linux过程中的各种问题。

单纯记录问题会显得很零散,故而借助《The Linux Command Line》作为知识主线,便于进行归档,所列举的知识点来源有多处,有些是自己实践过程中总结所得。

Linux

命令行概念

图形用户界面让简单的任务更容易完成, 而命令行界面使完成复杂的任务成为可能

一说到命令行,我们真正指的是 shell。shell 就是一个程序,它接受从键盘输入的命令, 然后把命令传递给操作系统去执行

快速切换目录

快捷键

运行结果

cd

更改工作目录到你的家目录。

cd -

更改工作目录到先前的工作目录。

cd ~user_name

更改工作目录到用户家目录。例如, cd ~bob 会更改工作目录到用户“bob”的家目录。

文件命名规则

  • 以 “.” 字符开头的文件名是隐藏文件
  • 文件名和命令名是大小写敏感的。文件名 “File1” 和 “file1” 是指两个不同的文件名
  • Linux 没有“文件扩展名”的概念,不像其它一些系统。可以用你喜欢的任何名字来给文件起名
  • 虽然 Linux 支持长文件名,文件名可能包含空格,标点符号,但标点符号仅限使用 “.”,“-”,下划线。最重要的是,不要在文件名中使用空格。如果你想表示词与 词间的空格,用下划线代替

基础命令

ls — 列出目录内容 file — 确定文件类型 less — 浏览文件内容

ls 命令选项

选项

长选项

描述

-a

--all

列出所有文件,甚至包括文件名以圆点开头的默认会被隐藏的隐藏文件。

-d

--directory

把这个选项与 -l 选项结合使用,可以看到所指定目录的详细信息,而不是目录中的内容。

-F

--classify

这个选项会在每个所列出的名字后面加上一个指示符。例如,如果名字是 目录名,则会加上一个'/'字符。

-h

--human-readable

当以长格式列出时,以人们可读的格式,而不是以字节数来显示文件的大小。

-l

以长格式显示结果。

-r

--reverse

以相反的顺序来显示结果。通常,ls 命令的输出结果按照字母升序排列。

-S

命令输出结果按照文件大小来排序。

-t

按照修改时间来排序。

分析长格式列表各字段含义

-rw-r--r-- 1 root root  358374 2007-04-03 11:05 ubuntu Sax.ogg

字段

含义

-rw-r--r--

对于文件的访问权限。第一个字符指明文件类型。其后三个字符是文件所有者的 访问权限

1

文件的硬链接数目

root

文件属主的用户名

root

文件所属用户组的名字

32059

以字节数表示的文件大小

2007-04-03 11:05

上次修改文件的时间和日期

oo-cd-cover.odf

文件名

file 确定文件类型

file filename

senlong@LAPTOP-JRJD2V5P:~$ file /etc/passwd
/etc/passwd: ASCII text

less 浏览文件内容

less filename

senlong@LAPTOP-JRJD2V5P:~$ less /etc/passwd

less 选项

命令

行为

Page UP or b

向上翻滚一页

Page Down or space

向下翻滚一页

UP Arrow

向上翻滚一行

Down Arrow

向下翻滚一行

G

移动到最后一行

1G or g

移动到开头一行

/charaters

向前查找指定的字符串

n

向前查找下一个出现的字符串,这个字符串是之前所指定查找的

h

显示帮助屏幕

q

退出 less 程序

Linux目录规范

  • / 根目录,万物起源。
  • /bin 包含系统启动和运行所必须的二进制程序。
  • /boot 包含 Linux 内核,最初的 RMA 磁盘映像(系统启动时,由驱动程序所需),和 启动加载程序。有趣的文件: /boot/grub/grub.conf or menu.lst, 被用来配置启动加载程序。 /boot/vmlinuz,Linux 内核。
  • /dev 这是一个包含设备结点的特殊目录。“一切都是文件”,也使用于设备。 在这个目录里,内核维护着它支持的设备。
  • /etc 这个目录包含所有系统层面的配置文件。它也包含一系列的 shell 脚本, 在系统启动时,这些脚本会运行每个系统服务。这个目录中的任何文件应该是可读的文本文件。有意思的文件:虽然/etc 目录中的任何文件都有趣,但这里只列出了一些我一直喜欢的文件: /etc/crontab, 定义自动运行的任务。 /etc/fstab,包含存储设备的列表,以及与他们相关的挂载点。/etc/passwd,包含用户帐号列表。
  • /home 在通常的配置环境下,系统会在/home 下,给每个用户分配一个目录。普通只能 在他们自己的目录下创建文件。这个限制保护系统免受错误的用户活动破坏。
  • /lib 包含核心系统程序所需的库文件。这些文件与 Windows 中的动态链接库相似。
  • /lost+found 每个使用 Linux 文件系统的格式化分区或设备,例如 ext3文件系统, 都会有这个目录。当部分恢复一个损坏的文件系统时,会用到这个目录。除非文件系统 真正的损坏了,那么这个目录会是个空目录。
  • /media 在现在的 Linux 系统中,/media 目录会包含可移除媒体设备的挂载点, 例如 USB 驱动器,CD-ROMs 等等。这些设备连接到计算机之后,会自动地挂载到这个目录结点下。
  • /mnt 在早些的 Linux 系统中,/mnt 目录包含可移除设备的挂载点。
  • /opt 这个/opt 目录被用来安装“可选的”软件。这个主要用来存储可能 安装在系统中的商业软件产品。
  • /proc 这个/proc 目录很特殊。从存储在硬盘上的文件的意义上说,它不是真正的文件系统。 反而,它是一个由 Linux 内核维护的虚拟文件系统。它所包含的文件是内核的窥视孔。这些文件是可读的, 它们会告诉你内核是怎样监管计算机的。
  • /root root 帐户的家目录。
  • /sbin 这个目录包含“系统”二进制文件。它们是完成重大系统任务的程序,通常为超级用户保留。
  • /tmp 这个/tmp 目录,是用来存储由各种程序创建的临时文件的地方。一些配置,导致系统每次 重新启动时,都会清空这个目录。
  • /usr 在 Linux 系统中,/usr 目录可能是最大的一个。它包含普通用户所需要的所有程序和文件。
  • /usr/bin /usr/bin 目录包含系统安装的可执行程序。通常,这个目录会包含许多程序。
  • /usr/lib 包含由/usr/bin 目录中的程序所用的共享库。
  • /usr/local 这个/usr/local 目录,是非系统发行版自带,却打算让系统使用的程序的安装目录。 通常,由源码编译的程序会安装在/usr/local/bin 目录下。新安装的 Linux 系统中,会存在这个目录, 但却是空目录,直到系统管理员放些东西到它里面。
  • /usr/sbin 包含许多系统管理程序。
  • /usr/share /usr/share 目录包含许多由/usr/bin 目录中的程序使用的共享数据。 其中包括像默认的配置文件,图标,桌面背景,音频文件等等。
  • /usr/share/doc 大多数安装在系统中的软件包会包含一些文档。在/usr/share/doc 目录下, 我们可以找到按照软件包分类的文档。
  • /var 除了/tmp 和/home 目录之外,相对来说,目前我们看到的目录是静态的,这是说, 它们的内容不会改变。/var 目录是可能需要改动的文件存储的地方。各种数据库,假脱机文件, 用户邮件等等,都驻扎在这里。
  • /var/log 这个/var/log 目录包含日志文件,各种系统活动的记录。这些文件非常重要,并且 应该时时监测它们。其中最重要的一个文件是/var/log/messages。注意,为了系统安全,在一些系统中, 你必须是超级用户才能查看这些日志文件。

快捷操作

命令行最为珍视的目标之一就是懒惰;用最少的击键次数 来完成最多的工作。另一个目标是你的手指永远不必离开键盘,永不触摸鼠标。 以下的bash 特性使键盘使用起来更加迅速,更加高效。

移动光标

按键

操作

Ctrl-a

移动光标到行首。

Ctrl-e

移动光标到行尾。

Ctrl-f

光标前移一个字符;和右箭头作用一样。

Ctrl-b

光标后移一个字符;和左箭头作用一样。

Ctrl-l

清空屏幕,相当于clear。

搜索历史命令

history

history有相当多的快捷键操作,要记住并不容易。一般是查看历史命令内容,搜索相关命令,再通过命令id执行,简单明了

[root@senlong tmp]# history | less

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程坑太多

『中级篇』docker之CI/CD持续集成—GitLab CI服务器(71)

PS:整个这个功能是否给你一个很大的想象空间,任何的软件的项目,可以通过ci-Pipelines方式,来定义自己的Pipelines,在测试,部署。很大很的发挥...

1676
来自专栏GA小站

Launch上的Extensions(插件)

Extensions在英文上的意思就是扩展,但实际这个中文意思并不能很好的代表这个功能,我觉得用“插件”这个词会比较合适,后面我所有的介绍都会用插件来表示Ext...

874
来自专栏前端人人

React多页面应用6(gulp自动化发布到多个环境、生成版本号、压缩成zip等)

本教程总共7篇,每日更新一篇,请关注我们!你可以进入历史消息查看以往文章,也敬请期待我们的新文章! 1.React多页面应用1(webpack开发环境搭建,包括...

3455
来自专栏hbbliyong

tar.xz文件如何解压

XZ压缩最新压缩率之王 xz这个压缩可能很多都很陌生,不过您可知道xz是绝大数Linux默认就带的一个压缩工具。 之前xz使用一直很少,所以几乎没有什么提起。 ...

36310
来自专栏玩转JavaEE

V部落博客管理平台开源啦! Vue+SpringBoot强强联合!

V部落是一个多用户博客管理平台,采用Vue+SpringBoot开发。 演示地址: http://45.77.146.32:8081/index.html 项目...

3399
来自专栏Youngxj

Server酱详细部署教程

3413
来自专栏菩提树下的杨过

android 模拟器安装二三事

今天在测试一个手机版网站时,发现“微软的wp7”跟“苹果的iOS”对于<select>..</select>元素的触摸操作不太一样,wp7是全屏切换到一个上下滚...

22710
来自专栏算法channel

git|常用命令总结

git help tutorial 获取常规的帮助指导 01 — 创建本地工作库 init 创建一个空的Git库或再次初始化当前库 clone ...

2794
来自专栏Golang语言社区

【Golang语言社区】前端编程-手机端调试利器 - 总结与实践

一些调试工具 说起手机端调试,相比大家都不陌生。 由于手机浏览器没有像PC端浏览器一样有开发调试工具,所以一般手机端的调试都要借助于电脑,现在的调试方式通常有以...

3214
来自专栏BestSDK

可能是开发小程序,最好用的两个编辑器

看我大 Visual Studio Code 相比于 Sublime,Visual Studio Code 是完全免费和开源的编辑器。当然,当初试用 VSCod...

1.7K4

扫码关注云+社区