Linux/vim學(xué)習(xí)筆記

chapter 2 基本概念及操作

touch file
touch為命令县好,可一次性創(chuàng)建多個(gè)文件捡絮,此為創(chuàng)建一個(gè)名為file的文件

cd /etc/
進(jìn)入一個(gè)目錄

pwd
查看當(dāng)前所在目錄

重要快捷鍵:

  • [Tab] 命令補(bǔ)全
  • [Ctrl+c] 強(qiáng)行終止當(dāng)前程序
  • [Ctrl+d] 鍵盤輸入結(jié)束或退出終端
  • [Ctrl+s] 暫停當(dāng)前程序,暫停后按下任意鍵恢復(fù)

man <command_name>
獲取某個(gè)命令的說明和使用方式的詳細(xì)介紹战坤,man man為查看 man 命令本身的使用方式
man n ls (n為數(shù)字1~8):查看相應(yīng)區(qū)段的內(nèi)容

sudo apt-get update 用來更新軟件源
sudo apt-get install sysvbanner 安裝指定軟件

  • 安裝banner命令
  • 不同發(fā)行版本的Linux安裝軟件的命令是不一樣的

chapter3 用戶及文件權(quán)限管理

whoami

  • 打開當(dāng)前偽終端的用戶的用戶名
  • who命令其他參數(shù) -a:打印全部曙强;-b:打印死掉的進(jìn)程;-m:同am i,mom likes途茫;
  • -q:打印當(dāng)前登錄用戶數(shù)及用戶名碟嘴;-u:打印當(dāng)前登錄用戶登錄信息;-r:打印運(yùn)行等級(jí)

sudo adduser lilei
新建一個(gè)叫 lilei 的用戶

su -l lilei
切換登錄用戶

groups shiyanlou
查看用戶所屬用戶組

cat /etc/group | sort
cat:讀取指定文件的內(nèi)容并打印到終端輸出囊卜;| sort 表示將讀取的文本進(jìn)行一個(gè)字典排序再輸出

su shiyanlou
groups lilei
sudo usermod -G sudo lilei
groups lilei

默認(rèn)情況下新創(chuàng)建的用戶是不具有root權(quán)限也不在 sudo用戶組娜扇,可以讓其加入sudo用戶組從而獲取root權(quán)限

sudo deluser lilei --remove-home
刪除用戶

ls 列出并顯示當(dāng)前目錄下的文件
. 當(dāng)前目錄
.. 上一級(jí)目錄

su lilei
cd /home/lilei
touch iphone6
sudo chown shiyanlou iphone6

變更文件所有者

echo "echo \"hello shiyanlou\" " > iphone6
往文件里加內(nèi)容

chmod 600 iphone6
修改權(quán)限,也可以用 chmod go-rw iphone6修改栅组,g o u分別表示group雀瓢、others、user\

chapter4 linux目錄結(jié)構(gòu)及文件基本操作

cp test ./father/son/grandson

  • 將創(chuàng)建的“ test ”文件復(fù)制到“ /home/shiyanlou/father/son/grandson ”目錄中
  • 也可以用 cp -r father family

rm test
刪除文件玉掸, rm -f test強(qiáng)制刪除

rm -r family
刪除目錄

mv 源目錄文件 目的目錄 - 移動(dòng)文件
mv 舊的文件名 新的文件名 - 重命名文件

cat正序顯示 tac倒序顯示

file /bin/ls
查看文件類型

chapter5 環(huán)境變量與文件查找

搜索文件相關(guān)命令 whereis,which, find,locate
有時(shí)需手動(dòng)執(zhí)行一次updatedb命令再用locate搜索刃麸,可用來查找指定目錄下的不同文件類型
locate /etc/sh
查找 /etc 下所有以 sh 開頭的文件。-c參數(shù)只統(tǒng)計(jì)數(shù)目司浪,-i忽略大小寫進(jìn)行查找
通常使用 which 來確定是否安裝了某個(gè)指定的軟件
find的第一個(gè)參數(shù)是要搜索的地方,基本格式為find [path] [option] [action]
find /etc/ -name interfaces
去 /etc/ 目錄下面 泊业,搜索名字叫做 interfaces 的文件或者目錄

與時(shí)間相關(guān)的命令參數(shù)
-atime 最后訪問時(shí)間
-ctime 最后修改文件內(nèi)容的時(shí)間
-mtime 最后修改文件屬性的時(shí)間
-mtime n:n 為數(shù)字,表示為在 n 天之前的“一天之內(nèi)”修改過的文件
-mtime +n:列出在 n 天之前(不包含 n 天本身)被修改過的文件
-mtime -n:列出在 n 天之內(nèi)(包含 n 天本身)被修改過的文件
-newer file:file 為一個(gè)已存在的文件断傲,列出比 file 還要新的文件名

chapter6 文件打包與壓縮

