【学习笔记】Linux基础(二):Linux的基本操作
二、Linux的基本操作
0、正确的开关机操作
- 开机和登陆:
- 安全起见,一般不使用最高权限的root账户登入系统,光立系统时再使用
- 登录时为login程序提供账户名和密码即可,密码不会被显示,登陆后显示
[<user_name>@<host_name> <current_dir>]$,$是普通用户的命令提示符(root用户是#)
- 登出和关机/重启
- 使用
exit命令注销当前已登入的用户(不是关机) - Linux采用异步的异步的磁盘/内存数据传输模式,同时又是多人多任务操作系统,需要正确关机(服务器只有在维护时关机),且常常加挂UPS
- 关机前:
su切换到root用户(superuser)who查看哪些用户在线netstat -a查看网络联机状态ps aux检查运行的程序sync将内存中的数据同步写入硬盘(shutdown/reboot/halt命令也会代为执行)(root用户保存所有用户数据,非root用户保存自己的数据)
- 关机命令:
shutdown [-options] [time] [warnings]- 实体终端tty1-tty7所有用户都能执行,远程终端只有root可以执行
- root超级用户的shutdown命令在/sbin/shutdown处
- [warnings]是发给所有用户的提示信息
- [time]为执行动作的延时时间,让登陆的各用户做好关机准备,默认不填为1min;格式:now或+minutes或HH:MM(具体时刻)
- 常用选项:
- -k 仅发送消息而不关机
- -h 停止服务后立刻关机
- -c 取消已经设定的关机定时
- -r 重启
- 关机命令
poweroff,重启命令reboot,停止系统命令halt(屏幕可能会保留系统停止的信息,与电源管理模式有关),这三个命令都会调用systemctl指令执行操作,相当于systemctl poweroff,systemctl reboot和systemctl halt(还有systemctl suspend,用于进入休眠模式),理论上只让root执行 - SystemV下的切换运行等级的指令
init在systemd下依然兼容,init 0关机,init 6重启
- 使用
1、Linux的命令格式
command [-options] parameter1 parameter2 ...
- 第一部分:指令/可执行文件(如脚本)
- 第二部分:可选的选项
- -省略的选项
- --完整的选项
- 选项可以写在一起,也可以分开写,比如-al和-a -l是一样的
- 有时候选项前是+而不是-
- 其他部分:若干个可选的参数,是选项的参数或者是指令的参数
- Note:
- 空格区分各个部分,一个和多个空格等效
- Linux大小写敏感
- 反斜杠(,escape)用来将回车转义,换行而不执行,方便在多行里输入长指令
2、几个常用命令
date [+format]显示日期和时间+format选项,格式format举例:%Y/%m/%d或%H:%M
cal [month] [year]显示日历cal year用来显示一整年的日历cal month year用来显示某个有效年月的日历,无效会返回错误信息
bc启动一个字符界面的简易计算器- 输入表达式-回车可以计算
scale=number,number为结果小数点位数quit-回车 退出
nano简单的文本编辑器nano <path/filename>打开一个文件- 下方会显示按键说明,^表示Ctrl键,M表示Alt键
- Ctrl-O 保存(WriteOut)
- Ctrl-R 从其他文件读入资料(Read File)
- Ctrl-W 搜索字符串(Where Is)
- Ctrl-C 显示当前光标行列位置(Cur Pos)
- Ctrl-- 输入行号并跳转到该行
- Alt-Y 语法校正功能开关
- Alt-M 开启鼠标支持
- Ctrl-G或F1 显示使用帮助
- Ctrl-X 关闭软件
- Note:两种命令行程序
- 直接运行,运行后向命令行输出结果并退出
- 运行后能在命令行和用户交互,直至接收到退出命令
3、几个常用快捷键
- Tab键:命令或选项或参数中的文件名/路径的自动补全功能
- 可以唯一确定被补全的对象时,按一次就会补全
- 不能确定被补全的对象,按一次没反应,再按一次显示所有的可能的对象
- Note:要补齐选项/参数,需要安装bash_completion软件,不过这可能导致有时文件名/路径不能自动补齐
- Ctrl+C组合键:中断目前程序
- Ctrl+D组合键:发送EOF,远程连接时相当于
exit-回车 - Shift+Page UP/Page Down组合键:前后翻动字符界面的显示内容
4、遇到问题怎么办?
- 有错误信息,查看错误信息,里面说得很清楚!有时还会给出可能的纠错建议信息
- 忘记命令/命令的参数:平时只需要记忆命令的用途和常用命令的用法即可
- 先输入确定的部分,再使用Tab键的自动补全功能
- 使用命令的
--help说明选项查阅(里面有语法,可能有简要使用举例) man <command/file>查询命令的详细使用说明(manual)(先被查找到的那个手册,在/etc/man_db.conf中设置搜索结果排序,一般为序号小的那个)- 空格键向下翻页,Page Up/Page Down键上/下翻页,Home/End键翻到首/尾部
- /word 向下搜索word(关键词),?word 向上搜索关键词,n键向下继续搜索,N键向上继续搜索
- q键退出
- 每个命令的manual被划分到一个类别中,可以在其manual的开头看到类别对应的序号(如1-shell下的命令/可执行文件,4-/dev下设备装置文件的说明,5-配置文件等文件的格式,8-管理员的管理指令),通过
man man可以查选到类别对应表 - 各板块的推荐查询顺序:NAME(命令的意思)-DESCRIPTION(细节说明)-OPTIONS(所有可用的选项)-SEE ALSO(可参考的相关其他资料)/FILES(与该程序有关的文件说明)
man的手册文件通常在/usr/share/man里,通过修改/etc/man_db.conf(或man.conf或man.config或manpath.conf)可以修改手册文件的查询位置man -f <command>查询和命令有关的所有手册文件的编号和内容简介,man <number> <command>查看命令的编号为 的手册,man -f等效于whatisman -k <keyword>查询内容简介中含有关键词的所有手册文件的编号和内容简介,man -k等效于apropos
info <command>分节点(node)查询命令的使用详细说明,一个节点就是一个信息段落,节点之间存在链接- n(Next)键前往同一层的下一个节点,p(Previous)键前往同一层的上一个节点,u(Up)键前往上一层节点
- h(Help)键或输入?调出按键帮助
- 文本中用一个
*来标识一个可以进入的node,光标间移动到*后回车可以进入这个node - Tab键可以在可进入的node间切换
- q键退出
- 符合info格式的命令说明文档*.info在/usr/share/info中,info也可以查询非info格式的文档,显示结果和man相同
- 部分已安装软件会在/usr/share/doc目录中存放文本格式的说明文档(How-To及其他信息),软件套件会在/usr/share/doc目录下建立自己的目录
5、相关的其他知识
- 关于登入登出和开关机:
- 开机后登陆前显示的内容在/etc/issue文件中指定
- 文本模式登陆后进入的程序称为Shell,负责和使用者进行交互,比如bash Shell
- 主机名的显示通常只有第一个.之前的内容
- Linux是个多用户操作系统,用户个人目录在/home/处,也可以用~表示,~是一个变量
- Linux下面的隐藏目录和文件是以小数点.开头的,以命名来确定是否被隐藏
- 命令执行结果乱码一般是语系不是英文
locale或echo $LANG命令显示当前选择的语系LANG=en_US.utf8修改为输出信息为显示英文语系(仅对本次登陆有效)export LC_ALL=en_US.utf8同步更新语系的其他选项为英文语系(仅对本次登陆有效)
- 关于X Window:
- Linux预置6个文字终端,还有一个是图形终端,使用Ctrl+Alt+Fn切换,这些终端(tty)一开始并不存在,使用时才产生,先产生占据较小的tty号
startx命令用来在文本模式下启动X Window(前提是没有其他的X Window启动且X Window System正确安装),不需要管理员身份,默认使用图形界面需要将graphical.target服务设为默认- 重启系统不同于重启X Window,重启X Window可以先登出再重新登入或使用Gnome中设定好的重启X Window的快捷键
- 关于控制台(Console)和终端(Terminal):
- 历史:
- 控制台终端的概念起源于早期大型机,用于解决多用户共用一台计算机的问题
- Console:物理操作面板,控制主机的工作状态,只有一个,上面有电源开关等,起到“总控台”的作用,后期的控制台也具有了键盘和显示器
- Terminal:可以有多个,在主机完成启动后每个用户都可以通过Terminal连接到主机上进行工作;Terminal只有显示和输入输出功能,即只有键盘和显示器,不能进行计算
- tty:Teletypewriter即电传打字机,是没有屏幕的Terminal,输出信息需要靠打印机或纸带打孔机
- 在Unix中,Console和Terminal有明显的区分,系统运行消息只会显示在Console上
- 在Linux中:
- Console和Terminal的概念被模糊化,系统消息会被推送到所有终端上,控制台是终端的真子集
- 物理终端:直接连接在主机上的显示器、键盘鼠标的统称;机房里常见多台服务器主机共享一套KVM(Keyboard+Video+Mouse),通过切换器切换连接的服务器主机,以节省资源
- 虚拟终端:Ctrl+Alt+Fn所切换的tty1-tty6是虚拟终端,这些终端是软件模拟的,而不是真实的硬件,但使用起来和物理终端没有差异,对应的设备文件是/dev/tty[n],由于它们在服务器本地建立,也被称为是“控制台”
- 远程终端:与本地终端相对的概念,空间上作区分;通过串口连接的终端是远程终端(同时也是物理终端),通过软件TCP/IP网络工具使用Telnet协议或SSH协议进行远程登入服务器的终端也是远程终端
- 伪终端:有两类,一是X Window下打开的终端模拟器,二是使用Telnet协议或SSH协议登陆的网络远程终端
- 历史:
【学习笔记】Linux基础(二):Linux的基本操作的更多相关文章
- python学习笔记之基础二(第二天)
1.编码转换介绍 unicode是最底层.最纯的,会根据终端的编码进行转化展示 一般硬盘存储或传输为utf-8(因为省空间.省带宽),读入内存中为unicode,二者如何转换 a = ' ...
- python学习笔记(基础二:注释、用户输入、格式化输出)
注释 单行:# 多行:上下各用3个连续单引号或双引号 3个引号除了多行注释,还可以打印多行 举例: msg = ''' name = "Alex Li" name2 = name ...
- Linux进程间通信IPC学习笔记之同步二(SVR4 信号量)
Linux进程间通信IPC学习笔记之同步二(SVR4 信号量)
- Linux进程间通信IPC学习笔记之同步二(Posix 信号量)
Linux进程间通信IPC学习笔记之同步二(Posix 信号量)
- Linux学习笔记(11)linux网络管理与配置之一——配置路由与默认网关,双网卡绑定(5-6)
Linux学习笔记(11)linux网络管理与配置之一——配置路由与默认网关,双网卡绑定(5-6) 大纲目录 0.常用linux基础网络命令 1.配置主机名 2.配置网卡信息与IP地址 3.配置DNS ...
- Linux学习笔记(10)linux网络管理与配置之一——主机名与IP地址,DNS解析与本地hosts解析(1-4)
Linux学习笔记(10)linux网络管理与配置之一——主机名与IP地址,DNS解析与本地hosts解析 大纲目录 0.常用linux基础网络命令 1.配置主机名 2.配置网卡信息与IP地址 3.配 ...
- ARM9嵌入式学习笔记(1)-Linux命令
ARM9嵌入式学习笔记(1)-Linux命令 实验1-1-2 Linux常见命令使用 添加用户useradd smb; 设置账户密码passwd smb; 切换用户su - root 关机命令shut ...
- Python学习笔记之基础篇(-)python介绍与安装
Python学习笔记之基础篇(-)初识python Python的理念:崇尚优美.清晰.简单,是一个优秀并广泛使用的语言. python的历史: 1989年,为了打发圣诞节假期,作者Guido开始写P ...
- SLAM+语音机器人DIY系列:(一)Linux基础——3.Linux命令行基础操作
摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的, ...
- Linux基础与Linux下C语言编程基础
Linux基础 1 Linux命令 如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命令行进行使用. 登录Linux后,我们就可以在#或$符后面去输入命令,有 ...
随机推荐
- net core天马行空系列:SummerBoot,将SpringBoot的先进理念与C#的简洁优雅合二为一
系列目录 1.net core天马行空系列:原生DI+AOP实现spring boot注解式编程 2.net core天马行空系列: 泛型仓储和声明式事物实现最优雅的crud操作 3.net core ...
- .NET 半天搭建Jenkins持续集成与自动化部署系统
前言 相信每一位程序员都经历过深夜加班上线的痛苦!而作为一个加班上线如家常便饭的码农,更是深感其痛.由于我们所做的系统业务复杂,系统庞大,设计到多个系统之间的合作,而核心系统更是采用分布式系统架构,由 ...
- 【Spring Cloud 源码解读】之 【如何配置好OpenFeign的各种超时时间!】
关于Feign的超时详解: 在Spring Cloud微服务架构中,大部分公司都是利用Open Feign进行服务间的调用,而比较简单的业务使用默认配置是不会有多大问题的,但是如果是业务比较复杂,服务 ...
- A记录都不懂,怎么做开发Leader?
开发 Leader 和一线开发的区别在于:普通一线开发很多时候都只接触业务编码,不需要关注除开发之外的其他事情.但是作为一个开发 Leader,不仅仅需要懂开发层面的东西,还需要懂得运维层面的东西. ...
- 「USACO11NOV」牛的障碍Cow Steeplechase 解题报告
题面 横的,竖的线短段,求最多能取几条没有相交的线段? 思路 学过网络流的童鞋在哪里? 是时候重整网络流雄风了! 好吧,废话不多说 这是一道最小割的题目 怎么想呢? 要取最多,那反过来不就是不能取的要 ...
- 1082 射击比赛 (20 分)C语言
本题目给出的射击比赛的规则非常简单,谁打的弹洞距离靶心最近,谁就是冠军:谁差得最远,谁就是菜鸟.本题给出一系列弹洞的平面坐标(x,y),请你编写程序找出冠军和菜鸟.我们假设靶心在原点(0,0). 输入 ...
- 最全面的css布局
1.定位 定位的概念就是它允许你定义一个元素相对于其他正常元素的位置,它应该出现在哪里,这里的其他元素可以是父元素,另一个元素甚至是浏览器窗口本身.还有就是浮动了,其实浮动并不完全算是定位,它的特性非 ...
- WPF 给Button按钮加小图标图片Image
前言:当WPF项目后台完成到一定程度的时候,就可以对XAML前端进行美化啦,个人认为XAML前端还是挺有意思的. 下面举一个Button加过小图标后的例子: 是不是比生硬的文字看来更人性化了呢? 不多 ...
- 学会python正则表达式就是这么简单
一前言 本篇文章带大家快速入门正则表达式的使用,正则表达式的规则不仅适用python语言,基本大多数编程语言都适用,在日常使用中极为广泛,读者们有必要学好正则表达式.看完这篇文章,读者们要理解什么是正 ...
- 通过httpClient设置代理Ip
背景: 我们有个车管系统,需要定期的去查询车辆的违章,之前一直是调第三方接口去查,后面发现数据不准确(和深圳交警查的对不上),问题比较多.于是想干脆直接从深圳交警上查,那不就不会出问题了吗,但是问题又 ...