linux下電源管理命令 linux電源管理機(jī)制

linux電源管理的一些梳理

由于項(xiàng)目產(chǎn)品需要過(guò)能源之星3.0,所以最近做了一些電源管理低功耗方面的工作,抽個(gè)時(shí)間正好梳理一下。

我們提供的服務(wù)有:成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、清水河ssl等。為近千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢(xún)和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的清水河網(wǎng)站制作公司

其實(shí)Linux 電源管理非常復(fù)雜,牽扯到很多方面,比如系統(tǒng)級(jí)的待機(jī)、頻率電壓變換、系統(tǒng)空閑時(shí)的處理以及每個(gè)設(shè)備驅(qū)動(dòng)對(duì)于系統(tǒng)待機(jī)的支持和每個(gè)設(shè)備的運(yùn)行時(shí)電源管理,可以說(shuō)和系統(tǒng)中的每個(gè)設(shè)備驅(qū)動(dòng)也都息息相關(guān)。

在Linux內(nèi)核上有如下的框架支持:

1. CPU 在運(yùn)行時(shí)根據(jù)系統(tǒng)負(fù)載進(jìn)行動(dòng)態(tài)電壓和頻率變換的CPUFreq ;

2. CPU 在系統(tǒng)空閑時(shí)根據(jù)空閑的情況進(jìn)行低功耗模式的CPUIdle ;

3. 多核系統(tǒng)下CPU 的熱插拔支持 ;

4. 系統(tǒng)和設(shè)備對(duì)于延遲的特別需求而提出申請(qǐng)的PMQoS,它會(huì)作用于CPUIdle 的具體策略 ;

5. 設(shè)備驅(qū)動(dòng)針對(duì)系統(tǒng)Suspend to RAM/Disk 的一系列入口函數(shù) ;

6. SoC 進(jìn)入suspend 狀態(tài)、SDRAM 自刷新的入口 ;

7. 設(shè)備的runtime(運(yùn)行時(shí))動(dòng)態(tài)電源管理,根據(jù)使用情況動(dòng)態(tài)開(kāi)關(guān)設(shè)備 ;

8. 底層的時(shí)鐘、穩(wěn)壓器、頻率/電壓表(OPP 模塊完成)支撐;

Linux電源管理中主要使用的技術(shù)包括:

1、CPUFreq : 即DVFS(Dynamic voltage and frequency scaling),即動(dòng)態(tài)電壓頻率調(diào)整。在系統(tǒng)運(yùn)行時(shí)根據(jù)系統(tǒng)負(fù)載動(dòng)態(tài)調(diào)節(jié);

2、DEVFreq:CPUFreq只針對(duì)CPU做動(dòng)態(tài)電壓頻率調(diào)節(jié),而devfreq可以對(duì)設(shè)備,如DRAM,GPU等做動(dòng)態(tài)電壓頻率調(diào)節(jié);

3、CPUIdle:CPU在系統(tǒng)空閑時(shí)根據(jù)空閑的情況進(jìn)行低功耗模式,比如C0--C3四個(gè)狀態(tài)對(duì)應(yīng)不同的低功耗策略;

4、CPUHotplug:多核系統(tǒng)下CPU的熱插拔支持;

5、PM QOS:主要作用于cpuidle的具體策略,是針對(duì)系統(tǒng)和設(shè)備對(duì)于延遲的特別需求而提出的;

6、SUSPEND:主要有suspend to ram和suspend to disk兩種,suspend to ram主要是掛起各設(shè)備,并使dram進(jìn)入自刷新,而suspend to disk就干脆把dram也關(guān)掉,直接把狀態(tài)保存到disk;

7、RUNTIME PM:設(shè)備的runtime(運(yùn)行時(shí))動(dòng)態(tài)電源管理,根據(jù)使用情況動(dòng)態(tài)開(kāi)關(guān)設(shè)備;

8、Regulator:用于調(diào)節(jié)CPU等模塊的電壓和電流值;

9、OPP:可以使SOCs或者Devices正常工作的電壓和頻率組合。內(nèi)核提供這一個(gè)Layer,是為了在眾多的電壓和頻率組合中,篩選出一些相對(duì)固定的組合,從而使事情變得更為簡(jiǎn)單一些;

10、Thermal:溫控管理。

電源管理相關(guān)源碼在內(nèi)核樹(shù)中主要分布于:

kernel/power/ *

drivers/power/

