作者简介 海洋,从事linux运维工作6年,业务运维4年,现任职饿了么资深运维工程师,负责物流业务运维及稳定性相关工作,随着运维工作不断自动化和智能化,现对aiops感兴趣,喜欢羽毛球、篮球等运动,没事的话喜欢宅在家。
写给初学者的Linux餐前小菜
本文以linux的几个重要的哲学思想为起点,依次介绍了linux下的文件目录及作用、基本命令操作以及包管理器的使用几个话题,带领初学的同学从整体上感受一下linux的轮廓。
Linux遵循的哲学思想
- 一切皆文件 除了普通文件,诸如目录、字符设备、块设备、套接字等在Unix/Linux中也都是以文件来对待,虽然类型不同,但是对其提供的却是同一套操作界面。不同的文件根据类型或用途放在不同的目录下。
- 由目的单一、短小、精悍的程序组成 通过短小、简单的程序保障linux的高效,由于程序功能过于单一,一个完整的服务需要依赖多个程序,多个程序相互的依赖关系又是一个问题,linux通过包管理器很好的解决了这个问题
- 文本文件保存配置信息 使用简单的文件编辑器就可以完成配置、更改配置(有关文本编辑器的使用,下次再聊)
- 尽量避免捕获用户接口 一个程序一旦开始运行,就不需要用户进行任何操作,尽量不和用户交互
Linux文件目录及作用
目录 | 作用 |
---|---|
/ | 根目录 |
/bin | 主要放基本执行命令 |
/sbin | 主要放系统管理的命令 |
/boot | 引导目录(与系统启动有关),放置内核、grub、initrd等文件 |
/dev | device,设备文件目录,也是特殊文件目录 |
/etc | 配置文件目录,放置系统的配置文件 |
/home | 用户的家目录,放置用户的信息(用户登录后身处的默认目录即为用户的家目录) |
/lib | library,库文件目录,放置库文件 |
/mnt | 系统挂载目录 |
/media | 额外文件系统的挂在目录 |
/misc | 被动目录,放置杂项设备 |
/opt | 可选目录,第三方软件安装的目录 |
/proc | 伪目录,放置内核映像文件 |
/srv | 服务器运行中产生的数据的临时使用的目录 |
/sys | 伪目录,放置内核中硬件信息的映射 |
/tmp | 临时文件目录,放置系统中产生的临时文件 |
/usr | 第三方软件的管理命令、额外信息等都存放在此 |
/var | 经常变化的文件所处的目录,如用户的邮箱队列 |
终端下的Linux:通过命令行和Linux交流
和操作系统交互的方式,一般分为两类
- GUI: graphical user interface 图形化接口,类似windows系统的图形化界面,linux使用的不多
- CLI: command line interface 命令行接口,linux多通过这种方式进行操作,所以掌握基本命令是至关重要的
Linux中的命令格式:
- 命令严格区分大小写
- command [options][arguments]
- 短选项:-l 、-h、 -hl 分开的选项之间用空格隔开如
ls -a -l = ls -al
- 长选项:
--help
、--long
- 参数与选项之间空格隔开,参数之间也用空格隔开
ls -al /etc /home
磨刀不误砍柴工:如何获得一个命令的帮助信息
linux在非图形界面下的操作都是基于命令行的,然而linux又有非常多的命令,每个命令又有很多options, 在使用一个命令前,清楚的知晓命令的作用以及options的作用是非常重要的,下面咱们来学习下通过哪些方法可以得知这些信息。
Linux的命令分类
-
内部命令(shell自带的命令) help command 获取内部命令的帮助信息
[xxx@xxx]$ help cd
-
外部命令(除了内部命令,即为外部命令) command -h 获取外部命令的帮助信息
[xxx@xxx]$ nginx -h
MAN手册
man手册可以说是linux很全面的帮助文档了,包括多个章节,每个章节涉及不同方面。
- User commands 普通用户命令相关信息
- System calls 系统调用相关信息
- Library functions 库函数相关信息
- Devices 设备相关信息
- Files 文件格式、文件系统相关信息
- Games 娱乐和游戏相关信息
- Overviews, conventions, and miscellaneous 杂项
- Superuser and system administration commands 管理员命令相关信息
__whatis__命令
有的命令只涉及一个维度、有的命令可能涉及多个维度。查看命令对应在man手册中的信息可使whatis, whatis command
显示一个命令的简单说明,同时显示出此命令不同部分在man手册上的章节数。
[xxx@xxx]$ whatis cd
whatis是调用数据库中有关这个命令的相关简单说明,如果系统刚刚安装,有些命令可能还没来得及创建数据库,因此便无法使用whatis开查看此命令的帮助信息。可以使用mkwhatis command帮命令生成一个有关此命令的数据数据。
常用命令
ls: 显示目录文件
- -a 显示目录中所有文件(包括隐藏文件)
- -l 显示文件的详细信息(权限、时间、属主、属组等)
- -h 显示文件大小(自动换算为B、KB、MB、G)
- -d 显示目录本身信息
cd: 切换所在目录
- cd ~ 切换到当前用户的家目录
- cd – 切换到上一次目录
- cd . 切换到当前目录
- cd .. 切换到上一级目录(父目录)
- cd /xx 切换到指定路径
cat: 输出文件所有内容
- cat filename 输出filename的所有内容
- cat -n filename 输出内容、显示行号
tail: 查看文件内容(默认显示后10行)
- -f filename 动态显示文件后10行(实时刷新)
- -fn filename 动态显示文件后n行(实时刷新)
echo: 像文件内写入内容
- echo xxx > filename 用xxx覆盖filename的内容(filename原来内容消失,只有xxx)
- echo xxx >> filename 在filename内容新追加一行xxx(filename原来内容依然在,新增一行xxx)
历史命令
- history 查看当前用户使用过的命令,默认记录1000条
- history -c 清除命令历史
- ! + ‘n’(历史命令前的数字)即可使用命令历史中相应的命令。
- ! + ‘-n’ 执行历史命令中倒数第n条命令
- ! + 字符串 表示执行历史命令中离现在最近的以这个字符串开始的命令
- !! 表示重复执行上一条命令
- !$ 引用上一条命令的最后一个字符
Linux下的软件安装:包管理器的使用
上面咱们说过基于’由目的单一、短小、精悍的程序组成’的特性,需要对多个程序间的依赖进行管理,linux开发出了包管理器。 包管理器可以自动化地更新与管理软件包,能够从指定的服务器自动下载软件包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
YUM
Yum(全称为Yellow dog Updater, Modified)是在Fedora和RedHat以及Centos中基于rpm的软件包管理器。
YUM基本用法
- yum install package 安装程序package
- yum groupinstall package 安装程序组
- yum update package 更新程序package
- yum upgrade package 升级程序package
- yum remove package 卸载程序package
YUM安装mysql
- 首先获得root权限(自己的主机一般都是root)
- 执行命令
[xxx@xxx]$ yum install mysql-server mysql mysql-devel -y
- mysql 即mysql客户端command
- mysql-server 即mysql服务端
- mysql-devel 安装所需的库和文件等
- -y 确认安装(如果没有-y 在安转过程中需要输入y + ‘回车’) 接下来就是刷屏的安装信息了,如果安装成功会显示 Complete!
- 执行命令
[xxx@xxx]$ service mysqld start
启动mysql服务
- 链接mysql服务
[xxx@xxx]$ mysql
可以直接登录mysql(mysql刚初始化没有密码) - 设置root用户链接mysql的密码
[xxx@xxx]$ mysqladmin -u root password 'password'
[xxx@xxx]$ mysql -u root -p
输入密码,即可登录 mysql安装及启动到此结束,接下来就可以进行建库、建表操作。
结尾
可见linux的操作虽然陌生,也是非常简单的,只需要掌握一些基本知识即可为我们所用。 如果大家需要非常全面的linux入门资料《鸟哥私房菜》是不错的选择,对于比较感兴趣的知识点想深挖下去可以通过Google直接搜关键字就能查到很多高质量的文章。 不过最最最权威的还是官网!
阅读博客还不过瘾?
欢迎大家扫二维码加入交流群,讨论和博客有关的技术问题,还可以和博主有更多互动
博客转载、线下活动及合作等问题请邮件至
shadowfly_zyl@hotmail.com 进行沟通
今天的文章写给初学者的Linux餐前小菜分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/15283.html