Linux运维基础命令1

bash介绍

Bash,[Unix shell](https://baike.baidu.com/item/Unix shell)的一种,在1987年由布莱恩·福克斯为了GNU计划而编写。1989年发布第一个正式版本,原先是计划用在GNU操作系统上,但能运行于大多数类Unix系统的操作系统之上,包括Linux与Mac OS X v10.4都将它作为默认shell。

Bash是[Bourne shell](https://baike.baidu.com/item/Bourne shell)的后继兼容版本与开放源代码版本,它的名称来自[Bourne shell](https://baike.baidu.com/item/Bourne shell)(sh)的一个双关语(Bourne again / born again):Bourne-Again SHell。

Bash是一个命令处理器,通常运行于文本窗口中,并能执行用户直接输入的命令。Bash还能从文件中读取命令,这样的文件称为脚本。和其他Unix shell 一样,它支持文件名替换(通配符匹配)、管道here文档、命令替换、变量,以及条件判断和循环遍历的结构控制语句。

bash介绍

Linux SHELL Bash

[root@web01 ~]#
# root   表示当前登录系统的账号(可用whoami命令进行查询)
# @	     表示分隔符
# web01  表示主机名(可用hostname命令进行查询)
# ~      表示当前所在位置(可用pwd命令进行查询,~表示家目录)
# #      表示账号权限(#:管理员权限;$:普通账号)
[root@web01 ~]# echo $PS1	#通过查看环境变量显示命令行提示符格式
[\u@\h \W]\$

​ 超级管理员代表当前系统最高权限,其他用户权限由超级管理员指定,在Linux中一般root即代表超级管理员。

​ 环境变量$PS1可通过编辑全局配置文件/etc/bashrc/etc/profile设置和更改。

PS1="[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\H\[\e[0m\]\[\e[31;1m\]\w\[\e[0m\]]\\$" #给命令行提示符设置临时样式

​ PS1变量对应字典:

PS1变量含义
\d代表日期,格式为weekday month date,例如:“Mon Aug 1”。
\H完整的主机名称
\h仅取主机的第一个名称
\t显示时间为24小时格式,如:HH:MM:SS。
\T显示时间为12小时格式
\A显示时间为24小时格式,例如:HH:MM。
\u当前登录用户的用户名称
\vbash的版本信息
\w显示当前用户所在目录的完整路径,其中家目录以~代替。
\W显示当前用户所在目录的最后一级目录,其中家目录以~代替。
\#执行的第几个命令
\$提示字符,如果是管理员账号提示符为#,普通用户提示符则是$。

​ 在变量PS1中,设置字符颜色的格式为:[\e[F;Bm],其中”F”为字体颜色,编号为30-37,”B”为背景颜色,编号为40-47。颜色表如下:

F(前景)B(背景)颜色说明
3040黑色
3141红色
3242绿色
3343黄色
3444蓝色
3545紫红色
3646青蓝色
3747白色

​ 命令行快捷键:

快捷键功能说明
Tab命令或路径补全键*
Ctrl+a光标回到命令行首*
Ctrl+e光标回到命令行尾*
Ctrl+f光标向右移动一个字符(相当于方向键右键)
Ctrl+b光标向左移动一个字符(相当于方向键左键)
Ctrl+Insert复制命令行内容*
Shift+Insert粘贴命令行内容*
Ctrl+k剪切(删除)光标处到行尾的字符*
Ctrl+u剪切(删除)光标处到行首的字符*
Ctrl+w剪切(删除)光标前的一个单词
Ctrl+y粘贴Ctrl+k、Ctrl+u、Ctrl+w删除的文本
Ctrl+c中断终端正在执行的任务或者删除整行命令*
Ctrl+h删除光标所在位置的前一个字符(相当于退格键)
Ctrl+d注销当前连接,在命令行有文本内容的时候为删除光标所在位置的字符。*
Ctrl+r搜索命令行使用过的历史命令记录*
Ctrl+g从执行Ctrl+r的搜索历史命令模式退出
ESC+.获取上一条命令的最后部分(空格分隔)*
Ctrl+l清除屏幕所有内容,并在屏幕最上面开始新的一行,等同于clear命令*
Ctrl+s锁定屏幕,使之无法显示输入内容,命令依然可以执行。
Ctrl+q解除Ctrl+s屏幕锁定
Ctrl+z暂停执行在终端运行的任务*
!!执行上一条命令
!pw执行最近以pw开头的命令*
!pw:p打印最近执行过的以pw开头的命令,但不执行。
!num执行第num条历史(命令:history)命令*
!$获取上一条命令的最后部分,相当于ESC+.。
date;sleep 40;date #显示当前时间;休眠40秒(其中 s 为秒、m 为 分钟、h 为小时、d 为日数,默认为秒);显示当前时间
bg                 #将命令隐藏到后台执行
jobs               #查看后台执行的命令

命令行格式

​ 命令 [参数选项] [文件或路劲]

​ 中括号表示可有可无

查看帮助文档

​ 普通命令是在系统中存在的文件,内置命令在系统中不存在文件,存在于bash解释器里。

which cp	#查看命令所在目录
1)、man命令(普通命令)

​ 查看帮助文档

man cp	#查看cp命令的帮助文档
2)、help命令(内置命令)

​ 查看简易版帮助文档

LANG="zh_CN.UTF-8"	#设置临时系统字符集
help cd             #查看cp命令的简易帮助文档,也可以用cp --help查看

​ 内置命令包括:

​ alias, bg, bind, break, builtin, caller, cd, command, compgen, complete, compopt, continue, declare, dirs, disown, echo, enable, eval, exec, exit, export, false, fc, fg, getopts,hash, help, history, jobs, kill, let, local, logout, mapfile, popd, printf, pushd, pwd, read, readonly, return, set, shift, shopt, source, suspend, test, times, trap, true, type, typeset, ulimit,umask, unalias, unset, wait

3)、info命令(普通命令)

