初识shell之系统命令基础
内容概述
一 shell介绍
二 shell交互式环境
三 shell命令语法
四 bash解释器特性
五 查看帮助信息
六 常用命令
内容详细
1.shell介绍
Shell是指一种应用程序,这个应用程序提供了一个界面,用
户通过这个界面访问操作系统内核的服务,简而言之就是只要能够操作应用程序的接口都能够称为
SHELL。狭义的shell指的是命令行方面的软件,广义的SHELL则包括图形界面.
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言.它可以代指两层意思:
- 1.命令解释器
python语言 <<======>> shell命令
python解释器 <<======>> shell解释器
操作系统 <<======>> 操作系统
计算机硬件 <<======>> 计算机硬件
我们可以用shell实现对linux系统的管理,例如:
1. 文件管理
2. 用户与权限管理
3. 进程管理
4. 磁盘管理
5. 网络管理
6. 软件管理
- 2.shell脚本
1.什么是shell脚本?
Shell 脚本(shell script)是一种为 shell 编写的脚本程序.常说的shell通常都是指 shell 脚 本,但shell和shell script是两个不同的概念.通常说“shell编程”都是指 shell 脚本编程,不是指开发shell 自身.
2.什么是bash?
Bash(GNU Bourne-Again Shell)是许多Linux平台的内定Shell,事实上,还有许多传统UNIX上用的Shell,像tcsh、csh、ash、bsh、ksh等等,Shell Script大致都类同,即命令大都通用.当您学会一种Shell以后,其它的Shell会很快就上手,大多数的时候,一个Shell Script通常可以在很多种Shell上使用.
bash是大多数Linux系统以及Mac OS X v10.4默认的shell,bash具有极强的可移植性.
bash的命令语法很多来自Korn shell (ksh) 和 C shell (csh),例如命令行编辑,命令历史,目录栈,$RANDOM 和 $PPID 变量,以及POSIX的命令置换语法:$(...).GNU. bash作为一个交互式的 shell,按下TAB键即可自动补全已部分输入的程序名,文件名,变量名等等.
3.什么是posix?
简单了解一下:
POSIX(Portable Operating System Interface,可移植操作系统接口)是操作系统为应用程序提供的接口标准.简单的说,POSIX(主要是解决了应用程序在各个操作系统上兼容性这样一个普遍存在的问题.只要一个应用程序的开发是为了在一个实现了POSIX模式的操作系统上运行,那么这个应用程序就可以在所有实现了POSIX模式的操作系统上运行.
2.shell交互式环境
[root@xxx ~]# #号 代表超级管理员用户对应的命令行
[root@xxx ~]$ $号 代表普通用户对应的命令行
root ==>当前登录的用户
@ =====>分隔符
xxx ==>主机名
~ ====>当前所在的路径
3.shell命令语法
shell由三部分组成:
1、命令:要执行的操作(必选)
2、选项:如何具体执行操作,通常以 -, --, +开头(可选)
3、参数:具体操作的对象(可选)
ps:unxi系统认为命令运行完毕后没有提示就是最好的提示,结果正确一般没有反馈信息.linux继承了这一点.例:
[root@localhost ~]# date
2020年 08月 12日 星期三 16:13:08 CST
[root@localhost ~]# date +%F
2020-08-12
[root@localhost ~]# date -s 16:14:00 2
020年 08月 12日 星期三 16:14:00 CST
[root@localhost ~]# date -s "2022-11-11 11:11:11"
2022年 11月 11日 星期五 11:11:11 CST
4.bash解释器特性
- 1.命令和文件自动补齐 值得注意:Tab键只能补全命令和文件
[root@localhost ~]# ls /etc/sysconfig/network-scripts/ifcfg-eth0 # 查看网卡信息
- 2.一些快捷键
与Ctrl键组合:
c 终止前台运行的程序
d 退出 等价于exit
l 清屏
a 光标移到命令行的最前端 k 删除光标后的全部内容
e 光标移到命令行的最后端 u 删除光标后的全部内容
r 搜索历史命令,利用关键词 Alt+. 引用上一个命令的最后一个参数,等价于!$
- 3.历史命令
1、查看历史命令 [root@xxx ~]# history
2、清空历史命令 [root@xxx ~]# history -c
3、历史命令保存文件:cat ~/.bash_history
4、历史命令默认保存1000条,可以修改/etc/profile中的HISTSIZE=2000
5、查找历史命令并运行
(1)光标上下键
(2)Ctrl + r # 搜索历史命令(输入一段某条命令的关键字:必须是连续的)
(3)!220 # 执行历史命令中第220条命令
(4)!字符串 # 搜索历史命令中最近一个以xxxx字符开头的命令,例如!ser
(5)!$ # 引用上一个命令的最后一个参数
[root@xxx home]# ls /root /home
[root@xxx home]# cd !$ cd /home
[root@xxx home]# ls /root /home
[root@xxx home]# touch !$/file1 touch /home/file1
- 4.别名
别名
# alias # 查看系统当前的别名
ll='ls -l --color=tty'
# alias egon='ls /etc/sysconfig/network-scripts/' # 建立别名
# unalias egon
[root@xxx ~]# grep root /etc/passwd # 默认有颜色
[root@xxx ~]# alias grep alias grep='grep --color=auto'
5.查看帮助信息
1.man手册
2.--help或者help命令
用法:ls [选项]... [文件]...
ls 常见选项
-a all,查看目录下的所有文件,包括隐藏文件
-l 长列表显示
-h human 以人性化方式显示出来
-d 只列出目录名,不列出其他内容
-t 按修改时间排序
-r 逆序排列
-i 显示文件的inode号(索引号)
3.info 非常详细的显示命令的说明信息
4.官方手册
5.当然是baidu,google喽
6.常用基本命令
1.设置主机名
[root@iZm5e59rizbgmmp4net6zbZ ~]# hostnamectl set-hostname oldboy # 退出重新进入即可看到
2.设置默认启动级别
[root@iZm5e59rizbgmmp4net6zbZ ~]# systemctl set-default graphical.target # 图形界面
[root@iZm5e59rizbgmmp4net6zbZ ~]# systemctl set-default multi-user.target # 字符终端
3.查看Ip地址
ifconfig 需要安装软件包
ip a
4.时间相关
查看时间:# date "+%Y_%m_%d %H-%M-%S"
设置时间:#date -s "2018-05-17 09:51:50"
或者
# timedatectl set-time '16:10:40 2022-11-12 13:14:15'
ps:date设置的是系统时间,实际上时间分为硬件时钟与系统时钟两种
与网络时间服务器同步:[root@localhost ~]# ntpdate 0.cn.pool.ntp.org
12 Aug 21:04:14 ntpdate[10099]: step time server 203.107.6.88 offset
-7826995.450514 sec
[root@localhost ~]# date
[root@localhost ~]# hwclock -w
ps:必须有root权限才能执行这个命令
5.重启机器:
shutdown -r 10 # 10分钟后重启
shutdown -r 0 # 立即重启
shutdown -r now # 立即重启
shutdown -r 11:30 # 定点重启
init 6 # 立即重启
reboot # 立即重启
6.关机:
shutdown -h 10 # 10分钟后关机
shutdown -h 0 # 立刻关机
shutdown -h now # 立刻关机
shutdown -h 11:30 # 定点关机
halt # 立即停止系统,需要人工关闭电源
poweroff # 立即停止系统,并且关闭电源
取消正在进行的关机或重启:
showdown -c
6.注销登录的账号:
exit
logout
ctrl+d

浙公网安备 33010602011771号