Linux命令——基于鳥哥的私房菜一書

第二章: 主機(jī)規(guī)劃與磁盤分區(qū)

在Linux系統(tǒng)中,每個設(shè)備都被當(dāng)成一個文件來對待,位于/dev/文件夾下观堂,有自己的命名方式。

關(guān)于文件系統(tǒng)的具體結(jié)構(gòu)呀忧,以及作用师痕,參看之前的筆記。

第四章:線上求助

命令格式:
command [-options] parameter1 parameter2 ...
重要的快捷鍵
[Tab]               “命令補(bǔ)全”與“文件補(bǔ)齊”:連按兩下而账,顯示所有命令胰坟。
[ctrl]-c                指令中斷
[Ctrl]-d                直接離開了,相當(dāng)于輸入exit泞辐。
[Shift]+[Page Up]   來往前翻頁笔横,也能夠使用 
[Shift]+[Page Down]     來往后翻頁竞滓!
幫助指令
//指令使用幫助
--help
man command
info command

/string     向“下”搜尋 string 這個字串
?string     向“上”搜尋 string 這個字串
q       結(jié)束這次的 man page
// 利用 / 或 ? 來搜尋字串時,可以用 n 來繼續(xù)下一個搜尋吹缔,N 來進(jìn)行“反向”搜尋

// 關(guān)機(jī)常用指令
sync                    將數(shù)據(jù)同步寫入硬盤中的指令
shutdown                慣用的關(guān)機(jī)指令
reboot, halt, poweroff  重新開機(jī)商佑,關(guān)機(jī):

第五章:文件權(quán)限與目錄配置

擁有者、群組涛菠、其他人:u,g,o
chgrp       改變文件所屬群組
chown       改變文件擁有者
chmod       改變文件的權(quán)限

// 權(quán)限與數(shù)字之間的對應(yīng)關(guān)系
r:4 w:2 x:1

// 示例
chmod 777 file
chmod u=rwx,go=rx file
// 所有人都加上相應(yīng)指令
chmod a+w file
chmod a-x  file

./      代表“本目錄”的意思

uname -r    查看核心版本

第六章:文件與目錄管理

. 代表此層目錄
.. 代表上一層目錄
- 代表前一個工作目錄
~ 代表“目前使用者身份”所在的主文件夾
~account 代表 account 這個使用者的主文件夾(account是個帳號名稱)

// 目錄相關(guān)
cd:變換目錄
pwd:顯示目前的目錄
mkdir:創(chuàng)建一個新的目錄
rmdir:刪除一個空的目錄

// 系統(tǒng)路徑變量:
$PATH
PATH="${PATH}:/root"

// 文件與目錄的檢視: ls
ls -ls
ls -ah

// 復(fù)制莉御、刪除與移動: 
cp source target
rm source target
mv source target

// 望名知意
basename /etc/sysconfig/network
dirname /etc/sysconfig/network

// 瀏覽文本內(nèi)容相關(guān)
cat         由第一行開始顯示文件內(nèi)容
head        只看頭幾行
tail            只看尾巴幾行
    

// 以下不常用
tac         從最后一行開始顯示,可以看出 tac 是 cat 的倒著寫俗冻!
nl       顯示的時候礁叔,順道輸出行號!
more        一頁一頁的顯示文件內(nèi)容
less        與 more 類似迄薄,他可以往前翻頁琅关!
od          以二進(jìn)制的方式讀取文件內(nèi)容!

// 查看日志必學(xué):
tail -f /var/log/messages


head -n 20 /etc/man_db.conf | tail -n 10 
// 這樣就可以得到第 11 到第 20 行之間的內(nèi)容了

touch       修改文件時間或創(chuàng)建新文件


umask   文件默認(rèn)權(quán)限
file        觀察文件類型
目前先知道有這么兩個命令就好
chattr (設(shè)置文件隱藏屬性)
lsattr (顯示文件隱藏屬性)
SUID 讥蔽, SGID涣易, SBIT 
指令與文件的搜尋
which       尋找“可執(zhí)行文件”
whereis         文件或目錄名
find

第八章:打包與備份

*.Z compress 程序壓縮的文件;
*.zip zip 程序壓縮的文件冶伞;
*.gz gzip 程序壓縮的文件新症;
*.bz2 bzip2 程序壓縮的文件;
*.xz xz 程序壓縮的文件响禽;
*.tar tar 程序打包的數(shù)據(jù)徒爹,并沒有壓縮過;
*.tar.gz tar 程序打包的文件芋类,其中并且經(jīng)過 gzip 的壓縮
*.tar.bz2 tar 程序打包的文件隆嗅,其中并且經(jīng)過 bzip2 的壓縮
*.tar.xz tar 程序打包的文件,其中并且經(jīng)過 xz 的壓縮