zip 壓縮打包文件
zip -r -q -o shiyanlou.zip /home/shiyanlou/Desktop

  • 將目錄 /home/shiyanlou/Desktop 打包成一個(gè)文件
  • -r 參數(shù)表示遞歸打包包含子目錄的全部?jī)?nèi)容
  • -q 參數(shù)表示為安靜模式脱吱,即不向屏幕輸出信息
  • -o智政,表示輸出文件认罩,需在其后緊跟打包輸出文件名
  • 使用 -e 參數(shù)可以創(chuàng)建加密壓縮包
  • -d 指定路徑
    壓縮級(jí)別-[1-9],1 表示最快壓縮但體積大,9 表示體積最小但耗時(shí)最久

unzip解壓zip文件
unzip -q shiyanlou.zip -d ziptest
使用安靜模式將文件解壓到指定目錄

tar打包工具续捂,實(shí)現(xiàn)了對(duì) 7z垦垂、gzip、xz牙瓢、bzip2 等工具的支持
·tar -cf shiyanlou.tar /home/shiyanlou/Desktop·

  • 創(chuàng)建一個(gè) tar 包
  • -c 表示創(chuàng)建一個(gè) tar 包文件
  • -f 用于指定創(chuàng)建的文件名劫拗,件名必須緊跟在 -f 參數(shù)之后
  • -C 指定路徑

mkdir tardir
tar -xf shiyanlou.tar -C tardir
解包一個(gè)文件(-x 參數(shù))到指定路徑的已存在目錄(-C 參數(shù))

使用其它的壓縮工具創(chuàng)建或解壓相應(yīng)文件只需要更改一個(gè)參數(shù)
.tar.gz -z
.tar.xz -J
tar.bz2 -j

chapter7 文件系統(tǒng)操作與磁盤管理

df, du, mount命令的使用
磁盤相關(guān)知識(shí)學(xué)習(xí)

df 查看磁盤的容量
du 查看目錄的容量
du -h -d 0 ~ # 只查看1級(jí)目錄的信息
du -h -d 1 ~ # 查看2級(jí)
du -h 同--human-readable 以K,M矾克,G為單位页慷,提高信息的可讀性
du -a 同--all 顯示目錄中所有文件的大小
du -s 同--summarize 僅顯示總計(jì),只列出最后加總的值

chapter8 Linux下的幫助命令

內(nèi)建命令與外部命令之分
help, man, info的使用以及區(qū)別

用type命令區(qū)分命令是內(nèi)建的還是外部的

chapter9 linux任務(wù)計(jì)劃crontab

cron -f &
啟動(dòng)crontab

crontab -e
添加一個(gè)計(jì)劃任務(wù)

crontab -l
查看添加了哪些任務(wù)

ps aux | grep cron 或 pgrep cron
查看是否在后臺(tái)啟動(dòng)

tail -f filename
顯示filename文件里后十行內(nèi)容,tail查看文件內(nèi)容酒繁,-f自動(dòng)更新內(nèi)容

crontan -r
刪除任務(wù)

crontab表達(dá)式:
* * * * * commond

  • 前五個(gè)星號(hào)分別表示 分 時(shí) 日 月 周滓彰,commond表示要操作的命令
  • 分(1-59)(/1表示每分鐘)
  • 時(shí)(1-23)(0表示0點(diǎn))
  • 日(1-31)
  • 月(1-12)
  • 周(1-6)(0表示周日)

chapter10 命令執(zhí)行順序控制與管道

&&用來實(shí)現(xiàn)選擇性執(zhí)行,表示如果前面的命令執(zhí)行結(jié)果(非內(nèi)容州袒,是執(zhí)行狀態(tài))返回0則執(zhí)行后面的揭绑,否則不執(zhí)行
可以從?環(huán)境變量獲取上一次命令的返回結(jié)果 ||是與&&相反的控制效果,當(dāng)上一條命令執(zhí)行結(jié)果為≠0(?≠0)時(shí)則執(zhí)行后面的
可以結(jié)合著&&和||來實(shí)現(xiàn)一些操作

管道:將前面每一個(gè)進(jìn)程的輸出直接作為下一個(gè)進(jìn)程的輸入
ls -al /etc | less
將ls命令的輸出作為less命令的輸入

cut命令:打印每一行的某一字段
cut /etc/passwd -d ':' -f 1,6
打印/etc/passwd文件中以:為分隔符的第1個(gè)字段和第6個(gè)字段
cut /etc/passwd -c -5 前五個(gè)(包含第五個(gè))
cut /etc/passwd -c 5- 前五個(gè)之后的(包含第五個(gè))
cut /etc/passwd -c 5 第五個(gè)
cut /etc/passwd -c 2-5 2到5之間的(包含第五個(gè))

grep命令:在文本中或 stdin 中查找匹配字符串
一般形式 grep [命令選項(xiàng)]... 用于匹配的表達(dá)式 [文件]...
grep -rnI "shiyanlou" ~
-r 參數(shù)表示遞歸搜索子目錄中的文件,-n表示打印匹配項(xiàng)行號(hào)郎哭,-I表示忽略二進(jìn)制文件
export | grep ".*yanlou$"
查看環(huán)境變量中以"yanlou"結(jié)尾的字符串,$表示一行的末尾

