目錄
- 走近Linux系統
- 開機
- 關機
- 系統目錄
- 目錄解釋
- 常用的基本命令
- windosw和linus通用的內容
- 目錄檔案操作指令
- ls(列出目錄!)
- cd:切換目錄 change dir
- mkdir 創建一個目錄
- rmdir 洗掉目錄
- touch 創建檔案
- cp復制檔案或者目錄
- rm 移除檔案或者目錄
- mv 移動檔案或者目錄|重命名檔案
- man 查看幫助檔案
- 檔案內容操作指令
- vi命令 查看檔案
- vim 提供高亮的檔案查看
- cat 顯示檔案內容 列印輸出
- less指令 查看檔案內容
- head指令 顯示檔案開頭到指定行 列印內容
- tail 指令 顯示從檔案尾部開始往前指定的行數
- 和重定向結合使用
- 管道
- date指令
- 其他常用的指令
- 行程操作指令
- 根據埠號查找pid netstate-anp
- 根據行程的名稱查找pid ps -ef
- 檔案解壓指令
- 使用 tar 解壓命令
- 使用 unzip 解壓命令
- 軟體操作指令
- yum安裝 list/remove/install
- rpm安裝 -ivh/-qa/-e/:
- 環境變數配置
- 全域的環境配置變數 vi etc/profile
- 修改后重繪 source/etc/profile
- 系統統計 top指令
- 用戶
- 用戶賬號的管理
- useradd 命令 添加用戶
- passwd用戶 給用戶配置密碼
- userdel 洗掉用戶
- 切換用戶 su
- 權限
- 檔案型別和訪問權限
- chomd 修改權限
- 屬主 屬組(用戶組)
- 設定權限方式1
- 設定權限方式二
- chown 修改擁有者
- chgrp 修改用戶組
- 硬鏈接和軟鏈接
走近Linux系統
開機
windows開機會啟動許多程式,它們在Windows叫做’服務" ( service ) , 在Linux就叫做"守護行程" ( daemon),
一般來說,用戶的登錄方式有三種:
?●命令列登錄 賬號密碼
?●SSH登錄(遠程) 我們使用的是Xshell
?●圖形界面登錄 本地的虛擬機
?最高權限賬戶為root,可以操作一切!
關機
在linux領域內大多用在服務器上,很少遇到關機的操作,畢竟服務器上跑一個服務是永無止境的,除非特殊情況下,不得已才會關機,
?關機指令為shutdown,這個指令不建議在服務器上操作,可以在本機上嘗試,
sync #將資料由記憶體同步到硬碟中,
shutdown #關機指令,你可以man shutdown 來看一下 幫助檔案,例如你可以運行如下命令關機:
shutdown -h 10 #這個命令告訴大家,計算機將在10分鐘后關機
shutdown -h now#立馬關機
shutdown -h 20:25 #系統會在今天20:25關機
shutdown -h +10 #十分鐘后關機
shutdown -r now #系統立馬重啟
shutdown -r +10 #系統十分鐘后重啟
reboot #就是重啟,等同于shutdown -r now
halt #關閉系統,等同于shutdown -h now和poweroff
最后總結:不管是重啟還是關閉系統,首先要運行sync命令,把記憶體中的資料寫到磁盤中,執行命令之后沒有回傳訊息(沒有錯誤就代表操作成功)則表明運行成功
系統目錄
1、一切皆檔案
2、根目錄/ ,所有的檔案都掛載在這個節點下
ls / #查看當前下的目錄

