Linux—系统基础一
Linux系统基础(一)
Linux的基本原则:
- 由目的单一的小程序组成,组合小程序完成复杂任务;
- 一切皆文件;
- 配置文件保存为纯文本格式。
1、shell
1.1 shell简介
Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器)。它类似于DOS下的command.com和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。
常见的shell有两种,一种是图形界面,即GUI,一种是命令行终端,即CLI。
常用的GUI:Graphic User Interface
- Windows
- X-Window
- Gnome
- KDE
- Xfce
常用的CLI:Command Line Interface
- bash
- sh
- csh
- zsh
- ksh
- tcsh
Redhat 和 Centos使用的是:bash shell
1.2 命令行界面
命令行是可被用来输入指令到计算机系统中的基于文本的界面。 Linux的命令行是通过一个叫做shell程序提供。Redhat和Centos系统默认的shell为Bourne-Again Shell(bash)。 Bash是在类UNIX系统中,是Bourne shell(sh)使用的最成功的其中一个shell的改进版本。
当shell被交互使用时,它将显示一个字符串时,它从用户等待一个命令。这就是所谓的shell提示符。当一个普通用户启动一个shell,默认提示以$字符结束。
管理员用户:
[root@localhost ~]#
普通用户:
[zsl@localhost ~]$
2、Bash的特性:
- 支持命令历史、命令补全
- 支持管道、重定向
- 支持命令别名
- 支持命令行编辑
- 支持命令行展开
- 支持文件名通配
- 支持变量
- 支持编程
Bash支持的引号:
"" //双引号,弱引用,可以实现变量替换
'' //单引号,强引用,不完成变量替换
`` //反引号,键盘左上角Esc下面的键,用于命令替换
$() //与反引号用法相同
Bash常用操作技巧之光标跳转
Ctrl+a 跳到命令行首
Ctrl+e 跳到命令行尾
Ctrl+u 删除光标至命令行首的内容
Ctrl+k 删除光标至命令行尾的内容
Ctrl+l 清屏
Bash常用操作技巧
//命令历史
history //查看命令历史
-c //清空命令历史
-d OFFSET [n] //删除指定位置的命令历史
-w //保存命令历史至历史文件~/.bash_history中
//命令历史的使用技巧
!n //执行命令历史中的第n条命令
!-n //执行命令历史中倒数第n条命令
!! //执行上一条命令
!string //执行命令历史中最近一个以指定字符串开头的命令
!$ //引用前一个命令的最后一个参数
esc,. //按下esc松开后按.,引用前一个命令的最后一个参数
//tab键命令和路径补全
在命令行输入命令时,如果只记得命令的开头几个字母,可使用tab键补全命令;如果有多个命令都是以某字母开头,按两次tab,可以列出所有以该字母开头的命令,供用户选择。
在命令行输入文件路径时,如果忘记文件路径全称,则只需要输入文件路径开头几个字母,也可以使用tab键进行补全。
//命令别名
alias 别名='命令 [选项] [参数]’
在shell中定义的别名仅在当前shell生命周期中有效,别名的有效范围为当前的shell进程。
//命令替换
把命令中某个子命令替换为其执行结果的过程被称作命令替换。
命令替换有两种方式:
$(命令)
'命令'
//命令行展开
~:展开为用户的家目录
~USERNAME:展开为指定用户USERNAME的家目录
{}:可承载一个以逗号分隔的列表,并将其展开为多个路径
/tmp/{a,b} = /tmp/a, /tmp/b
/tmp/{tom,jerry}/hi = /tmp/tom/hi, /tmp/jerry/hi
//文件名通配符
* //匹配任意长度的任意字符
? //匹配任意单个字符
[] //匹配指定范围内的任意单个字符
例如:[abc],[a-m],[0-9]
[[:space:]] //表示空白字符
[[:punct:]] //表示标点符号
[[:lower:]] //表示小写字母
[[:upper:]] //表示大写字母
[[:alpha:]] //表示大小写字母
[[:digit:]] //表示数字
[[:alnum:]] //表示数字和大小写字母
[^] //匹配指定范围之外的任意单个字符
//环境变量
PATH //命令搜索路径
HISTSIZE //命令历史缓冲区大小
SHELL //当前shell
3、 Linux基础命令
3.1命令格式
<命令> [选项] [参数]
选项:(可以有0个或多个)
短选项:-
多个选项可以组合: -a -b = -ab
长选项:--
长选项通常不能组合
参数:命令的作用对象(可以有0个或多个)
3.2命令类型
Linux命令分为两种类型:
- 内部命令:shell内置
- 外部命令:在文件系统的某个路径下有一个与命令名称相应的可执行文件
type //显示指定命令属于哪种类型
[root@localhost ~]# type cd
cd is a shell builtin
3.3基础命令
目录管理命令
ls //列出目录内容
-l //长格式
//以长格式显示的第一段含义:
第一个字符:文件类型
- //普通文件(f)
d //目录文件
b //块设备文件(block)
c //字符设备文件(character)
l //符号链接文件(symbolic link file)
p //命令管道(pipe)
s //套接字文件(socket)
后面九位字符:文件权限
9位,每3位一组,每一组:rwx(读,写,执行)
//以长格式显示的第二段含义:
文件硬链接的次数
//以长格式显示的第三段含义:
文件的属主(owner)
//以长格式显示的第四段含义:
文件的属组(group)
//以长格式显示的第五段含义:
文件大小(size),单位是字节
//以长格式显示的第六,七,八段含义:
时间戳(timestamp),最近一次被修改的时间
访问 //access,访问的时间
修改 //modify,文件内容被修改的时间
改变 //change,metadata(元数据)变化的时间
-h //做单位转换
-a //显示以.开头的隐藏文件
. //表示当前目录
.. //表示父目录
-d //显示目录自身属性
-i //显示文件的inode(index node)
-r //逆序显示
-R //递归(recursive)显示
cd //切换目录
pwd //查看当前所在目录路径
tree //查看目录树
-d //只显示目录
-L level //指定显示的层级数目
-P 字符串 //显示指定字符串匹配到的文件
文件管理命令
mkdir //创建目录
-p //创建目录时若父目录不存在则自动创建
-v //显示目录创建过程
rmdir //删除目录,只能删除空目录
touch //创建一个空文件,touch还有一个作用是修改文件的时间戮
stat //显示文件或文件系统的状态
rm //删除文件,删除命令默认会提示是否需要删除,如果要使用命令本身可以在命令前加一个\。
例如:\rm,这样删除就不会有提示了
-r //递归删除,删除目录时必须使用此选项
-f //强制删除,不询问
cp //复制文件,一个文件到一个文件,多个文件到一个目录
-r //递归拷贝,拷贝目录时必须使用此选项
-p //拷贝时保留原权限
-a //相当于-rp
mv //移动文件
文本内容查看命令
cat //将文件内容输出至标准输出(屏幕)
-n //显示行号
注意:使用cat查看文件内容时会将文件的所有内容加载至内存,所以应避免使用cat打开巨大文件
tac //倒序打印文件内容至标准输出
more //全屏查看文本文件内容,只能从前往后,不能从后往前。
//文件内容显示完后自动退出
less //全屏查看文本文件内容,可从前往后亦可从后往前。推荐使用
head //从头部开始打印文件内容,默认打印10行
-n //指定要打印的行数,-n 可以是15也可以是-15
tail //查看文本文件尾部内容
-n //指定要打印的行数,可以是-n 15也可以是-15
-f //实时监测文件末尾内容
主机管理命令
//主机名管理
hostname //查看或临时修改主机名,重开终端有效,重启失效
如:hostname zsl
hostnamectl //查看或永久修改主机名,重开终端生效,重启依然有效
如:hostnamectl set-hostname zsl
//其它
time //显示命令的执行时间,例如time ls /etc
clear //清屏
whoami //显示当前登录用户
who //查看当前在线用户
w //显示当前在线用户并显示其在运行的命令
which //显示指定命令的绝对路径
date //显示或设置日期与时间
//不带参数的date用于显示当前系统日期与时间
//格式化输出时间:+
%Y //年
%m //月
%d //日
%F //年-月-日
%H //时
%M //分
%S //秒
-s //以字符串方式设置时间
cal //打印日历
ldd //查看指定程序有哪些依赖库文件
程序组成:
二进制程序
库文件
配置文件
帮助文件
3.4如何获取命令帮助
内部命令:
help COMMAND
外部命令:
COMMAND –help
man手册:
man COMMAND
//man手册注意事项
[]:可选
<>:必选
…:可出现多次
|:多选一
{}:分组
NAME:命令名称及功能简要说明
SYNOPSIS:用法说明,包括可用的选项
DESCRIPTION:命令功能的详尽说明,可能包括每一个选项的意义
OPTIONS:说明每一个选项的意义
FILES:此命令相关的配置文件
BUGS:报告bug
EXAMPLES:命令示例
SEE ALSO:另外参照
翻屏:空格(向后翻一屏),b键(向前翻一屏)
查找:
/KEYWORD:从前往后查找KEYWORD
?KEYWORD:从后往前查找KEYWORD
n:下一个匹配的行
N:前一个匹配的行
q:退出
Linux—系统基础一的更多相关文章
- Linux实战教学笔记06:Linux系统基础优化
第六节 Linux系统基础优化 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 基础环境 第2章 使用网易163镜像做yum源 默认国外的yum源速度很慢,所以换成国内的. 第一步:先备份 ...
- Linux系统基础命令
这是看itercast的学习笔记 Linux系统基础命令 日期时间 命令date用以查看.设置当前系统时间:格式化显示时间: +%Y--%m--%d 命令hwclock(clock)用以显示硬件时钟时 ...
- linux系统基础入门
使用工具:源码管理,自动部署,web服务器(linux) linux系统基础入门 1.下载地址 2.本文介绍的是一个基于Ubuntu的开源操作系统 下载优麒麟 Ubuntu是一个广泛应用于个人电脑,云 ...
- Linu之linux系统基础优化和基本命令
Linux系统基础优化和基本命令 网络参数设定命令 ifconfig: 查询,设置网卡和ip等参数 ifup,ifdown: 脚本命令,更简单的方式 ip: 符合指令,直接修改上述功能 编辑网卡配置文 ...
- (转)Linux系统基础网络配置老鸟精华篇
Linux系统基础网络配置老鸟精华篇 原文:http://blog.51cto.com/oldboy/784625 对于linux高手看似简单的网络配置问题,也许要说出所以然来也并不轻松,因此仍然有太 ...
- Linux 系统基础优化和常用命令
目录 Linux 系统基础优化和常用命令 软连接 tar解压命令 gzip命令 netstart命令 ps命令 kill命令 killall命令 SELinux功能 iptables防火墙 Linux ...
- Linux系统基础
Linux系统基础 目录 简介 0x01 Linux文件与目录管理 0x02 Linux系统用户以及用户组管理 0x03文档的压缩与打包 0x04 apt安装软件 0x05 进程管理 标签 Lin ...
- 运维 07 Linux系统基础优化及常用命令
Linux系统基础优化及常用命令 Linux基础系统优化 引言没有,只有一张图. Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令 ...
- linux系统基础(一)
Linux简介与安装Unix ;windows; linux; apple(mac) linux=kernel (内核)=OSlinux全是文件============================ ...
随机推荐
- go 语言开发1 环境配置和语言基础
Go 语言环境配置 windows 环境变量: 设置 GOROOT (安装路径),GOPATH(工程目录) Path 中加入 %GOROOT%/bin 和 %GOPATH%/bin mac 环境变量: ...
- js--promise、async 和 await 相关知识总结
前言 promise 是前端开发人员必须掌握的知识点,本文来总结一下相关学习笔记. 正文 1.什么是prommise,promise 解决了什么问题 a.promise 是什么 Promise 是承诺 ...
- Vue2手写源码---响应式数据的变化
响应式数据变化 数据发生变化后,我们可以监听到这个数据的变化 (每一步后面的括号是表示在那个模块进行的操作) 手写简单的响应式数据的实现(对象属性劫持.深度属性劫持.数组函数劫持).模板转成 ast ...
- 929. Unique Email Address - LeetCode
Question 929. Unique Email Address Solution 题目大意: 给你一个邮箱地址的数组,求出有多少个不同的地址,其中localName有如下规则 加号(+)后面的字 ...
- 299. Bulls and Cows - LeetCode
Question 299. Bulls and Cows Solution 题目大意:有一串隐藏的号码,另一个人会猜一串号码(数目相同),如果号码数字与位置都对了,给一个bull,数字对但位置不对给一 ...
- Python数据分析--Numpy常用函数介绍(4)--Numpy中的线性关系和数据修剪压缩
摘要:总结股票均线计算原理--线性关系,也是以后大数据处理的基础之一,NumPy的 linalg 包是专门用于线性代数计算的.作一个假设,就是一个价格可以根据N个之前的价格利用线性模型计算得出. 前一 ...
- Linux namespace技术应用实践--调用宿主机命令(tcpdump/ip/ps/top)检查docker容器网络、进程状态
背景 最近偶然听了几堂极客时间的云原生免费公开课程,首次接触到了Linux namespace技术,并了解到这正是现在风头正劲的容器技术基石,引起了自己探究一二的兴趣,结合课程+网络搜索+实践操作,也 ...
- Mysql优化基础之Explain工具
字段解释 id:代表sql中查询语句的序列号,序列号越大则执行的优先级越高,序号一样谁在前谁先执行.id为null则最后执行 select_type:查询类型,表示当前被分析的sql语句的查询的复杂度 ...
- Date类的常见用法——JavaSE基础
Date类的常见用法 Date类属于java.util包 因此需要导入Date类 Date() 分配一个Date对象,并初始化此对象为系统当前的日期和时间,可以精确到毫秒). Date(long da ...
- 如何在 Mac 和虚拟机上安装 macOS Big Sur、Monterey 和 Ventura
请访问原文链接:https://sysin.org/blog/how-to-install-macos/,查看最新版.原创作品,转载请保留出处. 作者主页:www.sysin.org 名词解释: 硬件 ...