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
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/160058.html
標籤:Linux