wc命令:簡(jiǎn)單小巧的計(jì)數(shù)工具他匪,用于統(tǒng)計(jì)并輸出一個(gè)文件中行、單詞和字節(jié)的數(shù)目
分別只輸出行數(shù)夸研、單詞數(shù)邦蜜、字節(jié)數(shù)、字符數(shù)和輸入文本中最長(zhǎng)一行的字節(jié)數(shù):
wc -l /etc/passwd 行數(shù)
wc -w /etc/passwd 單詞數(shù)
wc -c /etc/passwd 字節(jié)數(shù)
wc -m /etc/passwd 字符數(shù)
wc -L /etc/passwd 最長(zhǎng)行字節(jié)數(shù)
具體數(shù)目是由字符編碼決定的

ls -dl /etc/*/ | wc -l
結(jié)合管道亥至,統(tǒng)計(jì) /etc 下面所有目錄數(shù)

sort排序命令:將輸入按照一定方式排序再輸出
cat /etc/passwd | sort 默認(rèn)為字典排序
cat /etc/passwd | sort -r 反轉(zhuǎn)排序
cat /etc/passwd | sort -t':' -k 3
按特定字段排序
-t指定字段的分隔符畦徘,這里以":"作為分隔符;-k 字段號(hào)用于指定對(duì)哪一個(gè)字段進(jìn)行排序
cat /etc/passwd | sort -t':' -k 3 -n
照數(shù)字排序就要加上-n參數(shù)

uniq去重命令:用于過濾或者輸出重復(fù)行
...| uniq -dc
輸出重復(fù)過的行(重復(fù)的只輸出一個(gè))及重復(fù)次數(shù)
...| uniq -D
輸出所有重復(fù)的行

chapter11 簡(jiǎn)單的文本處理

常見文本處理命令抬闯;如何簡(jiǎn)單處理文本

tr用來刪除一段文本信息中的某些文字或者將其進(jìn)行轉(zhuǎn)換
-d 刪除和set1匹配的字符井辆,-s 去除set1指定的在輸入文本中連續(xù)并重復(fù)的字符

echo -e 參數(shù)處理特殊字符
若字符串中出現(xiàn)以下字符,則特別加以處理溶握,而不會(huì)將它當(dāng)成一般文字輸出:
\a 發(fā)出警告聲杯缺;
\b 刪除前一個(gè)字符;
\c 最后不加上換行符號(hào)睡榆;
\f 換行但光標(biāo)仍舊停留在原來的位置萍肆;
\n 換行且光標(biāo)移至行首;
\r 光標(biāo)移至行首胀屿,但不換行塘揣;
\t 插入tab;
\v 與\f相同宿崭;
\ 插入\字符亲铡;
\nnn 插入nnn(八進(jìn)制)所代表的ASCII字符

echo 'hello shiyanlou' | tr -d 'olh'
刪除 "hello shiyanlou" 中所有的'o','l','h'
echo 'hello' | tr -s 'l'
將"hello" 中的ll,去重為一個(gè)l
echo 'input some text here' | tr '[:lower:]' '[:upper:]'
將輸入文本全部轉(zhuǎn)換為大寫或小寫輸出,也可以簡(jiǎn)單的寫作'[a-z]' '[A-Z]'

col將Tab換成對(duì)等數(shù)量的空格鍵,或反轉(zhuǎn)這個(gè)操作
-x 將Tab轉(zhuǎn)換為空格葡兑,-h 空格轉(zhuǎn)換為Tab(默認(rèn)選項(xiàng))

join 將兩個(gè)文件中包含相同內(nèi)容的那一行合并在一起
-t 指定分隔符奖蔓,默認(rèn)為空格
-i 忽略大小寫的差異
-1 指明第一個(gè)文件要用哪個(gè)字段來對(duì)比,默認(rèn)對(duì)比第一個(gè)字段
-2 指明第二個(gè)文件要用哪個(gè)字段來對(duì)比讹堤,默認(rèn)對(duì)比第一個(gè)字段

paste 在不對(duì)比數(shù)據(jù)的情況下簡(jiǎn)單地將多個(gè)文件合并一起吆鹤,以Tab隔開
-d 指定合并的分隔符,默認(rèn)為Tab
-s 不合并到一行洲守,每個(gè)文件為一行

chapter12 數(shù)據(jù)流重定向

重定向怎么用疑务;文件描述符(0沾凄,1,2)

文件描述符在形式上是一個(gè)非負(fù)整數(shù)知允,實(shí)際上是一個(gè)索引值
指向內(nèi)核為每一個(gè)進(jìn)程所維護(hù)的該進(jìn)程打開文件的記錄表
文件描述符 設(shè)備文件 說明
0 /dev/stdin 標(biāo)準(zhǔn)輸入
1 /dev/stdout 標(biāo)準(zhǔn)輸出
2 /dev/stderr 標(biāo)準(zhǔn)錯(cuò)誤

cat配合重定向能夠生成文件并追加操作(收藏資料詳解)

重定向:將原本輸出到標(biāo)準(zhǔn)輸出的數(shù)據(jù)重定向到一個(gè)文件中
將標(biāo)準(zhǔn)錯(cuò)誤重定向到標(biāo)準(zhǔn)輸出搭独,再將標(biāo)準(zhǔn)輸出重定向到文件,注意要將重定向到文件寫到前面
cat Documents/test.c hello.c >somefile 2>&1
將標(biāo)準(zhǔn)錯(cuò)誤重定向到標(biāo)準(zhǔn)輸出廊镜,再將標(biāo)準(zhǔn)輸出重定向到文件牙肝,要將重定向到文件寫到前面
cat Documents/test.c hello.c &>somefilehell
或者只用bash提供的特殊的重定向符號(hào)"&"將標(biāo)準(zhǔn)錯(cuò)誤和標(biāo)準(zhǔn)輸出同時(shí)重定向到文件
應(yīng)在輸出重定向文件描述符前加上&,否則shell會(huì)當(dāng)做重定向到一個(gè)文件名為1的文件中

echo 'hello shiyanlou' | tee hello
使用tee命令同時(shí)重定向到多個(gè)文件,cat hello:hello shiyanlou
exec使用指定的命令替換當(dāng)前的 Shell嗤朴,用一個(gè)進(jìn)程替換當(dāng)前進(jìn)程配椭,或者指定新的重定向
exec 1>somefile
使用exec替換當(dāng)前進(jìn)程的重定向,將標(biāo)準(zhǔn)輸出重定向到一個(gè)文件

chapter13 正則表達(dá)式基礎(chǔ)

grep, sed, awk的用法雹姊;掌握正則表達(dá)式符號(hào)和語法
正則表達(dá)式通彻筛祝縮寫成regex,單數(shù)有 regexp吱雏、regex敦姻,復(fù)數(shù)有 regexps、regexes歧杏、regexen

grep支持三種正則表達(dá)式引擎镰惦,分別用三個(gè)參數(shù)指定
-E POSIX擴(kuò)展正則表達(dá)式,ERE
-G POSIX基本正則表達(dá)式犬绒,BRE
-P Perl正則表達(dá)式旺入,PCRE

| 表示選擇,例如 boy|girl 可以匹配 boy 或者 girl

  • 表示前面的字符必須出現(xiàn)至少一次(1次或多次)凯力,例如goo+gle可以匹配gooogle,goooogle
    ? 表示前面的字符最多出現(xiàn)一次(0次或1次)茵瘾,例如colou?r可以匹配color或者colour
  • 表示前面的字符出現(xiàn)n次(0123...),例如0*42可以匹配42咐鹤,042拗秘,0042..
    gr(a|e)y等價(jià)于gray|grey

^ 匹配輸入字符串的開始位置
$ 匹配輸入字符串的結(jié)束位置
{n} 非負(fù)整數(shù)。匹配確定的n次
{n,} 非負(fù)整數(shù)祈惶。至少匹配n次雕旨。o{1,}等價(jià)于“o+”。o{0,}則等價(jià)于“o*”
{n,m} 非負(fù)整數(shù)行瑞,其中n<=m奸腺。最少匹配n次且最多匹配m次餐禁。
. 匹配除\n之外的任何單個(gè)字符
(pattern) 匹配pattern并獲取這一匹配的子字符串
[xyz] 匹配所包含的任意一個(gè)字符
[^xyz] 匹配未列出的任意字符
[a-z] 匹配指定范圍內(nèi)的任意字符

優(yōu)先級(jí)為從上到下從左到右血久,依次降低:
\ 轉(zhuǎn)義符
(), (?:), (?=), [] 括號(hào)和中括號(hào)
*、+帮非、?氧吐、{n}讹蘑、{n,}、{n,m} 限定符
^筑舅、$座慰、\任何元字符 定位點(diǎn)和序列

grep常用參數(shù)
-b 將二進(jìn)制文件作為文本來進(jìn)行匹配
-c 統(tǒng)計(jì)以模式匹配的數(shù)目
-i 忽略大小寫
-n 顯示匹配文本所在行的行號(hào)
-v 反選,輸出不匹配行的內(nèi)容
-r 遞歸匹配查找
-A n n為正整數(shù)翠拣,表示after的意思版仔,除了列出匹配行之外,還列出后面的n行
-B n n為正整數(shù)误墓,表示before的意思蛮粮,除了列出匹配行之外,還列出前面的n行
--color=auto 將輸出中的匹配項(xiàng)設(shè)置為自動(dòng)顏色顯示

使用基本正則表達(dá)式谜慌,BRE
echo -e '1234\nabcd' | grep '[a-z]'
grep默認(rèn)是區(qū)分大小寫的然想,這里將匹配所有的小寫字母
echo -e '1234\nabcd' | grep '[0-9]'
將匹配所有的數(shù)字
echo -e '1234\nabcd' | grep '[[:digit:]]'
將匹配所有的數(shù)字
echo -e '1234\nabcd' | grep '[[:lower:]]'
將匹配所有的小寫字母
echo -e '1234\nabcd' | grep '[[:upper:]]'
將匹配所有的大寫字母
echo -e '1234\nabcd' | grep '[[:alnum:]]'
將匹配所有的字母和數(shù)字,包括0-9,a-z,A-Z
echo -e '1234\nabcd' | grep '[[:alpha:]]'
將匹配所有的字母

[:blank:] 代表空白鍵與 [Tab] 按鍵兩者
[:cntrl:] 代表鍵盤上面的控制按鍵欣范,亦即包括 CR, LF, Tab, Del.. 等等
[:graph:] 除了空白字節(jié) (空白鍵與 [Tab] 按鍵) 外的其他所有按鍵
[:print:] 代表任何可以被列印出來的字符
[:punct:] 代表標(biāo)點(diǎn)符號(hào) (punctuation symbol)变泄,亦即:" ' ? ! ; : # $... "
[:space:] 任何會(huì)產(chǎn)生空白的字符,包括空白鍵, [Tab], CR 等等
[:xdigit:] 代表 16 進(jìn)位的數(shù)字類型恼琼,因此包括: 0-9, A-F, a-f 的數(shù)字與字節(jié)

使用擴(kuò)展正則表達(dá)式妨蛹,ERE,需要加上-E參數(shù),或使用egrep
echo -e 'zero\nzo\nzoo' | grep -E 'zo{1}'
只匹配"zo"
echo -e 'zero\nzo\nzoo' | grep -E 'zo{1,}'
匹配以"zo"開頭的所有單詞

echo -e 'www.shiyanlou.com\nwww.baidu.com\nwww.google.com' | grep -E 'www\.(shiyanlou|google)\.com'

匹配"www.shiyanlou.com"和"www.google.com"

sed流編輯器晴竞,用于過濾和轉(zhuǎn)換文本的流編輯器
sed [參數(shù)]... [執(zhí)行命令] [輸入文件]...
-n 安靜模式滑燃,只打印受影響的行,默認(rèn)打印輸入數(shù)據(jù)的全部?jī)?nèi)容
-e 用于在腳本中添加多個(gè)執(zhí)行命令一次執(zhí)行颓鲜,在命令行中執(zhí)行多個(gè)命令通常不需要加該參數(shù)
-f filename 指定執(zhí)行filename文件中的命令
-r 使用擴(kuò)展正則表達(dá)式表窘,默認(rèn)為標(biāo)準(zhǔn)正則表達(dá)式
-i 將直接修改輸入文件內(nèi)容,而不是打印到標(biāo)準(zhǔn)輸出設(shè)備
sed -i 's/sad/happy/g' test # g表示全局范圍
sed -i 's/sad/happy/4' test # 4表示指定行中的第四個(gè)匹配字符串

AWK是一種用于處理文本的編程語言工具
awk所有的操作都是基于pattern(模式)—action(動(dòng)作)對(duì)來完成的
pattern {action}
在一個(gè)完整awk操作中甜滨,這兩者可以只有其中一個(gè)
如果沒有pattern則默認(rèn)匹配輸入的全部文本,如果沒有action則默認(rèn)為打印匹配內(nèi)容到屏幕
awk處理文本的方式乐严,是將文本分割成一些“字段”,然后再對(duì)這些字段進(jìn)行處理
默認(rèn)情況下衣摩,awk以空格作為一個(gè)字段的分割符

chapter14 linux下軟件安裝

(適用于ubuntu昂验,redhat和centos使用rpm)
APT是Debian及其派生發(fā)行版的軟件包管理器,可以安裝在支持RPM的系統(tǒng)管理RPM包
這個(gè)包管理器包含以 apt- 開頭的多個(gè)工具如 apt-get apt-cache apt-cdrom 等艾扮,在Debian系列的發(fā)行版中使用
apt-get 是用于處理 apt包的公用程序集既琴,用于在線安裝、卸載和升級(jí)軟件包等
install 其后加上軟件包名泡嘴,用于安裝一個(gè)軟件包
update 從軟件源鏡像服務(wù)器上下載/更新用于更新本地軟件源的軟件包列表
upgrade 升級(jí)本地可更新的全部軟件包甫恩,但存在依賴問題時(shí)將不會(huì)升級(jí),通常會(huì)在更新之前執(zhí)行一次update
dist-upgrade 解決依賴關(guān)系并升級(jí)(存在一定危險(xiǎn)性)
remove 移除已安裝的軟件包酌予,包括與被移除軟件包有依賴關(guān)系的軟件包磺箕,但不包含軟件包的配置文件
autoremove 移除之前被其他軟件包依賴奖慌,但現(xiàn)在不再被使用的軟件包
purge 與remove相同,但會(huì)完全移除軟件包松靡,包含其配置文件
clean 移除下載到本地的已經(jīng)安裝的軟件包简僧,默認(rèn)保存在/var/cache/apt/archives/
autoclean 移除已安裝的軟件的舊版本軟件包

apt-cache search softname1 softname2...
apt-cache 針對(duì)本地?cái)?shù)據(jù)進(jìn)行相關(guān)操作的工具

dpkg被用于安裝、卸載和供給和 .deb 軟件包相關(guān)的信息
-i 安裝指定deb包
-R 后面加上目錄名雕欺,用于安裝該目錄下的所有deb安裝包
-r remove岛马,移除某個(gè)已安裝的軟件包
-I 顯示deb包文件的信息
-s 顯示已安裝軟件的信息
-S 搜索已安裝的軟件包
-L 顯示已安裝軟件包的目錄信息
-f 修復(fù)依賴關(guān)系的安裝

chapter15 Linux進(jìn)程概念

chapter16 linux進(jìn)程管理

查看進(jìn)程的運(yùn)行狀態(tài);進(jìn)程的結(jié)束控制屠列;進(jìn)程的執(zhí)行順序

top能實(shí)時(shí)查看系統(tǒng)的一些關(guān)鍵信息的變化
NICE 值是靜態(tài)優(yōu)先級(jí)蛛枚,為用戶空間的一個(gè)優(yōu)先級(jí)值,取值范圍-20至19脸哀,-20優(yōu)先級(jí)最高蹦浦,0 默認(rèn),19優(yōu)先級(jí)最低
PR 值表示 Priority 值撞蜂,叫動(dòng)態(tài)優(yōu)先級(jí)盲镶,是進(jìn)程在內(nèi)核中實(shí)際的優(yōu)先級(jí)值。取值范圍 0-139蝌诡,值越小優(yōu)先級(jí)越高
PR = 20 + (-20 to +19)溉贿,這里的 -20 to +19 便是nice值
q 退出程序

ps
F 進(jìn)程的標(biāo)志,為1表示此子程序只是fork但沒有執(zhí)行exec浦旱,為 4 表示此程序使用超級(jí)管理員root權(quán)限
TPGID欄寫著-1的都是沒有控制終端的進(jìn)程宇色,也就是守護(hù)進(jìn)程
STAT表示進(jìn)程的狀態(tài)
-l 參數(shù)可以顯示自己這次登錄的 bash 相關(guān)的進(jìn)程信息羅列出來

pstree 可以很直接的看到相同的進(jìn)程數(shù)量,主要可以看到所有進(jìn)程之間的相關(guān)性
pstree -up
-A # 各程序樹之間以 ASCII 字元來連接颁湖;
-p # 同時(shí)列出每個(gè) process 的 PID宣蠕;
-u # 同時(shí)列出每個(gè) process 的所屬賬戶名稱。

當(dāng)一個(gè)進(jìn)程結(jié)束的時(shí)候或者要異常結(jié)束的時(shí)候
會(huì)向其父進(jìn)程返回一個(gè)或者接收一個(gè) SIGHUP 信號(hào)而做出的結(jié)束進(jìn)程或者其他的操作
這個(gè)SIGHUP 信號(hào)不僅可以由系統(tǒng)發(fā)送甥捺,還可以使用 kill 來發(fā)送

root可以調(diào)整所有進(jìn)程使用[-20,19]所有值,普通用戶只能修改自己的并只能用[0,19]

chapter17 Linux日志系統(tǒng)

常見的日志抢蚀;配置的日志;輪替的日志
粗略將日志分為系統(tǒng)日志和應(yīng)用日志

vim

chapter1 vim快速入門

普通模式 插入模式 可視模式 選擇模式 命令行模式 Ex模式

vim后面加上你要打開的已存在的文件名或者不存在(則作為新建文件)的文件名

進(jìn)入命令行模式后輸入:e 文件路徑 同樣可以打開相應(yīng)文件

普通模式下
h 左
l 右
j 下
k 上
w 移動(dòng)到下一個(gè)單詞
b 移動(dòng)到上一個(gè)單詞

進(jìn)入插入模式
i 在當(dāng)前光標(biāo)處編輯
I 行首插入
A 行末插入
a在光標(biāo)后插入編輯
o在當(dāng)前行后插入一個(gè)新行
O 在當(dāng)前行前插入一個(gè)新行
cw 替換從光標(biāo)所在位置后到一個(gè)單詞結(jié)尾的字符

命令行模式下退出vim
:q! 強(qiáng)制退出不保存
:q 退出
:wq! 強(qiáng)制退出保存
:w <文件 路徑> 另存為
:saveas 文件路徑
:x 保存并退出
:wq 保存并退出

普通模式下保存退出vim 輸入Shift+zz

普通模式下刪除文本信息
x 刪除游標(biāo)所在的字符镰禾,輸入.會(huì)再次刪除一個(gè)字符
X 刪除游標(biāo)所在前一個(gè)字符
Delete 同x
dd 刪除整行
dw 刪除一個(gè)單詞 dnw(n為數(shù)字)刪除n個(gè)單詞
d$或D 刪除至行尾
d^ 刪除至行首
dG 刪除到文檔結(jié)尾處
d1G 刪至文檔首部

chapter2 vim文檔編輯

輸入10x皿曲,刪除10個(gè)連續(xù)字符,輸入3dd吴侦,將會(huì)刪除3行文本

行間跳轉(zhuǎn)
nG 游標(biāo)移動(dòng)到第 n 行(默認(rèn)沒有顯示行號(hào)先進(jìn)入命令模式:set nu以顯示行號(hào))
gg 游標(biāo)移動(dòng)到到第一行
G 到最后一行
完成依次跳轉(zhuǎn)后屋休,可以使用 Ctrl+o 快速回到上一次(跳轉(zhuǎn)前)光標(biāo)所在位置

行內(nèi)跳轉(zhuǎn)
w 到下一個(gè)單詞的開頭
e 到當(dāng)前單詞的結(jié)尾
b 到前一個(gè)單詞的開頭
ge 到前一個(gè)單詞的結(jié)尾
0或^ 到行頭
$ 到行尾
f<字母> 向后搜索<字母>并跳轉(zhuǎn)到第一個(gè)匹配的位置(非常實(shí)用)
F<字母> 向前搜索<字母>并跳轉(zhuǎn)到第一個(gè)匹配的位置

普通模式中使用y復(fù)制
yy復(fù)制游標(biāo)所在的整行(3yy表示復(fù)制3行)
y^ 復(fù)制至行首,或y0备韧。不含光標(biāo)所在處字符
y$ 復(fù)制至行尾劫樟。含光標(biāo)所在處字符
yw 復(fù)制一個(gè)單詞
y2w 復(fù)制兩個(gè)單詞
yG 復(fù)制至文本末
y1G 復(fù)制至文本開頭

普通模式中使用 p 粘貼
p(小寫)代表粘貼至光標(biāo)后(下),P(大寫)代表粘貼至光標(biāo)前(上)

ddp 實(shí)現(xiàn)快速交換光標(biāo)所在行與它下面的行

chapter3 查找替換

替換和撤銷(Undo)命令,(普通模式下的操作)
r+<待替換字母> 將游標(biāo)所在字母替換為指定字母
R 連續(xù)替換,直到按下Esc
cc 替換整行毅哗,即刪除游標(biāo)所在行听怕,并進(jìn)入插入模式
cw 替換一個(gè)單詞捧挺,即刪除一個(gè)單詞虑绵,并進(jìn)入插入模式
C(大寫) 替換游標(biāo)以后至行末
~ 反轉(zhuǎn)游標(biāo)所在字母大小寫
u{n} 撤銷一次或n次操作
U(大寫) 撤銷當(dāng)前行的所有修改
Ctrl+r redo,即撤銷undo的操作

使用命令進(jìn)行快速調(diào)整縮進(jìn)操作(普通模式下)
15G闽烙,跳轉(zhuǎn)到15行

整行將向右縮進(jìn)
<<
整行將向左縮進(jìn)
:set shiftwidth=10 對(duì)shiftwidth值進(jìn)行設(shè)置控制縮進(jìn)和回退的字符數(shù)

調(diào)整文本位置
:ce 使本行內(nèi)容居中
:ri 使本行文本靠右
:le 使本行內(nèi)容靠左

快速查找(普通模式下)
/ 鍵入需要查找的字符串按回車進(jìn)行向下查找
翅睛? 與/功能相同,向上查找
輸入n 和 N 可以繼續(xù)查找, n查找下一個(gè)內(nèi)容,N查找上一個(gè)內(nèi)容

高級(jí)查找(普通模式下)
* 尋找游標(biāo)所在處的單詞,向后(下)找
#同上, 向前(上)找
g*同* ,但部分符合該單詞即可
g#同# 黑竞,但部分符合該單詞即可

chapter4 高級(jí)功能入門

vim 1.txt 2.txt 同時(shí)創(chuàng)建兩個(gè)新文件并編輯
命令行模式下輸入 :n 編輯 2.txt 文件捕发,輸入 :N 編輯 1.txt 文件

進(jìn)入vim后打開新文件(命令行模式)
:e 3.txt 打開新文件3.txt
:e# 回到前一個(gè)文件
:ls可以列出以前編輯過的文檔
:b 2.txt(或者編號(hào))可以直接進(jìn)入文件2.txt編輯
:bd 2.txt(或者編號(hào))可以刪除以前編輯過的列表中的文件項(xiàng)目
:e! 4.txt,新打開文件4.txt很魂,放棄正在編輯的文件
:f 顯示正在編輯的文件名
:f new.txt扎酷,改變正在編輯的文件名字為new.txt

如因斷電等原因造成文檔沒有保存可用vim -r進(jìn)入文檔后,輸入:ewcover 1.txt來恢復(fù)

可視模式命令
普通模式下 v 進(jìn)入字符選擇模式遏匆,移動(dòng)光標(biāo)光標(biāo)走過的地方會(huì)選取法挨,再次按下v后取消選取
普通模式下 Shift+v 進(jìn)入行選擇模式,按下V之后會(huì)把整行選取幅聘,上下移動(dòng)光標(biāo)選更多的行
普通模式下 Ctrl+v 進(jìn)行矩形區(qū)域選擇凡纳,再按一次 Ctrl+v 取消選取
可視模式下輸入 d 刪除選取區(qū)域內(nèi)容
可視模式下輸入 y 復(fù)制選取區(qū)域內(nèi)容

視窗操作
命令行模式下輸入 :new 打開一個(gè)新的 vim 視窗,并進(jìn)入視窗編輯一個(gè)新文件(普通模式下輸入 Ctrl+w也可以)
命令行模式下輸入:sp 1.txt 打開新的水平分屏視窗來編輯1.txt
命令行模式下輸入:vsp 2.txt 打開新的垂直分屏視窗來編輯2.txt
普通模式下Ctrl+w s 將當(dāng)前窗口分割成兩個(gè)水平的窗口
普通模式下Ctrl+w v 將當(dāng)前窗口分割成兩個(gè)垂直的窗口
普通模式下Ctrl+w q 即 :q 結(jié)束分割出來的視窗帝蒿。如果在新視窗中有輸入需要使用強(qiáng)制符荐糜!即:q!
普通模式下Ctrl+w o 打開一個(gè)視窗并且隱藏之前的所有視窗
普通模式下Ctrl+w j 移至下面視窗
普通模式下Ctrl+w k 移至上面視窗
普通模式下Ctrl+w h 移至左邊視窗
普通模式下Ctrl+w l 移至右邊視窗
普通模式下Ctrl+w J 將當(dāng)前視窗移至下面
普通模式下Ctrl+w K 將當(dāng)前視窗移至上面
普通模式下Ctrl+w H 將當(dāng)前視窗移至左邊
普通模式下Ctrl+w L 將當(dāng)前視窗移至右邊
普通模式下Ctrl+w - 減小視窗的高度
普通模式下Ctrl+w + 增加視窗的高度

vim -x file1 創(chuàng)建加密文檔

在命令行模式中輸入!可以執(zhí)行外部的shell命令
:!ls 用于顯示當(dāng)前目錄的內(nèi)容
:!rm FILENAME用于刪除名為 FILENAME 的文件
:w FILENAME可將當(dāng)前 VIM 中正在編輯的文件另存為 FILENAME 文件

vim中的查看幫助
普通模式下按F1打開vim自己預(yù)設(shè)的幫助文檔
命令行模式下輸入:h shiftwidth 打開名為shiftwidth的幫助文件
命令行模式下輸入:ver 顯示版本及參數(shù)

vim的功能設(shè)定
(編輯文件的時(shí)候進(jìn)行功能設(shè)定,如:set nu葛超,設(shè)定值退出vim后不會(huì)保存,要永久保存配置需要修改vim配置文件)
獲取目前的設(shè)定(命令行模式下)
:set或者:se顯示所有修改過的配置
:set all 顯示所有的設(shè)定值
:set option? 顯示option的設(shè)定值
:set nooption 取消當(dāng)前設(shè)定值

set功能的說明
:set autoindent(ai) 設(shè)置自動(dòng)縮進(jìn)
:set autowrite(aw) 設(shè)置自動(dòng)存檔暴氏,默認(rèn)未打開
:set background=dark或light,設(shè)置背景風(fēng)格
:set backup(bk) 設(shè)置自動(dòng)備份绣张,默認(rèn)未打開
: set cindent(cin) 設(shè)置C語言風(fēng)格縮進(jìn)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末偏序,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子胖替,更是在濱河造成了極大的恐慌研儒,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,590評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件独令,死亡現(xiàn)場(chǎng)離奇詭異端朵,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)燃箭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門冲呢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人招狸,你說我怎么就攤上這事敬拓×谑恚” “怎么了?”我有些...
    開封第一講書人閱讀 169,301評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵乘凸,是天一觀的道長(zhǎng)厕诡。 經(jīng)常有香客問我,道長(zhǎng)营勤,這世上最難降的妖魔是什么灵嫌? 我笑而不...
    開封第一講書人閱讀 60,078評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮葛作,結(jié)果婚禮上寿羞,老公的妹妹穿的比我還像新娘。我一直安慰自己赂蠢,他們只是感情好绪穆,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,082評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著虱岂,像睡著了一般玖院。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上量瓜,一...
    開封第一講書人閱讀 52,682評(píng)論 1 312
  • 那天司恳,我揣著相機(jī)與錄音,去河邊找鬼绍傲。 笑死扔傅,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的烫饼。 我是一名探鬼主播猎塞,決...
    沈念sama閱讀 41,155評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼杠纵!你這毒婦竟也來了荠耽?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,098評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤比藻,失蹤者是張志新(化名)和其女友劉穎铝量,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體银亲,經(jīng)...
    沈念sama閱讀 46,638評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡慢叨,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,701評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了务蝠。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拍谐。...
    茶點(diǎn)故事閱讀 40,852評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出轩拨,到底是詐尸還是另有隱情践瓷,我是刑警寧澤,帶...
    沈念sama閱讀 36,520評(píng)論 5 351
  • 正文 年R本政府宣布亡蓉,位于F島的核電站晕翠,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏寸宵。R本人自食惡果不足惜崖面,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,181評(píng)論 3 335
  • 文/蒙蒙 一元咙、第九天 我趴在偏房一處隱蔽的房頂上張望梯影。 院中可真熱鬧,春花似錦庶香、人聲如沸甲棍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽感猛。三九已至,卻和暖如春奢赂,著一層夾襖步出監(jiān)牢的瞬間陪白,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工膳灶, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留咱士,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,279評(píng)論 3 379
  • 正文 我出身青樓轧钓,卻偏偏與公主長(zhǎng)得像序厉,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子毕箍,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,851評(píng)論 2 361