shell基础命令
shell基础命令
加密与破解
单用户破解root密码
1.开机进入,不要让系统进去,按e
2.出现一个界面,把ro改成rw init=/sysroot/bin/sh
3.Ctr + x进入单用户模式
4.执行chroot /sysroot。 其中chroot命令用来切换系统,/sysroot/目录就是原始系统
5.执行passwd, 输入密码
6.执行touch /.autorelabel
7.退出,重启
grup加密
1.执行 grub2-setpassword
2.回车,,输入密码
3.重启
光盘修复模式
1.进入bios界面
2.把光盘驱动挪到第一个
3.按continue
4.执行 chroot /mnt/sysimage/
5.执行 passwd
6.重启
bios 加密
bios界面去改
抠电池
GNU bash
bash具有极强的可移植性,他能运行于大多数Unix风格的操作系统上。
posix,是一个可移植操作系统接口
创建用户,密码
[root@localhost ~]# useradd asd 添加用户
[root@localhost ~]# passwd asd 交互式环境设置密码
更改用户 asd 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# echo '123' | passwd --stdin asd 非交互式环境设置密码
更改用户 asd 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]#
# 代表超级管理员对应的命令行
$ 代表普通用户的命令行
root 当前登录的用户
localhost 主机名
~ 代表所在路径
shell命令的组成
(1) 命令:要执行的具体操作(必选)
(2) 选项:如何执行操作,通常以 _ , __ , + 开头(可选)
(3) 参数:具体执行操作的对象(可选)
[root@localhost ~]# cd /boot
[root@localhost boot]# ls
config-3.10.0-1160.el7.x86_64 initramfs-0-rescue-39e1259751d9445c8bb1864ed271e37e.img vmlinuz-0-rescue-39e1259751d9445c8bb1864ed271e37e
efi initramfs-3.10.0-1160.el7.x86_64.img vmlinuz-3.10.0-1160.el7.x86_64
grub symvers-3.10.0-1160.el7.x86_64.gz
grub2 System.map-3.10.0-1160.el7.x86_64
[root@localhost boot]# cd
[root@localhost ~]# ls /boot
config-3.10.0-1160.el7.x86_64 initramfs-0-rescue-39e1259751d9445c8bb1864ed271e37e.img vmlinuz-0-rescue-39e1259751d9445c8bb1864ed271e37e
efi initramfs-3.10.0-1160.el7.x86_64.img vmlinuz-3.10.0-1160.el7.x86_64
grub symvers-3.10.0-1160.el7.x86_64.gz
grub2 System.map-3.10.0-1160.el7.x86_64
[root@localhost ~]# ls -l /boot
总用量 98896
-rw-r--r--. 1 root root 153591 10月 20 2020 config-3.10.0-1160.el7.x86_64
drwxr-xr-x. 3 root root 17 6月 22 01:02 efi
drwxr-xr-x. 2 root root 27 6月 22 01:04 grub
drwx------. 5 root root 113 6月 22 10:15 grub2
-rw-------. 1 root root 62500154 6月 22 01:11 initramfs-0-rescue-39e1259751d9445c8bb1864ed271e37e.img
-rw-------. 1 root root 21129085 6月 22 04:59 initramfs-3.10.0-1160.el7.x86_64.img
-rw-r--r--. 1 root root 320648 10月 20 2020 symvers-3.10.0-1160.el7.x86_64.gz
-rw-------. 1 root root 3616707 10月 20 2020 System.map-3.10.0-1160.el7.x86_64
-rwxr-xr-x. 1 root root 6769256 6月 22 01:11 vmlinuz-0-rescue-39e1259751d9445c8bb1864ed271e37e
-rwxr-xr-x. 1 root root 6769256 10月 20 2020 vmlinuz-3.10.0-1160.el7.x86_64
[root@localhost ~]#
命令是必不可少的,参数不写默认是当前位置
时间
时间分为硬件时间与系统时间两种,date设置的是系统时间
硬件时间: 硬件时间指的是主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟,硬件时间存放于CMOS中
系统时间: 是指kernel中的时钟
[root@localhost ~]# date 打印当前时间
2021年 06月 22日 星期二 14:57:45 CST
[root@localhost ~]# date '+%F' 只打印年月日
2021-06-22
[root@localhost ~]# date '+%Y' 只打印年
2021
[root@localhost ~]# date '+%Y-%m-%d %H:%M:%S' 按照指定格式打印
2021-06-22 15:00:10
[root@localhost ~]# date -s'2020-6-22 06:06:06' 设置时间,改时间
2020年 06月 22日 星期一 06:06:06 CST
[root@localhost ~]# date
2020年 06月 22日 星期一 06:06:10 CST
[root@localhost ~]# hwclock 查看硬盘的时间
2021年06月22日 星期二 15时01分34秒 -0.978064 秒
[root@localhost ~]# hwclock -w 将内存的时间同步到硬盘
[root@localhost ~]# date
2020年 06月 22日 星期一 06:06:40 CST
[root@localhost ~]# ntpdate ntp1.aliyun.com 使用阿里云服务器的时间
22 Jun 15:03:20 ntpdate[1967]: step time server 120.25.115.20 offset 31568111.739920 sec
[root@localhost ~]# date
2021年 06月 22日 星期二 15:03:22 CST
[root@localhost ~]# hwclock -w
[root@localhost ~]# hwclock
2021年06月22日 星期二 15时03分34秒 -0.351093 秒
[root@localhost ~]# timedatectl set-ntp true 让时间随服务器动态变化
[root@localhost ~]# timedatectl set-timezone UTC 使用UTC时区的时间
[root@localhost ~]# date
2021年 06月 22日 星期二 07:05:26 UTC
[root@localhost ~]# timedatectl set-timezone Asia/Shanghai 使用上海时区的时间
[root@localhost ~]# date
date
2021年 06月 22日 星期二 15:05:46 CST
[root@localhost ~]#
[root@localhost ~]# timedatectl list-timezones 查看时区
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
Africa/Bamako
Africa/Bangui
Africa/Banjul
........
文件读写
[root@localhost ~]# clear
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 写
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 打开读
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=ba23abb3-a975-41c3-9d8d-0154e7a61579
DEVICE=ens33
ONBOOT=yes
[root@localhost ~]#
uname
[root@localhost ~]# una
unalias uname
[root@localhost ~]# uname --
--all --help --kernel-release --machine --operating-system --version
--hardware-platform --kernel-name --kernel-version --nodename --processor
[root@localhost ~]# uname --help
用法:uname [选项]...
输出一组系统信息。如果不跟随选项,则视为只附加-s 选项。
-a, --all 以如下次序输出所有信息。其中若-p 和
-i 的探测结果不可知则被省略:
-s, --kernel-name 输出内核名称
-n, --nodename 输出网络节点上的主机名
-r, --kernel-release 输出内核发行号
-v, --kernel-version 输出内核版本
-m, --machine 输出主机的硬件架构名称
-p, --processor 输出处理器类型或"unknown"
-i, --hardware-platform 输出硬件平台或"unknown"
-o, --operating-system 输出操作系统名称
--help 显示此帮助信息并退出
--version 显示版本信息并退出
GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
请向<http://translationproject.org/team/zh_CN.html> 报告uname 的翻译错误
要获取完整文档,请运行:info coreutils 'uname invocation'
[root@localhost ~]# uname -r
3.10.0-1160.el7.x86_64
[root@localhost ~]# uname -m
x86_64
[root@localhost ~]# uname -a
Linux localhost.localdomain 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]#
bash解释器的特性
1.命令和文件自动补全<tab> 注意:Tab只能补全命令和文件
2.快捷键
ctrl+ c 终止前台运行的程序
ctrl+ d 退出 等价exit
ctrl+ l 清屏
ctrl+ a 光标移到命令行的最前端(*****)
ctrl+ e 光标移到命令行的后端(*****)
ctrl+ r 搜索历史命令,利用关键词
Alt+. 引用上一个命令的最后一个参数,等价于!$
历史命令
[root@localhost ~]# history 查看历史命令
....
[root@localhost ~]# history -c 清空历史命令
[root@localhost ~]# history
1 history
[root@localhost ~]# pwd 查看当前目录
/root
[root@localhost ~]# ca
cacertdir_rehash cache_metadata_size cache_writeback caller capsh cat
cache_check cache_repair cal callgrind_annotate captoinfo catchsegv
cache_dump cache_restore ca-legacy callgrind_control case catman
[root@localhost ~]# cat /root/.bash
.bash_history .bash_logout .bash_profile .bashrc
[root@localhost ~]# cat /root/.bash_history 查看历史命令的文件夹
.......
[root@localhost ~]#
删除文件夹的历史命令,用dd就可以删除
查找历史命令并运行
(1) 光标上下键
(2) CTRL+ r 搜索历史命令(输入一段命令的关键字,,,这种很少用)
(3) !+ 命令编号 执行历史命令中的第某个命令
(4) !+ 字符串 搜索历史命令中最近一个以字符串开头的命令
(5) !$ 引用上一条命令的最后一个参数
别名
[root@localhost ~]# alias 查看当前系统的别名
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@localhost ~]# alias xxx="cat /etc/sysconfig/network-scripts/ifcfg-ens33 " 给这条命令起别名
[root@localhost ~]# xxx 运行这个别名
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=ba23abb3-a975-41c3-9d8d-0154e7a61579
DEVICE=ens33
ONBOOT=yes
[root@localhost ~]#
[root@localhost ~]# ls
anaconda-ks.cfg a.sh
[root@localhost ~]# ls /etc 这里用的ls是别名,
.....
[root@localhost ~]# which ls 查看这个别名的路径
alias ls='ls --color=auto'
/usr/bin/ls
[root@localhost ~]# /usr/bin/ls 拿到别名路径做最原始的运行
anaconda-ks.cfg a.sh
[root@localhost ~]# /usr/bin/ls /etc
........
[root@localhost ~]# \ls /etc 这样也可以不在受别名的影响
[root@localhost ~]#
命令查找的优先级
以路径优先(绝对路径,相对路径)---再是alias别名
常用命令
重启
shutdown -r 10 // 10分钟后重启
shutdown -r 0 // 立即重启
shutdown -r now // 立即重启
shutdown -r 11:30 // 定点重启
init 6 // 立即重启
reboot // 立即重启
关机
shutdown -h 10 // 10分钟后关机
shutdown -h 0 // 立刻关机
shutdown -h now // 立刻关机
shutdown -h 11:30 // 定点关机
halt // 立即停止系统,需要人工关闭电源
poweroff // 立即停止系统,并且关闭电源
取消关机
showdown -c
注销登录的账号
exit
logout
ctrl+d
浙公网安备 33010602011771号