目錄解釋
/bin:bin是Binary的縮寫, 這個目錄存放著最經常使用的命令,比如ls命令 /boot:
這里存放的是啟動Linux時使用的一些核心檔案,包括一些連接檔案以及鏡像檔案,不要動 /dev : dev是Device(設備)的縮寫,
存放的是Linux的外部設備,在Linux中訪問設備的方式和訪問檔案的方式是相同的,
/etc: 這個目錄用來存放所有的系統管理所需要的組態檔和子目錄,
/home :用戶的主目錄,在Linux中,每個用戶都有一個自己的目錄,一般該目錄名是以用戶的賬號命名的,administrator 可以在這個目錄下及建立自己的目錄, /lib:這個目錄里存放著系統最基本的動態連接共享庫,其作用類似于Windows里的DLL檔案, 不要動
/opt:這是給主機額外安裝軟體所擺放的目錄,比如你安裝一個ORACLE資料庫則就可以放到這個目錄下,默認是空的,
/root:該目錄為系統管理員,也稱作超級權限者的用戶主目錄, /sbin:s就是Super
/lost+found:這個目錄一般情況下是空的,當系統非法關機后,這里就存放了一些檔案,
/media:linux系統會自動識別一些設備,例如U盤、光驅等等,當識別后,linux會把識別的設備掛載到這個目錄下,
/mnt:系統提供該目錄是為了讓用戶臨時掛載別的檔案系統的,我們可以將光驅掛載在/mnt/上,然后進入該目錄就可以查看光驅里的內容了,(后面可以把本地的的一些檔案掛載在這個目錄下)
/usr:這是一個非常重要的目錄,用戶的很多應用程式和檔案都放在這個目錄下,類似于windows下的program files目錄,
/tmp:這個目錄是用來存放一些臨時檔案的, 用完即丟的檔案可以放在這個目錄下,比如安裝包用完就洗掉 /usr/bin: 系統用戶使用的應用程式, /usr/sbin: 超級用戶使用的比較高級的管理程式和系統守護程式, /usr/src:
內核源代碼默認的放置目錄,
/var:這個目錄中存放著在不斷擴充著的東西,我們習慣將那些經常被修改的目錄放在這個目錄下,包括各種日志檔案, /run:是一個臨時檔案系統,存盤系統啟動以來的資訊,當系統重啟時,這個目錄下的檔案應該被刪掉或清除,
/www:存放服務器網站相關的資源,環境,網站的專案(里面會安裝一些環境) 環境基本配置:LNMP( Linux Nginx Mysql Php ) 或者LAMP(Linux Apache Mysql Php)
默認的網路組態檔ifcfg-eth0
ifconfig 查看網路的配置
ipconfig winows 網路配置
網路配置目錄:
cd /etc/ sysconfig/network-scripts
ping *#用來查看網路是否連通
* ifconfig *#查看網路 和Windows的ipconfig是一樣的*
常用的基本命令
windosw和linus通用的內容
引數合并 指令格式


路徑: Linux根路徑是/,Linux區分大小寫windows不區分
-
絕對路徑:以/開頭
-
相對路徑 :非/開頭
- 特殊的相對路徑 :
.. 上一級
. 當前這一級
~ 進入當前登錄的用戶目錄

目錄檔案操作指令
ls(列出目錄!)
在Linux中Is可能是最常常被使用的!
直接使用ls 就會列出當前路徑下的所有檔案
-a:#引數: all ,查看全部的檔案,包括隱藏檔案
-l:#引數列出所有的檔案,包含檔案的屬性和權限,沒有隱藏檔案
-R # 列出所有子目錄下的檔案


所有Linux可以組合使用!
ls -al 查看全部的檔案包括隱藏檔案的屬性和權限
屬主和屬組具體后面解釋

ll不是命令,是ls -l的別名 可以通過 alias 指令查看別名

tips : tab鍵可以做到自動補全
cd:切換目錄 change dir
cd:#切換目錄命令!
cd .. : #回傳上一級目錄
cd ~: #進入用戶家目 回到當前的用戶目錄
cd -:回傳最近訪問目錄
cd ./:#當前目錄
pwd :#顯示當前用戶所在的目錄
如果以root的身份進行登錄,進入的目錄就是root的家目錄,

對一般用戶,~表示/home/(用戶名)
對于root用戶,~表示/root
pwd :顯示用戶當前所在的目錄
比如當前在usr目錄下 如果以相對路徑 進入home目錄
cd …/home 如果以絕對路徑就是 cd /home
mkdir 創建一個目錄
mkdir test # 創建目錄
mkdir -p test2/test3 # 用-p遞回創建層級目錄
如果目錄存在,重復創建,會報錯

