主頁 > 作業系統 > 黑馬班筆記

黑馬班筆記

2020-10-06 20:21:25 作業系統

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 退出表示退出切換的用戶身份,
image.png

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 被鏈接的源檔案(絕對路徑) 鏈接檔案名 .建立檔案的軟連接
注意:

  1. 沒有 -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

上一篇:[日常] 神奇的引導問題deepin與win10

下一篇:【原創】(九)Linux記憶體管理 - zoned page frame allocator - 4

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • CA和證書

    1、在 CentOS7 中使用 gpg 創建 RSA 非對稱密鑰對 gpg --gen-key #Centos上生成公鑰/密鑰對(存放在家目錄.gnupg/) 2、將 CentOS7 匯出的公鑰,拷貝到 CentOS8 中,在 CentOS8 中使用 CentOS7 的公鑰加密一個檔案 gpg -a ......

    uj5u.com 2020-09-10 00:09:53 more
  • Kubernetes K8S之資源控制器Job和CronJob詳解

    Kubernetes的資源控制器Job和CronJob詳解與示例 ......

    uj5u.com 2020-09-10 00:10:45 more
  • VMware下安裝CentOS

    VMware下安裝CentOS 一、軟硬體準備 1 Centos鏡像準備 1.1 CentOS鏡像下載地址 下載地址 1.2 CentOS鏡像下載程序 點擊下載地址進入如下圖的網站,選擇需要下載的版本,這里選擇的是Centos8,點擊如圖所示。 決定選擇Centos8后,選擇想要的鏡像源進行下載,此 ......

    uj5u.com 2020-09-10 00:12:10 more
  • 如何使用Grep命令查找多個字串

    如何使用Grep 命令查找多個字串 大家好,我是良許! 今天向大家介紹一個非常有用的技巧,那就是使用 grep 命令查找多個字串。 簡單介紹一下,grep 命令可以理解為是一個功能強大的命令列工具,可以用它在一個或多個輸入檔案中搜索與正則運算式相匹配的文本,然后再將每個匹配的文本用標準輸出的格式 ......

    uj5u.com 2020-09-10 00:12:28 more
  • git配置http代理

    git配置http代理 經常遇到克隆 github 慢的問題,這里記錄一下幾種配置 git 代理的方法,解決 clone github 過慢。 目錄 git配置代理 git單獨配置github代理 git配置全域代理 配置終端環境變數 git配置代理 主要使用 git config 命令 git單獨 ......

    uj5u.com 2020-09-10 00:12:33 more
  • Linux npm install 裝包時提示Error EACCES permission denied解

    npm install 裝包時提示Error EACCES permission denied解決辦法 ......

    uj5u.com 2020-09-10 00:12:53 more
  • Centos 7下安裝nginx,使用yum install nginx,提示沒有可用的軟體包

    Centos 7下安裝nginx,使用yum install nginx,提示沒有可用的軟體包。 18 (flaskApi) [root@67 flaskDemo]# yum -y install nginx 19 已加載插件:fastestmirror, langpacks 20 Loading ......

    uj5u.com 2020-09-10 00:13:13 more
  • Linux查看服務器暴力破解ssh IP

    在公網的服務器上經常遇到別人爆破你服務器的22埠,用來挖礦或者干其他嘿嘿嘿的事情~ 這種情況下正確的做法是: 修改默認ssh的22埠 使用設定密鑰登錄或者白名單ip登錄 建議服務器密碼為復雜密碼 創建普通用戶登錄服務器(root權限過大) 建立堡壘機,實作統一管理服務器 統計爆破IP [root ......

    uj5u.com 2020-09-10 00:13:17 more
  • CentOS 7系統常見快捷鍵操作方式

    Linux系統中一些常見的快捷方式,可有效提高操作效率,在某些時刻也能避免操作失誤帶來的問題。 ......

    uj5u.com 2020-09-10 00:13:31 more
  • CentOS 7作業系統目錄結構介紹

    作業系統存在著大量的資料檔案資訊,相應檔案資訊會存在于系統相應目錄中,為了更好的管理資料資訊,會將系統進行一些目錄規劃,不同目錄存放不同的資源。 ......

    uj5u.com 2020-09-10 00:13:35 more
最新发布
  • vim的常用命令

    Vim的6種基本模式 1. 普通模式在普通模式中,用的編輯器命令,比如移動游標,洗掉文本等等。這也是Vim啟動后的默認模式。這正好和許多新用戶期待的操作方式相反(大多數編輯器默認模式為插入模式)。 2. 插入模式在這個模式中,大多數按鍵都會向文本緩沖中插入文本。大多數新用戶希望文本編輯器編輯程序中一 ......

    uj5u.com 2023-04-20 08:43:21 more
  • vim的常用命令

    Vim的6種基本模式 1. 普通模式在普通模式中,用的編輯器命令,比如移動游標,洗掉文本等等。這也是Vim啟動后的默認模式。這正好和許多新用戶期待的操作方式相反(大多數編輯器默認模式為插入模式)。 2. 插入模式在這個模式中,大多數按鍵都會向文本緩沖中插入文本。大多數新用戶希望文本編輯器編輯程序中一 ......

    uj5u.com 2023-04-20 08:42:36 more
  • docker學習

    ###Docker概述 真實專案部署環境可能非常復雜,傳統發布專案一個只需要一個jar包,運行環境需要單獨部署。而通過Docker可將jar包和相關環境(如jdk,redis,Hadoop...)等打包到docker鏡像里,將鏡像發布到Docker倉庫,部署時下載發布的鏡像,直接運行發布的鏡像即可。 ......

    uj5u.com 2023-04-19 09:26:53 more
  • 設定Windows主機的瀏覽器為wls2的默認瀏覽器

    這里以Chrome為例。 1. 準備作業 wsl是可以使用Windows主機上安裝的exe程式,出于安全考慮,默認情況下改功能是無法使用。要使用的話,終端需要以管理員權限啟動。 我這里以Windows Terminal為例,介紹如何默認使用管理員權限打開終端,具體操作如下圖所示: 2. 操作 wsl ......

    uj5u.com 2023-04-19 09:25:49 more
  • docker學習

    ###Docker概述 真實專案部署環境可能非常復雜,傳統發布專案一個只需要一個jar包,運行環境需要單獨部署。而通過Docker可將jar包和相關環境(如jdk,redis,Hadoop...)等打包到docker鏡像里,將鏡像發布到Docker倉庫,部署時下載發布的鏡像,直接運行發布的鏡像即可。 ......

    uj5u.com 2023-04-19 09:19:04 more
  • Linux學習筆記

    IP地址和主機名 IP地址 ifconfig可以用來查詢本機的IP地址,如果不能使用,可以通過install net-tools安裝。 Centos系統下ens33表示主網卡;inet后表示IP地址;lo表示本地回環網卡; 127.0.0.1表示代指本機;0.0.0.0可以用于代指本機,同時在放行設 ......

    uj5u.com 2023-04-18 06:52:01 more
  • 解決linux系統的kdump服務無法啟動的問題

    問題:專案麒麟系統服務器的kdump服務無法啟動,沒有相關日志無法定位問題。 1、查看服務狀態是關閉的,重啟系統也無法啟動 systemctl status kdump 2、修改grub引數,修改“crashkernel”為“512M(有的機器數值太大太小都會導致報錯,建議從128M開始試,或者加個 ......

    uj5u.com 2023-04-12 09:59:50 more
  • 解決linux系統的kdump服務無法啟動的問題

    問題:專案麒麟系統服務器的kdump服務無法啟動,沒有相關日志無法定位問題。 1、查看服務狀態是關閉的,重啟系統也無法啟動 systemctl status kdump 2、修改grub引數,修改“crashkernel”為“512M(有的機器數值太大太小都會導致報錯,建議從128M開始試,或者加個 ......

    uj5u.com 2023-04-12 09:59:01 more
  • 你是不是暴露了?

    作者:袁首京 原創文章,轉載時請保留此宣告,并給出原文連接。 如果您是計算機相關從業人員,那么應該經歷不止一次網路安全專項檢查了,你肯定是收到過資訊系統技術檢測報告,要求你加強風險監測,確保你提供的系統服務堅實可靠了。 沒檢測到問題還好,檢測到問題的話,有些處理起來還是挺麻煩的,尤其是線上正在運行的 ......

    uj5u.com 2023-04-05 16:52:56 more
  • 細節拉滿,80 張圖帶你一步一步推演 slab 記憶體池的設計與實作

    1. 前文回顧 在之前的幾篇記憶體管理系列文章中,筆者帶大家從宏觀角度完整地梳理了一遍 Linux 記憶體分配的整個鏈路,本文的主題依然是記憶體分配,這一次我們會從微觀的角度來探秘一下 Linux 內核中用于零散小記憶體塊分配的記憶體池 —— slab 分配器。 在本小節中,筆者還是按照以往的風格先帶大家簡單 ......

    uj5u.com 2023-04-05 16:44:11 more