linux注意點
linux和window的區(qū)別
linux嚴格區(qū)分大小寫,注意和doc是不一樣的
linux的所有內容都以文件的形式保存,包括硬件
linux沒有擴展名的這種名稱的
- 壓縮包:.gz .bz2 .tar.baz2 .tgz等
- 二進制: .rpm
- 網頁 html .php
- 腳本 .sh
- 配置文件 .conf
以上就是約定俗稱的的名稱但是如果沒有
window的程序不能直接在linux下運行
字符界面的優(yōu)勢
占用的系統(tǒng)資源更少
減少了出錯,減少了被攻擊的可能性
linux的安裝
ide 硬盤”、: /dev/hd*
scsi usb sata : /dev/sd*
linux的常用命令
[root@loclalhost ~]#
root 當前登錄用戶
localhost 主機名
~當前所在的目錄
#超級用戶的提示符
$ 如果是普通用戶的話,就顯示$
一、命令基本格式
命令 [選擇] [參數(shù)]
注意
- 個別不支持上述的命令格式
- 多個選項是后,可以寫在一起
- 簡化 -a 完整的選項 --a 有兩個剛
權限;
-rw-r--r--
文件類型:看第一位:如果是-文件 d目錄 l軟連接文件
rw- (u所有者)r--(g所屬組)r--(o其他人): rwk r:red w:write寫 x:執(zhí)行
ls
ls [選項] [file/dir]
選項:-a 所有的文件包括隱藏的 -l詳細信息
-d查看目錄屬性 -h人性化顯示文件大小 -i顯示inode
linux的隱藏文件:以.開頭的文件
二、文件處理命令
目錄處理命令:
mkdir -p [目錄名稱]
-p 遞歸創(chuàng)建 (目錄名稱是一串多個目錄的時候)
cd (change directive)
cd [目錄]
簡化操作
cd ~ 當前用戶的家目錄
cd 同上
cd - 進入上次目錄
cd .. 進入上一級目錄
cd. 進入當前目錄
絕對路徑:
cd /etc/這個就是從根目錄開始的
cd ../etc/這個就是相對路徑的
pwd顯示當前文件路徑
rmdir (remove empey directive )
只能刪除非空目錄 這里刪除的比較少
rm 刪除不管是不是非空文件
rm -rf /japan/
參數(shù) -rf
r 表示刪除目錄
f 強制刪除(不再疑問)
cp (copy)
cp 【選項】 【源文件/目錄】 【目標文件/目錄】
-r 復制目錄
-p 連帶文件屬性復制
-d 源文件是鏈接文件,就復制鏈接屬性
-a 相當與 -pdr
ll 就是ls -l兩個命令完全一樣
mv (move)
mv [源文件或目錄] [目標目錄]
剪切 ,沒有-r
如果源文件和目標文件在同一個文件下,就是改名
如果源文件和目標文件不在同一個文件下,就是剪切
常用的目錄
/bin
/sbin 命令保存目錄 超級用戶才能使用
/usr/bin/系統(tǒng)命令 普通用戶
/usr/sbin /系統(tǒng)命令超級用戶才能使用
以上都是用來保存系統(tǒng)命令的,區(qū)別在于普通權限還是超級用戶權限
/boot 啟動目錄
/dev 特殊文件保存目錄
/etc系統(tǒng)的配置文件
/lib 函數(shù)庫的保存位置
以下三個是空目錄,用來掛載外接的設備的
/media
/mnt
/misc
以下兩個是掛在內存的盤符:
/sys
/proc
臨時目錄:/tmp
系統(tǒng)軟件資源目錄 /usr/
系統(tǒng)相關的文檔內容/var
鏈接命令
ln -s [源文件] [目標文件]
link
生成鏈接文件
選項 -s 創(chuàng)建軟鏈接
硬鏈接特征:
- 擁有相同的i節(jié)點和儲存block塊 可看成是同一個文件
- 同過i節(jié)點識別
- 不能夸分區(qū)
- 不能針對目錄使用
軟連接的特點:
- 類似于window的快捷方式
- 有自己的i節(jié)點和block塊,但是只保存源文件的文件名和I節(jié)點號,沒有實際的文件數(shù)據
- lrwxrwxrwxx 權限全放開
- 修改任意文件,另一個都改變
- 刪除源文件,軟連接不能使用
三、文件搜索命令
1、 文件搜索命令 locate
速度最快
localte 文件名
在后臺數(shù)據庫中按文件名搜索,速度更快
/var/lib/mlocate會在這個里邊進行搜索,而不會搜索實際的文件,這個數(shù)據庫一天一更新,所以找不到新建的文件
updatedb 這個命令強制更新數(shù)據庫
locate locate 這個查看locate的文件命令
eg:
locate changls//只能根據文件名來查看
在文件/etc/updatedb.com配置文件中
prune_bind_mounts = "yes"開啟搜索x限制
prunefs = 不搜索的文件系統(tǒng)
prunenames= 不搜索的文件類型
prunepaths 不搜索的路徑
2、 命令的搜索命令whereis 與which
whereis 命令名
搜索命令所在的位置:
whereis ls這個就是查看命令文件的
選項:-b 只查找可執(zhí)行文件
-m 只查找?guī)椭募?/p>
which命令:
搜索文件所在的路徑一及別名能夠看到文件的別名
which ll
alias ll='ls -l --color=auto'
/usr/bin/ls
3、 文件搜索命令find
完全匹配
find [范圍] [文件名]
find / -name install.log
#根據名字搜索
find / -iname install.log
# iname名字不區(qū)分大小寫
find /root -user root
#根據所有者查詢
find /root -nouser
#沒有所有者的文件
find /var/log/ -mtime +10
#查找十天前修改的文件
find . -size 25k
# 注意:這里的k是小寫,然后M是大寫
# 查找文件大小是25k的文件
find . -inum 262422
# 查找inum結點是26422的文件
按照時間 find /var/log/ -mtime +10
-10 10天內修改的文件
10 10天當天修改的文件
+10 10天前修改的文件
atime 文件訪問的時間
ctime 改變文件屬性
mtime 修改文件內容
find在系統(tǒng)當中搜索符合條件的文件名,如果需要匹配,使用通配符,通配符是完全匹配的
find的復雜操作
find /etc -size +20k -a -size -50k
# -a表示 and 邏輯與
# -o 表示 or 邏輯或
find /etc -size +20k -a -size -50k -exec ls -lh {} \;
查找 并且顯示詳細的信息
# -exec/-ok 命令{} \對搜索結果執(zhí)行操作
-exec/ (這里填寫執(zhí)行情況) {} \ ;這是一個固定的命令格式
通配符:
*
?表示任意一個字符
[ab]表示匹配a或者是b
4、字符串搜索命令 grep
grep [選項] 字符串 文件名
在文件當中匹配符合條件的字符串
-i 忽略大小寫
-v 排除指定字符串
其實就是在后頭的文件中找到關鍵字對應的信息
5、find與 gerp的區(qū)別
find:
系統(tǒng)當中搜索符合條件的文件名,需要完全匹配
grep 文件當中搜索符合條件的字符串,如果需要匹配,使用正則表達式進行匹配,正則表達式也是包含匹配
四、幫助命令
man
查看文件說明
man -f 相當于 whatis命令 查看有哪些對應的幫助等級
舉例:
man -5 passwd
man -4 null
man -8 ifconfig
man的級別
- 查看命令的幫助
- 可被內核調用的函數(shù)的幫助
- 函數(shù)和函數(shù)庫的幫助
- 查看特殊文件的幫助,主要是/dev下的文件
- 查看配置文件按的幫助
- 游戲的幫助
- 其他雜項的幫助
- 系統(tǒng)管理員可用命令的幫助
- 和內核相關文件的幫助
查看和命令相關的所有的幫助:
man -k 命令
相當與 apropos命令
命令--help
shell內部命令
- help 內部命令
help cd
如和判斷是不是內部命令 如果通過whereis 找不到對應的文件,只能找到幫助文檔就知道是內部命令了
help 和man分別獲取前后的命令 - info
-回車 進入子幫助界面,帶有* 標記
-u 進入上層頁面
-n 進入下一個幫助小節(jié)
-p 進入上一個幫助小節(jié)
-q 退出
五、 壓縮與解壓縮命令
常見的五種壓縮格式: .zip/ .gz/ .bz2 /.tar.gz/ .tar.bz2
zip
zip 壓縮文件名 源文件(壓縮文件)
zip -r 壓縮文件名 源文件 (壓縮目錄)加個-r就是目錄
gzip
.gz 類型的文件
gzip 源文件 (源文件會丟失)
gzip -c 源文件 > 壓縮文件
尖括號>用來輸出文件,就比如 ls > abc 就把ls下所有輸出的東西寫到了abc文件中
壓縮為.gz格式的文件,但是源文件保留
gzip -r 目錄
壓縮目錄下的所有的子文件,但是不能壓縮目錄
解壓文件 gzip -d 壓縮文件
以上為解壓縮文件
gunzip 壓縮文件
解壓縮文件
gzip壓縮目錄有問題
bzip 源文件
.bz2格式,但是不保留源文件
-k 無論在壓縮還是解壓縮的是后,都保留了原來的文件
bzip2 -k 源文件 壓縮后保留源文件
注意;bzip2命令不能壓縮目錄
解壓縮: bzip2 -d 壓縮文件/bunzip2 壓縮文件
打包命令tar
tar -cvf 打包文件 源文件
-c 打包 -v 顯示過程 -f 指定打包后的文件名
tar -xvf 打包文件名
-x 解打包
如果打包加壓縮成gz
tar -zcvf 壓縮包名.tar.gz 源文件
解壓縮加解包
tar -zxvf 壓縮包名.tar.gz 源文件
如果打包加壓縮成bz2
tar -jcvf 壓縮包名.tar.bz2 源文件
解壓加解打包
tar -jxvf 壓縮包名.tar.bz2
六、關機和重啟命令
shutdown命令
shutdown [選項] 時間
-c 取消前一個關機命令 -h關機 -r 重啟
shutdown -r 05:30 &
這個&的作用是在后臺執(zhí)行,倒時候會自動執(zhí)行
時間可以是now
other 關機命令
halt /poweroff /init 0
都不會很安全
other 重啟命令
reboot /init6
系統(tǒng)的運行級別:
0 關機
1 單用戶
2 不完全多用戶,不含nfs服務
3 完全多用戶
4 未分配
5 圖形界面
6 重啟
退出登錄
logout 推出登陸
七、其他常用命令
掛載命令
用戶登陸查看和用戶交互命令
mount 掛載命令
mount -a 依據配置文件,/etc/fstab的內容,自動掛載
掛載命令格式
mount [-t 文件系統(tǒng)] [-o 特殊選項] 設備文件名 掛載點
選項:
-t 文件系統(tǒng),制定掛載的類型,可以是ext3 ext4 iso9660等文件系統(tǒng)
-o特殊選項:可制定掛載的額外選項
賦予執(zhí)行權限:
chmod 755 [filename]
vi
#!/bin/bash
#第一行必須是上邊的那句話,不可省略
echo "helloworld "
用戶登陸查看命令
- w 用戶/顯示用戶的信息
- who 用戶名
- last 查看所有用戶的登陸信息/系統(tǒng)的重啟時間
- lastlog 默認讀取var/log/lastlog文件內容
命令輸出
-用戶名 登陸終端 ip最后一次登陸時間
shell基礎
腳本的執(zhí)行方式
1、 echo輸出命令
echo [選項] [輸出內容]
選項:
\a 警告 \n換行 \b 退格,左刪除\r回車\t制表\v垂直制表\Onnn 按八進制輸出字符\xhh十六進制輸出字符
第一個腳本
[root@localhost filegz]# vi testsh
然后執(zhí)行
#!/bin/bash
# The first programe
echo -e "hello world"
調用的時候,兩種方式:
./test.sh
或者是bash test.sh
別名與快捷鍵
bash 的基本功能:
1、命令別名與快捷鍵
查看所有的別名:alias
設值別名:注意自己別隨便添加空格
alias ls='ls --color =never'
寫入環(huán)境變量配置文件
vi ~/.bashrc
刪除別名unalias 別名
命令生效的順序:
1、 第一順位執(zhí)行用絕對路徑或者是相對路徑執(zhí)行的命令
2、執(zhí)行別名
3、執(zhí)行bash的內部命令
4、執(zhí)行按照$path環(huán)境變量定義的目錄查找順序找到的第一個命令
快捷鍵
- 強制終止 ctrl+c
- 清屏 ctrl+u
- 光標移動到命令行首 ctrl+a
- 光標移動到命令行尾 ctrl+e
- 光標刪除到行首 ctrl+u
- 命令放入到后臺 ctrl+z
- 歷史命令中搜索 ctrl + r
2、歷史命令
上下箭頭來調用
使用 !n 重復執(zhí)行第n條歷史命令
使用 !!上一條歷史命令
使用 !字符串重復執(zhí)行最后一條以該字串開頭的命令
history [選項] [歷史命令的保存文件]
-c 清空歷史命令 -w 把緩存中的歷史命令寫入歷史命令保存文件 ~/.bash_history
歷史命令中默認保存1000條,如果不滿意可改變/etc/profile/ HISTSIZE=10000
命令文件的補全:Tab鍵盤
命令補全以來Path目錄 echo $PATH
3、輸出重定向
標準輸出重定向(只有正確的是后)
命令 > 文件 命令的內容寫到文件中
命令 >> 文件 命令的內容追加到file中
標準錯誤輸出
命令 2>> file 追加的是錯誤的信息
命令 2>file 覆蓋的是錯誤的信息
如果是錯誤輸出,大于號左邊是不能有空格的
如果一個文件錯誤不錯誤的信息都輸入到這個文件中:
ifconfig longzls >> test2.log 2>&1
同時保存:
命令 > 文件 2>&1 # 覆蓋的形式
命令 >> 文件 2>&1 # 追加的形式
命令 &>文件 #覆蓋的方式
命令 &>>文件 #追加的方式
命令>>文件1 2>>文件2 #正確的輸出追加到文件1中,錯誤的輸出追加到文件2中
輸入重定向:
wc [選項][file]
-c 統(tǒng)計直接數(shù)
-w t統(tǒng)計單詞數(shù)
-l 統(tǒng)計行數(shù)
之后ctrl +d 就能看了
4、多命令順序執(zhí)行
; 多個命令順序執(zhí)行,命令之間沒有任何邏輯聯(lián)系
&& 邏輯與前邊執(zhí)行,后頭才會執(zhí)行,1不對,短路
|| 邏輯或,命令1執(zhí)行不正確,命令2才會執(zhí)行
管道符
命令1 | 命令2 命令1的正確輸出作為命令2的操作對象
5、shell中的特殊符號
通配符:
- ? 只能匹配一個支付
- 只能匹配多個字符
- [] 只能匹配中括號內的東西【abv】就指有a 或是b或是c
- [-] [1-9]表示匹配1-9
- [^] [^1-9] 不是數(shù)字所有的單個字符
正則表達式:
其他的特殊符號:
- "
- '
- ``括起來的內容就是系統(tǒng)命令,bash中會先執(zhí)行類似于$()
- $()
-
#注釋 - $ 調用變量的值
- \ 轉義字符