1. 程式人生 > 資訊 >小米公開聲音充電專利:可利用環境聲給電子裝置充電

小米公開聲音充電專利:可利用環境聲給電子裝置充電

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