rmdir 洗掉目錄
rmdir test # 洗掉空的目錄
rmdir -p test2/test3/test4 #遞回洗掉檔案
rmdir僅能洗掉空的目錄,如果下面存在檔案,需要先洗掉檔案,遞回洗掉多個目錄-p引數即可
touch 創建檔案
創建檔案可以使用絕對路徑,也可以使用相對路徑,如果檔案已經存在,那么就修改檔案創建的時間,
touch text.tx

cp復制檔案或者目錄
cp [選項] 源檔案或目錄 目標檔案或目錄 #
要么把檔案復制到目錄下,要么把檔案或者目錄復制到目錄下
-f 或 --force 強行復制檔案或目錄, 不論目的檔案或目錄是否已經存在,不存在的話創建檔案
-i 或 --interactive 覆寫檔案之前先詢問用
-r / -R 遞回處理 這里大小寫都是可以的
cp t.txt t1.txt #將當前t.txt 復制 到t1.txt
# 如果檔案重復就選擇覆寫或者放棄
# y 代表覆寫 n 代表放棄

模糊匹配也支持復制操作 所以支持多個檔案或者檔案夾的復制

解決不能復制檔案夾問題 cp -r test xqr 把home 下的test檔案 復制到home下的xqr檔案
rm 移除檔案或者目錄
-f #忽略不存在的檔案,不會出現警告,強制洗掉! 即使檔案屬性為只讀(即寫保護),亦直接洗掉
-r #遞回洗掉目錄其下所有檔案!
-i #互動,洗掉詢問是否洗掉
rm -rf / # 系統中的所有檔案都洗掉 刪庫跑路!!這個命令別用
rm -rf install.sh/#洗掉系統中的install.sh
rm test 的時候默認會詢問是否洗掉
也可以使用 * 代表進行模糊匹配, * 代表任意數量的任意字符
rm -rf * # 洗掉的時候需要看當前的路徑是什么!如果當前路徑是/ 那等同于 rm -rf /
rm - f *.txt #洗掉當前目錄下的 txt的檔案
rm - rf a* #洗掉以a開頭的任意的檔案或者檔案夾啊、
mv 移動檔案或者目錄|重命名檔案
mv [選項] 源檔案或目錄 目標檔案或目錄 注意不能把檔案移動到檔案夾下
-f #強制
-u #只替換已經更新過的檔案
mv test xqr #移動檔案
mv test test2 #重命名檔案夾名
可以將移動和重命名的操作結合起來使用

可以同時移動目錄和檔案,也支持模糊匹配

man 查看幫助檔案
Linux的命令有很多引數,我們不可能全記住,我們可以通過查看聯機手冊獲取幫助,: man [選項] 命令
man + 指令的名字
g切換到整個文本的首部(vi 中是gg),shift+g (大寫G)切換額檔案的尾部
n切換的
:q 回車退出
檔案內容操作指令
vi命令 查看檔案
vi是linux上默認的文本編輯器
支持的模式
| 查看模式 | |
|---|---|
| 進入編輯模式 | i(編輯的位置是在游標的位置) |
| 進入編輯模式 | o(編輯的位置是游標的下一行新行插入) |
| 上下行切換 | j /k 和上下鍵一樣 |
| 搜索 | /搜索內容 回車后進入搜索 |
| 切換檔案的首位部 | gg 首部 shift+g 檔案尾部 |
| 洗掉游標所在行 | dd |
| :w | 寫(修改內容) |
| :q | 退出 |
| :wq | 修改并退出 |
| :q! | 不修改并退出 |
| 編輯模式 | |
|---|---|
| 回退到查看模式 | esc |
如果輸入vi 查看不存在的檔案,就會創建,離開的時候如果保存,那么這個檔案就可以正常保存了,
vim 提供高亮的檔案查看
基本的指令格式和vi 是相同的用法,
cat 顯示檔案內容 列印輸出
cat [選項] [ 檔案名稱 ]
功能: 查看目標檔案的內容
常用選項:
-n 對輸出的所有行編號
cat test.txt

