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 主机名 ~ 代表所在路径
(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 ~]#
[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 ~]#
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