小米公開聲音充電專利:可利用環境聲給電子裝置充電
阿新 • • 發佈:2021-06-18
shell基礎命令
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