​ 查看命令的详细介绍信息

info cp	#查看cp命令的详细介绍信息

关机重启注销命令

1)、shutdown命令

​ shutdown是一个用来安全关闭或重启Linux系统的命令,系统在关闭之前会通知所有的登录用户,系统即将关闭,此时所有新登录的用户都不可以登录,与shutdown类似的命令还有halt、poweroff、reboot、init(关机:halt、poweroff;重启:reboot、init)。

ls -l `which shutdown` `which halt` `which poweroff` `which reboot`
lrwxrwxrwx. 1 root root 16 Mar  6 00:59 /usr/sbin/halt -> ../bin/systemctl
lrwxrwxrwx. 1 root root 16 Mar  6 00:59 /usr/sbin/poweroff -> ../bin/systemctl
lrwxrwxrwx. 1 root root 16 Mar  6 00:59 /usr/sbin/reboot -> ../bin/systemctl
lrwxrwxrwx. 1 root root 16 Mar  6 00:59 /usr/sbin/shutdown -> ../bin/systemctl

​ 在C7中halt、poweroff、reboot这三个命令都对应的是同一个man帮助文档,而halt、poweroff、shutdown、reboot命令都是systemctl命令链接文件。

C7系统systemctl命令功能功能
systemctl reboot重启系统
systemctl poweroff关闭系统并切断电源
systemctl halt关闭系统CPU停止工作
systemctl suspend暂停系统
systemctl hibernate让系统进入冬眠状态
systemctl hybrid-sleep让系统进入交互式休眠状态
systemctl rescue启动进入救援状态(单用户状态)
常用关机重启注销命令:
shutdown -r now #立刻重启
shutdown -r +1  #1分钟以后重启,1可以是别的数字或时间点。例如:11:00
shutdown -h now #立刻关机
shutdown -h +1  #1分钟以后关机,1可以是别的数字或时间点。例如:11:00
reboot          #立刻重启
halt            #立刻停止系统,需要人工关闭电源。(CPU断电)
init 0          #切换运行级别到0,0表示关机,因此此命令的作用就是关机。
init 6          #切换运行级别到6,0表示重启,因此此命令的作用就是重启。
poweroff        #立刻停止系统,并且关闭电源。(设备断电)
logout          #注销退出当前用户窗口
exit            #注销退出当前用户窗口,快捷键Ctrl+d

Linux目录结构

​ 一切从根(/)开始,呈现出以根为起点的树型结构。在Linux系统中一切皆文件(包括目录和文件)。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3XmkxEm5-1669972034173)(img/image-20200608213013224.png)]

生成序列号

​ {0…10}:表示生成1-10的序列,可生成数字序列、字母序列。

