Linux使用详解(进阶篇)
文章目錄
- Linux使用詳解(進階篇)
- 1.Linux目錄說明
- 2.操作防火墻
- 3.ulimit命令和history命令
- 4.RPM和Yum的使用
- 5.設置系統字符集
- 6.vi & vim編輯器
- 7.文件同步、復制
- 8.利用SCP命令進行文件傳輸
Linux使用詳解(進階篇)
1.Linux目錄說明
- bin -> usr/bin 這個目錄存放的是,最經常使用的命令
- boot 這個目錄存放啟動Linux時使用的一些核心文件,包括一些連接文件以及鏡像文件
- dev 設備Device的縮寫, 該目錄下存放Linux的外部設備,Linux中的設備也是以文件的形式存在
- etc 這個目錄存放所有的系統管理所需要的配置文件
- home 用戶的主目錄,在Linux中每個用戶都有一個自己的目錄,一般該目錄名以用戶的賬號命名
- lib -> usr/lib 該目錄存放著系統最基本的動態連接共享庫,其作用類似于windows里的DLL文件,幾乎所有的應用程序都需要用到這些共享庫。
- lib64 -> usr/lib64 64位的系統動態連接共享庫
- media Linux系統會自動識別一些設備,例如U盤、光驅等等,當識別后,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: 允許受信任的計算機被限制的進入連接
-
開啟單個防火墻端口命令:
命令參數含義: --zone #作用域:使用firewall-cmd --get-default-zone命令,可以查看當前系統默認的作用區域 --add-port=8080/tcp #添加端口,格式為:端口/通訊協議 --permanent #永久生效,如果不設置此參數,重啟服務后失效
firewall-cmd --zone=public --add-port=3306/tcp --permanent
-
開啟多個防火墻端口
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/profilehistory命令使用,參考資料鏈接
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 www.baidu.com
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 /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music scp /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music/001.mp3 scp /home/space/music/1.mp3 www.runoob.com:/home/root/others/music scp /home/space/music/1.mp3 www.runoob.com:/home/root/others/music/001.mp3
命令格式:
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個指定了文件名;如果需要復制目錄,使用命令格式:
scp -r /home/space/music/ root@www.runoob.com:/home/root/others/ scp -r /home/space/music/ www.runoob.com:/home/root/others/
scp -r local_folder remote_username@remote_ip:remote_folder
或者
scp -r local_folder remote_ip:remote_folder
第1個指定了用戶名,命令執行后需要再輸入密碼;
第2個沒有指定用戶名,命令執行后需要輸入用戶名和密碼;
應用實例:上面命令將本地 music 目錄復制到遠程 others 目錄下。
-
從遠程復制到本地
scp root@www.runoob.com:/home/root/others/music /home/space/music/1.mp3 scp -r www.runoob.com:/home/root/others/ /home/space/music/
從遠程復制到本地,只要將從本地復制到遠程的命令的后2個參數調換順序即可,如下應用實例:注意:
#scp 命令使用端口號 4588 scp -P 4588 remote@www.runoob.com:/usr/local/sin.sh /home/administrator
如果遠程服務器防火墻有為scp命令設置了指定的端口,我們需要使用 -P 參數來設置命令的端口號,命令格式如下:使用scp命令要確保使用的用戶具有可讀取遠程服務器相應文件的權限,否則scp命令是無法起作用的。
該scp使用這部分,參考菜鳥教程
寫博客是為了記住自己容易忘記的東西,另外也是對自己工作的總結,希望盡自己的努力,做到更好,大家一起努力進步!
如果有什么問題,歡迎大家一起探討,代碼如有問題,歡迎各位大神指正!
給自己的夢想添加一雙翅膀,讓它可以在天空中自由自在的飛翔!
總結
以上是生活随笔為你收集整理的Linux使用详解(进阶篇)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python调用报表制作工具_Pytho
- 下一篇: Linux的基本学习(四)——磁盘与文件