less指令 查看檔案內容
為什么要有和學習less指令
- 上面的cat和vim指令都是加載出來所有的檔案內容,但是less指令可以做到不用加載檔案的所有內容,也可以進行查找的操作,
- 公司的生產上,使用tomcat的時候,如果出現后臺報錯,沒有類似IDEA的圖形化界面可以排查,但是可以查看tomcat的日志內容,而如果日志內容很多,占用空間比較大,全部加載性能不好,所以不使用,

head指令 顯示檔案開頭到指定行 列印內容
不指定指令的時候,默認列印十行

與cat的對比

tail 指令 顯示從檔案尾部開始往前指定的行數
-n 行數 顯示的是最后的n行 也就是倒數的n行(從檔案尾部 -n 到檔案尾部)列印輸出

和重定向結合使用
可以和漏斗結合進行理解 大開口的那一段接受資料 小開口的那一端輸出
-
標準輸入(System.in) <
-
標準輸出重定向(System.out) >


3. 標準錯誤輸出 (System.err) 2 >

管道
把前面輸入的內容作為一個輸出,輸出到后面的檔案里面去,
類似資料庫的分頁操作的底層實作 limit offset,len
取 (x 到 y)行的內容
- 可以先取出前y行 ( head -ny 檔案名)
- 然后再取后 ( tail -n y-x+1)行
- 類似就可以擴展的取出第幾行的資料

也可以和 > 操作結合起來


date指令
可以使用 man指令查看幫助檔案
man date
直接輸入
date
獲取當前的時間

其他常用的指令
行程操作指令
根據埠號查找pid netstate-anp
展示所有的埠號

根據前面的內容查找(grep)埠號


注:
window下根據埠號查找pid的指令是
netstat -ano | findstr 埠號
根據行程的名稱查找pid ps -ef
但是如果不知道埠號,該怎么查找pid
可以通程序式的名字查找pid
ps -ef # 顯示所有的行程名稱和pid
ps aux


grep 進行搜索id
ps -ef | grep mysql
ps aux | grep mysql

