Linux 文件和目錄結構 windows 單用戶 Linux 多用戶 Linux 沒有盤符概念,都是用文件夾. "/"本目錄 home 目錄 下的目錄代表各個用戶. 樹狀 Linux 主要目錄速查表 可以去網上找 /etc 保存配置文件 /bin 保存執行的二進位文件目錄,也就是終端命令. 常用L ...
Linux 文件和目錄結構
- windows 單用戶
- Linux 多用戶
- Linux 沒有盤符概念,都是用文件夾.
- "/"本目錄
- home 目錄 下的目錄代表各個用戶.
- 樹狀
- Linux 主要目錄速查表 可以去網上找
/etc 保存配置文件
/bin 保存執行的二進位文件目錄,也就是終端命令.
常用Linux 命令基本使用
- ubantu 調節終端字體快捷鍵 放大:ctrl + shif + = 縮小:ctrl + -
- ls: 查看當前文件夾下內容
- pwd: 查看當前所在文件夾
- cd [目錄名] :切換文件夾
- touch [文件名]:如果文件不存在,新建文件
- mkdir [目錄名]:新建文件夾
- rm [文件名]:刪除指定文件 rm -r 刪除目錄
- clear:清屏
終端命令格式
command [-options] [parameter]
[]:代表可選. 註意空格
command: 命令名
-options:選項,可用來對命令控制,也可以省略
parameter: 傳給命令參數,可以說是零個,一個,或多個.
查閱終端命令幫助信息.
command --help 幫助
man command 手冊
ls -a 查看隱藏文件
ls -l 已列表方式顯示
ls -l -h h是用來 更方便的查看文件大小的
選項可以在一個-後一起使用 比如 ls -alh
通配符
"" 代表任意個字元(包括0個) 例如: ls 1或 ls 1.txt ls 1*
"?"代表任意一個字元 ,至少一個 例如: ls 1?1.txt
'[]' 可以定義一個匹配的字元組 ls [12]23.txt
"[abc]" 匹配 a b c的任意一個
"[a-f]"匹配從a到f範圍內的任意一個字元
cd命令擴展
回到home目錄的方式 直接 cd 或者 cd ~
~ 代表home
cd . 保持在當前目錄布標
cd.. 回到上級目錄
cd - 最近兩個工作目錄之間切換
相對目錄
絕對目錄
文件命令
touch 命令 如果文件不存在 穿件一個空白文件,如果已經存在會修改文件的末次修改日期
mkdir -p 參數 可以遞歸創建目錄. mkdir a/b/c/d/e/f 新建目錄不能與當前目錄中已有的目錄或文件同名.
rm 刪除文件或目錄 不能恢復(不去回收站)
rm -r 遞歸刪除目錄下的內容,刪除文件夾時候必須帶此參數.
rm -f 強制刪除文件 忽略不存在的文件 並且不會提示
rm 可以用通配符一次性刪除想要刪掉的內容哦.
rm -r * 本文件夾所有文件夾會全部刪除 一般不要用.
rm -rf * 禁術 你可以嘗試一下
tree[目錄名] 以樹狀圖列出文件結構 -d 參數 只顯示文件夾
cp 源文件 目標目錄 複製 文件 和目錄
cp -i 覆蓋文件前提示 安全! 有用.
cp -r 若給出的源文件是目錄文件,則cp 將遞歸複製該目錄下所有子目錄和文件,目標文件必須為一個目錄名.
mv 源文件 目標位置 移動文件, 可以給文件和目錄用來重命名
mv -i 覆蓋之前體質(重命名時更加安全!)
查看文件內容
cat 文件名 查看文件內容 創建文件 文件合併 追加文件內容等功能
cat -b 文件名 顯示文件行號 (不包含空行)
cat -n 文件名 (包含空行)
more 文件名 分屏顯示文件內容 使用方法和man命令一樣
grep 搜索文本 文件名 搜索文本文件內容 是一個強大的文本搜索工具
grep 允許對文本文件進行模式查找,模式 查找就是正則表達式
-n 顯示匹配行及行號
-v 顯示不包含脾胃文本的所有行 (求反)
-i 忽略大小寫
^a 行首,搜尋以a開頭的行
k$ 行尾,搜尋以ke結束的行.
如果要搜索的內容用空格要用 " " 把內容引起來.
echo和重定向
echo 把參數重新顯示一遍 在日常中很少使用 和重新定向一起使用
重定向:把本應該顯示在屏幕上的內容輸出到其他位置.用">"表示輸出用">>"表示追加
echo touch 1.txt > 1.log
echo touch 123.txt >> 1.log
ls -lh > a..txt 把ls 的內容輸出到文件a.txt裡面
">"一個大於號會把以前內容覆蓋掉.
管道概念 |
Linux允許一個命令的輸出可以通過管道作為另一個命令的輸入.
要使用管道至少需要兩個命令,後面的命令通常使用more 和 grep
ls -lh | more 分屏顯示
ls -alh ~ | grep open | more 搜索open的解決過分屏顯示
tree / | grep open | more
遠程管理常用命令
shutdown 選項 時間 : 關機和重啟電腦
預設是關機 -r選項是重啟 現在是:now 不指定時間是1分鐘之後
shutdown -c 取消關機計劃
shutdown 20:25 :20點25會關機
shutdown +10 過十分鐘後關機
遠程伺服器 一般用重啟 不要用關機.
ifconfig 查看網卡配置信息
ping
ifconfig | grep inet ::利用通道,只顯示ip地址
ssh基礎
客戶端和伺服器都是軟體
數據傳輸是加密的並且是壓縮的.
是目前較可靠,專為遠程登錄回話和其他網路服務提供安全性的協議
ssh [-P port] user@remote
uer: 是遠程電腦上的用戶名
remote:是遠程電腦的地址 ip或功能變數名稱
port: 是ssh server 監控埠預設是22
scp: 複製文件 只能在linux或unix下進行
scp -P 22 user@remote:desktop/01.py /home
scp -P 22 01.py user@remote:desktop
scp -P 22 -r user@remote:desktop /home
windows用filezilla軟體進行文件傳輸。
ssh 免密碼登錄
有關ssh配置信息都保存在用戶家目錄下的.ssh目錄下(存儲key)
配置公鑰
在.ssh 目錄下 執行 shh-keygen即可生成ssh鑰匙一路回車即可
上傳公鑰(pub文件)到伺服器 :ssh-copy-id user@remote
本地使用私鑰對數據加密解密,伺服器使用公鑰對數據加密解密
非對稱加密演算法
使用公鑰加密的數據需要使用私鑰解密
使用私鑰加密的數據需要使用公鑰解密
配置別名 把複雜的用戶地址 變成一個別名
在~/.ssh/config下 追加內容
Host name
HostName ip地址
User user
Port 22
用戶許可權
用戶是Linux系統工作中重要的一環 用戶管理包括用戶與組管理
在Linux系統中不論是由本機或遠程登陸系統每個系統都必須擁有一個賬號,並且對於不同的系統資源擁有不同的使用許可權
在Linux中 可以指定每一個用戶針對不同的文件或者目錄的不同許可權
為文件/目錄的許可權包括
讀 r 4
寫 w 2
執行 x 1
為了方便用戶管理提出了組的概念
在實際應用中可以預先針對組設置好許可權,然後將不同的用戶添加到對應的組中 從而不用依次為每個用戶設置許可權
ls -l 硬鏈接概念,表示有幾種方式能進入到此文件。
ls -l “-”代表文件 “d”代表文件夾
後面的三組 rwx 分別代表第一組代表用戶許可權,第二組代表用戶組許可權,第三組代表來賓許可權
chmod +或- r或w或x 文件名/目錄名 代表 增加或者減去指定文件夾或文件的許可權
三組rwx後面試 所屬用戶在後面是所屬組
如果目錄沒有可執行許可權 不能對目錄進行操作
組管理
groupadd 組名 添加組
groupdel 組名 刪除組
cat/etc/group 查看組信息
chgrp 組名 文件/目錄名 修改文件/目錄成都所屬組
用戶相關命令
創建用戶必須要使用兩個命令:
useradd -m -g 組名 新建用戶名 添加用戶 -m自動建立用戶家目錄 -g指定用戶所在的組,否則會建立一個和同名的組
passwd 用戶名 設置用戶密碼 如果是普通用戶直接用passwd可以修改自己的賬戶密碼
userdel -r 用戶名 刪除用戶 -r 選項會自動刪除用戶家目錄。
cat /etc/passwd | grep 用戶名 查看
id[用戶名] 查看用戶UID 和GID 用戶代號 組代號
who 查看當前登錄的用戶列表
whoami
passwd 文件 在 /etc/passwd 是村阿阿房用戶的信息,由6個分號分成7個信息 分別是:
1.用戶名
2.密碼 x代表加密
3.UID
4.GID
5.用戶全名或本地賬號
6.家目錄
7.登錄使用的shell就是登錄之後使用的終端命令ubuntu預設是dash
usermod 主組和附加組
附加組通常用來給用戶附加許可權。
usermod 可以用來設置用戶的主組/附加組和登錄shell格式如下:
主組:通常在新建用戶時指定,在etc/passwd的第4列GID對應的組
附加族:在etc/group中最後一列表示該組的用戶列表,用於指定用戶的附加許可權
提示:設置了用戶的夫家族之後需要重新登錄才能生效
修改用戶的主組 usermod -g 組 用戶名
修改用戶的附加組 usermod -G 組 用戶名
修改用戶登錄shell usermod -s /bin/bash
註意 預設使用useradd添加用戶是沒有許可權使用suo以root身份執行命令的,可以使用以下命令,將用戶添加到附加組中。
usermod -G sudo 用戶名
which(重要)
提示:
/etc/passwd 適用於保存用戶信息的文件
/usr/bin/passwd 是用於修改用戶密碼的程式。
which 命令可以查看執行命令所在的位置:
例如:
which passwd
which ls
which useradd
查看 查找到的問價發現屬於root組 對root 可對可寫可執行 ,對於其他用戶是可讀可執行。
bin 和 sbin
在Linux中,覺大都數可執行文件都是保存在/bin /sbin /usr/bin /usr/sbin
/bin 是二進位執行文件目錄 主要用於具體應用
/sbin 是系統管理員專用的二進位代碼存放目錄主要用於系統管理
/usr/bin 後期安裝的一些軟體
/usr/sbin 超級用戶的一些管理程式。
切換用戶
su -用戶名 切換用戶 並且切換目錄 -可以切換到用戶家目錄 否則位置不變
exit 退出表示退出切換的用戶身份。
su 不接用戶名可以切換到root 但是不推薦使用 不安全
修改文件許可權
chown 修改擁有者
chgrp 修改組
chmod 修改許可權
修改文件|目錄的擁有者:chown 用戶名 文件名|目錄名
遞歸修改文件|目錄的組:chgrp -R 組名 文件名|目錄名
遞歸修改文件許可權: chmod -R 755 文件名|目錄名
4 2 1概念 分別是讀 寫 執行
註意:000 代表 --- 不設置
常用的 分別是 777 和 755 和 644
系統信息相關命令
通常是遠程維護伺服器的時候使用的。查看伺服器上的系統日期和時間/磁碟空間占用情況/程式執行情況。
date 查看系統時間
cal 查看日曆(本月) 加-y選項可以查看一年的日曆。
df -h disk free 顯示磁碟剩餘空間
du -h [目錄名] diskusage顯示目錄下的文件大小
進程:通俗講就是當前正在執行的一個程式.
ps -aux 查看進程的詳細狀況
top 動態顯示運行中的進程.退出按"q"
kill[-9]進程代號(PID) 終止指定代號的進程 -9表示強行終止
ps 預設只會顯示當前用戶通過終端啟動的應用程式
ps 選項說明功能(不需要"-"號):
a: 顯示終端上的所有進程包括其他用戶的進程
u:顯示進程的詳細狀態
x:顯示沒有控制終端的進程
提示:使用kill 命令時最好只終止單簽用戶開啟的進程,而不要終止root身份開啟的進程,否則可能導致系統崩潰.
其他命令
查找文件
find [路徑] -name."py" 查找指定路徑下擴展名是.py的文件包括子目錄
-name 是選項
如果省略路徑 表示在當前文件夾下查找
之前學習的通配符在使用find 命令時同事可用.
還有更多高級使用方法.
文件軟鏈接
就是類似於windows下的快捷方式
ln -s 被鏈接的源文件(絕對路徑) 鏈接文件名 .建立文件的軟連接
註意:
- 沒有 -s 選項建立的是硬鏈接
兩個文件占用相同大小的硬碟空間,工作中幾乎不會建立文件的硬鏈接
2.源文件要使用絕對路徑,不能使用先谷底路徑,這樣可以方便移動連接文件後仍然能夠正常使用.
在linux中文件名和文件的數據是分開存儲的
打包壓縮
在不同的操作系統中 常用的打包壓縮方式是不同的
windows 常用rar
mac 常用zip
Linux 常用 tar.gz
打包(只打包 不壓縮!)和解包:
tar是Linux中最常用的備份工具,此命令可以把一系列文件打包到一個大的文件中,也可以把打包的大文件恢覆成一系列文件
tar命令格式: tar -cvf 打包文件.tar 被打包文件/路徑
解包文件:tar -xvf 打包文件.tar
選項說明:
c: 生成檔案文件創建打包文件
x: 解開檔案文件
v: 列出歸檔解檔過程,顯示進度
f: 指定檔案文件名稱,f後面一定是.tar文件,所以必須放選項最後面
註意: f選項必須放在最後,其他選項順序可以隨意.
想要壓縮文件用 gzip 對tar包進行壓縮
擴展名一般為 .tar.gz
linux中最常見的壓縮 文件格式就是:.tar.gz
在tar命令中有一個選項 -z可以調用gzip從而可以方便的實現壓縮和解壓縮功能
命令格式如下:
壓縮文件: tar -zcvf 打包文件.tar.gz 被壓縮的文件/路徑..
解壓縮文件: tar -zxvf 打包文件.tar.gz
解壓到指定路徑:tar -zxvf 打包文件.tar.gz -C 目標路徑
選項 -C 解壓縮到指定目錄 註意指定的目錄必須存在.
bzip2(two)
和gzip基本一樣 擴展名為*.tar.bz2
命令中 用 -jcvf 換為-j選項
軟體安裝
配置軟體源
小火車演示 sudo apt install sl
當前進程排名優化軟體. sudo apt install htop
主伺服器國外太慢,想要更快的速度可以更換鏡像源:
圖形界面: 系統設置--> 軟體和更新-->源代碼 --下載自--其他站點-- 填寫網址.
可以選擇最佳伺服器 自動全部測試選擇最快
點擊關閉
然後重新載入,更新緩存. 要等待.
tips:
問題:正在等待packagekitd退出
解決辦法:systemctl stop packagekit 或者 systemctl disable packagekit
通過apt安裝卸載軟體
安裝軟體
sudo apt install 軟體包
卸載軟體
sudo apt remove 軟體名
更新已安裝的包
sudo apt upgrade