1、Linux介紹
Linux版本:
內核版本:最基本的核心程序,只要用於企業和個人在此基礎自行開發所需功能。
發行版本:在內核基礎上增加了一些常用軟件,滿足企業和用戶直接使用的基本需求。
Linux應用領域:
個人桌面:圖形桌面開發
服務器領域:整個系統就像dos命令行一樣,全部命令操作。
嵌入式領域(智能硬件):在Linux基礎上開發自己所需的功能然后將程序燒到硬盤中去執行。
后兩個實用最廣泛;
2、Linux目錄和文件操作
Linux目錄:
Linux的四種文件類型:
1.可分享的
可以分享給其他系統掛載使用的目錄,所以包括執行文件與用戶的郵件等數據, 是能夠分享給網絡上其他主機掛載用的目錄;
2.不可分享的
自己機器上面運作的裝置文件或者是與程序有關的socket文件等, 由於僅與自身機器有關,所以當然就不適合分享給其他主機了。
3.不變的
有些數據是不會經常變動的,跟隨着distribution而不變動。 例如函式庫、文件說明文件、系統管理員所管理的主機服務配置文件等等;
4.可變動的
經常改變的數據,例如登錄文件、一般用戶可自行收受的新聞組等。
事實上,FHS針對目錄樹架構僅定義出三層目錄底下應該放置什么數據而已,分別是底下這三個目錄的定義:
/ (root, 根目錄):與開機系統有關;
/usr (unix software resource):與軟件安裝/執行有關;
/var (variable):與系統運作過程有關。
/:根目錄,Linux文件系統的入口.也是最高一級的目錄.
/etc:系統配置文件目錄,不建議在此目錄下存放可執行文件,重要的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11、/etc/sysconfig、/etc/xinetd.d等,修改配置文件之前記得備份。
/usr:應用程序存放目錄,軟件的安裝路徑
/usr/lib:存放不能直接運行的,卻是許多程序運行所必需的一些函數庫文件。
/usr/bin:存放應用程序;
/usr/share:存放共享數據;
/usr/lib:存放不能直接運行的,卻是許多程序運行所必需的一些函數庫文件。
/usr/local:存放軟件升級包。
/usr/share/doc:系統說明文件存放目錄。
/usr/share/man:程序說明文件存放目錄。
/var:放置系統執行過程中經常變化的文件;
/var/log:隨時可能更改的日志文件;
/var/log/message:所有的登錄文件存放目錄;
/var/spool/mail:郵件存放的目錄;
/var/run:程序或服務啟動后,其PID(端口號)存放在該目錄下。
/lib:系統使用的函數庫的目錄,程序在執行過程中,需要調用一些額外的參數時需要函數庫的協助。比較重要的目錄為/lib/modules。
/bin:可執行二進制文件的目錄,如常用的命令ls、tar、mv、cat等;類似於/usr/bin
/home:系統默認的用戶家目錄,新增用戶賬號時,用戶的家目錄都存放在此目錄下,~表示當前用戶的家目錄,~test表示用戶test的家目錄。用戶的個人文件都存放在此目錄下。
/tmp:一般用戶或正在執行的程序臨時存放文件的目錄,任何人都可以訪問,重要數據不可放置在此目錄下
這里介紹了一些常用的目錄,想要了解更多請前往:http://www.cnblogs.com/silence-hust/p/4319415.html
文件操作:
1、文件的顯示
ls:顯示當前目錄下的文件和目錄
ls -a:顯示當前目錄下的所有文件和目錄,包括隱藏文件和目錄。
ls -l:顯示當前目錄下文件盒目錄的詳細信息。
ls -h:以合適的單位顯示當前目錄下的文件和目錄的大小
ls -alh 或 ls -a -l -h:三者不分前后順序
例:ls /bin:查看根目錄下,bin文件夾里的所有內容;
2、目錄的跳轉
cd:打開某個文件夾,后跟文件夾名或文件夾的路徑
cd - :跳轉到上一次操作,只在最后兩步之間來回跳轉。
cd ~:跳轉到當前路徑的家目錄下,例如/home/hadoop
pwd:顯示當前的絕對路徑
cd ..:跳轉到當前路徑的上一層
.:表示當前路徑
..:當前路徑的上一層
../../..:當前路徑上三層
3、正則表達式
*:通配符,匹配任意字符,*.txt所有以.txt結尾的文件名。
[abc]:中括號中的人一個匹配成功即可,相當於a,b,c的並集;可寫成[a-c]。
?:表示此處有一個字符,未知的,不能是空;
‘^a’:以a開頭的內容
‘a$’:以a結尾的內容
4、文件創建和刪除
gedit:打開要編輯的文件。
mkdir:創建文件夾
mkdir a :當前目錄創建文件夾a
mkdir A/B/C -p:創建三級文件夾
tree:顯示文件樹
rm:刪除文件(不進回收站)
rm a/* -r:刪除文件夾內的內容
rm a -r:刪除文件夾
rmdir:刪除空文件夾
-i:交互式詢問刪除
-f:不交互直接刪除
ln:給原文件創建快捷方式,分軟連接和硬鏈接
ln 原文件名 快捷鍵名
軟連接:刪除快捷方式對原文件沒影響,刪除原文件快捷方式打不開
ln -s 原文件名 快捷鍵名
硬鏈接:刪除原文件,快捷方式不影響查看,相當於一個文件的多個名字備份,直到刪到最后一個才能刪除原文件。
5、文件搜索
grep:從文件中搜索內容。
grep -n 't':顯示所有帶‘t’的內容,不區分大小寫,顯示行號
grep -i 't':忽略大小寫
grep -v 't':顯示除帶‘t’以外的內容
‘t’:可以用正則表達式來代替
find:查找當前路徑下的文件
find 路徑名 + ……
-name filename #查找名為filename的文件
-perm #按執行權限來查找
-user username #按文件屬主來查找
-size -2M #按文件大小查找,小於2兆
6、文件的復制和移動
cp 想要復制的文件名 復制到的文件名 :文件的復制
-v:顯示復制進度條
-i:交互式復制
-f:強制性復制
-a:同事復制文件的隱性信息,比如權限,軟連接本身
-r:復制文件夾 例cp b a/ -r :將b文件夾復制到a文件夾下
cp b/* a/ -r :將b文件夾下的內容復制到a文件夾下
mv:移動就是剪切
mv 05.tmt 05.tot:將第一個名字重命名為第二個名字
7、文件的壓縮
tar -cvf xxx.tar *:打包當前路徑所有文件為xxx.tar
tar -zcvf xxx.tar.gz * :壓縮當前文件夾所有文件
gzip xxx.tar:壓縮打包好的文件夾xxx.tar得到文件名為:xxx.tar.gz
gzip test.tar:同上,gzip xxx.tar
tar -xvf xxx.tar:解壓文件
gzip -d xxx.tar.gz:解壓文件
tar -zxvf xxx.tar.gz (-C路徑):解壓當前壓縮文件到指定路徑
上述中的‘z’可改成‘j’是一種算法壓縮,xxx.tar.bz2就是一種bz2算法壓縮
zip(-r) myzip.zip *:直接壓縮文件夾所有內容
unzip -d .test/AA myzip.zip:解壓文件到指定文件夾
8、文件的權限
-,+,=:減少,增加,設置權限
chomd u-w 文件名:給用戶減少寫操作權限
u:擁有用戶,o:其他人,g:同組人,a:所有
r,w,x:讀,寫,執行 數字賦值分別為:4,2,1,u=rwx,o=rwx,g=rwx等價於a=rwx
a= :等於空表示什么權限都沒有
chomd 777 文件名:文件夾的權限
chomd 777 文件名 -R:文件夾內所有文件的權限
chown:修改文件的擁有者
chgrp:修改文件所屬組
常用快捷鍵操作
1、實用操作命令
clear:清空當前的屏幕,只是將當前頁面內容上移,並沒有刪除。
Tab:用來自動補全輸入
touch:在當前文件夾中創建文件,Linux沒有文件名后綴的形式,例test.txt只是一個文件名。
\:反斜杠,轉義字符。例 ls \*a 顯示*a文件夾里的文件和目錄
>:輸出重定向,將內容輸出到此文件中,沒有此文件就創造文件,有此文件就刪除原文件內容,將此內容輸出到文件中。
>>:同上,只是在存在同名文件時,將此內容追加到文件后,並不刪除原文件內容。
例:ls > test.txt:將想要顯示的內容保存到test.txt文件中去。
more:文件內容大於一屛時,將文件里的內容滾屏顯示。
| (管道):連接兩個命令。例 ls -alh|more
cat:查看文件內容,如果文件內容較多,可用鼠標滾珠查看,一掃而過。
cat 文件名 > 文件名:實現將文件的內容復制到另一個文件
cat 多個文件名 > 文件名:實現多個文件的合並。
2、幫助文檔
history:歷史輸入命令
--help:幫助文檔
ls -help :查看ls命令的幫助
manual:Linux手冊。比help好用很多,顯示格式也比較好看。
man ls :查看ls命令解釋
man 2或3 ls :以不同語言形式展現命令幫助,(2代表C語言,3代表……)
which:查看命令的位置,例 which ls:查看ls命令所在的位置
bin 文件夾下都是執行程序,/bin,/usr/bin都是
mount :掛載命令
3、查看日期
cal:查看當前日歷
cal -y 2018 :顯示2018年的日歷
date:顯示當前時間(ntp:網絡時間協議)
date [MMDDhhmm[[yy]ss]]:格式化輸出
date ‘+%Y-%m’ :格式化輸出
4、進程控制
ps:查看進程信息,相當於任務管理器
ps -aux:顯示所有正在運行的程序
-a:顯示終端上的所有進程
-u:顯示進程的詳細狀態
-x:顯示沒有控制終端的進程
-w:顯示加寬以便顯示更多信息
-r:只顯示正在進行的進程
top:動態顯示進程
m:內存,c:CPU等可按照屬性的首字母排序
kill:殺死正在進行的進程
kill pid 或 kill -9 pid(殺不死用這個)
5、關機與重啟
reboot:重啟
shutdown -r now :立刻重啟
shutdown -h now :立刻關機
shutdown -h 20:35 :八點三十五關機
shutdown -h +10 :十小時后關機
init 0 :關機
init 6 :重啟
df :檢查當前磁盤情況
du :顯示當前路徑下的所有文件的大小及路徑
du -h :顯示文件大小的單位
編輯器及其常用操作操作
1、編輯器選擇和模式
編輯器:sublime,vim:命令模式,編輯模式,末行模式
sublime的安裝和使用技巧:
subl:打開快捷鍵
gedit:打開文本編輯器
vim是vi的升級版本……
vim 1.py +23:直接打開跳轉到23 行
v:進入可視模式,按字符移動選取
r:替換當前字符
R:替換光標后的字符
/+內容:找想要的內容
N,n :向上或向下跳轉
vi 1.py :直接進入命令模式
進入編輯模式的三種方式:
i:當前光標位置的前面插入
o:在下一行插入
a:當前光標后插入
esc:編輯模式回到命令模式
I:行首 A:行末 O:上一行
命令模式下:
shift+zz:保存並退出
:+x:保存並退出
命令模式-->末行模式的轉變用:冒號
末行模式下:
X 加密文件
冒號+w:保存
冒號+q:退出
冒號+wq:保存並退出
!:強制執行
2、編輯模式常用快捷鍵
ctrl + n :自動提示補全
、 h,j,k,l,M:左,下,上,右,中
L:當前屏幕最后一行
yy:復制,例:8yy從光標當前所在行復制8行
p:粘貼
dd:剪切,例:8dd從當前行剪切8行
u:撤銷
ctrl + r:反撤銷
G: 跳到最后一行
15G:跳到15行
1G:跳到第一行
gg:跳到第一行
w:往右跳一個字
d:往左跳一個字
ctrl + d:向下半屏
ctrl + u:向上半屏
ctrl + f:向下一屏
ctrl + b:向上一屏
3、編輯模式下的刪除操作
X:刪除左邊的字符
x:刪除當前字符
D:刪除光標這一行的行末內容
d0:刪除光標前的內容
dw:刪除光標后的所有內容
>> << :文本的左右移動或Tab鍵
.:上一步執行的命令
4、末行模式
:%s/123/abc/g :將當前文本中所有的123都替換成abc。
:1,10s/123/abc/g:將當前文本1到10行的替換
vim例可實現shell命令操作
:!+終端的shell命令
vim 的分屏操作,Linux安裝軟件等:有待補充