想要入門Linux?先把這些都背過
Linux歷史
Linux是一套免費(fèi)使用的類Unix操作系統(tǒng)
linux創(chuàng)始人: ?林納斯·托瓦茨
UNIX系統(tǒng)是一個(gè)多用戶,多任務(wù)的分時(shí)操作系統(tǒng)。
vim ? vim 是vi的改進(jìn)版本
vi/vim是unix/linux中最基本,最常用,功能最強(qiáng)大的文本編輯器。
vi/vim有兩種模式:
命令模式:鍵盤上所有輸入的字符都當(dāng)成命令(剛進(jìn)入vim就是命令模式)
輸入模式:鍵盤上所有輸入的字符都當(dāng)成文本內(nèi)容
輸入模式-->命令模式: Esc
命令模式-->輸入模式
i:insert 進(jìn)入輸入模式后,光標(biāo)不動
I:insert 進(jìn)入輸入模式后,光標(biāo)會移動到本行的行首
o:open 向下開路。在光標(biāo)的下一行,新開一行。
O:open 向上開路。在光標(biāo)的上一行,新開一行。
a:append 追尾。進(jìn)入輸入模式后,光標(biāo)向后移動一個(gè)字符。
A:append 追尾。進(jìn)入輸入模式后,光標(biāo)移動到行尾。
vim的刪除與修改命令
x:刪除光標(biāo)所在的字符
dd:delete刪除光標(biāo)所在的行,同時(shí)也有"剪切"的功能
ndd: ?n表示一個(gè)數(shù)字,刪除光標(biāo)及以下的n行
r:replace 替換光標(biāo)所在的單個(gè)字符
R:replace 替換光標(biāo)及后面的多個(gè)字符(按Esc鍵退出替換)
vim退出命令
:q (quit)不保存退出(若修改了文件會詢問是否保存)
:q! 不保存強(qiáng)制退出
:w (write)保存
:w filename 保存內(nèi)容到指定的路徑名filename(另存為)
:wq 保存并退出
:x ?保存并退出
vim撤銷命令
u: undo
vim拷貝和粘貼命令:
yy: yanked 把當(dāng)前行的內(nèi)容拷貝到剪貼板中去
nyy把光標(biāo)及以下n行的內(nèi)容粘貼到剪貼板中去
p: paste 將剪貼板中的內(nèi)容貼在光標(biāo)所在的行的后面
P: paste 將剪貼板中的內(nèi)容貼在光標(biāo)所在的行的前面
vim搜索命令
/pattern(模式)
eg: ?/abc
n: 光標(biāo)跳到下一個(gè)搜索結(jié)果
N:光標(biāo)跳到上一個(gè)搜索結(jié)果
顯示行號
:set nu
:set nonu 取消行號
:行號
? ? 光標(biāo)跳到指定的行
:$
光標(biāo)跳到文件的最后一行
vim配置文件在主目錄下 ? .vimrc
ls -a
vim .vimrc
Ctrl+z 掛起vim ? ?fg命令返回
4.查看Linux說明手冊(manual)
man ?commandname/functionname ? 完整的手冊
vim: ?shift + K ?查看光標(biāo)所在函數(shù)的第一章手冊
info commandname ?額外的幫助文檔
5,基本的系統(tǒng)維護(hù)命令
sync 同步,把緩沖區(qū)的數(shù)據(jù)寫去文件。
shutdown ?關(guān)機(jī) ? shutdown -h 0(立即關(guān)機(jī))
reboot ?重啟
passwd [username] 修改用戶密碼
su ?username ?切換用戶
sudo -s ?進(jìn)入root用戶
exit 退出用戶或終端
clear 清屏
echo "string" 在標(biāo)準(zhǔn)輸出上顯示文字
date 輸出當(dāng)前的日期
``反撇號(~鍵),里面加一個(gè)命令,整體表示引用命令的輸出結(jié)果
eg:
B=`date`
echo $B
TAB鍵: 自動補(bǔ)全命令
向上,向下方向鍵: 調(diào)出上一個(gè)/下一個(gè)命令
6,用戶管理
/etc/passwd :用戶信息文件
用戶名:口令:用戶ID(UID):用戶組(GID):用戶主目錄:用戶shell
/etc/group :用戶組的信息文件,在Linux下面是分組來管理用戶的
組名:口令:GID號:成員列表
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
這里組名是創(chuàng)建這個(gè)組的用戶(組長)的名字
GID是創(chuàng)建這個(gè)組的用戶(組長)的ID
adduser username //創(chuàng)建一個(gè)普通用戶
userdel username //刪除一個(gè)用戶
7,進(jìn)程管理 ? process
ps: process status 查看進(jìn)程的狀態(tài)信息
-e: every 每一個(gè)
-f: full 全部的
ps -ef: 查看每一個(gè)進(jìn)程的全部信息
每個(gè)進(jìn)程的信息都保存在一個(gè)文件目錄中
/proc/$PID
top:以CPU占用率來實(shí)時(shí)排名進(jìn)程
kill:殺死一個(gè)進(jìn)程
kill -9 ?$PID
8,linux文件系統(tǒng)
linux文件系統(tǒng)的組織形式 :樹狀
絕對路徑:以"/(根目錄)"開頭的路徑,叫做絕對路徑
相對路徑:不以"/(根目錄)"開頭的路徑,叫做相對路徑
相對路徑是以當(dāng)前路徑為參照的,系統(tǒng)查找文件本質(zhì)上都是以絕對路徑來查找的。
在查找相對路徑時(shí),是把當(dāng)前目錄路徑和相對路徑合為絕對路徑再查找。
pwd:顯示當(dāng)前目錄路徑
cd : change directory
cd /目錄名
在每個(gè)目錄下面都會有兩個(gè)特殊的隱藏的目錄
. ?:表示當(dāng)前目錄
.. :表示上一層目錄
cd .. 返回上一層目錄
cd - ?返回上一次目錄
./程序名 ? 運(yùn)行該程序
ls: list status 把某個(gè)文件(包含目錄)的狀態(tài)信息給列出來
ls ?[options] ?[文件名/目錄]
options:
-a: all ,把所有的文件都列舉出來。
在linux下以.開頭的文件,視為隱藏文件
-l:把文件的詳細(xì)信息給列舉出來
eg:
-rwxrw-r-- ? ?1 ? ? ? gec ? ? ?gec ? ? ?40 ? ? ? ? Feb ?16 ?19:40 ? test.txt
?硬鏈接數(shù) ? 用戶 ? ?用戶組 ? 文件大小 ? ? ? 最后修改時(shí)間 ? ?文件名
第一個(gè)字符表示文件類型:
- :普通文件(regular file),ASCII文本文件,二進(jìn)制可執(zhí)行文件?
d :directory 目錄(文件夾)
b :block 塊設(shè)備文件
c :char 字符設(shè)備文件
l :link符號鏈接文件,指向另外一個(gè)文件
P :pipe 管道文件
s :socket套接字文件
下面的九個(gè)字符rwx表示文件對不同情況下的權(quán)限
r:read 讀的權(quán)限
w:write寫的權(quán)限
x:excute可執(zhí)行的權(quán)限,對目錄可執(zhí)行,表示可以進(jìn)入目錄
分三組:
user/group/other
chmod :change mode 改變文件的模式(權(quán)限)
chmod ?權(quán)限 ?文件名
權(quán)限有兩種指定方式:
(1) ?u/g/o/a+/- ?r/w/x
(2) ?以八進(jìn)制的形式表示權(quán)限位
0774
rm:remove 移除,刪除
rm [options] DEST
DEST:要刪除的目標(biāo)文件,既可以是普通文件,也可以是目錄
options:
-r :recursive(遞歸),若DEST是目錄文件,必須要用遞歸刪除
-f :force(強(qiáng)制)。非交互模式
交互模式:在正式刪除前會詢問用戶是否確定要刪除
非交互模式:不會詢問直接刪除
cp: copy
copy [options] SOURCE DEST
SOURCE:源文件。既可以是普通文件也可以是目錄
DEST:目標(biāo)文件。既可以是普通文件也可以是目錄
options:
-r:recursive(遞歸)
-f:force(強(qiáng)制)。非交互模式
mv: move移動 (既可以移動普通文件,也可以移動目錄)
mv SOURCE DEST
把SOURCE移動到DEST中去
eg: mv 1.txt ../
mv 1.txt 2.txt
把1.txt改名為2.txt
mkdir:make directory 創(chuàng)建一個(gè)目錄
mkdir ?目錄名
-p:parent 創(chuàng)建目錄時(shí),如果父目錄不存在,則一并創(chuàng)建
rmdir:remove directory 刪除一個(gè)空目錄
file:查看一個(gè)文件的格式。在UNIX里文件的擴(kuò)展名不能決定文件的格式。
顯示文本文件的內(nèi)容
cat 把文本文件的內(nèi)容全部一次性打印在終端
more 分屏顯示一個(gè)文本文件的內(nèi)容,按Enter一行一行顯示,空格鍵一屏一屏的顯示,q退出
less 分屏顯示一個(gè)文本文件的內(nèi)容,方向鍵上/下把內(nèi)容前后滑動,q退出
head -num 顯示文件的前num行
tail -num 顯示文件的末尾num行
創(chuàng)建鏈接文件
硬鏈接 ? ?ln ? ? ?target ? link_name
軟鏈接 ? ?ln ?-s ?target ? link_name
文件的壓縮和解壓縮
文件的壓縮實(shí)質(zhì)上分為歸檔和壓縮兩個(gè)過程
歸檔文件:將一組文件或目錄打包到一個(gè)文件中去
tar [options] tarfile ?filelist
-c ?create 創(chuàng)建一個(gè)歸檔文件
-f ?file ?指定歸檔文件的名字
-x ?extract 釋放一個(gè)歸檔文件
壓縮文件:將一個(gè)文件進(jìn)行壓縮
壓縮: gzip ?xx ?==> xx.gz
解壓 ?gunzip xx.gz ==>xx
壓縮 ?bzip2 xx ==> xx.bz2
解壓 ?bunzip2 xx.bz2 ==> xx
我們可以一步完成歸檔壓縮這兩個(gè)過程
tar [options] tarfile ?filelist
-c create 創(chuàng)建一個(gè)歸檔文件
-f file 指定歸檔文件的名字
-v 顯示歸檔或釋放的過程信息
-x extract 釋放一個(gè)歸檔文件
-z 由tar生成歸檔文件,然后由gzip壓縮
-j 由tar生成歸檔文件,然后由bzip壓縮
eg:
壓縮:
tar -zcvf mp3.tar.gz ?1.mp3 2.mp3 3.mp3
tar -jcvf mp3.tar.bz2 1.mp3 2.mp3 3.mp3
解壓
tar -vxf mp3.tar.gz -C 目標(biāo)目錄
tar -vxf mp3.tar.bz2 -C 目標(biāo)目錄