tar         可以將很多文件“打包”成為一個文件
gzip [-cdtv#] 文件名
bzip2 [-cdkzv#] 文件名

壓 縮:tar -j<u>c</u>v -f filename.tar.bz2 要被壓縮的文件或目錄名稱
查 詢:tar -j<u>t</u>v -f filename.tar.bz2
解壓縮:tar -j<u>x</u>v -f filename.tar.bz2 -C 欲解壓縮的目錄

第十章侯繁、認(rèn)識與學(xué)習(xí)BASH

//命令別名設(shè)置功能:
alias lm='ls -al'

//查詢指令是否為 Bash shell 的內(nèi)置命令: 
type    command

env         //觀察環(huán)境變量與常見環(huán)境變量說明

$           //關(guān)于本 shell 的 PID
echo $$         //打印當(dāng)前用戶的你的 PID 號碼胖喳。

?:      //關(guān)于上個執(zhí)行指令的回傳值
// 如果成功的執(zhí)行該指令, 則會回傳一個 0 值贮竟,錯誤返回非0值

export: 自訂變量轉(zhuǎn)成環(huán)境變量
    export 變量名稱 // 導(dǎo)出對應(yīng)變量
    export          // 導(dǎo)出所有變量
影響顯示結(jié)果的語系變量 (locale)
read    讀取來自鍵盤輸入

declare [-aixr] variable
選項(xiàng)與參數(shù):
-a :將后面名為 variable 的變量定義成為 array類型
-i :將后面名為 variable 的變量定義成為integer 類型
-x :用法與 export 一樣丽焊,就是將后面的 variable 變成環(huán)境變量;
-r :將變量設(shè)置成為 readonly 類型坝锰,該變量不可被更改內(nèi)容粹懒,也不能 unset


array   數(shù)組變量類型
與文件系統(tǒng)及程序的限制關(guān)系: ulimit

可以考慮用 ulimit 來限制使用者可以創(chuàng)建的文件大小。

變量相關(guān)的一些處理符號
alias, unalias  命令別名設(shè)置
history         歷史命令

~/.bash_history     //記錄歷史命令顷级,所以要小心你在命令中輸入的密碼被盜取哦凫乖。
路徑與指令搜尋順序
  1. 以相對/絕對路徑執(zhí)行指令,例如“ /bin/ls ”或“ ./ls ”;
  2. 由 alias 找到該指令來執(zhí)行帽芽;
  3. 由 bash 內(nèi)置的 (builtin) 指令來執(zhí)行删掀;
  4. 通過 $PATH 這個變量的順序搜尋到的第一個指令來執(zhí)行。
bash 的進(jìn)站與歡迎訊息: /etc/issue, /etc/motd

比如阿里云服務(wù)器的進(jìn)站歡迎信息导街。

包含PATH的系統(tǒng)配置信息:
  1. /etc/profile:這是系統(tǒng)整體的設(shè)置披泪,你最好不要修改這個文件;

  2. ~/.bash_profile 或 ~/.bash_login 或 ~/.profile:屬于使用者個人設(shè)置搬瑰,

     // 一般只有以下一個
     1. ~/.bash_profile
     2. ~/.bash_login
     3. ~/.profile
    
source 或者 . :配置的環(huán)境變量馬上生效款票。
萬用字符與特殊符號
// 示例
ll -d /etc/*[0-9]* &lt;==記得中括號左右兩邊均需 *
ll -d /etc/????? &lt;==由于 ? 一定有一個,所以五個 ? 就對了
ll -d /etc/cron* &lt;==加上 -d 是為了僅顯示目錄而已
輸入與輸出
  1. 標(biāo)準(zhǔn)輸入 ≡舐邸(stdin) :代碼為 0 艾少,使用 < 或 << ;
  2. 標(biāo)準(zhǔn)輸出 ∫磴病(stdout):代碼為 1 缚够,使用 > 或 >> ;
  3. 標(biāo)準(zhǔn)錯誤輸出(stderr):代碼為 2 鹦赎,使用 2> 或 2>> 谍椅;
幾個很常用的命令
cmd ; cmd   // ; 連接多個命令
$?      (指令回傳值) 與 && 或 ||
 |      管線命令 (pipe)
擷取命令: cut, grep

cut 是將一行訊息當(dāng)中,取出某部分我們想要的

grep 則是分析一行訊息古话, 若當(dāng)中有我們所需要的信息雏吭,就將該行拿出來。

后處理命令
sort        排序
uniq        去重
wc          統(tǒng)計(jì)行陪踩,字思恐,字符
雙向重導(dǎo)向: tee
split將大文件分區(qū)成為小文件了
//范例一:我的 /etc/services 有六百多K,若想要分成 300K 一個文件時膊毁?
$ cd /tmp; split -b 300k /etc/services services

第十一章:正則表達(dá)式

比較文件差異。
diff [-bBi] from-file to-file
cmp passwd.old passwd.new

diff主要是以“行”為單位比對基跑, cmp 則是以“字節(jié)”為單位去比對婚温,這并不相同!)

第十二章:Shell Scripts

本章的學(xué)習(xí)可以參看之前的shell筆記媳否,并且理解shell只是命令行的封裝栅螟。最好的學(xué)習(xí)方式應(yīng)該是知道基礎(chǔ)后參考別人的程序?qū)懗鲎约合胍某绦颉?/p>

第十三章:Linux 帳號管理與 ACL 權(quán)限設(shè)置

/etc/passwd     // 存放用戶
/etc/group      // 存放組
/etc/shadow     // 存放用戶密碼
/etc/gshadow    // 存放組密碼

root 密碼忘記了:重新開機(jī)進(jìn)入單人維護(hù)模式,此時再以 passwd 修改密碼即可篱竭×ν迹或以 Live CD 開機(jī)后掛載根目錄去修改/etc/shadow,將里面的 root 的密碼字段清空掺逼, 再重新開機(jī)后 root 將不用密碼即可登陸吃媒。然后修改密碼。

用戶組相關(guān)的命令
groups      查看當(dāng)前用戶所屬組,可以有多個赘那。
newgrp:     有效群組的切換

// 用戶相關(guān)
useradd
passwd
usermod:修改用戶屬性刑桑,修改組就靠你了。
userdel

// 以下命令參考user類似
groupadd
groupmod
groupdel

id  這個指令則可以查詢某人或自己的相關(guān) UID/GID 等等的信息

chage提供比passwd -S 更詳細(xì)的密碼參數(shù)顯示功能募舟。

su 切換用戶
sudo 獲取root權(quán)限祠斧,sudo 的執(zhí)行則僅需要自己的密碼即可!

需要在/etc/sudoers中配置拱礁,或者直接使用命令visudo琢锋。

使用者帳號 登陸者的來源主機(jī)名稱=(可切換的身份) 可下達(dá)的指令
root ALL=(ALL) ALL  //這是默認(rèn)值
vbird1 ALL=(ALL) ALL    //這一行是你要新增的!

但是一般不建議這么做呢灶,除非你需要很細(xì)粒度的控制吴超。可采用加入組的方式

在最左邊加上 % 填抬,代表“群組”
%wheel ALL=(ALL) ALL &lt;==大約在 106 行左右烛芬,請將這行的 # 拿掉!
%wheel ALL=(ALL) NOPASSWD: ALL 
NOPASSWD:sudo時候免除輸入密碼

這樣在該群組中的用戶就可以獲取root權(quán)限了飒责。

主機(jī)上的使用者訊息傳遞
w
who
last
lastlog

如果您想要知道每個帳號的最近登陸的時間赘娄,則可以使用 lastlog

第十五章:例行性工作調(diào)度(crontab)

本章的內(nèi)容與shell一樣,參看之前的筆記宏蛉,同時遣臼,對于其他幾個工作調(diào)度功能,等實(shí)際用到的時候再學(xué)習(xí)拾并。

第十六章揍堰、程序管理

cp file1 file2 & 
//這個 & 代表:“將工作丟到背景中去執(zhí)行”

[ctrl]-z    丟到背景中,且暫停

jobs            觀察目前的背景工作狀態(tài):
fg:fg %jobnumber        將背景工作拿到前景來處理:
bg:bg %jobnumber        讓工作在背景下的狀態(tài)變成運(yùn)行中 
kill            管理背景當(dāng)中的工作: 

// 示例
kill -9 %2 強(qiáng)制關(guān)閉
kill -15 %2 優(yōu)雅關(guān)閉

kill 后面接的數(shù)字默認(rèn)會是 PID 嗅义,如果想要管理 bash 的工作控制屏歹,就得要加上 %數(shù)字

程序的觀察---靜態(tài)的 ps 、動態(tài)的 top
ps :將某個時間點(diǎn)的程序運(yùn)行情況擷取下來   
top 則可以持續(xù)偵測程序運(yùn)行的狀

top: top -d 2   每兩秒鐘更新一次

top 默認(rèn)使用 CPU 使用率 (%CPU) 作為排序的重點(diǎn)之碗,如果你想要使用內(nèi)存使用率排序蝙眶,則可以按下“M”, 若要回復(fù)則按下“P”即可褪那。如果想要離開 top 則按下“ q ”吧幽纷!

pstree: 要找程序之間的相關(guān)性

killall [-iIe] [command name]

最簡單的方法就是利用 killall , 因?yàn)樗梢詫⑾到y(tǒng)當(dāng)中所有以某個指令名
稱啟動的程序全部刪除博敬。

關(guān)于程序的執(zhí)行順序(優(yōu)先級)
PRI(new) = PRI(old) + nice

我們只能改變nice值:

nice [-n 數(shù)字] command
  • nice 值可調(diào)整的范圍為 -20 ~ 19 友浸;

  • root 可隨意調(diào)整自己或他人程序的 Nice 值,且范圍為 -20 ~ 19 偏窝;

  • 一般使用者僅可調(diào)整自己程序的 Nice 值收恢,且范圍僅為 0 ~ 19 (避免一般用戶搶占系統(tǒng)資源)武学;

  • 一般使用者僅可將 nice 值越調(diào)越高,例如本來 nice 為 5 派诬,則未來僅能調(diào)整到大于 5劳淆;

    // 已存在程序的 nice 重新調(diào)整
    renice [number] PID

    free 觀察內(nèi)存使用情況
    uname 查閱系統(tǒng)與核心相關(guān)信息
    netstat 追蹤網(wǎng)絡(luò)或插槽檔
    uptime 觀察系統(tǒng)啟動時間與工作負(fù)載
    vmstat 偵測系統(tǒng)資源變化

認(rèn)識系統(tǒng)服務(wù) (daemons)

service: http
serviced:  httpd
daemons


systemctl [command] [unit]

command 主要有:
start :立刻啟動后面接的 unit
stop :立刻關(guān)閉后面接的 unit
restart :立刻關(guān)閉后啟動后面接的 unit,亦即執(zhí)行 stop 再 start 的意思
reload :不關(guān)閉后面接的 unit 的情況下默赂,重新載入配置文件沛鸵,讓設(shè)置生效
enable :設(shè)置下次開機(jī)時,后面接的 unit 會被啟動
disable :設(shè)置下次開機(jī)時缆八,后面接的 unit 不會被啟動
status :目前后面接的這個 unit 的狀態(tài)曲掰,會列出有沒有正在執(zhí)行、開機(jī)默認(rèn)執(zhí)行否奈辰、登錄等信息等栏妖!
is-active :目前有沒有正在運(yùn)行中
is-enable :開機(jī)時有沒有默認(rèn)要啟用這個 unit
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市奖恰,隨后出現(xiàn)的幾起案子吊趾,更是在濱河造成了極大的恐慌,老刑警劉巖瑟啃,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件论泛,死亡現(xiàn)場離奇詭異,居然都是意外死亡蛹屿,警方通過查閱死者的電腦和手機(jī)屁奏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來错负,“玉大人坟瓢,你說我怎么就攤上這事∮倘觯” “怎么了折联?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長识颊。 經(jīng)常有香客問我崭庸,道長,這世上最難降的妖魔是什么谊囚? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮执赡,結(jié)果婚禮上镰踏,老公的妹妹穿的比我還像新娘。我一直安慰自己沙合,他們只是感情好奠伪,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般绊率。 火紅的嫁衣襯著肌膚如雪谨敛。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天滤否,我揣著相機(jī)與錄音脸狸,去河邊找鬼。 笑死藐俺,一個胖子當(dāng)著我的面吹牛炊甲,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播欲芹,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼卿啡,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了菱父?” 一聲冷哼從身側(cè)響起颈娜,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎浙宜,沒想到半個月后官辽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡梆奈,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年野崇,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片亩钟。...
    茶點(diǎn)故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡乓梨,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出清酥,到底是詐尸還是另有隱情扶镀,我是刑警寧澤,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布焰轻,位于F島的核電站臭觉,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏辱志。R本人自食惡果不足惜蝠筑,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望揩懒。 院中可真熱鬧什乙,春花似錦、人聲如沸已球。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至忆某,卻和暖如春点待,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背弃舒。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工癞埠, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人棒坏。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓燕差,卻偏偏與公主長得像,于是被迫代替她去往敵國和親坝冕。 傳聞我的和親對象是個殘疾皇子徒探,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 系統(tǒng)管理與維護(hù)命令 date date(選項(xiàng))(參數(shù)) | 選項(xiàng) | 說明 | | :-------- | ...
    蓓蓓的萬能男友閱讀 3,896評論 0 5
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,163評論 2 33
  • Ubuntu的發(fā)音 Ubuntu磨澡,源于非洲祖魯人和科薩人的語言碗啄,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲de夢閱讀 99,261評論 9 467
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理稳摄,服務(wù)發(fā)現(xiàn)稚字,斷路器,智...
    卡卡羅2017閱讀 134,656評論 18 139
  • 第一章 1.Linux是一套免費(fèi)使用和自由傳播的類UNIX操作系統(tǒng)厦酬,它可以基于Intel x86系列處理器以及Cy...
    yansicing閱讀 5,426評論 0 9