echo {1..10}    #打印1-10的序列号
1 2 3 4 5 6 7 8 9 10
echo {a..f}     #打印a-f的序列号
a b c d e f

创建文件

touch命令

​ 1)、创建新的空文件

​ 2)、改变已有文件的时间戳属性

touch test.txt			#创建文件名为test.txt的文件
touch a.txt b.txt c.txt  #批量创建文件名为a.txt、b.txt、c.txt的文件
touch x{1..100}.txt		#批量创建文件名为x序号为1-100后缀名为.txt的文件
touch命令的参数选项及说明:
参数选项解释说明
-a只更改指定文件的最后访问时间
-d STRING使用字符串STRING代表的时间作为模板设置指定文件的时间属性
-m只更改指定文件的最后修改时间
-r file将指定文件的时间属性设置为与模板文件file的时间属性相同
-t STAMP使用[[CC]YY]MMDDhhmm[.ss]格式的时间设置文件的时间属性。格式含义从左到右:世纪、年、月、日、时、分、秒。
删除文件
rm命令
rm -f test.txt #删除文件名为test.txt文件

目录操作

​ 相对路径是指从当前或指定路径出发所到达的路径(例如:x/xx/xxx;…/xxx/xx/x),而绝对路径是指从根路径出发所到达的路径(例如:/x/xx/xxx)

1)、pwd(print working directory)命令

​ 打印当前用户所在目录的绝对路径

pwd	#打印当前用户所在的绝对路径
2)、cd(change directory)命令

​ 切换目录

cd /root #切换目录至/root
cd -     #切换目录至上一次到达的目录
cd ~     #切换目录至当前用户的家目录也可以直接输入cd命令
cd .     #切换目录至当前目录,相当于不改变目录。
cd ..    #切换目录至当前目录的上一级目录

​ cd命令参数选项及说明:

参数选项解释说明
-P如果切换的目录是一个软链接,则会直接切换到软软链接指向的真正物理目标目录,和pwd命令的-P选项功能类似。
-L功能与-P相反,如果切换目录的目标是一个软链接,则直接切换到软链接所在目录,和pwd命令的-L选项功能类似。
-当使用"-"选项时,将会从当前目录切换到系统环境变量"OLDPWD"对应值的目录路径,即当前用户的上一次所在目录路径。
~当使用"~"选项时,将会从当前目录切换到系统环境变量"HOME"对应值的目录路径,即当前用户的家目录所在路径。
当使用"…"选项时,将会从当前目录切换到当前目录所在的上一级目录的路径。
3)tree命令

​ 以树型结构显示当前或指定目录的结构

tree           #显示当前目录下所有的文件和目录的树型结构
tree /root     #显示/root目录下所有的文件和目录的树型结构
tree -L 1 /    #显示/目录下的第1层文件和目录的树型结构 
tree -d /	   #显示/目录下的所有目录不显示文件
tree -L 1 -d / #显示/目录下的第1层目录不显示文件

​ tree命令的参数选项及说明:

参数选项解释说明
-a显示所有文件包含隐藏文件(以"."开头的文件)
-d只显示目录
-f显示每个文件的全路径
-i不显示树枝,常与-f参数配合使用。
-L level遍历目录的最大层,level为大于0的正整数。
-F在执行文件、目录、socket、符号连接、管道名称等不同类型文件结尾,各自加上"*“、”/“、”=“、”@“、”|"符号,类似ls命令的-F选项。
4)、mkdir(make directoryies)命令

​ 在当前目录或指定目录下创建目录

mkdir x              #在当前目录下创建名为x的目录
mkdir /root/x        #在/root目录下创建名为x的目录
mkdir -p /root/x/xx  #如果/x/xx不存在则在/root目录下创建名为x和xx的级联子目录,如果目录已存在则不会创建目录并保留目录里已存在的文件。
mkdir -m 333 /root/x #在/root目录下创建名为x的目录并设置其操作权限为333
mkdir a b c d        #在当前目录下批量创建名为a、b、c、d的目录
mkdir x{1..10}       #在当前目录下批量创建以x开序号为1-10的目录

​ mkdir命令的参数选项及说明:

参数选项解释说明
-p递归创建目录(递归:逐级遍历的意思);如果要创建的目录已存在,不提示错误且不创建目录。
-m设置新创建目录的默认目录对应的权限
-v显示创建目录的过程
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一年一步

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值