Linux基礎入門教程html
---------前端
Linux學習者,經常不知道本身改怎麼學習linux:
Linux初級,也就是入門linux
前提是須要有一些計算機硬件相關的知識或是有一下計算機操做系統相關的理論知識
linux系統的安裝
linux經常使用的命令的使用
linux用戶和文件的管理操做
linux中一下經常使用軟件的安裝
linux中基礎網絡的配置管理
shell簡單腳本的編寫mysql
Linux中級:
linux中服務相關的配置和搭建linux
linux高級:
linux程序開發
---------------------
參考的網址:
https://www.jb51.net/os/85895.html
---------------
ll 命令列出的文件的信息的7列信息的分析
文件類型及文件的rwx
硬連接數
文件的全部者
文件的所屬組
文件的大小
文件的建立或修改的時間
文件的名稱
----------------------------
軟連接是建立了文件的快捷方式,
硬連接是copy了一份文件,硬連接文件的大小和
--------------
rwx:r可讀權限:能夠查看文件的內容,能夠列出目錄文件中的內容
w可寫權限:能夠修改文件內容,能夠在目錄文件中建立或刪除指定的文件
x可執行權限:能夠運行某個文件,或能夠進入目錄文件中
------------------
locate 查找文件比find速度更快一些
-----------
|| 或:第一個命令執行成功,則第二個不執行,第一個命令執行失敗,則執行第二個
-------------
0 (stdin) 標準輸入 1 (stdout)標準輸出 2 (stderr)標準錯誤輸出
輸出重定向:就是把輸出的結果顯示到一個文件上 (>表示輸出重定向)
----------------
輸入重定向:< 將右邊文件中的內容或內容中的部分輸入到右邊
-----------------ios
ll命令sql
Linux系統發佈於1991年
Linux系統的優勢:免費,開源,穩定,多任務,多用戶,具備良好的可移植性
Linux對硬件的要求:i7以上,8G內存以上,反正RAM是越大越好
禁用Linux的防火牆
--------------shell
ifconfig
重啓網卡
service network restart
查看防火牆的狀態
service iptables status
不少知識的博大精深,學起來仍是須要費一些勁的
ls命令 list 顯示文件或目錄
ls -a 顯示全部文件
ls -l 顯示文件的詳細信息數據庫
touch 建立一個文件
mkdir 建立一個目錄編程
rm -rf 文件名 刪除一個文件
----------------------------------
cd . 表示當前目錄
cd .. 表示當前目錄的上一級目錄
ls 查看當前目錄的內容
pwd 查看當前所在文件的路徑
terminal 至關於cmd 終端vim
service network restart
查看防火牆的狀態
service iptables status
字符集選擇UTF-8
Xshell4遠程工具操做Linux系統
clear 僞裝清空的命令
----------------------
修改主機名:
root@主機名
hostname
修改主機名
hostname 名字
vim /etc/sysconfig/network
--------------
Tab 補全的快捷命令
- 開頭的是普通的文件
d 開頭的是目錄文件
查看一個指定目錄的文件信息
ls -la /usr
ls -l /etc
---------------
Linux中文件的信息 ll
文件的類型-文件的rwx權限- 硬連接數 全部者(誰建立的) 所屬組 文件的大小 文件的建立或修改時間 文件的名稱
- 表示普通的二進制文件
d 表示目錄directory
l 表示軟連接,快捷方式
rwx r讀權限 w write寫權限 x execute 執行權限
全部者 user 所屬組 group 其餘人 others
------------
vim中的命令模式,編輯模式,末行模式
cp a.txt /usr/local/a.txt
遞歸的copy
cp -r d1 /usr/local/d1
rm remove刪除文件
rm -f 刪除文件
rm -r 刪除目錄
rm -f a.txt
rm -r d1/
---------------------
cat 查看100行內的文件內容
more 用空格能夠翻頁 Enter能夠下一行 Q鍵退出或是Ctrl+C
head -number 文件名 查看文件的前幾行
tail -number 文件名 查看文件的後幾行
mv 原文件 新文件 移動或重命名文件:剪切功能
ln link
ln -s 源文件 目標文件 建立軟連接、
軟連接:全部人均可以訪問,相似於快捷方式
ln 源文件 目標文件 建立硬連接
硬連接:硬連接的大小和源文件同樣,且同步更新 ,相似於copy
硬連接不能跨文件系統分區 軟連接能夠
權限處理
chmod 命令change model
chmod ugo += rwx 文件或目錄
ugo: user group others
給文件a.txt的user加上x權限
chmod u+x a.txt
給文件a.txt的user去掉x權限
chmod u-x a.txt
----------------------------
rwx 421 7 讀寫執行權限
-----------------------------
遞歸的建立目錄
mkdir -p a/b/c
文件夾的寫權限,表示能夠刪除文件夾下的全部數據
文件的寫權限,表示是否能夠對文件進行修改操做
若是須要刪除這個文件的權限,當前的文件所在的文件夾須要有寫的權限才行
目錄的w權限表示:能夠在目錄下建立或是刪除文件的權限
目錄的x權限表示:能夠進入到這個目錄中去
目錄的r權限表示:能夠列出目錄中的內容
----------------------------------------------
chown xxx 1.txt 改變文件的全部者
chgrp admin b.txt 改變文件的所屬組
umask -S 查看系統默認的權限
建立一個文件系統默認的權限就是755=777-022
-----------------
find -name
find -size
find -user
find /etc -name init
find /etc -name *init
find /etc -name ????init 前面必須有4個
1k=2 block 數據塊
100M=2*102400 block
---------------------------
ctime: c表示change 改變文件屬性:全部者,所屬組,權限
atime: a表示access 表示被訪問過的意思,被查看了
mtime: m表示modify 更改內容的意思
-時間 表示時間以內
+時間 表示時間以外
----------------------------
找60分鐘之內的修改文件
find /etc -cmin -60
找60分鐘之外的修改文件
find /etc -cmin +60
-a and 邏輯的與:表示而且的意思
find /etc -size +200000 -a -size 300000
find /etc -size +200000 -a -name ca*
-o or 邏輯的或
find /etc -size +200000 -o -name ca*
-----------------
which 查看命令所在的目錄位置
whereis ls
which ls
--------------------
找到一個文件並執行某個命令
找到etc目錄中的1.txt並執行刪除操做
find /etc -name 1.txt -exec rm -f {} \;
將本地目錄中的文件查找後進行顯示
find /usr/local -exec ls -l {} \;
找到全部名字有init開頭的文件 並將找到的全部文件顯示出來
find /etc -name init* -a -type f -exec ls -la {} \;
查看文件的i節點
ls -li
----------------
查看命令的描述
whatis
命令的幫助文檔
man
查看某個命令的選項用法
--help
-------------------
tar
-c 用tar打包文件
-x 解壓
-v 顯示打包操做的執行過程
-f 指定壓縮或解壓後的文件名
-z 壓縮
-C 解壓後文件存放的路徑
tar -xzvf 軟件包名.tar.gz -C /home/hao 將軟件包名.tar.gz解壓到指定的目錄下 (注意:-C爲大寫)
zip 壓縮後文件名稱 源文件
unzip 須要解壓縮的文件 -d 解壓後文件的存放路徑
------------
ping 127.0.0.1
ping 域名 會獲得域名對應的IP地址
ping IP地址
ping 主機名
ping -c 5 127.0.0.1 表示ping 5次後斷開
------------
重啓 reboot
關機 poweroff
清屏 Ctrl+L
退出或中斷當前操做 Ctrl+C
命令自動補全:Tab
-----------
| 管道 pope
ls -l /etc |more
ls -l /etc |grep init
ls -l /etc |grep init |wc -l
----------------
0 stdin 標準輸入
1 stdout 標準輸出
2 stderr 標準錯誤輸出
輸出重定向:將,命令的執行結果,存放到一個文件中去
> 表示重定向:表示從新覆蓋寫入
>> 表示在原文件的內容的最後面添加寫入
錯誤信息的重定向
2>
---------------
輸入重定向:將一個文件中的內容,讀出來顯示到另一個位置
<
wall < 1.txt
----------------------
剛進入的是:命令模式
i 光標前插入
A 本行的行末尾追加內容
a 在光標後追加文本內容
o 在下一行插入
O 在上一行插入
ao插入模式,編輯模式
ESC 末行模式 冒號模式
:wq 保存並退出vim
set nu 讓文本顯示行號
set nonu 取消文本的行號
vim 文件名
vi 與vim之間的區別就是文本的顏色顯示
---------------
強制關閉vim 形成的錯誤,須要刪除產生的臨時文件,才能再次編輯文本
---------
用戶信息的文件
/etc/passwd
密碼文件
/etc/shadow
用戶組文件
/etc/group
用戶組的密碼文件
/etc/gshadow
---------------------
超級用戶
uid=0的用戶,通常root用戶是uid爲0的用戶
普通用戶 建立用戶的時候不指定uid的話,默認系統中的uid是自增的
uid=500-60000
僞用戶:Linux系統中任何進程操做都須要有一個用戶的身份
uid=1-499
-------------------
添加用戶組
groupadd
刪除用戶組
groupdel
修改用戶組
groupmod -n 新組名 舊組名
-------------------------------
添加用戶的操做
u: UID
g:
G:
d:指定添加的用戶的家目錄
e: 指定添加的用戶的時效時間
----------------------------------
修改用戶
usermod -l 新用戶名 舊用戶名
禁用用戶名
usermod -L 須要禁用的用戶名
解除禁用的用戶名
usermod -U 須要解禁的用戶名
禁用用戶的密碼
passwd -I 須要禁用的用戶名
解禁用戶的密碼
passwd -u 須要解禁的用戶名
程序是靜態的,
進程是程序執行的過程,是動態的,是有必定的生命週期的,是動態產生和消亡的
Linux中進程分爲:前臺進程和後臺進程
經常使用的命令都是前臺進程
前臺進程在使用的時候是須要佔用終端的,後臺進程在使用的時候是不須要佔用終端的
---------------------------
ps -el 查看全部的進程,包括沒有終端的進程
ps -aux 顯示當前進程佔用CPU和內存的百分比
ps -el --sort pid 對進程進行排序,
ps -aux |grep rpc 對進程結果進行過濾
-------------
關閉進程 kill 進程號
強制關閉進程 kill -9 進程號
重啓進程 kill -1 進程號
---------
Ctrl+C 終止一個程序的運行
-------
top 實時監控系統中的進程和性能
------------
Linux中的計劃任務
at 在某一時刻執行一次
cron 週期性的執行的
刪除計劃任務
at -d 任務編號
at -l 查看任務
crontab -l 顯示當前的計劃任務
crontab -r 刪除當前的計劃任務
crontab -e 編輯當前的計劃任務
查看計劃任務的程序是否啓動了
ps -el |grep crond
手動的啓動一下
/etc/rc.d/init.d/crond start
---------------
crontab 文件保存在 /var/spool/cron 目錄中
------------
學會shell腳本後,你本身能夠編寫shell腳本,你也能夠看懂別人寫的腳本
不少的事情不是會了纔去作的,而是作了纔會的
linux 李紐克斯 利尼克斯 里納克斯
linux創始人,林納斯-脫襪子
------------------
Linux是從unix模仿和改編而來的
組管理和權限管理:
linux中每一個用戶必須屬於一個組
文件:全部者,所在組,其餘人
查看文件的全部者:
ls -ahl
建立一個組
groupadd xxx
在組下面建立一個用戶
useradd -g xxx sss
chown 修改文件的全部者
修改某個文件的所在組
chgrp 組名 指定的文件
usermod -g 組名 用戶名
usermod -d 目錄名 用戶名
查看一個用戶的信息
id 指定的用戶名
===================================
壓縮和解壓命令
gzip和gunzip
gzip 壓縮爲 .gz文件, 壓縮後源文件會被刪除
gunzip 解壓.gz壓縮文件
zip和unzip
zip 用於壓縮爲.zip壓縮文件
unzip解壓.zip壓縮文件
將home目錄中的文件壓縮爲myzip.zip文件
zip -r myzip.zip /home/
將myzip.zip解壓到/opt/tmp/
unzip -d /opt/tmp/ myzip.zip
tar打包壓縮命令
tar壓縮後的文件爲 .tar.gz文件
tar -zcvf xxx.tar.gz 須要壓縮的文件名
將home下全部文件進行打包壓縮
tar -zcvf myhome.tar.gz /home/
將myhome.tar.gz解壓到當前目錄下
tar -zxvf myhome.tar.gz
將myhome.tar.gz解壓到已存在的/opt/tmp/目錄中
tar -zxvf myhome.tar.gz -C /opt/tmp/
===================================
unix是1973年用C語言編寫的
===================================
用戶配置文件
/etc/passwd
用戶名 : 密碼 : 用戶id : 組id : 家目錄 : shell
存放用戶密碼的文件,加密過的密碼
/etc/shadow
組配置文件
/etc/group
===================================
→←
root密碼找回:
開機的時候按enter鍵
use the ↑and ↓keys to select which entry is highlighted
press enter to boot the selected os e to edit the commands
before booting a to modify the kernel arguments
before booting or c for a command line
按 e
選中kernel行
use the ↑and ↓keys to select which entry is highlighted
press b to boot e to edit the selected command in the boot sequence c for a command-line o
to open a new line after o for before the selected line d to remove the selected line or escape to go back to the main menu
輸入 1 而後enter
按 b 進入的是單用戶的模式,單用戶模式不須要用root密碼能夠直接進系統
passwd root
設置一個新的root密碼
===================================
man幫助命令
help幫助命令
pwd 顯示當前的工做目錄的絕對路徑
ls 顯示當前目錄下的文件和目錄
ls -l 顯示當前目錄下的文件和目錄的詳細信息
ls -lh 用常規的單位查看文件
cd 切換目錄
絕對路徑:從根目錄開始定位
相對路徑:從當前工做目錄開始定位到須要的目錄去
..表示上級目錄
mkdir 建立目錄
依次建立多級目錄
mkdir -p /目錄1/目錄2/目錄3
rmdir 只能刪除空目錄
rm -rf 能夠刪除任何文件或目錄
cp 複製文件或目錄
cp 須要複製的文件或目錄 複製到的目錄路徑
cp -r 須要複製的文件或目錄 複製到的目錄路徑
touch 命令
mv命令
剪切:mv 須要剪切的文件或目錄 剪切到的目錄
重命名:mv 原文件名 新文件名
cat命令 以只讀的方式,查看文件的內容
cat -n 顯示行號的查看文件的內容
分頁顯示文件內容 cat -n 文件名 |more
more命令,以全屏的方式,分頁查看文件的內容
less命令,功能更強的查看文件內容,查看大文件速度較快
> 輸出重定向,覆蓋寫入
>> 追加,追加寫入
cal 顯示當前的月份的日曆
echo 愛考 打印內容
echo $PATH 查看當前環境變量的路徑
head 查看一個文件開頭部分前幾行的內容
head -n 5 顯示前5行的內容
head 默認顯示一個文件的前10行的內容
tail 默認顯示文件的後10行的內容
tail -n 5 顯示後5行的內容
tail 實時刷新查看的文件內容,若是文件內容有變化,tail的顯示結果就跟着變化,能夠起到實時監控的做用
ln 軟連接命令,相似於windows上的快捷方式
ln -s /root LinkToRoot 給/root建立了一個快捷方式,LinkToRoot
刪除軟連接:rm -rf LinkToRoot
history 查看已經執行過的歷史命令
history 10 顯示最近執行過的10條命令
!歷史命令的編號 再次執行一遍歷史編號的命令
date 顯示當前時間
date "+%Y %m %d %H:%M:%S" 顯示年月日時分秒
date -s "2018-11-11 11:11:11" 給系統設置指定的時間
calender 日曆
cal 2018 顯示2018年的日曆
cal 顯示當前月份的日曆
find 在目錄中找包含關鍵詞的文件
find 目錄的路徑 -name 須要查找的文件名,或者文件名的關鍵詞
find 目錄的路徑 -user 用戶名 ,按照文件的擁有者查找文件
find 目錄的路徑 -size +100m 找出全部大於100M的文件
Ctrl+C 終止當前命令的執行
locate 查詢速度比較快,
updatedb 更新數據庫
locate
grep 過濾,查找文件內容
grep -n 顯示查找結果和對應的行號
grep -i 查找的時候忽略大小寫
|管道符,表示將前一個命令的執行結果,做爲後面命令的執行條件
家目錄:
linux中一個用戶至少得有一個用戶組,能夠有多個用戶組
新建用戶
useradd 用戶名
useradd新建用戶的時候默認新建了一個相同名字的組
useradd -d /home/xxx 用戶名 指定的目錄須要提早存在
cd 是指change directory 切換目錄
刪除用戶
userdel 用戶名
userdel -r 用戶名 刪除用戶並刪除這個用戶的家目錄
實際工做中只刪除用戶名,不刪除用戶對應的家目錄
查詢一個用戶的信息:用戶id號,組id號,所在組的名稱
id 用戶名
whoami 查看當前系統登陸的用戶用
切換用戶
su - 須要切換到的用戶名
exit 返回到原來切換前的用戶
新建組
groupadd 組名
刪除組
groupdel 組名
新建用戶的時候就指定對應的組
useradd -g 組名 用戶名
修改用戶的組
usermod -g 新用戶組 用戶名
===================================
shutdown -h now 當即關機
shutdown -h 1 表示1分鐘後關機
shutdown -r now 當即重啓
halt 關機
poweroff 關機
reboot 重啓
sync 把內存中的數據同步到磁盤中去,把沒有保存的數據進行保存操做,關機或者重啓時最好先執行一下sync防止數據丟失
logout 註銷當前用戶,用於遠程登陸,在本地主機中無效
===================================
複製當前行yy
粘貼 p
從當前行開始複製5行 5yy
粘貼 p
刪除當前行 dd
從當前行開始刪除5行 5dd
設置行號 :set nu
取消行號 :set nonu
末行模式下 輸入 u 表示撤銷操做
G 跳到末行
gg 跳到行首
20 Shift+g 跳到第20行
===================================
Xftp工具,上傳和下載文件的工具
linux系統中的遠程服務sshd服務22端口
setup 系統服務 查看一下sshd是不是開啓狀態的
遠程工具的亂碼問題用UTF-8的編碼格式
===================================
全部的設備或者硬件都映射爲一個文件來進行管理
bin 命令目錄,是binary的簡寫
dev 設備文件
etc 配置文件
home 家目錄
lib 動態庫文件
media 光驅,U盤文件識別後會存放在這個目錄中
mnt 掛載文件夾,識別其餘文件系統的文件
opt 安裝的軟件存放目錄
proc 系統內核文件
root 管理員用戶
sbin 管理員使用的命令
selinux 安全文件夾,Security-Enhanced Linux)簡稱 SELinux
tmp 臨時文件夾
usr 用戶安裝的文件或文件夾
usr/local 安裝的外加軟件的默認的安裝目錄
var 不斷變化的文件,像日誌文件的存放位置
boot 系統的啓動引導文件
lost+found 系統非正常關機後生成的一些文件的存放位置
Linux系統中有且只有一個根目錄/
Linux是以文件的形式來管理設備的,因此linux系統中一切皆文件
\反斜槓
===================================
虛擬機的網絡鏈接的三種形式模型
橋鏈接:虛擬機的IP與真實主機的IP在同一網段中,容易出現IP衝突,去掉網關1和廣播地址255:255-2=253個可用的IP,會出現IP地址不夠用的狀況
NAT模式:真實主機上有兩個IP一個IP與虛擬機中的ip在同一個網段上,Linux能夠訪問外網不會形成IP衝突,
僅主機模式:Linux上的IP地址是一個獨立的IP網段,不能訪問外網
因此通常虛擬機建議使用NAT模式
Tab鍵選擇OK或者Skip
/boot分區,引導分區
/根分區
/swap分區
===================================
windows與Linux的區別
windows是收費的系統
Linux是免費,可定製再發布的系統
聽一嘴吧
===================================
登陸Linux後,咱們就能夠在#或$符後面去輸入命令,有的時候命令後面還會跟着選項(options)或參數(arguments)
find查找一個文件在系統中的什麼位置,locate是神速版本的find(Windows下有個神器Everything和locate功能相似)
--------------------
年輕的時候,咱們的生活中根本就不該該有下班這個概念,咱們須要幾乎全部的時間來使本身成爲一個更好的人,更優秀的人
一我的寶貴的就是時間,優秀的技術技能毫不是朝九晚五就能夠解決的,而是靠自覺和自我剝削來完善本身。
「合理安排閒暇時間:規劃你的閒暇時間」,我理解爲計劃好休息時間,其餘的都用來學習。
-----------------------
Don't watch the clock. Do what it does. Keep going.
不要只看時鐘,要效仿時鐘,一直前行。
--------------------
ls -l 查看一個文件的詳細信息
文件類型--文件權限--若是是文件,表示硬連接數,若是是目錄表示該目錄的子目錄個數--文件全部者--文件所在組--文件的大小,若是是目錄顯示的是4096--文件最後的修改時間--文件名
d 目錄文件,至關於windows上的文件夾
- 普通文件,
l linux上的連接文件,至關於windows上的快捷方式
c linux上的字符設備文件,鼠標,鍵盤就是這類的文件
b 塊文件,硬盤,
文件全部者,擁有該文件的權限,user
文件所屬組,擁有該文件的權限,group
其餘用戶擁有該文件的權限,other
rwx 7=4-2-1 權限:
r 4 read 可讀取,可查看
w 2 write 可修改,刪除一個文件,須要對該文件所在的目錄有寫的權限,才能刪除該文件。對於一個目錄文件表示:能夠在目錄內建立,刪除,重命名目錄
x 1 execute 能夠進入該目錄,或者運行一個可執行文件
. 當前目錄
.. 上一級目錄
------------------------
經過chmod命令能夠修改文件或目錄的權限
經過+ - = 修改權限
chmod u=rwx,g=rx,o=x 文件或目錄名
chmod o+x 文件或目錄名
chmod a-x 文件或目錄,針對全部的用戶
chmod u=rwx,g=rwx,o=rwx 文件或目錄名
經過數字修改文件的權限
chmod 777 文件或目錄名
rwx =4+2+1 =7
--------------------
修改文件的全部者
chown 文件新的擁有者:文件新的所在組 文件或目錄
chown -R 新的用戶名 xxx/ 將xxx/目錄下全部的文件和目錄修改成新的指定的用戶名
chgrp -R 新的用戶組 xxx/ 將xxx/目錄下全部的文件和目錄修改成新的指定的用戶組
--------------------------
usermod
-----------------
crontab
crontab -e 建立一個計劃任務
*/1 * * * * ls -l /etc >> /tmp/xxx.txt 表示每分鐘自動執行一下計劃任務
計劃任務中的5個星號
第一個表示一小時中的第幾分鐘 0-59
一天中的第幾小時 0-23
一個月中的第幾天 1-31
一年中的第幾月 1-12
一週中的星期幾 0-7 0和7都表示星期日
* 表示任什麼時候間
, 表示不連續的時間
- 表示一個範圍,多少到多少
*/n 表示每隔多久執行一次
crontab -l 查看當前有多個個計劃任務
每隔一分鐘將日期和時間寫到一個文件中
寫一個腳本xxx.sh
date >> /tmp/xxx.txt
給腳本一個可執行權限
chmod a+x xxx.sh
建立一個計劃任務每分鐘執行一下這個腳本
crontab -e
*/1 * * * * xxx.sh
重啓計劃任務的服務
service crond restart
crontab -r 刪除全部的計劃任務
-----------------
分區:
mbr分區:最大支持2TB,操做系統只能安裝在主分區,最多能夠有4個主分區
gtp分區:支持無限多個主分區,windows下最多支持128個分區,最大支持18EB ,EB=1024 PB=1024TB
windows7 64位之後都支持gtp分區
主分區:Primary partition
邏輯分區:Logical
擴展分區:Extend partition
主分區中有擴展分區,擴展分區中有邏分區
mount 掛載
umount 卸載
Windows中的分區c盤 相似於掛載在linux根目錄上的一個目錄文件
Windows中的分區d盤 相似於掛載在linux根目錄上的一個目錄文件
u盤插在Linux系統的電腦上 相似於掛載在linux根目錄上的一個目錄文件
Linux中IDE硬盤的驅動器標識是hdx~
x標識盤號:a基本盤,b基本從屬盤,c輔助主盤,d輔助從盤
~ 表示分區1-4是主分區或擴展分區 5開始就是邏輯分區
hda3 表示第一塊硬盤上的第三個分區(主分區或擴展分區)
hdb2 表示第二塊硬盤上的第二個分區(主分區或擴展分區)
lsblk -f 老師不離開 查看當前系統的分區和掛載信息的命令
linux中SCSI(斯嘎C)硬盤標識是sdx~
分區 分區類型 惟一標識的40位的UUID字符串
sda1 ext4
sda2 swap
sda3 ext4
新增一塊硬盤,讓後掛載在系統中(掛載到/home/newdisk目錄下)
mkdir /home/newdisk
分區-格式化-掛載-設置能夠自動掛載
fdisk /dev/sdb
mkfs -t ext4 /dev/sdb1
mount /dev/sdb1 /home/newdisk
vim /etc/fstab
/dev/sdb1 /home/newdisk ext4 defaults 0 0
mount -a
-----------------------
查看系統中磁盤的使用狀況
df -l
df -lh
查詢指定目錄的磁盤佔用的磁盤空間多少
du -h /目錄名
-s
-h 指定單位
--max-depth=1 指定子目錄的深度
-a 統計的時候包含文件
-c 列出明細的同時,增長彙總值
---------------
統計home目錄下文件的個數
ls -l /home |grep "^-"|wc -l
統計home目錄下目錄文件的個數
ls -l /home |grep "^d"|wc -l
統計home目錄下文件的個數和子目錄中的文件個數
ls -lR /home |grep "^-"|wc -l
統計home目錄下目錄文件的個數和子目錄中的目錄文件個數
ls -lR /home |grep "^d"|wc -l
------------------------
NAT模式:
Windows上的Vmnet8 虛擬網卡的IP與 linux系統中的IP在同一個網段上
windows上的真實網卡與外網通訊
自動獲取IP,每次重啓系統後自動獲取到的IP都是可能不同的
手動設置指定的IP地址:
vim /etc/sysconfig/network-scripts/ifcfg-ehto
gateway 網關
ipaddr IP地址
重啓網絡服務
service network restart
----------------------------------
linux中每一個執行的程序都是一個進程,進程能夠有兩種方式存在:前臺和後臺
前臺進程
後臺進程:守候進程
進程的查看:
ps -a 顯示當前終端的全部進程信息
ps -u 以用戶的格式顯示進程信息
ps -x 顯示後臺進程運行的參數
ps -aux |more
進程的用戶名 進程的編號 進程佔用的CPU信息 進程佔用內存的信息 佔用的虛擬內存的狀況 使用的物理內存的信息 使用的終端信息 當前進程的運行狀態(S 休眠 R正在運行 ) 佔用CPU的總計時間 進程執行時的命令行
-----------------
查找指定的進程:
ps n-aux|grep 進程名
查看進程的父進程
ps -ef |more
查看指定進程的父進程
ps -ef |grep 進程名
殺掉一個進程
kill -9 強制殺掉進程
killall 進程名稱,殺掉這個進程相關的全部進程
查看終端對應的進程
ps -aux |grep bash
kill -9 進程名 強制殺掉一個進程
pstree 用樹狀的形式來展示進程信息
pstree -p 根據Pid的信息顯示
pstree -u 根據用戶的Uid信息顯示
服務的本質是一個進程,一個後臺進程
systemctl
restart 重啓服務
status 狀態服務查看
stop 中止服務
start 啓動服務
測試某個端口是否可用
telnet IP地址 端口號
查看linux系統中有哪些服務
setup -- 系統服務
或者
ls -l /etc/init.d/
linux系統中有7中運行級別
0,1,2,3,4,5,6
開機--bios--/boot--init進程--運行級別--運行級別對應的服務
運行級別變成0或者1後須要:進入單用戶模式修改爲正常的便可
chkconfig 命令能夠給每一個服務的各個運行級別設置自啓動或關閉
查看服務在對應的運行級別下是否自啓動,開啓的是能夠自啓動的,關閉的是不能自啓動的
chkconfig --list
查看指定的服務的運行級別的信息
chkconfig --list |grep sshd
或者
chkconfig 服務名稱 --list
設置某個服務在某個運行級別不自啓動
chkconfig --level 5 服務名稱 off
----------------
網絡的監控 netstat
top 查看系統中正在執行的進程
當前時間 運行時間 當前登陸系統的用戶
running 正在運行的
sleeping 正在休眠的
stopped 正在中止的
zombie 殭屍進程
netstat -anp |more 查看全部的網絡服務
查看某個指定的網絡服務
netstat -anp |grep sshd
===============================
RPM軟件包:redhat package manager 紅帽軟件包管理工具
RPM軟件包以.rpm爲擴展名的文件 相似於windows中的setup.ext
查看系統中安裝的全部的rpm軟件包
rpm -qa |more
查看系統中指定的某個軟件包是否安裝了
rpm -qa |grep 軟件名稱
查看火狐瀏覽器是否安裝了
rpm -qa |grep firefox
查看已安裝的rpm軟件的信息
rpm -qi firefox
查看火狐瀏覽器安裝在什麼位置,安裝了那些文件
rpm -ql firefox
查看某個文件屬於哪一個軟件包
rpm -qf /etc/passwd
卸載一個rpm軟件包
rpm -e 軟件包名稱
把系統中安裝的火狐瀏覽器卸載掉
rpm -e firefox
rpm軟件包的安裝:
rpm 中的參數:
i install 安裝
v verbose 提示
h hash 進度條
安裝火狐rpm軟件包到系統中去
rpm -ivh firefox.rpm
==========================
yum 牙木,Linux系統中的一個shell前端軟件包管理器,能夠自動處理依賴關係,一次安裝全部的依賴包
yum查詢或者安裝的時候是須要連網的
使用yum的前提是須要連網的
查看火狐軟件包,在yum服務器上是否存在
yum list |grep firefox
安裝火狐軟件包
yum install firefox 默認會安裝最新版本的軟件包
linux中安裝的軟件通常放在opt目錄下
配置環境變量:
vim /etc/profile
在最後一行寫入:vim中G快捷鍵跳到末尾
JAVA_HOME=/opt/jdk1.7.0_79
PATH=/opt/jdk1.7.0_79/bin:$PATH
export JAVA_HOME PATH
註銷用戶後,設置的環境變量才能生效
logout
tar -zxvf .tar.gz
cd apach-tomcat-7.0.70/bin/
./startup.sh
在火狐瀏覽器中訪問測試一下
http://localhost:8080
其餘客戶端訪問:
http://Tomcat所在的服務器的ip地址:8080
讓防火牆開啓8080端口
vim /etc/sysconfig/iptables
重啓防火牆後才能生效
systemctl iptables restart
==================
eclipse的安裝
解決端口占用問題:把佔用端口的服務中止了,而後再從新啓動eclipse
==================
mysql的安裝和配置
硬件--內核--shell(命令解釋器)--應用程序
#!/bin/bash
#腳本的註釋
echo "Hello world"
腳本文件須要有x可執行權限
chmod 755 xxx.sh
執行這個腳本
./xxx.sh 在當前目錄下用相對路徑的方式執行
/root/xxx.sh 用絕對路徑的方式執行
或者
sh xxx.sh 沒有可執行權限也能夠執行
系統變量和用戶自定義的變量
$PATH
$USER
$HOME
$SHELL
$PWD
查看系統中的變量
set |more
shell變量的定義:
靜態變量:靜態變量不能unset
readonly a=100
echo "a=$a"
動態變量:
shell變量定義的規則:=等號兩邊不能有空格,變量的名字不能以數字開頭
反引號 `` 等價於$() 把裏面的內容當作一條命令來執行
export 變量名=變量值
source 配置文件
echo $變量名
/etc/profile
讓配置文件生效
source /etc/profile
shell中的註釋
#單行註釋
:<<! 多行註釋內容 ! 多行註釋
寫一個簡單的獲取輸入的參數的腳本信息
#!/bin/bash
#獲取到各個參數
echo "$0 $1 $2"
echo "$*"
echo "$@"
echo "輸入的參數個數=$#"
ssh 用戶名@ip地址
Ubuntu 烏班圖
sudo 獲取管理員權限 ,相似於windows上的用管理員的身份執行
給root用戶設置密碼
sudo passwd
--------------------------
echo用於實時輸出變量,用來調試shell腳本
!-d 判斷一個文件夾是否存在
find -mtime +10 查找10天前的文件
解壓縮一個文件
tar -zxvf xxx.tar.gz
-----------------
寫一個簡單的求和的自定義函數
#!/bin/bash
# 計算輸入的兩個參數的和
function getsum(){
SUM=$[$n1+$n2]
echo "和是=$SUM"
}
read -p "請輸入第一個參數n1" n1
read -p "請輸入第二個參數n2" n2
#調用自定義函數getsum
getsum $n1 $n2
-----------------------------
:系統函數,自定義函數
獲取文件的名字的系統函數basename
basename /home/test.txt
test.txt
basename /home/test.txt .txt
test
basename 返回完整路徑最後/的後面的部分
dirname 返回完整路徑最後/的前面的部分
dirname /home/xxx/test.txt
/home/xxx
----------------------
,事先定義好的變量
$$ 返回當前進程的進程號PID
$! 後臺運行的最後一個進程的進程號PID
$? 最後一次執行的命令的返回狀態,0表示執行成功
寫一個測試預約義變量的腳本
#/bin/bash
echo "當前的進程號=$$"
./xxx.sh &
echo "最後的進程號=$!"
echo "執行的值=$?"
-----------------------------
#!/bin/bash
# 計算(2+3)X4 的計算結果
Result1=$(((2+3)*4))
echo "result1=$Result1"
或者
#!/bin/bash
# 計算(2+3)X4 的計算結果
Result2=$[(2+3)*4]
echo "result2=$Result2"
或者使用expr來實現
#!/bin/bash
# 計算(2+3)X4 的計算結果
TEMP=`expr 2 + 3`
Result3=`expr $TEMP \* 4`
echo "result3=$Result3"
#!/bin/bash
# 計算輸入的兩個參數的和
SUM=$[$1+$2]
echo "SUM=$SUM"
---------------------------------
lt 小於
le 小於等於
eq 等於
gt 大於
ge 大於等於
ne 不等於
-e 判斷一個文件是否存在
-d 判斷一個目錄文件是否存在
-f 判斷一個普通文件是否存在
寫一個簡單的判斷是否相等的腳本
#!/bin/bash
#判斷兩個字符串是否相等
if [ "ok" = "ok" ]
then
echo "equal"
fi
-------------------
#!/bin/bash
#判斷兩個數字的大小關係
if [ 23 -gt 22 ]
then
echo "大於"
fi
-------------------
#!/bin/bash
#判斷一個目錄中某個指定的文件是否存在
if [ -e /root/shell/aaa.txt ]
then
echo "存在"
fi
--------------------
shell中的流程控制語句
寫一個簡單判斷的腳本
#!/bin/bash
# 判斷輸入的一個參數,若是大於等於60,輸出及格了,若是小於60,則輸出 不及格
if [ $1 -ge 60 ]
then
echo "及格了"
elif [ $1 -lt 60 ]
then
echo "不及格"
fi
----------------------
#!/bin/bash
# 判斷輸入的參數是1 輸出:週一 輸入的參數是2 輸出週二,其餘輸入,輸出other
case $1 in
"1")
echo "週一"
;;
"2")
echo "週二"
;;
*)
echo "other"
;;
esac
----------------------
#!/bin/bash
# 打印命令中輸入的參數
for i in "$*"
do
echo "the num is $i"
done
使用$@
#!/bin/bash
# 打印命令中輸入的參數
for i in "$@"
do
echo "the num is $i"
done
-----------------
#!/bin/bash
# 計算從1加到100
#定義一個結果變量
SUM=0
for((i=1;1<100;i++))
do
SUM=$[$SUM+$i]
done
echo "sum=$SUM"
(100+1)*(100/2)=101*50=5050
----------------------
#!/bin/bash
# 在命令中輸入一個數n 統計從1+...+n 的值是多少
SUM=0
i=0
while [ $i -le $1 ]
do
SUM=$[$SUM+$i]
i=$[$i+1]
done
echo "sum=$SUM"
-----------------------------
#!/bin/bash
# 讀取控制檯中輸入的值
read -p "請輸入一個數num=" NUM1
echo "你輸入的值是num1=$NUM1"
設置讀取輸入的時間是10秒
#!/bin/bash
# 讀取控制檯中輸入的值,10秒內沒有輸入自動跳走
read -t 10 -p "請輸入一個數num2=" NUM2
echo "你輸入的值是num2=$NUM2"
Shift+g == G 移動到文章的最後
Shift+4 == $ 移動到光標所在行的行尾
Shift+6 == ^ 移動到光標所在行的行首
gg 進入到文本的開始,文件的第一行
Shift+g == G 進入到文本的末端,文件的最後一行
u ---撤銷操做
ctrl+r ---反撤銷
:wq -- 保存並退出。
ZZ -- 保存並退出。
:x -- 保存並退出。
:q! -- 不保存退出。
nG: 到文件第n行。
cd ~ 回到當前用戶的家目錄下
難者不會,會者不難
學習的時候先對知識有一個總體的框架構建,而後在關注和解決細節問題
當遇到實在沒法理解的問題,請不要死扣細節問題,適當的模糊它,適當的囫圇吞棗
技術自己不難,在於你本身是怎麼理解的,理解到位了就不難
linux須要多練習,多思考成長才會很快
熟練了以後就會有不少的想法,我亦無他,唯手熟爾
推薦的一款電腦屏幕錄製軟件基本上很清晰,1分鐘1M大小
Camtasia Studio7
橋接模式能夠聯網
有些的知識真多:博大精深
互動真的很重要:喜歡的是互動的更多一些,不要喊你半天你沒反應,
人生最靠譜的競爭對手是本身
種一棵樹最好的時間是10年前,其次是如今
黑底白字,看着不累眼睛
這個時代對那些勤於學習,努力爲實現目標從不放棄的人來講,是公平的,由於變現的渠道確實不少,多加琢磨,勤於實踐就會有所收穫。
寒冬不可怕,在寒冬裏沒有生存能力,纔是最可怕的。
作好本職工做的同時,積極學習提升自我,作好長期應對的準備,等待好的時機,再出手。
有責任心,默默無聞,願意努力付出
按照別人的意願活着,活的是一臉懵逼,別人舒不舒服是別人的事情,本身爽不爽應有本身選擇,活着是本身的與他人毫無關係
不喜歡就是不喜歡,不必掩飾
朋友介紹跟另外5個不認識的女孩子去ktv玩,而後去吃飯,誰知道那幾個女孩子先到的ktv而後咱們到了以後,玩了沒多久
他們都藉口有事直接走了,5個一塊兒都走了,感受這5個女生有些不尊重人,給咱們的感受就是看不起咱們,搞的咱們蠻沒面子的,心情刷一會兒就壞下來了,晚上吃飯都木得心情
原本說好了,一塊兒玩認識一下新朋友的
停車仍是找停車位停吧,或者收費的停車場也行,一張罰單就200超級不划算還很麻煩
作什麼事情必定得提早規劃好,作到心中有數
春困秋乏冬冷夏熱 學習真的是須要必定的能力的,這種能力是克服困難的能力,是面對挫折的能力,是自我恢復調節的能力,克服不了前進路上的種種障礙終究是一事無成庸庸碌碌
與其滿腦子去想一些有的沒的,還不如把本身的時間和經歷用在提高自我上,讓本身變得更優秀,優秀是一種能力,更是一種優秀的生活態度
我亦無他,唯手熟爾
說一千道一萬,不如本身嘗鹹淡
用正確的方式作事情,能夠作的更好,效率更高,因此如今幹什麼事情,不多糊弄,必定要花時間作的事,就盡力作好,可能這是最省事的方法。
對同窗們想說的是:若是你的目標是100分,達不到能得90分也不錯,若是你想省事,目標定成60分,達不到要補考,還可能屢次補考,浪費的時間精力反而會更多。