drivers/base/power/*

drivers/cpuidle/*

drivers/cpufreq/*

drivers/devfreq/*

include/linux/power_supply.h

include/linux/cpuidle.h

include/linux/cpufreq.h

include/linux/cpu_pm.h

include/linux/device.h

include/linux/pm.h

include/linux/pm domain.h

include/linux/pm runtime.h

include/linux/pm wakeup.h

include/linux/suspend.h

linux進(jìn)程的電源管理

這個(gè)問(wèn)題我解決過(guò)哦。

用P/Invoke調(diào) API:kernel32.dll中的GetSystemPowerStatus函數(shù)。函數(shù)返回系統(tǒng)的電源狀態(tài)。狀態(tài)指數(shù)系統(tǒng)是在直流電源還是交流電源下運(yùn)作,電池是否在充電,電池的剩余電量。

先定義結(jié)構(gòu)體:

[StructLayout(LayoutKind.Sequential)]

public struct SYSTEM_POWER_STATUS

{

public byte ACLineStatus;

public byte BatteryFlag;

public byte BatteryLifePercent;

public byte Reserved1;

public int BatteryLifeTime;

public int BatteryFullLifeTime;

}

然后導(dǎo)入外部函數(shù):

[DllImport("kernel32.dll", CharSet=CharSet.Auto, ExactSpelling=true)]

public static extern bool GetSystemPowerStatus(ref SYSTEM_POWER_STATUS systemPowerStatus);

如果調(diào)用成功,返回 true,然后分析systemPowerStatus的數(shù)據(jù)就行。

ACLineStatus為1時(shí),表示正在使用交流電源,為0使用直流電源。

希望能夠幫到你。

linux下如何在終端使用命令直接打開(kāi)系統(tǒng)電源管理的GUI界面?

我的ubuntu里也裝了Kde,不過(guò)現(xiàn)在在windows下工作,不能切過(guò)去,我想你也可以利用 tab鍵去試,比如說(shuō)輸入kde后按tab,多按幾次,讓它列出所有的以kde打頭的命令,再?gòu)睦锩嬲?也可以試試k打頭的,power打頭的,等等.

求linux基本命令

常用系統(tǒng)服務(wù)

============

acpi-support 高級(jí)電源管理支持

acpid acpi守護(hù)程序.這兩個(gè)用于電源管理,非常重要

alsa 聲音子系統(tǒng)

alsa-utils

anacron cron的子系統(tǒng),將系統(tǒng)關(guān)閉期間的計(jì)劃任務(wù),在下一次系統(tǒng)運(yùn)行時(shí)執(zhí)行。

apmd acpi的擴(kuò)展

atd 類(lèi)似于cron的任務(wù)調(diào)度系統(tǒng)。建議關(guān)閉

binfmt-support 核心支持其他二進(jìn)制的文件格式。建議開(kāi)啟

bluez-utiles 藍(lán)牙設(shè)備支持

bootlogd 啟動(dòng)日志。開(kāi)啟它

cron 任務(wù)調(diào)度系統(tǒng),建議開(kāi)啟

cupsys 打印機(jī)子系統(tǒng)。

dbus 消息總線系統(tǒng)(message bus system)。非常重要

dns-clean 使用撥號(hào)連接時(shí),清除dns信息。

evms 企業(yè)卷管理系統(tǒng)(Enterprise Volumn Management system)

fetchmail 郵件用戶代理,用于收取郵件

gdm gnome登錄和桌面管理器。

gdomap

gpm 終端中的鼠標(biāo)支持。

halt 別動(dòng)它。

hdparm 調(diào)整硬盤(pán)的腳本,配置文件為“/etc/hdparm.conf”。

hibernate 系統(tǒng)休眠

hotkey-setup 筆記本功能鍵支持。支持類(lèi)型包括: HP, Acer, ASUS, Sony, Dell,和IBM。

hotplug and hotplug-net 即插即用支持,比較復(fù)雜,建議不要?jiǎng)铀?/p>

hplip HP打印機(jī)和圖形子系統(tǒng)

ifrename 網(wǎng)絡(luò)接口重命名腳本。如果您有十塊網(wǎng)卡,您應(yīng)該開(kāi)啟它

inetd在文件“/etc/inetd.conf”中,注釋掉所有你不需要的服務(wù)。如果該文件不包含任何服務(wù),那關(guān)閉它是很安全的。

klogd 重要。

linux-restricted-modules-common受限模塊支持。“/lib/linux-restricted-modules/”文件夾中的模塊為受限模塊。例如某些驅(qū)動(dòng)程序,如果您沒(méi)有使用受限模塊,就不需要開(kāi)啟它。

lvm 邏輯卷管理系統(tǒng)支持。

makedev 創(chuàng)建設(shè)備文件,非常重要。

mdamd 磁盤(pán)陣列

module-init-tools 從/etc/modules加載擴(kuò)展模塊,建議開(kāi)啟。

networking 網(wǎng)絡(luò)支持。按“/etc/network/interfaces”文件預(yù)設(shè)激活網(wǎng)絡(luò),非常重要。

ntpdate 時(shí)間同步服務(wù),建議關(guān)閉。

pcmcia pcmcia設(shè)備支持。

powernowd 移動(dòng)CPU節(jié)能支持

ppp and ppp-dns 撥號(hào)連接

readahead 預(yù)加載庫(kù)文件。

reboot 別動(dòng)它。

resolvconf 自動(dòng)配置DNS

rmnologin 清除nologin

rsync rsync守護(hù)程序

sendsigs 在重啟和關(guān)機(jī)期間發(fā)送信號(hào)

single 激活單用戶模式

ssh ssh守護(hù)程序。建議開(kāi)啟

stop-bootlogd 在2,3,4,5運(yùn)行級(jí)別中停止bootlogd服務(wù)

sudo 檢查sudo狀態(tài)。重要

sysklogd 系統(tǒng)日志

udev udev-mab 用戶空間dev文件系統(tǒng)(userspace devfilesystem)。重要

umountfs 卸載文件系統(tǒng)

urandom 隨機(jī)數(shù)生成器

usplash 開(kāi)機(jī)畫(huà)面支持

vbesave 顯卡BIOS配置工具。保存顯卡的狀態(tài)

xorg-common 設(shè)置X服務(wù)ICE socket。

adjtimex 調(diào)整核心時(shí)鐘的工具

dirmngr 證書(shū)列表管理工具,和gnupg一起工作。

hwtools irqs優(yōu)化工具

libpam-devperm 系統(tǒng)崩潰之后,用于修理設(shè)備文件許可的守護(hù)程序。

lm-sensors 板載傳感器支持

mdadm-raid 磁盤(pán)陳列管理器

screen-cleanup 清除開(kāi)機(jī)屏幕的腳本

xinetd 管理其他守護(hù)進(jìn)程的一個(gè)inetd超級(jí)守護(hù)程序

系統(tǒng)管理

========

一些細(xì)節(jié)

--------

Linux是大小寫(xiě)敏感的系統(tǒng),所有的命令、路徑、參數(shù)、變量……都區(qū)分大小寫(xiě)

您可以使用TAB鍵補(bǔ)全您的命令,無(wú)論任何時(shí)候,多按幾次TAB總會(huì)有所幫助

Shell的功能鍵能夠協(xié)助您更高效的編輯命令,請(qǐng)熟悉其鍵綁定,盡量使用它

命令由命令名、分隔符、參數(shù)、操作對(duì)象構(gòu)成

命令名標(biāo)識(shí)命令的功能,例如cp(copy)、mv(move)、rm(remove)……

有些命令包含一些子命令,您可以認(rèn)為它的命令名由兩個(gè)單詞構(gòu)成,例如“apt”軟件包管理系統(tǒng):

apt-get install 安裝一個(gè)軟件

apt-get remove 刪除一個(gè)軟件

分隔符為空格,多個(gè)連續(xù)的空格視為一個(gè)空格,下面兩個(gè)命令相同:

cp a b

cp a b

有一些特殊符號(hào)也屬于分隔符,例如管道(“|”)、重定向(“”、“”、“”)、后臺(tái)運(yùn)行(“”)、序列執(zhí)行(“”、“;”)。使用這些符號(hào)時(shí),您不需要再使用空格作為分隔符,例如:

ls -al|less

我們寫(xiě)為以下形式,只是為了您更容易的閱讀它:

ls -al | less

參數(shù)可以精細(xì)調(diào)節(jié)命令的行為,以“-”引導(dǎo),通常為參數(shù)名的首字母。許多軟件都可以使用“-h”參數(shù)來(lái)閱讀使用說(shuō)明,例如:

apt-get -h

您也可以使用參數(shù)的全名,一般以“--”引導(dǎo),例如:

apt-get --help

多數(shù)命令中,使用“-”引導(dǎo)多個(gè)字符,將會(huì)被視為多個(gè)參數(shù),例如:

apt-get -help

系統(tǒng)會(huì)解讀為以下命令

apt-get -h -e -l -p

少數(shù)命令的參數(shù),不需要以“-”引導(dǎo),或者使用“-”引導(dǎo)參數(shù)全名,例如:

ps aux

/etc/init.d/gdm start

mplayer -loop xxx

當(dāng)您需要對(duì)多個(gè)對(duì)象進(jìn)行操作時(shí),您可以使用空格分隔符將它們隔開(kāi):

touch 1 2 3 4 5 6

使用空格分隔的多個(gè)對(duì)象,視為一個(gè)整體,作為命令的一個(gè)操作對(duì)象:

mv 1 2 3 4 5 6 /home/

這個(gè)命令把“1 2 3 4 5 6”作為一個(gè)操作對(duì)象,移動(dòng)到另一個(gè)操作對(duì)象,“/home/”目錄

遞歸表示在子層次中重復(fù)相同操作。例如遞歸復(fù)制某目錄,不但復(fù)制當(dāng)前目錄及其下的所有文件;而且對(duì)當(dāng)前目錄的子目錄,也進(jìn)行遞歸復(fù)制的操作。

格式約定

--------

使用“[]”表示可選項(xiàng),實(shí)際輸入為方括號(hào)中的內(nèi)容,例如

ls [-al]

ls是必須的,參數(shù)不需要以方括號(hào)包圍起來(lái)。

使用“”表示必需項(xiàng),實(shí)際輸入為尖括號(hào)中的內(nèi)容

使用“|”表示“或”,以“|”分隔的項(xiàng)目不能同時(shí)使用,例如

tar [-z|j c|x vf] 歸檔文件 [源文件]

參數(shù)通常緊跟命令名,除非必要,在命令格式中,我們通常省略它們

系統(tǒng)信息

--------

uptime

聯(lián)機(jī)信息-時(shí)間,顯示如下

11:27pm up 9 days, 7:12, 3 user, load average: 0.07, 0.12,0.14

當(dāng)前系統(tǒng)時(shí)間 系統(tǒng)運(yùn)行時(shí)間 當(dāng)前在線用戶數(shù) 系統(tǒng)負(fù)荷 1分鐘前 5分鐘前 15分鐘前

w

聯(lián)機(jī)信息-已登錄用戶,顯示如下

01:04:10 up 1:34, 2 users, load average: 0.25, 0.16, 0.11

uptime 信息

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

user tty1 192.168.0.1 23:30 1:33 0.14s 0.12s -bash

用戶名 登錄方式 來(lái)源地址 登錄時(shí)間 發(fā)呆時(shí)間 資源占用 當(dāng)前任務(wù)

Tips:w [用戶名稱(chēng)] : 顯示某一用戶相關(guān)信息

who

聯(lián)機(jī)信息,常用參數(shù)

-r 運(yùn)行級(jí)別

whoami

顯示當(dāng)前用戶名

last

最近用戶登錄信息

-數(shù)字 使用數(shù)字作為參數(shù),控制顯示條目。例如

last -10 顯示10條紀(jì)錄

uname

系統(tǒng)信息

-s 內(nèi)核名稱(chēng)(默認(rèn)參數(shù))

-a 全部

-p CPU信息

-n 主機(jī)名

-r 內(nèi)核發(fā)行信息(版本號(hào))

-v 內(nèi)核版本信息

date

顯示、設(shè)定系統(tǒng)時(shí)間

-u 顯示格林尼洛時(shí)間(UTC)

MMDDhhmm[[CC]YY][.ss] 設(shè)定時(shí)間,需要管理員權(quán)限。例如: date 12292359

MM 月份 DD 天數(shù) hh 小時(shí) mm 分鐘 CC 年份前兩位 YY 年份后兩位 ss 秒鐘

秒鐘、年份為可選,例如: date 122923592006.59

+[%X]設(shè)定顯示格式,以下為date默認(rèn)輸出格式:

date +%Y年\ %m月\ %d日\(chéng) %A\ %H:%M:%S\ %Z

格式控制

%n 換行

%t 制表符

小時(shí)

%H(00~23) %I(01~12) %k(0~23) %l(1~12) %p(AM|PM)

分、秒

%M分鐘(00~59)

%S秒(00..61)

%T(hh:mm:ss) %r(hh:mm:ss [AM|PM])

%s 從1970年1月1日00:00:00 UTC到目前為止的秒數(shù)

%X(%H:%M:%S)

%Z時(shí)區(qū)

星期

%a(Sun~Sat) %A(Sunday~Saturday) %w : 一周中的第幾天 (0..6)

年份

%Y(0000~9999) %y(00~99)

月份

%m(01~12) %b %h(Jan~Dec) %B(January~December)

日期

%d(01~31) %j(001~366)

%x(本地格式mm/dd/yy) %D(mm/dd/yy) %c

一年中的第幾周

%U(00~53)以Sunday為一周的第一天 %W(00~53)以Monday為一周的第一天

cal

顯示日歷

文件管理

--------

鏈接

為當(dāng)前文件建立在其它路徑中的訪問(wèn)方法。例如將系統(tǒng)中其它位置的可執(zhí)行文件,鏈接到“/usr/local/bin”目錄下,使用命令調(diào)用。

ls [路徑]

顯示當(dāng)前目錄文件列表

--color 不同屬性以不同顏色顯示(默認(rèn)參數(shù))

-a 全部顯示

-i 顯示inode值

-l 詳細(xì)信息

-F 顯示文件類(lèi)型后綴 目錄/ 鏈接@ 可執(zhí)行文件* 端口文件= 管道文件|

-A 顯示隱藏文件

-R 遞歸顯示子目錄文件列表

-S 按文件大小排序

-t 按修改時(shí)間排序

-u 按訪問(wèn)時(shí)間排序

-d 只顯示目錄,不遞歸顯示目錄下的文件

cd [目錄路徑] | [特殊路徑]

切換目錄

目錄路徑可以使用絕對(duì)路徑或者相對(duì)路徑

特殊路徑:

~ $HOME目錄(默認(rèn)值)

- 上一次目錄

.. 上一級(jí)目錄

. 當(dāng)前目錄

Tips:您可以通過(guò)修改“/etc/environment”文件,來(lái)定義$CDPATH變量,設(shè)定“cd”命令的搜索路徑。

pwd

顯示當(dāng)前路徑

file 文件名

顯示文件類(lèi)型

-i 顯示mime類(lèi)型

du [文件名]

計(jì)算文件或目錄空間占用

-h 人性化顯示。自動(dòng)以G、M、K為單位顯示占用空間大小

-l 重復(fù)計(jì)算硬鏈接文件大小

-L 計(jì)算符號(hào)鏈接文件大小

-a 顯示當(dāng)前目錄子目錄中的文件

-c 顯示文件數(shù)

less 文件名

瀏覽文件,使用VI和Emacs兩種風(fēng)格的鍵綁定。以下為VI風(fēng)格鍵綁定

Ctrl+f(orward) 向下翻一頁(yè) Ctrl+d(own) 向下翻半頁(yè)

Ctrl+b(ackward) 向上翻一頁(yè) Ctrl+u(p) 向上翻半頁(yè)

/ 查找 q(uit) 退出

touch 目標(biāo)文件

創(chuàng)建一個(gè)空文件

cp 源文件目標(biāo)目錄|文件

將源文件復(fù)制為目錄文件,或者將源文件復(fù)制到目標(biāo)目錄。多個(gè)源文件使用空格分隔

cp 源目錄目標(biāo)目錄

將源目錄復(fù)制到目標(biāo)目錄中,如果復(fù)制多個(gè)源目錄,需要使用“-R”參數(shù)

-a 相當(dāng)于-dpr參數(shù)

-d 保留鏈接

-f 強(qiáng)制復(fù)制,覆蓋目標(biāo)文件

-i 覆蓋時(shí)詢(xún)問(wèn)用戶

-p 保留修改時(shí)間和訪問(wèn)權(quán)限

-r -R 遞歸復(fù)制(目錄=目錄)

-l 創(chuàng)建鏈接

-v 顯示過(guò)程

rm 目標(biāo)目錄|文件

-r -R 遞歸刪除

-f 強(qiáng)制刪除(無(wú)需確認(rèn),直接刪除。慎用!)

-i 交互式刪除(詢(xún)問(wèn)用戶)

rmdir 目標(biāo)目錄

刪除目錄時(shí),建議您使用“rm -r”命令

mv 源文件目標(biāo)目錄|文件

相當(dāng)于cp后刪除源文件,也可以作為“重命名”使用。

mv 源目錄目標(biāo)目錄

-r -R 遞歸

ln 源文件鏈接

-s 符號(hào)鏈接

-f 強(qiáng)制鏈接,覆蓋目標(biāo)文件

-i 覆蓋前詢(xún)問(wèn)用戶

文件操作

--------

nano

一個(gè)簡(jiǎn)單輕便的文本編輯器,使用Emacs風(fēng)格的鍵綁定。

split 源文件 [目標(biāo)文件名前綴]

將源文件按一定規(guī)則分割成若干個(gè)目標(biāo)文件。默認(rèn)文件名前綴為“x”

-行數(shù) 按行數(shù)分割文件

-l 行數(shù) 同上

-b 字節(jié)按大小分割文件??梢允褂胋、k、m作單位,不指定單位的情況下,默認(rèn)單位為b

-C 字節(jié) 按大小分割文件,并盡量保持每行的完整

示例:

split -C 100k file.split x

cat 文件名

輸出文件內(nèi)容。用空格分隔多個(gè)文件名,可以將多個(gè)文件內(nèi)容連接到一起輸出。使用重定向合并為一個(gè)文件

-n 在輸出中添加行號(hào)

-b 在輸出中添加行號(hào),空行不編號(hào)

-s 將兩行或以上的空行,合并為一個(gè)空行

示例:

cat xaa xab xac file.split

sort [-o 輸出文件] [-t分隔字符][+起始字段 -結(jié)束字段] [文件]

對(duì)文本內(nèi)容排序

-m 合并文件

-c 檢查文件是否已按規(guī)則排序

-b 忽略行首空格字符

-u 忽略?xún)?nèi)容重復(fù)行

-f 忽略大小寫(xiě)

-l 忽略非打印字符

-M 作為月份比較

-d 按字典順序排序,按照字母、數(shù)字、空格、制表符排序

-r 逆序輸出

more

查看文件內(nèi)容,我們建議您使用“l(fā)ess”

diff 文件名

比較文件

cksum [文件名]

計(jì)算文件的CRC值。不指定文件名則從標(biāo)準(zhǔn)輸入設(shè)備讀入數(shù)據(jù),例如:

echo xxx | cksum

md5sum [文件名]

計(jì)算文件的md5值。同上

權(quán)限管理

--------

一個(gè)文件主要包含下列屬性,“l(fā)s -l”

- rwx rwx rwx user group date filename

111 101 101

其中,第一組為歸屬用戶的權(quán)限,第二組為歸屬群組的權(quán)限,第三組為其它用戶群組的權(quán)限。user為文件的歸屬用戶,group為文件的歸屬群組,date為日期信息,filename為文件名。

可以使用3位的二進(jìn)制數(shù)字來(lái)描述一組權(quán)限,某一權(quán)限對(duì)應(yīng)的數(shù)字為1,則表示具有該種權(quán)限,為0,則不具有該種權(quán)限。

對(duì)于文件夾,必須擁有它的可執(zhí)行權(quán)限,才能夠使用“cd”命令進(jìn)入該文件夾;擁有可讀權(quán)限,才能夠使用“l(fā)s”命令查看該文件夾的文件列表。

root用戶擁有最高權(quán)限。

使用二進(jìn)制數(shù)字來(lái)描述一組權(quán)限,雖然非常直觀,但是3組權(quán)限需要用9位數(shù)來(lái)表示,使用不夠方便。因此我們將三組權(quán)限使用3位8進(jìn)制數(shù)字來(lái)表示。它們的對(duì)應(yīng)關(guān)系為:

r 100 4

w 010 2

x 001 1

將這三位8進(jìn)制數(shù)字相加的結(jié)果,就可以表示該組權(quán)限的具體內(nèi)容,例如:

7=4+2+1=rwx

5=4+1=rx

755=4+2+1 4+1 4+1=rwx r-x r-x

我們還可以使用“a、u、g、o”表示歸屬關(guān)系,使用“=、+、-”表示權(quán)限變化,使用“r、w、x”表示權(quán)限內(nèi)容,

a 所有用戶 u 歸屬用戶 g 歸屬群組 o 其它用戶

= 具有權(quán)限 + 增加權(quán)限 - 去除權(quán)限

r 可讀權(quán)限 w 可寫(xiě)權(quán)限 x 可執(zhí)行權(quán)限

例如:

a+x 給所有用戶增加可執(zhí)行權(quán)限

go-wx 將歸屬群組和其它用戶的可寫(xiě)、可執(zhí)行權(quán)限去掉

u=rwx 歸屬用戶具有可讀、可寫(xiě)、可執(zhí)行權(quán)限

chmod 權(quán)限表達(dá)式文件|目錄

改變文件的權(quán)限。權(quán)限的表達(dá)式可以使用三位8進(jìn)制數(shù)字表示,或者使用augo+-=rxw-s來(lái)表示

-R 遞歸

-v 顯示過(guò)程

-c 類(lèi)似“-v”,僅顯示更改部分

--reference=參考文件或目錄以指定文件為參考改變權(quán)限

示例:

chmod -R a+x path

chmod -Rv 755 path

chown 歸屬用戶[:歸屬群組]文件|目錄

改變文件的歸屬用戶??梢允褂糜脩裘蛘遀ID

-R 遞歸

-v 顯示過(guò)程

-c 類(lèi)似“-v”,僅顯示更改部分

--reference=參考文件或目錄以指定文件為參考改變權(quán)限

示例:

chown user:admin path

chown -R user.admin path

chown user path

chgrp 歸屬群組文件|目錄

改變文件的歸屬群組??梢允褂萌航M名或者GID

參數(shù)同上

SUID、SGID、Sticky bit

某些情況下,需要以可執(zhí)行文件歸屬用戶的身份執(zhí)行該文件,可以為該文件設(shè)置SUID。同樣,設(shè)置SGID能夠以該文件歸屬群組的身份執(zhí)行它。

例如:用戶自行設(shè)定密碼。

出于安全方面的考慮,“/etc/shadow”只能由root用戶直接修改。

-rw------- root root /etc/shadow

這個(gè)時(shí)候,可以為程序“/usr/bin/passwd”設(shè)置SUID,當(dāng)普通用戶執(zhí)行“passwd”命令時(shí),便能夠以該程序歸屬用戶root的身份修改“/etc/shadow”文件。而“passwd”程序自身帶有身份驗(yàn)證機(jī)制,不能通過(guò)驗(yàn)證時(shí)拒絕執(zhí)行,從而保證了安全。

ls -l /usr/bin/passwd

-r-s--x--x root root /usr/bin/passwd

我們發(fā)現(xiàn),歸屬用戶的可執(zhí)行權(quán)限位使用“s”,表示SUID。同樣,歸屬群組的可執(zhí)行權(quán)限位使用“s”,表示SGID。

任何用戶或群組都擁有“其它用戶”的權(quán)限,所以不需要以“其它用戶”身份執(zhí)行文件,其它用戶的可執(zhí)行權(quán)限位便不會(huì)出現(xiàn)“s”。該權(quán)限位可能出現(xiàn)的屬性為“t”,也就是粘著位Stickybit。

ls -ld /tmp

drwxrwxrwt root root /tmp

粘著位表示任何用戶都可能具有寫(xiě)權(quán)限,但只有該歸屬用戶或root用戶才能夠刪除

SUID、SGID、Sticky bit也可以像權(quán)限一樣,使用一個(gè)八位數(shù)表示,如下:

4 SUID

2 SGID

1 Sticky bit

通過(guò)在“chmod”命令中使用四個(gè)八位數(shù)的表達(dá)式,如“4755”,用第一位表示SUID、SGID、或Stickybit,便能夠?yàn)槲募O(shè)置這些特殊權(quán)限。

示例:

chmod -R 4755 path

lsattr [路徑]

查看文件的特殊屬性

-a 全部顯示

-d 只顯示目錄

-R 遞歸

特殊屬性包括:

a:僅供附加用途

b:不更新最后存取時(shí)間

c:壓縮后存放

d:排除在傾倒操作之外

i:不得任意更動(dòng)文件或目錄

s:保密性刪除文件或目錄

S:即時(shí)更新文件或目錄

u:預(yù)防以外刪除

chattr+|-|=abcdisSu路徑

-R 遞歸

-V 顯示過(guò)程

apmgt 在linux是什么意思

1.概述

雖然 linux 可以在任何一臺(tái) 386 以上的 PC

上運(yùn)行,目前大多數(shù)人使用的都是新型的,帶有各種外設(shè)的桌面PC或者筆記本電腦,這樣,電源管理功能(PM)就逐漸變得越來(lái)越重要。在筆記本電腦上電源管

理可以節(jié)能,延長(zhǎng)電池壽命,而在桌面PC上它可以降低幅射,降溫,延長(zhǎng)外設(shè)使用壽命。現(xiàn)在的操作系統(tǒng)大都內(nèi)置了電源管理支持,例如 Windows 和

Linux。

回頁(yè)首

2.PC機(jī)實(shí)現(xiàn)電源管理的方法

要實(shí)現(xiàn)電源管理,最重要的有兩點(diǎn):第一是需要設(shè)備本身支持節(jié)電功能,比如硬盤(pán),可以通過(guò)指令暫時(shí)關(guān)閉;第二是需要操作系統(tǒng)支持電源管理,這樣就可以在空閑一段時(shí)間之后調(diào)用驅(qū)動(dòng)的電源管理功能關(guān)閉設(shè)備。

兩種電源管理標(biāo)準(zhǔn):APM和ACPI

統(tǒng)的APM(Advanced Power

Management)是一種基于bios的電源管理標(biāo)準(zhǔn),目前的最新版本是1.2,它提供了CPU和設(shè)備電源管理的功能,但是由于這種電源管理方式主要

是由bios實(shí)現(xiàn),所以有些缺陷,比如對(duì)bios的過(guò)度依賴(lài),新老bios之間的不兼容性,以及無(wú)法判斷電源管理命令是由用戶發(fā)起的還是由bios發(fā)起

的,對(duì)某些新硬件如USB和1394的不支持性。

為了彌補(bǔ)APM的缺陷,新的電源管理ACPI應(yīng)運(yùn)而生,這就是ACPI(Advanced Configuration and Power Interface),它主要是將電源管理的主要執(zhí)行者由bios轉(zhuǎn)換成為操作系統(tǒng),這樣可以提供更大的靈活性以及可擴(kuò)展性。

目前的PC機(jī)主板一般同時(shí)支持APM和ACPI兩種標(biāo)準(zhǔn)。

回頁(yè)首

3.linux對(duì)電源管理的支持

內(nèi)核模塊

針對(duì)APM和ACPI兩種不同的標(biāo)準(zhǔn),linux內(nèi)核提供了兩個(gè)不同的模塊來(lái)實(shí)現(xiàn)電源管理功能,這就是apm和acpi。需要注意,apm和acpi是互相沖突的兩個(gè)模塊,用戶在同一時(shí)間內(nèi)只能加載其中之一,如果當(dāng)他們?cè)诩虞d的時(shí)候發(fā)現(xiàn)二者之一已經(jīng)加載,就會(huì)自動(dòng)退出。

在官方發(fā)布的內(nèi)核中APM是較為成熟的電源管理方式,可以完成在Windows下ACPI所能完成的大部分功能。由于官方內(nèi)

核中ACPI的功能比較有限,目前還處于開(kāi)發(fā)版狀態(tài)。所以當(dāng)前的大多數(shù)distribution,如紅帽子默認(rèn)就使用了apm作為電源管理方式。但是值得

注意的是linux中的ACPI實(shí)際上是由一個(gè)單獨(dú)的項(xiàng)目小組模塊進(jìn)行維護(hù)的,當(dāng)前內(nèi)核ACPI的版本實(shí)際上已經(jīng)遠(yuǎn)遠(yuǎn)落后于最新的版本。由于linux穩(wěn)

定版中對(duì)任何新特性的加入都非常謹(jǐn)慎小心,所以我們也許只能等到2.6.x版本的linux誕生后才能看到ACPI的穩(wěn)定全功能版了。不過(guò)我們也可以自己

對(duì)內(nèi)核打最新的ACPI補(bǔ)丁來(lái)獲得這些功能。

Linux CentOS 7電源管理設(shè)置(合蓋不睡眠)

Linux 使用哲學(xué)(正確而優(yōu)雅的使用方法) 一文中說(shuō)到,正確的使用 Linux 是不安裝 Xwindow,而是通過(guò)遠(yuǎn)程 ssh 它。那么當(dāng)我們?cè)谝慌_(tái)筆記本上安裝好Linux 后,要想將他合蓋后還能遠(yuǎn)程訪問(wèn),就需要修改一下系統(tǒng)的電源相關(guān)選項(xiàng)。這里以 CentOS為例

systemd 處理某些電源相關(guān)的 ACPI事件,可以通過(guò)從 /etc/system/logind.conf 以下選項(xiàng)進(jìn)行配置:

觸發(fā)的行為可以有

如果要合蓋不休眠只需要把HandleLidSwitch選項(xiàng)設(shè)置為如下即可:

注意:設(shè)置完成保存后運(yùn)行下列命令才生效。

本文名稱(chēng):linux下電源管理命令 linux電源管理機(jī)制
文章地址:http://muchs.cn/article6/doocpig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)公司、App開(kāi)發(fā)、軟件開(kāi)發(fā)網(wǎng)站排名、App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)