linux分屏
① linux terminal 怎樣分屏
1、ls | more 分頁顯示 2、pageUP或shift+pageUP 3、用secureCRT遠程登陸看,設置Scrollback buffer:5000
② linux有辦法分屏顯示vim和終端么
本來只想回答有的,結果說太簡單了,導致我打了這么長。
都打了這么長了那我就說兩句吧,vim本身就有分屏的功能,:sp上下分,:vsp左右分,vim本身可以調用shell從而實現各種命令,不過執行命令的時候就會退出分屏狀態了,你也可以用插入執行結果的方式調用。
分屏也可以用軟體實現,screen和tmux,這兩個都能實現分屏,但是需要注意的是這兩個軟體都或多或少的影響一些軟體的快捷鍵的使用。
③ linux的xfce如何設置,讓它能左右分屏,貌似默認的是上下分屏。
#先用xrandr命令看看你的屏幕是不是VGA0和LVDS
#下面的命令變為左右分屏。
xrandr--outputVGA-0--mode1024x768--rate60--right-ofLVDS
不喜歡命令的話,可以安裝ARandR或者LXRandR圖形管理。
如果安裝了私有驅動,比如nvidia的顯卡,在私有驅動中帶有屏幕管理。
④ linux遠程連接軟體有哪些
第一款:Xshell
Xshell是一個非常強大的安全終端模擬軟體,它支持SSH1,SSH2,以及Windows平台的TELNET協議。Xshell可以在Windows界面下用來訪問遠端不同系統下的伺服器,從而比較好的達到遠程式控制制終端的目的,Xshell非常符合使用習慣,值得推薦。
優點:
①界面設計簡潔,人性化,用起來比較舒服。
②支持標簽,打開多個會話鏈接的時候比較方便。
③可以保存密碼,方便下次直接使用,當然要做好電腦安全防護。
④支持rz和sz命令,這兩個命令在傳輸少量小文件時非常方便。
⑤圖形化支持本地和遠程文件之間的傳輸,方便系統部署和日誌排查。
第二款:winscp
winscp是一個Windows環境下使用SSH的開源圖形化Sftp工具客戶端。同時支持SCP協議,它的主要功能就是在本地與遠程計算機間安全的復制傳輸文件。winscp+putty軟體配套使用。
優點:
①簡潔的圖形用戶界面。
②Windows完美集成。
③完美支持所有常用文件操作。
④可以批處理腳本和命令行方式。
⑤多種半自動、自動的目錄同步方式。
⑥內置文本編輯器。
⑦可以存儲會話信息,方便下次使用。
⑧可將設置存在配置文件中而非注冊表中,適合在移動存儲設備上操作。
第三款:PuTTY
PuTTY是SSH和telnet客戶端,最初由Simon
Tatham為Windows平台開發。用MIT許可證授權,包含的組件有:PuTTY、PuTTYgen、PSFTP、PuTTYtel、Plink、PSCP、Pageant,默認登錄協議是SSH,默認的埠為22。PuTTY主要用來遠程連接伺服器,它支持SSH、Telnet、Serial等協議的連接。最常用的是SSH協議,用它來遠程管理Linux伺服器非常方便。
優點:
①完全免費開源。
②跨平台。
③綠色軟體,體積不到1M,不需要安裝,佔用系統資源少。
④完全支持SSH1和SSH2。
第四款:MobaXterm
MobaXterm的功能非常全面,幾乎提供了所有重要的遠程網路工具,以及Windows桌面上的Unix命令,登錄之後默認開啟sftp模式。
優點:
①功能非常全,基本上涵蓋了伺服器運維所有功能。
②免費開源。
③豐富的插件。
④超多好用的快捷鍵,效率非常高。
⑤支持多標簽,切換也十分方便。
第五款:FinalShell
FinalShell是一體化的伺服器網路管理軟體,不僅是SSH客戶端,FinalShell還是功能強大的開發、運維工具,充分滿足用戶的開發運維需求。
優點:
①跨平台。
②支持內存、CPU性能監控,Ping延遲丟包,Trace路由監控。
③支持rz、sz。
⑤ Linux命令
快照功能:記錄當前的硬碟的狀態。剛建快照時快照佔用內存為0,標記了當前硬碟的存儲狀態。當虛擬機對快照標記的內容改寫時,會將改寫的內容存儲進快照,與未改寫的部分整合得到完整的快照。當快照標記的部分被完全改寫,那麼快照存儲空間完整記錄了當時拍攝時的內存狀態。
參數形式
第一種:參數用一橫的說明後面的參數是字元形式。
第二種:參數用兩橫的說明後面的參數是單詞形式。
第三種:參數前有橫的是 System V風格。
第四種:參數前沒有橫的是 BSD風格。
cat、more、less、head、tail命令的比較:
cat命令可以一次顯示整個文件,如果文件比較大,使用不是很方便;
more命令可以讓屏幕在顯示滿一屏幕時暫停,按空格往前翻頁,按b往後翻頁。
less命令也可以分頁顯示文件,和more命令的區別就在於: 支持上下鍵卷動屏幕、查找;不需要在一開始就讀取整個文件,打開大文件時比more、vim更快。
head命令用於查看文件的前n行。
tail命令用於查看文件的後n行,加上-f命令,查看在線日誌非常方便,可以列印最新增加的日誌。
一般模式:
編輯模式:
命令模式:
編碼
多行操作(列編輯模式)
插入:ctrl+v進入列編輯模式,上下移動游標選擇需要插入的位置,然後輸入大寫I,輸入需要文本,最後按esc鍵退出,就會發現文本會在選擇的多行中插入。
刪除:ctrl+v進入列編輯模式,上下移動游標選中需要刪除的部分,然後按d,就會刪除選中的內容。
①head:顯示文件頭部內容
②tail:輸出文件尾部內容
注意:用vim和vi修改內容會刪除源文件並生成新文件,所以tail -f會失效。需要用到
追加和覆蓋語句(>或>>),才能被tail -f監視到。
一般用於查看小文件
查看壓縮文件中的文本內容
例:
①more:文件內容分屏查看器
②less:分屏顯示文件內容,效率比more高
1、簡單讀取
運行腳本如下
測試結果為:
2、-p 參數,允許在 read 命令行中直接指定一個提示。
運行腳本如下
測試結果為:
echo [選項] [輸出內容] (輸出內容到控制台)
輸出給定文本的sha256加密後的內容
①顯示當前時間信息
②顯示當前時間年月日
③顯示當前時間年月日時分秒
④顯示昨天
⑤顯示明天時間
⑥顯示上個月時間
需要注意的是取下個月的命令存在bug,執行如下命令會得到21-10,但是正常應該得到21-09,需要注意
date -d "2021-08-31 +1 month" +%y-%m
⑦修改系統時間
⑧獲取當前時間戳
獲取秒時間戳: date +%s
獲取毫秒時間戳:$[ (date +%s%N) /1000000]
查看日歷
(1)查看當前月的日歷
(2)查看2017年的日歷
例:
對比gzip/gunzip,zip/unzip可以壓縮文件和目錄且保留源文件。
①zip:壓縮
②unzip:解壓縮
只能壓縮文件不能壓縮目錄,不保留原來的文件。
gzip 文件 (只能將文件壓縮為*.gz文件)
gunzip 文件.gz (解壓縮文件命令)
例: crontab -e
(1)進入crontab編輯界面。會打開vim編輯你的工作。
(2)每隔1分鍾,向/root/longma.txt文件中添加一個11的數字
*/1 * * * * /bin/echo 」11」 >> /root/longma.txt
(3)可以用tail -f 目標文件來實施監控追加的內容
查看日誌
可以用tail -f /var/log/cron.log觀察
Cron表達式見文章: https://www.jianshu.com/writer#/notebooks/46619194/notes/75177408
ls [選項] [目錄或是文件]
cd [參數]
例: cd -P $(dirname $p1) ; pwd 先跳轉到文件的所在目錄,再列印$p1文件的實際路徑
概述
①cp():只能在本機中復制
②scp(secure ):可以復制文件給遠程主機
scp -r test.sh hxr@hadoop102:/root
③rsync(remote sync):功能與scp相同,但是不會改文件屬性
rsync -av test.sh test.sh hxr@hadoop102:/root
④nc(netcat):監聽埠,可以實現機器之間傳輸文件。
nc -lk 7777 (-l表示listen,-k表示keep)
強制覆蓋不提示的方法:cp
例:scp -r test.sh hxr@bigdata1:/root
例:rsync -av test.sh hxr@bigdata1:/root
例:
nc -lp 10000 > nc_test.txt
nc -w 1 hadoop102 < nc_test.txt
遠程登錄時默認使用的私鑰為~/.ssh/id_rsa
生成密鑰對
將公鑰發送到本機
將密鑰發送到需要登錄到本機的伺服器上
修改密鑰的許可權
遠程登陸
如果有多個節點需要遠程登陸,可以在.ssh下創建config並輸入
再次登陸
①正向代理:
②反向代理:
所謂「反向代理」就是讓遠端啟動埠,把遠端埠數據轉發到本地。
HostA 將自己可以訪問的 HostB:PortB 暴露給外網伺服器 HostC:PortC,在 HostA 上運行:
那麼鏈接 HostC:PortC 就相當於鏈接 HostB:PortB。
使用時需修改 HostC 的 /etc/ssh/sshd_config 的一條配置如下,不然啟動的進程監聽的ip地址為127.0.0.1,即只有本機可以訪問該埠。
相當於內網穿透,比如 HostA 和 HostB 是同一個內網下的兩台可以互相訪問的機器,HostC是外網跳板機,HostC不能訪問 HostA,但是 HostA 可以訪問 HostC。
那麼通過在內網 HostA 上運行 ssh -R 告訴 HostC,創建 PortC 埠監聽,把該埠所有數據轉發給我(HostA),我會再轉發給同一個內網下的 HostB:PortB。
同內網下的 HostA/HostB 也可以是同一台機器,換句話說就是 內網 HostA 把自己可以訪問的埠暴露給了外網 HostC。
例: 比如在我的內網機192.168.32.244上有一個RabbitMQ的客戶端,埠號為15672。現在我希望在外網上訪問固定ip的雲伺服器chenjie.asia的6009埠,通過跳板機192.168.32.243來轉發請求到192.168.32.244:15672,從而實現在外網訪問內網服務的功能,即內網穿透。
①在192.168.32.244上啟動RabbitMQ服務
②將chenjie.asia雲伺服器的私鑰復制到跳板機192.168.32.243的~/.ssh下,並重命名為id_rsa。通過如下命令看是否可以遠程登陸到雲服務,可以登陸則進行下一步。
③修改chenjie.asia伺服器的ssh配置文件 /etc/ssh/sshd_config ,允許其他節點訪問
然後重啟sshd服務
④在跳板機192.168.32.243啟動ssh反向代理
這個進程在關閉session時會停止,可以添加啟動參數 -CPfN
例:
以 root 身份執行的程序有了所有特權,這會帶來安全風險。Kernel 從 2.2 版本開始,提供了 Capabilities 功能,它把特權劃分成不同單元,可以只授權程序所需的許可權,而非所有特權。
例如:linux不允許非root賬號只用1024以下的埠,使用root啟動命令nginx,會導致nginx許可權過高太危險。所以用setcap命令
sudo setcap cap_net_bind_service=+eip /bigdata/nginx/sbin/nginx
正確的關機流程為 :sync > shutdown > reboot > halt
(1)sync (功能描述:將數據由內存同步到硬碟中)
(2)halt (功能描述:關閉系統,等同於shutdown -h now 和 poweroff)
(3)reboot (功能描述:就是重啟,等同於 shutdown -r now)
(4)shutdown [選項] [時間]
安裝
yum install -y telnet-server telnet
ls -i 顯示文件的節點號
find -inum 節點號 -delete 刪除指定的節點即可刪除對應的文件
啟動一個服務: systemctl start postfix.service
關閉一個服務: systemctl stop postfix.service
重啟一個服務: systemctl restart postfix.service
顯示一個服務的狀態: systemctl status postfix.service
在開機時啟用一個服務: systemctl enable postfix.service
在開機時禁用一個服務: systemctl disable postfix.service
註:在enable的時候會列印出來該啟動文件的位置
列出所有已經安裝的服務及狀態:
systemctl list-units
systemctl list-unit-files
查看服務列表狀態:
systemctl list-units --type=service
查看服務是否開機啟動: systemctl is-enabled postfix.service
查看已啟動的服務列表: systemctl list-unit-files | grep enabled
查看啟動失敗的服務列表: systemctl --failed
查看服務日誌: journalctl -u postfix -n 10 -f
命令類似systemctl,用於操作native service。
添加腳本為服務(需要指定啟動級別和優先順序): chkconfig --add [腳本]
刪除服務: chkconfig --del [腳本]
單獨查看某一服務是否開機啟動的命令 : chkconfig --list [服務名]
單獨開啟某一服務的命令 : chkconfig [服務名] on
單獨關閉某一服務的命令: chkconfig [服務名] off
查看某一服務的狀態: /etc/intd.d/[服務名] status
啟用服務就是在當前"runlevel"的配置文件目錄 /etc/systemd/system/multi-user.target.wants 里,建立 /usr/lib/systemd/system 裡面對應服務配置文件的軟鏈接;禁用服務就是刪除此軟鏈接,添加服務就是添加軟連接。
su 用戶名稱 (切換用戶,只能獲得用戶的執行許可權,不能獲得環境變數)
su - 用戶名稱 (切換到用戶並獲得該用戶的環境變數及執行許可權)
echo $PATH 列印環境變數
設置普通用戶具有root許可權
修改 /etc/sudoers 文件,找到下面一行(91行),在root下面添加一行,如下 所示:
或者配置成採用sudo命令時,不需要輸入密碼
修改完畢,現在可以用hxr 帳號登錄,然後用命令 sudo ,即可獲得root許可權進行操作。
以azkaban用戶執行引號中的命令
gpasswd -d [username] [groupname] 將用戶從組中刪除
gpasswd -a [username] [groupname] 將用戶加入到組中
用戶組的管理涉及用戶組的添加、刪除和修改。組的增加、刪除和修改實際上就是對 /etc/group文件的更新。
0首位表示類型 - 代表文件 d 代表目錄 l 鏈接文檔(link file)
三種特殊許可權suid、sgid、sticky
例子:
變更文件許可權方式一
例:chmod u-x,o+x houge.txt
變更文件許可權方式二
例:chmod -R 777 /mnt/ 修改整個文件夾的文件許可權
在linux中創建文件或者目錄會有一個默認許可權的,這個默認許可權是由umask決定的(默認為0022)。umask設置的是許可權的「補碼」,而我們常用chmod設置的是文件許可權碼。一般在/etc/profile 、~/.bashprofile 或者 ~/.profile中設置umask值。
umask計算
如root用戶的默認umask為0022(第一個0 代表特殊許可權位,這里先不考慮),創建的文件默認許可權是644(即默認666掩上umask的022),創建的目錄是755(即默認777掩上umask的022)。
對於root用戶的umask=022這個來說,777許可權二進制碼就是(111)(111)(111),022許可權二進制碼為(000)(010)(010)。
上面就是一個umask的正常計算過程,但是這樣實在是太麻煩了。我們使用如下的簡單的方法快速計算。
上面的這個方法計算是非常方便的, 為何得到奇數要+1呢?
文件的最大許可權是666,都是偶數,你得到奇數,說明你的umask有奇數啊,讀為4,寫為2,都是偶數,說明你有執行許可權的。
就按照上面的umask=023為例,在計算其他用戶許可權的時候6-3=3 ,6是讀寫,3是寫和執行,其實應該是讀寫許可權減去讀許可權的得到寫許可權的,相當於我們多減去了一個執行許可權。所以結果加1。
umask修改
如果想單獨修改某個文件夾的新建文件的許可權,可以使用setfacl命令。
例:遞歸改變文件所有者和所有組 chown -R hxr:hxr /mnt
例:
⑥ linux terminal 怎樣分屏
linux 終端分屏命令vsp
比如:某文件夾下有文件:vector.cc, substr.cc1.使用vim命令打開任意一個文件:vim vector.cc打開第一個文件。如下圖所示:2.按:Esc鍵 + 「:」,並輸入:vsp substr.cc 。
Linux下多窗口分屏式終端
Linux下多窗口分屏式終端--Terminatorterminator是個很好的終端程序,在Ubuntu linux下安裝如下: sudo apt-get install terminator 可在同一屏打開多個窗口:
⑦ Linux文件管理基礎及編輯工具用法
文件名稱區分大小寫
文件名最長255個字元
包括路徑在內文件名稱最長4095個位元組
藍色-->目錄:綠色-->可執行文件:紅色-->壓縮文件:淺藍色-->鏈接文件:灰色-->其它文件
除了斜杠和NUL,所有字元都有效,使用特殊字元的目錄名和文件不推薦使用,有些字元需要加引號來引用
標准Linux文件系統,文件名稱大小寫敏感
/boot: 內核引導文件存放目錄
/bin: 所有用戶使用的基本命令;不能關聯至獨立分區,系統啟動會用到的程序
/sbin: 管理類的基本命令;不能關聯至獨立分區,系統啟動會用到的程序
/lib: 系統啟動時程序依賴的基本共享庫文件及內核模塊文件(/lib/moles)
/etc: 配置文件目錄
/home: 普通用戶家目錄
/root: 管理員家目錄
/media: 攜帶型移動設備掛載點
/mnt: 臨時文件系統掛載點
/dev: 設備文件及特殊文件存儲位置
/opt: 第三方應用程序安裝位置,同/usr/local
/srv: 系統服務用到的數據
/tmp: 存儲臨時文件
/usr: 系統軟體資源存放目錄
/var: 系統運行時的可變動數據:/var/tmp:系統兩次重啟產生的臨時數據
/proc: 內核與進程信息相關的虛擬文件系統
/sys: 硬體設備相關信息的虛擬文件系統
/selinux: selinux安全策略
meta data:
文件類型,許可權,UID,GID
鏈接數(指向這個文件名路徑名稱個數)
該文件的大小和不同的時間戳
指向磁碟上文件的數據塊指針
有關文件的其他數據
文件類型:
-: 普通文件
d: 目錄文件
b: 塊設備
c: 字元設備
l: 符號鏈接文件
p: 管道文件pipe
s: 套接字文件socket
查看方式:
使用ll,ls -l: 看第一個字元,鏈接數,
ls -lih:
inode編號,文件類型,文件許可權,硬鏈接個數,文件屬主,文件屬組,文件大小,文件修改時間
file命令,type命令,
stat命令: 文件詳細信息,修改時間mtime,改變時間ctime,訪問時間atime
-sm filename: 查看文件大小
文件擴展名:
源碼.tar、.tar.gz、.tgz、.zip、.tar.bz表示壓縮文件,創建命令一般為tar,gzip,zip等。
.sh表示shell腳本文件,通過shell語言開發的程序。
.pl表示perl語言文件,通過perl語言開發的程序。
.py表示python語言文件,通過python語言開發的程序。
.html、.htm、.php、.jsp、.do表示網頁語言的文件。
.conf表示系統服務的配置文件。
.rpm表示rpm安裝包文件。
touch: 創建空文件和刷新時間戳
touch [OPTION]... FILE...
-a: 改變atime和ctime
-m: 改變mtime和ctime
-t: [[CC[YY[MMDDhhmm[.ss]]]]]
指定atime和mtime的時間戳
-c: 如果文件不存在,則不予創建
硬鏈接:
同一個文件多個名字
不支持跨分區,不支持目錄
平級關系,刪除原始文件不影響打開
iNode相同,鏈接數增長
創建語法,原始文件路徑,相對於工作目錄的路徑
文件類型,普通文件
創建方式ln filename [linkname]
軟鏈接:
與原始文件,不同的文件
支持跨分區,支持目錄
依賴關系,刪除原始文件即失效
iNode不同,鏈接數不會增長
創建語法,原始文件路徑,相對於軟鏈接的路徑
文件類型顯示l
創建方式ln -s filename [linkname]
實例說明:
cd ../data
mkdir -pv d1/d2
touch linux.txt
ln linux.txt d1/d2/linux.hlink
ln -s ../../linux.txt d1/d2/linux.slink
ln -s ../d2 d1/d2/d2.slink
tree
執行如圖:
stat: 查看文件狀態
示例: stat /etc/issue
stat/etc/motd
touch: 創建空文件和刷新時間
touch [OPTION]... FILE...
-a: 僅改變atime和ctime
-m: 僅改變mtime和ctime
-t: 指定atime和mtime時間戳
-c: 如果文件不存在,則不予創建
示例: touch /data/f1
cp: 復制文件和目錄
cp [OPTION]... SOURCE... DIRECTORY
-i: 覆蓋前提示
-n: 不覆蓋
-r,-R: 遞歸復制目錄及內部的所有內容
-a: 歸檔,相當於-dR --preserv=all
-p: 等同--preserv=mode,ownership,timestamp
-u: 只復制源比目標更新或目標不存在
-b: 目標存在,覆蓋前先備份filename~
--backup=numbered: 目標存在,覆蓋前先備份並加數字後綴
cp SRC DEST
SRC是文件:
如果目標不存在: 新建DEST,並將SRC中內容填充至DEST中
如果目標存在:
如果DEST是文件: 將SRC中內容覆蓋至DEST中
如果DEST是目錄: 在DEST下新建與原文件同名的文件,並將SRC中內容填充至新文件中
SRC是多個文件:
DEST必須存在,且為目錄
SRC是目錄: 使用選項-r
如果DEST不存在: 則創建指定目錄,復制SRC目錄中所有文件至DEST中
如果DEST存在:
如果DEST是文件: 報錯
如果DEST是目錄:在DEST下新建與原目錄同名的目錄,並將SRC中內容復制至新目錄中
示例: mkdir -p /data/backup
cp -ab /etc/issue /etc/passwd /etc/group /data/backup
mv: 移動和重命名文件
mv [OPTION]... SOURCE... DIRECTORY
-f: 強制
-b: 目標存在,覆蓋前先備份
示例: mv /etc/issue /data
mv /etc/issue /data/issue.bak
rm: 刪除
rm [OPTION]... FILE...
-f: 強制刪除
-r: 遞歸
--no-preserve-root 刪除/
示例: rm -rf /data/d1/d2
tree: 顯示目錄樹
-d:只顯示目錄
-L level: 指定顯示的層級數目
-P pattern: 只顯示由指定pattern匹配到的路徑
示例: tree /data
ls:列出指定目錄下的內容
ls [OPTION]... [FILE]...
-a:顯示所有文件包括隱藏文件
-A:顯示除.和..之外的所有文件
-l,--long:顯示文件的詳細屬性信息
-h:對文件大小進行單位換算,可能影響精度
-d:查看目錄本身而非其內部的文件
-r:逆序顯示文件
-R:遞歸顯示文件
示例:ls -lah / 詳細顯示/目錄下的所有文件(包括隱藏文件)
mkdir:創建目錄
mkdir [OPTION]... DIRECTORY...
-p:自動按需創建父目錄
-m:創建目錄時給定許可權
示例: mkdir -p /data/test/A/B
cat:正向查看文本內容
cat [OPTION]... [FILE]...
-n:給顯示的文本行編號
-E:顯示行結束符號$
示例: cat -n /etc/fstab
tail:顯示文本內容,默認顯示後10行
tail [OPTION]... [FILE]...
-n #:顯示文本後#行內容
-f:查看文件尾部內容結束後不退出,跟隨顯示新增的行
示例: tail -8 /etc/passwd
head:顯示文本內容,默認顯示頭10行
head [OPTION]... [FILE]...
-n #:顯示文本頭#行內容
示例: head -5 /etc/passwd
less:分屏顯示文本內容,不主動退出
less [options] file [...]
Space鍵:顯示文本下一屏內容
Enter鍵:只顯示文本下一行內容
b鍵:顯示文本上一屏內容
q鍵:退出
cp /etc/profile /tmp
vim /tmp/profile
:%s/^\s\+//
如圖:
命令模式下輸入:
:set tabstop=4
或寫入用戶配置文件~/.vimrc
⑧ Linux 高級命令
echo "HelloWorld"
向控制台輸出HelloWorld信息
Linux允許將命令執行結果重定向到一個文件,本應顯示在終端上的內容保存到指定文件中。
ls > test.txt
test.txt 如果不存在,則創建,存在則覆蓋其內容
注意: > 輸出重定向會覆蓋原來的內容, >> 輸出重定向則會追加到文件的尾部
cat xxx.py 可以用來快速查看某個文件內容,輸出到控制台
cat test.txt >> haha.txt 將test.txt的內容追加到haha.txt中
cat 1.txt 2.txt > 1_2.txt 將1.txt 2.txt內容合並到1_2.txt中
分屏顯示:more
查看內容時,在信息過長無法在一屏上顯示時,會出現快速滾屏,使得用戶無法看清文件的內容,此時可以使用more命令,從頭開始,每次只顯示一頁,空格鍵顯示下一頁,b鍵上一頁,按下q鍵退出顯示,按下h鍵可以獲取幫助。
more xxx.py
管道:一個命令的輸出可以通過管道做為另一個命令的輸入。
管道我們可以理解現實生活中的管子,管子的一頭塞東西進去,另一頭取出來,這里「 | 」的左右分為兩端,左端塞東西(寫),右端取東西(讀)。即管道左邊的輸出結果作為管道右側的參數
cat info.txt | more
tree | more
::: warning
more管道符讀到的內容只能前進,不能後退;只能使用空格或回車向下看,不能使用b回看
:::
Linux鏈接文件類似於Windows下的快捷方式。
鏈接文件分為軟鏈接和硬鏈接。
ln -s 源文件 鏈接文件
ln 源文件 鏈接文件
沒有-s 選項代表建立一個硬鏈接文件,兩個文件佔用相同大小的硬碟空間,即使刪除了源文件,鏈接文件還是存在,一般用於保護系統重要的文件。所以-s選項是更常見的形式。
::: warning 注意
如果軟鏈接文件和源文件不在同一個目錄,源文件要使用絕對路徑,不能使用相對路徑。
:::
find命令功能非常強大,通常用來在特定的目錄下搜索符合條件的文件,也可以用來搜索特定用戶屬主的文件。
常用用法:
Linux系統中grep命令是一種強大的文本搜索工具,grep允許對文本文件進行模式查找。如果找到匹配模式, grep列印包含模式的所有行。
grep一般格式為:
在grep命令中輸入字元串參數時,最好用引號或雙引號括起來。
例如:
從某個文件搜索
搜索當前目錄所有文件
常用選項說明:**
grep搜索內容串可以是正則表達式。
正則表達式是對字元串操作的一種邏輯公式,就是用事先定義好的一些特定字元、及這些特定字元的組合,組成一個「規則字元串」,這個「規則字元串」用來表達對字元串的一種過濾邏輯。
grep常用正則表達式:
計算機中的數據經常需要備份,tar是Unix/Linux中最常用的備份工具,此命令可以把一系列文件歸檔到一個大文件中,也可以把檔案文件解開以恢復數據。
tar使用格式:
tar [參數] 打包文件名 文件
tar命令很特殊,其參數前面可以使用「-」,也可以不使用。
常用參數:
注意:除了f需要放在參數的最後,其它參數的順序任意。
常用命令:
tar與gzip命令結合使用實現文件打包、壓縮。 tar只負責打包文件,但不壓縮,用gzip壓縮tar打包後的文件,其擴展名一般用xxxx.tar.gz。也會見到縮寫的.tgz這種擴展名。
gzip使用格式如下:
常用選項:
tar這個命令並沒有壓縮的功能,它只是一個打包的命令,但是在tar命令中增加一個選項 -z 可以調用gzip實現壓縮的功能,最終實行一個先打包後壓縮的過程。
-z :指定壓縮包的格式為 xxx.tar.gz
tar壓縮: tar zcvf xxx.tar.gz 文件1 文件2 ...
tar解壓: tar zxvf xxx.tar.gz
解壓到指定目錄: tar zxvf xxx.tar.gz -C target_dir/ (大寫字母「C」)
tar與bzip2命令結合使用實現文件打包、壓縮(用法和gzip一樣)。
tar只負責打包文件,但不壓縮,用bzip2壓縮tar打包後的文件,其擴展名一般用xxxx.tar.bz2。
在tar命令中增加一個選項(-j)可以調用bzip2實現了一個壓縮的功能,實行一個先打包後壓縮的過程。
壓縮用法 : tar -jcvf 壓縮包包名 文件1 文件2... (例: tar jcvf bak.tar.bz2 *.c )
解壓用法 : tar -jxvf 壓縮包包名 (例: tar jxvf bak.tar.bz2 )
通過zip壓縮文件的目標文件不需要指定擴展名,默認擴展名為zip。
壓縮文件 :zip [-r] 目標文件(沒有擴展名) 源文件
解壓文件 :unzip -d 解壓後目錄文件 壓縮文件
使用tree命令可以查看指定目錄的樹狀結構
有時我們想知道被執行的命令在哪個目錄,以方便切換或更新不同版本,如Python。可以使用 which 命令
文件內容為:123 aaa bbb哈
執行 echo "123 aaa bbb哈" > xxx.txt
wc -l xxx.txt 文件內容的行數1
wc -w xxx.txt 文件內容的單詞數3
wc -c xxx.txt 文件內容的位元組數15
wc xxx.txt 文件內容的行數,單詞數,位元組數1 3 15
wc -m xxx.txt 文件的字元數13
sed 是一種流編輯器,它是文本處理中非常中的工具,能夠完美的配合正則表達式使用。一般用於自動編輯轉換程序,動態調整文件內容。
sed 's/good/GOODS/' file 替換每行第一個指定字元串(輸出所有行)
sed -n 's/good/GOODS/p' file 替換每行第一個指定字元串(只輸出替換的行)
sed -i 's/good/GOODS/g' file 替換所有指定字元串,並應用到文件
sed ƈd' file 刪除第二行
sed '/^test/d' 刪除good開頭的行
sed -n Ɖp' file 列印第3行
顯示當前時間 # Tue May 7 14:35:31 DST 2019
當前日期和時間 # 20190507-14:34:25
使用history命令可以查看之前輸過的命令及其id,
使用 !id 的形式,可以快速執行指定歷史命令
Linux命令大全: http://man.linuxde.net/
菜鳥Linux命令: https://www.runoob.com/linux/linux-command-manual.html
⑨ linux分屏查看zip命令的幫助信息
可以使用more命令。
more命令能夠對文抄件內容或者查詢結果進行分屏顯示。more命令可以單獨使用,也可以和配合管道符使用。例如使用cat命令查看/etc/passwd文件時,只能看到最後的內容,為了能夠看到文件所有內容,可以執行命令襲:# more /etc/passwd
或者是配合管道符命令:# cat /etc/passwd | more
(9)linux分屏擴展閱讀:
Linux中除了使用more命令進行分屏,還可以使用less命令。More命令的缺點是不能向上滾動,如果想向上翻屏,需要使用less命令,less命令的用法與more命令完全相同,唯一不同點是less命令能夠向上翻屏。
可以通過上下箭頭進行上下一行行滾動,也可以通過page up/page down命令向上/向下進行一屏一屏滾動。常用: ls | less
這樣就可以分屏顯示了,並可以用PgUp和PgDn來上下翻頁。
⑩ Linux中如何分屏顯示的命令是什麼
linux中如果想要把某個命令或者程序執行的輸出結果分屏顯示,可以使用more工具來實現。是幾乎所有linux發行版都自帶的一個分屏顯示的工具。
1:如果只是輸出一個文件的內容,可以直接用more來輸出,例如
more
a.log
2:如果希望分屏顯示某個程序的輸出內容,因為more只能直接操作文件,所以此時必須通過管道來實現分屏顯示,例如
./output
|
more
3:more命令的相關參數
+n
從笫n行開始顯示
-n
定義屏幕大小為n行
+/pattern
在每個檔案顯示前搜尋該字串(pattern),然後從該字串前兩行之後開始顯示
-c
從頂部清屏,然後顯示
-d
提示「press
space
to
continue,』q』
to
quit(按空格鍵繼續,按q鍵退出)」,禁用響鈴功能
-l
忽略ctrl+l(換頁)字元
-p
通過清除窗口而不是滾屏來對文件進行換頁,與-c選項相似
-s
把連續的多個空行顯示為一行
-u
把文件內容中的下畫線去掉
4:more命令的相關操作
enter
向下n行,需要定義。默認為1行
ctrl+f
向下滾動一屏
空格鍵
向下滾動一屏
ctrl+b
返回上一屏
=
輸出當前行的行號
:f
輸出文件名和當前行的行號
v
調用vi編輯器
!命令
調用shell,並執行命令
q
退出more