linux常用指令含義及使用方法
bin -> usr/bin 這個目錄存放的是,最經常使用的命令
boot 這個目錄存放啟動Linux時使用的一些核心檔案,包括一些連線檔案以及映象檔案
dev 裝置Device的縮寫, 該目錄下存放Linux的外部裝置,Linux中的裝置也是以檔案的形式存在
etc 這個目錄存放所有的系統管理所需要的配置檔案
home 使用者的主目錄,在Linux中每個使用者都有一個自己的目錄,一般該目錄名以使用者的賬號命名
lib -> usr/lib 該目錄存放著系統最基本的動態連線共享庫,其作用類似於windows裡的DLL檔案,幾乎所有的應用程式都需要用到這些共享庫。
lib64 -> usr/lib64 64位的系統動態連線共享庫
media Linux系統會自動識別一些裝置,例如隨身碟、光碟機等等,當識別後,Linux會把識別的裝置掛載到這個目錄下
mnt 系統提供該目錄是為了讓使用者臨時掛載別的檔案系統,我們可以將光碟機掛載在/mnt/上,然後進入該目錄就可以檢視光碟機裡的內容
opt 該目錄是給linux額外安裝軟體所存放的目錄,比如安裝一個Mysql資料庫則就可以放到這個目錄下,預設該目錄是空的(裝軟體常用目錄:/usr/local、/opt、/srv)
root 該目錄為系統管理員目錄,root是具有超級許可權的使用者,是Linux預設建立好的使用者
sbin -> usr/sbin s就是Super User的意思,這裡存放的是系統管理員使用的系統管理程式
srv 該目錄存放一些服務啟動之後需要提取的資料
tmp 這個目錄是用來存放一些臨時檔案的
usr 這是一個非常重要的目錄,使用者的很多應用程式和檔案都放在這個目錄下,類似與windows下的Program Files目錄
var 這個目錄存放著在不斷擴充著的東西,我們習慣將那些經常被修改的檔案存放在該目錄下,比如執行的各種日誌檔案
proc 這個目錄是一個虛擬的目錄,它是系統記憶體的對映,我們可以透過直接訪問這個目錄來獲取系統資訊
這個目錄的內容不在硬碟上而是在記憶體裡,我們也可以直接修改裡面的某些檔案,比如可以透過下面的命令來遮蔽主機的ping命令,使別人無法ping你的機器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
run 程式或服務啟動後,執行的PID存放在該目錄下
sys 核心中的檔案系統 sysfs
2.操作防火牆
為了網路安全,伺服器一般都會開啟防火牆,防火牆firewalld服務透過一種信任機制來管理訪問系統的連線。這裡詳細介紹下CentOS 7版本Linux的防火牆操作命令:
防火牆firewalld命令
Linux中,這三個命令都是可以的
systemctl status firewalld 檢視防火牆狀態
systemctl status firewalld.service 檢視防火牆狀態
service firewalld status 檢視防火牆狀態
systemctl anable firewalld 讓防火牆可用
systemctl disable firewalld 讓防火牆禁用
systemctl start firewalld 啟動防火牆
systemctl stop firewalld 關閉防火牆
systemctl restart firewalld 重啟防火牆
在實際公司裡面不會這麼做,一般都是開啟了防火牆,需要時,開放需要的埠,從而提高安全性
firewall-cmd命令
man firewall-cmd 檢視firewall-cmd命令的幫助檔案
firewall-cmd -V
firewall-cmd --get-default-zone 預設級別為public
firewall-cmd --get-active-zones 獲取活動的區域
firewall-cmd --get-zones 獲取防火牆信任級別列表(共9個)
防火牆 firewalld 將不同的網路連線,歸類到不同的信任級別,Zone 提供了以下幾個級別:
block: 拒絕所有外部發起的連線,允許內部發起的連線
dmz: 允許受限制的進入連線
drop: 丟棄所有進入的包,而不給出任何響應
external: 同上,對偽裝的進入連線,一般用於路由轉發
home: 允許受信任的計算機被限制的進入連線
internal: 同上,範圍針對所有網際網路使用者
public: 允許指定的進入連線
trusted: 信任所有連線
work: 允許受信任的計算機被限制的進入連線
開啟單個防火牆埠命令:
firewall-cmd --zone=public --add-port=3306/tcp --permanent
命令引數含義:
--zone #作用域:使用firewall-cmd --get-default-zone命令,可以檢視當前系統預設的作用區域
--add-port=8080/tcp #新增埠,格式為:埠/通訊協議
--permanent # 一直生效,如果不設定此引數,重啟服務後失效
1
2
3
4
開啟多個防火牆埠
firewall-cmd --zone=public --add-port=8080-8088/tcp --permanent
重新載入防火牆配置
firewall-cmd --reload
取消刪除埠開放
firewall-cmd --zone=public --remove-port=3306/tcp --permanent
查詢埠號3306是否開啟
firewall-cmd --query-port=3306/tcp
列出當前開啟的埠列表
firewall-cmd --list-port
列出當前開啟的服務列表
firewall-cmd --list-services
查詢服務的啟動狀態
firewall-cmd --query-service tcp
查詢所有開啟的服務和埠
firewall-cmd --list-all
3.ulimit命令和history命令
ulimit命令
ulimit 用於顯示系統資源限制的資訊,如:ulimit -a
語法:ulimit [param]
param引數可以為:
-a 顯示目前資源限制的設定
-c <core檔案上限> 設定core檔案的最大值,單位為區塊
-d <資料節區大小> 程式資料節區的最大值,單位為KB
-f <檔案大小> shell所能建立的最大檔案,單位為區塊
-H 設定資源的硬性限制,也就是管理員所設下的限制
-m <記憶體大小> 指定可使用記憶體的上限,單位為KB
-n <檔案數目> 指定同一時間最多可開啟的檔案數
-p <緩衝區大小> 指定管道緩衝區的大小,單位512位元組
-s <堆疊大小> 指定堆疊的上限,單位為KB
-S 設定資源的彈性限制
-t <CPU時間> 指定CPU使用時間的上限,單位為秒
-u <程式數目> 使用者最多可開啟的程式數目
-v <虛擬記憶體大小> 指定可使用的虛擬記憶體上限,單位為KB
history 命令
history 該命令可以檢視操作Linux使用了那些歷史命令
history -c 清空歷史命令
bash中預設命令記憶可達1000個,這些命令儲存在主資料夾內的 .bash_history 中
~/.bash_history 記錄的是前一次登入以前所執行過的命令,至於本次登入的命令暫時儲存在記憶體中,登出成功後會寫入檔案中
注意:這個情況並不會清空 ~/.bash_history 中的記錄,只是清空記憶體中的記錄
退出終端時,記憶體中的命令記錄會儲存到~/.bash_history 中,但是必須透過logout登出
強制關閉終端時,記憶體中的歷史記錄,也不會記錄在~/.bash_history中,即使記錄了也會有丟失
增加歷史記錄最大條數
history預設記錄最大1000條,可透過修改環境變數來增加條數。將HISTSIZE=1000修改為5000
[root@localhost /]# vim /etc/profile
HOSTNAME=/bin/hostname 2>/dev/null
HISTSIZE=5000
source /etc/profile 執行該命令載入source,使得配置即時生效
history中增加操作時間記錄
[root@localhost /]# vim /etc/profile
HOSTNAME=/bin/hostname 2>/dev/null
HISTSIZE=5000
HISTTIMEFORMAT="%Y/%m%d %H:%M:%S"
[root@localhost /]# source /etc/profile
history命令使用,參考資料連結
4.RPM和Yum的使用
Linux安裝軟體包的幾種方式:
使用rpm安裝
RPM是Red-Hat Package Manager(RPM軟體包管理器)的縮寫,是由Red Hat公司開發的一種軟體包管理方式,使用rpm我們可以方便的進行軟體的安裝、查詢、解除安裝等工作。但是使用rpm命令安裝rpm軟體包也有一些致命的缺點,它不能自己解決軟體包之間的依賴性問題,需要自己一個一個去安裝依賴的軟體包。
rpm只能安裝一個指定的軟體包,如果該軟體包存在依賴性關係,比如安裝A軟體包的時候,需要先安裝B軟體包,採用rpm安裝方式,就要先安裝B,再安裝A。
使用yum安裝
Yum(全稱為 Yellow dog Updater, Modified)是一個在RedHat、Fedora以及CentOS中的一種軟體包管理器,它基於RPM包管理,能夠從指定的伺服器自動下載RPM包並且進行安裝,可以自動處理軟體包之間的依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。
yum能自動檢測軟體包之間的依賴關係,可以直接yum安裝A包,yum能檢測到A與B的依賴關係,自動安裝B包。
透過原始碼編譯安裝
Linux安裝軟體第三種方式:就是透過原始碼編譯安裝(GCC),一般就是下載tar.gz安裝包,自己解壓原始碼到指定路徑,進行安裝。這種安裝方式與yum相比的好處是,可以安裝在指定的位置,yum安裝,會導致安裝檔案不受控制,比較亂。
直接解壓
Linux安裝軟體第四種方式:有些軟體直接解壓即可使用,(如:tomcat、zookeeper等)
Linux安裝軟體時,業內約定成俗,一般安裝在三個地方,其他地方當然也能安裝
1、/usr/local
2、/opt
3、/srv
rpm常用命令
rpm引數說明:
-i 安裝應用程式(install)
-e 解除安裝應用程式(erase)
-vh 顯示安裝進度;(verbose hash)
-U 升級軟體包;(update)
-qa 顯示所有已安裝軟體包(query all)
rpm -ivh jdk1.8.101.rpm 安裝rpm包的軟體
rpm -qa | grep xxx 檢視是否安裝了某個rpm包
rpm -e jdk1.8.101.rpm 刪除某個rpm安裝包
rpm安裝軟體,安裝後的檔案到處都有,散落一地,不好歸檔
yum常用命令
yum search <keyword> 查詢軟體包命令,有些軟體沒有rpm包
yum install <package_name> 安裝指定的軟體命令
比如:telnet,使用該命令會提示:
-bash: telnet: command not found
yum install telnet -y 安裝telnet軟體包,就可以使用telnet命令了
telnet
yum remove <package_name> 刪除軟體包命令
yum list installed 列出所有已安裝的軟體包命令
yum list installed | grep java 列出已安裝的指定軟體包命令
清理yum安裝已下載的包命令,一般安裝後可以清空快取,釋放資源,不影響使用
yum clean all(yum install 後的rpm包存放在/var/cache/yum/下)
5.設定系統字符集
系統字符集,有時候可能需要修改,這裡也介紹下,如:設定中文man手冊,可能需要把系統字符集設定為中文字符集
檢視當前的字符集
echo $LANG
locale
臨時修改系統字符集
export LANG="zh_CN.UTF-8" 設定為中文字符集
export LANG="en_US.UTF-8" 設定為英文字符集
修改系統字符集
需要寫入/etc/profile配置檔案
vim /etc/profile
新增內容 export LANG="en_US.UTF-8" 新增內容後,在命令模式下 :wq 儲存並退出
source /etc/profile 讓修改配置生效
6.vi & vim編輯器
vi是linux下標配的一個純字元介面的文字編輯器,由於不是圖形介面,相關的操作都要透過鍵盤輸入命令來完成,需要記住一些常用的操作命令
vim是vi的升級版本,完全相容vi,vim也可以完全當成vi使用,vim是在vi的基礎上增加一些功能,比如語法著色等
vi和vim使用是比較簡單的,記住幾個常用的命令,即可
vi(vim) filename 可以開啟並修改檔案
如果引數中的filename檔案存在,則開啟該檔案,如果引數中的檔案不存在,則會新建該檔案(不是立即建立,而是在儲存的時候建立)
vi(vim)有幾種操作模式:
命令模式
按Esc鍵,進入命令模式,命令模式下無法編輯
編輯好內容後,在命令模式下,按 :wq 儲存編輯內容退出,按 :q!不儲存修改部分並退出
使用vi命令開啟檔案,然後可以檢視和設定檔案的編碼格式
檢視檔案字元編碼格式:
set ff(fileformat)
設定檔案編碼格式為unix
使用命令set ff = unix,然後回車即可
設定檔案編碼格式為dos
使用命令set ff = dos,然後回車即可
編輯模式
按 a 或者 i 字母鍵,進入編輯模式(此時,底部會出現insert)
為了快速使用vi(vim)命令編輯文字內容,整理了一些常用的快捷鍵 (在命令模式下執行)
u 撤銷上次操作
ctrl+r 恢復撤銷
dd 刪除遊標所在行
yy 複製遊標所在行到緩衝區
p 貼上緩衝區中的內容
gg 遊標回到檔案第一行
shift + g 遊標回到檔案最後一行
^ 遊標移動至當前行的行首
$ 遊標移動至當前行的行尾
/關鍵字 按斜槓/鍵,可以輸入想搜尋的字元,然後確定進行搜尋,如果第一次查詢的關鍵字不是想要的,可以一直按n鍵往後查詢到想要的關鍵字為止
7.檔案同步、複製
更新中…
8.利用SCP命令進行檔案傳輸
scp基礎介紹:
Linux scp 命令用於 Linux 之間複製檔案和目錄。scp是secure copy的縮寫,scp是Linux 系統下基於ssh登陸,進行安全的遠端檔案複製命令,和ssh 使用相同的認證方式,提供相同的安全保證 。
scp 是加密的,rcp 是不加密的,scp 是 rcp 的加強版。
scp不需要安裝額外的軟體,使用起來簡單方便,安全可靠且支援限速引數,但是它不支援排除目錄。
scp使用語法:
scp [可選引數] file_source file_target
這裡的可選引數有很多,我列幾個常用的:
-p 保留原檔案的修改時間,訪問時間和訪問許可權
-q 不顯示傳輸進度條
-r 遞迴複製整個目錄,常用於傳輸資料夾
-v 展示傳輸詳情,scp和ssh(1)會顯示出整個過程的除錯資訊。這些資訊用於除錯連線,驗證和配置問題。
-P port:注意是大寫的P,port是指定資料傳輸用到的埠號
scp使用示例:
從本地複製到遠端
命令格式:
scp local_file remote_username@remote_ip:remote_folder
或者
scp local_file remote_username@remote_ip:remote_file
或者
scp local_file remote_ip:remote_folder
或者
scp local_file remote_ip:remote_file
第1,2個指定了使用者名稱,命令執行後需要再輸入密碼,第1個僅指定了遠端的目錄,檔名字不變,第2個指定了檔名;
第3,4個沒有指定使用者名稱,命令執行後需要輸入使用者名稱和密碼,第3個僅指定了遠端的目錄,檔名字不變,第4個指定了檔名;
1
2
3
4
如果需要複製目錄,使用命令格式:
scp -r local_folder remote_username@remote_ip:remote_folder
或者
scp -r local_folder remote_ip:remote_folder
第1個指定了使用者名稱,命令執行後需要再輸入密碼;
第2個沒有指定使用者名稱,命令執行後需要輸入使用者名稱和密碼;
上面命令將本地 music 目錄複製到遠端 others 目錄下。
從遠端複製到本地
從遠端複製到本地,只要將從本地複製到遠端的命令的後2個引數調換順序即可,如下應用例項:
注意:
如果遠端伺服器防火牆有為scp命令設定了指定的埠,我們需要使用 -P 引數來設定命令的埠號
使用scp命令要確保使用的使用者具有可讀取遠端伺服器相應檔案的許可權,否則scp命令是無法起作用的。
該scp使用這部分,參考菜鳥教程
寫部落格是為了記住自己容易忘記的東西,另外也是對自己工作的總結,希望儘自己的努力,做到更好,大家一起努力進步!
如果有什麼問題,歡迎大家一起探討,程式碼如有問題,歡迎各位大神指正!
來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/70001647/viewspace-2998735/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux學習——3 常用目錄含義Linux
- Linux——指令使用方法!Linux
- Linux中的特殊符號含義及作用!Linux符號
- Linux版本號含義Linux
- Promise含義及基本用法Promise
- 常用指令碼:獲取隱含引數指令碼
- Linux目錄涵義及常用命令Linux
- linux常用指令介紹Linux
- linux top命令欄位含義Linux
- 不清楚具體含義得指令jstackJS
- 【Linux】萬字總結Linux常用指令Linux
- Linux 之CenterOS下常用指令LinuxROS
- linux常用的shell指令碼Linux指令碼
- linux 常用Mysql指令碼命令LinuxMySql指令碼
- Linux各種變數的含義Linux變數
- Linux shell中2>&1的含義Linux
- 反向代理含義及用途介紹
- JTAG各類介面針腳定義及含義
- Visual C++ MFC 中常用巨集的含義C++
- linux系統下svn常用指令Linux
- maven的指令及常用引數Maven
- MySQL故障診斷常用方法手冊(含指令碼、案例)MySql指令碼
- Linux之相關英文縮寫含義Linux
- 常用【描述性統計指標】含義(by python)指標Python
- linux中的一些常用指令Linux
- Linux檔案許可權符號含義Linux符號
- SRE的含義及與 DevOps 如何關聯dev
- Python 中 key 引數的含義及用法Python
- Python中key引數的含義及用法Python
- Linux神器strace的使用方法及實踐Linux
- Linux管理伺服器常用高階指令Linux伺服器
- Linux常用初級指令介紹和使用Linux
- bootstrap含義boot
- instanceof 含義
- maven遠端倉庫配置及含義解釋Maven
- SQL外來鍵約束的含義及建立SQL
- 詳解數字簽名的含義及作用
- Python語言常用的49個基本概念及含義Python