和java的jps相似 只是jps 是顯示所有java行程的名稱和pid
檔案解壓指令
使用 tar 解壓命令
- tar/tar.gz 安裝包使用命令
tar xvf 檔案名
使用 unzip 解壓命令
unzip + 檔案名 # 比如 unzip apache-tomcat-8.5.47.zip
軟體操作指令
yum安裝 list/remove/install
yum 在線安裝:遠程有一個軟體包的安裝倉庫,發起網路請求獲取軟體包,直接安裝,
yum list | grep [軟體包關鍵字] # 注意, 最好要加上 grep, 否則羅列的內容會非常多, 導致機器很卡.
安裝軟體包(需要管理員權限)
yum install [軟體包名字]
yum install -y [軟體包名字] # 不詢問直接安裝
卸載軟體包
yum remove [軟體包名字]
搜索本機中已經通過yum安裝的軟體
yum list installed |grep 軟體名
rpm安裝 -ivh/-qa/-e/:
已經有一個本地的rpm檔案,(rpm檔案是Linux 上的可安裝檔案,類似windows上exe檔案
rpm -ivh +軟體檔案的路徑
搜索在本機中已經通過rpm安裝的軟體
rpm -qa | grep 軟體名
卸載
rpm -e 軟體名
注意這里的軟體名字,要先通過rpm -qa 查詢有哪些軟體名字,卸載的名字要和軟體名字一致,
環境變數配置
全域的環境配置變數 vi etc/profile
vi /etc/profile# 或者下面的命令
vim /etc/profile
修改后重繪 source/etc/profile
對etc/profile操作完成之后按esc 從編輯模式進入查看模式,輸入:wq 保存退出
之后進行重繪
source /etc/profile
系統統計 top指令
可以進行系統統計的指令
常用的下面的四個必須知道

用戶
Linux下有兩種用戶:超級用戶(root)、普通用戶,
超級用戶:可以再linux系統下做任何事情,不受限制
普通用戶:在linux下做有限的事情,
超級用戶的命令提示符是“#”,普通用戶的命令提示符是“$
- 超級用戶

- 普通用戶

用戶賬號的管理
用戶賬號的管理作業主要涉及到用戶賬號的添加、修改和洗掉,添加用戶賬號就是在系統中創建一個新賬號,然后為新賬號分配用戶號、用戶組、主目錄和登錄ShelI等資源,
?理解一下本質: Linux中一切皆檔案,這里的添加用戶說白了就是往某-個檔案中寫入用戶的資訊了!
而這個檔案就是用戶賬戶檔案 /etc/passwd
useradd 命令 添加用戶
useradd -選項 用戶名
-m:自動創建這個用戶的主目錄/home/cqh
-G:給用戶分配組
passwd用戶 給用戶配置密碼

userdel 洗掉用戶
userdel -r 123 #洗掉用戶的時候把它的目錄也洗掉掉
切換用戶 su
su [用戶名]
功能:切換用戶, 例如,要從root用戶切換到普通用戶user,則使用 su user,
要從普通用戶user切換到root用戶則使用 su root(root可以省略),此時系統會提示輸入root用戶的口令,
權限
檔案型別和訪問權限
-
檔案型別
d:檔案夾
-:普通檔案
l:軟鏈接(類似Windows的快捷方式 -
基本權限
i.讀(r/4):Read對檔案而言,具有讀取檔案內容的權限;對目錄來說,具有瀏覽該目錄資訊的權限
ii.寫(w/2):Write對檔案而言,具有修改檔案內容的權限;對目錄來說具有洗掉移動目錄內檔案的權限
iii.執行(x/1):execute對檔案而言,具有執行檔案的權限;對目錄來說,具有進入目錄的權限
iv.“-” 表示不具有該項權限
對不具有權限的檔案操作
演示用戶123 對只讀檔案的操作


chomd 修改權限
屬主 屬組(用戶組)
訪問一個檔案的人可能分成三種類別.
檔案和檔案目錄的所有者:u—User
檔案和檔案目錄的所有者所在的組的用戶:g—Group
其它用戶:o—Others
可以通過 ll查看
比如:-rw-r–r-- 1 root root 0 Jan 7 21:29 testfile
表示testfile檔案的屬主有可讀可寫,屬組可讀,其他人可讀,
testfile的屬主是root,屬組是root,
通過以下這個指令也很重要!
cat /etc/passwd


Linux檔案屬性有兩種設定方法,一種是數字(常用的是數字), 一種是符號,
設定權限方式1
u:擁有者 user
g:擁有者同組用 group
o:其它用戶 other
a:所有用戶 all
和以下的符號搭配使用
- +:向權限范圍增加權限代號所表示的權限
-:向權限范圍取消權限代號所表示的權限
=:向權限范圍賦予權限代號所表示的權限
賦予權限
只用將前面的
# chmod u+w /home/abc.txt
# chmod o-x /home/abc.txt
# chmod a=x /home/abc.txt

取消權限

設定權限方式二
使用數字的方式
讀 對應數字 4
寫 對應數字 2
可執行 對應數字 1

chown 修改擁有者
chown 用戶 檔案/檔案夾

chgrp 修改用戶組

硬鏈接和軟鏈接
Linux鏈接分為兩種:硬鏈接、軟鏈接(了解即可)
硬鏈接:A—B,假設B是A的硬鏈接,那么他們兩個指向了同一個檔案!允許一個檔案擁有多個路徑,用戶可以通過這種機制硬鏈接到一個重要檔案上,防止誤刪
軟鏈接:類似Windows下的快捷方式,洗掉源檔案,快捷方式也就訪問不了
操作步驟:
創建鏈接
ln f1 f2! # 創建硬鏈接 f2
ln -s f1 f3 # 創建一個軟連接(符號鏈接)f3
touch命令創建檔案!
echo輸入字串,也可以輸入到檔案
[root@iZ2zefgqs5qgnl9r5se6xgZ etc]# cd /home
[root@iZ2zefgqs5qgnl9r5se6xgZ home]# ls
test xqr
[root@iZ2zefgqs5qgnl9r5se6xgZ home]# touch f1 # 創建一個f1檔案
[root@iZ2zefgqs5qgnl9r5se6xgZ home]# ls
f1 test xqr
[root@iZ2zefgqs5qgnl9r5se6xgZ home]# ln f1 f2 # 創建一個硬鏈接f2
[root@iZ2zefgqs5qgnl9r5se6xgZ home]# ls
f1 f2 test xqr
[root@iZ2zefgqs5qgnl9r5se6xgZ home]# ln -s f1 f3 # 創建一個軟連接(符號鏈接)f3
[root@iZ2zefgqs5qgnl9r5se6xgZ home]# ls
f1 f2 f3 test xqr
[root@iZ2zefgqs5qgnl9r5se6xgZ home]# ll
total 8
-rw-r--r-- 2 root root 0 Jan 29 17:04 f1
-rw-r--r-- 2 root root 0 Jan 29 17:04 f2
lrwxrwxrwx 1 root root 2 Jan 29 17:05 f3 -> f1
drwxr-xr-x 2 root root 4096 Jan 29 16:14 test
drwxr-xr-x 4 root root 4096 Jan 29 15:55 xqr
[root@iZ2zefgqs5qgnl9r5se6xgZ home]# echo "i love you" >>f1 # 給f1中寫入字串
[root@iZ2zefgqs5qgnl9r5se6xgZ home]# ls
f1 f2 f3 test xqr
[root@iZ2zefgqs5qgnl9r5se6xgZ home]# ll
total 16
-rw-r--r-- 2 root root 11 Jan 29 17:07 f1
-rw-r--r-- 2 root root 11 Jan 29 17:07 f2
lrwxrwxrwx 1 root root 2 Jan 29 17:05 f3 -> f1
drwxr-xr-x 2 root root 4096 Jan 29 16:14 test
drwxr-xr-x 4 root root 4096 Jan 29 15:55 xqr
[root@iZ2zefgqs5qgnl9r5se6xgZ home]# cat f1 # 查看f1
i love you
[root@iZ2zefgqs5qgnl9r5se6xgZ home]# cat f2 # 查看f2
i love you
[root@iZ2zefgqs5qgnl9r5se6xgZ home]# cat f3 # 查看f3
i love you
洗掉操作執行后,硬鏈接和軟連接不一樣了
硬鏈接還在,軟連接不在
(硬鏈接相當于是深拷貝,軟連接相當于是淺拷貝可以這么理解)
[root@iZ2zefgqs5qgnl9r5se6xgZ home]# rm -rf f1 # 洗掉f1
[root@iZ2zefgqs5qgnl9r5se6xgZ home]# ls
f2 f3 test xqr
[root@iZ2zefgqs5qgnl9r5se6xgZ home]# cat f1
cat: f1: No such file or directory
[root@iZ2zefgqs5qgnl9r5se6xgZ home]# cat f2 # f2 硬鏈接還在
i love you
[root@iZ2zefgqs5qgnl9r5se6xgZ home]# cat f3 #f3 軟連接不在
cat: f3: No such file or directory
[root@iZ2zefgqs5qgnl9r5se6xgZ home]#
[root@iZ2zefgqs5qgnl9r5se6xgZ home]# rm -rf f1 # 洗掉f1
[root@iZ2zefgqs5qgnl9r5se6xgZ home]# ls
f2 f3 test xqr
[root@iZ2zefgqs5qgnl9r5se6xgZ home]# cat f1
cat: f1: No such file or directory
[root@iZ2zefgqs5qgnl9r5se6xgZ home]# cat f2 # f2 硬鏈接還在
i love you
[root@iZ2zefgqs5qgnl9r5se6xgZ home]# cat f3 #f3 軟連接不在
cat: f3: No such file or directory
[root@iZ2zefgqs5qgnl9r5se6xgZ home]#

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/277774.html
標籤:其他
上一篇:Linux入門筆記
