linuxgg
Ⅰ linux許可權管理基本知識
Linux許可權管理基本知識大全
Linux系統有什麼基本許可權,許可權管理命令是什麼?下面跟我一起來看看吧!
一、基本許可權
linux許可權機制採用UGO模式。其中 u(user)表示所屬用戶、g(group)表示所屬組、o(other)表示除了所屬用戶、所屬組之外的情況。
u、g、o 都有讀(read)、寫(write)、執行(excute) 三個許可權,所以UGO模式是三類九種基本許可權。
用命令 ls -l 可列出文件的許可權,第一列輸出明確了後面的輸出(後面一列代表 ugo許可權)。第一個字母對應的關系:
“-” 普通文件
“d” 目錄
”l“ 符號鏈接
”c“ 字元設備
"b" 塊設備
"s" 套接字
"p" 管道
修改文件或目錄的所屬用戶: chown 文件名 | 目錄名 用戶
-R 該參數以遞歸的方式修改目錄下所有文件的所屬用戶,參數可以敲 chown --help 查看。
修改文件或目錄的所屬組: chgrp 文件名 | 目錄名 組名
-R 該參數以遞歸的方式修改目錄下的所有文件的'所屬組。
命令chmod 用來修改文件或目錄的許可權: chmod -參數 模式 文件 | 目錄
例子: 修改目錄 log下所有文件的許可權為700
chmod -R 700 log
註:700的來歷是 u g o
rwx rwx rwx
111 000 000
關於 chmod 命令的許可權模式除了數字表示,還可以是 u、g、o 、a 加 +、- 來表示。格式如下:u、g、o分別代表用戶、屬組和其他,a 就是
all ,可以代替ugo。 +、- 代表增加或刪除對應的許可權,r、w、x 代表三種許可權,分別是讀、寫、執行。
例子:對於目錄 log下的所有文件(已有許可權是700)增加所屬組(g)的讀(r)、執行(x)許可權。
chmod -R g+rx log
類似的命令可能還有很多,這里只是舉幾個最基本且常用的例子。很多命令用到時,再去查也可以。還可參考《鳥哥的Linux私房菜》。
二、特殊許可權
Linux的3個特殊的許可權,分別是setuid、setgid和stick bit。
setuid許可權(S):只有用戶可擁有,出現在執行許可權(x)的位置。
setuid許可權允許用戶以其擁有者的許可權來執行可執行文件,即使這個可執行文件是由其他用戶運行的。
setgid許可權(S):對應於用戶組,出現在執行許可權(x)的位置。
setgid許可權允許以同該目錄擁有者所在組相同的有效組許可權來允許可執行文件。但是這個組和實際發起命令的用戶組不一定相同。
stick bit (t /T):又名粘滯位,只有目錄才有的許可權,出現在其他用戶許可權(o)中的執行位置(x)。當一個目錄設置了粘滯位,只有創建了該目錄的用戶才能刪除目錄中的文件,但是其他用戶組和其他用戶也有寫許可權。使用 t 或 T來表示。若沒有設置執行許可權,但是設置了粘滯位,使用 t;若同時設置了執行許可權和粘滯位使用 T。典型的粘滯位使用是 /tmp 目錄,粘滯位屬於一種防寫。
設置特殊許可權:
setuid: chmod u+s filename
setgid: chmod g+s directoryname
stick bit: chmod o+t directoryname
用數字表示特殊許可權,是在基本許可權之上的。濁嘴笨腮說不清楚,看例子:
例子:將上面例子中的log日誌目錄(已有許可權 700)許可權設置為755。特殊許可權是類似 /tmp目錄的 stick bit有效。
特殊許可權 基本許可權
setuid setgid stick bit user group other
0 0 1 rwx rwx rwx
111 000 000
所以,設置特殊許可權(stick bit)的命令應該是:chmod 1755 log
設置特殊許可權後,ls -dl 查看該目錄:drwxr-xr-t 2 gg gg 4096 5月 11 19:05 log ( 注意 other 的 x 位是代表特殊許可權的字母 t )
取消該特殊許可權的命令:chmod 755 log 。如此 stick bit的許可權就沒有了。
再次 ls -dl 查看該目錄: drwxr-xr-x 2 gg gg 4096 5月 11 19:15 log ( 注意最後一位已經變為代表普通許可權的字母x )
需要注意的是,最前面一位 ”1“ 就是特殊許可權位。其他兩個特殊許可權的設置也類似。setuid使用不是無限制的。出於安全目的,只能應用在Linux ELF格式二進制文件上,而不能用於腳本文件。
三、高級許可權
ACL(Access Control List),訪問控制列表是Linux下的的高級許可權機制,可實現對文件、目錄的靈活許可權控制。ACL 允許針對不同用戶、
不同組對同一個目標文件、目錄進行許可權設置,而不受UGO限制。
在一個文件系統上使用ACL需要在掛載文件系統的時候打開ACL功能。而根分區(ROOT)默認掛載的時候支持ACL。
命令:mount -o acl /掛載路徑
例子:mount -o acl /dev/sdb1 /mnt
查看一個文件的ACL設置的命令: getfacl file
(針對一個用戶)為一個文件設置指定用戶的許可權的命令: setfacl -m u:username:rwx filename
(針對一個組)為一個文件設置指定組的許可權的命令: setfacl -m g:groupname:r-x filename
刪除一個ACL設置的命令: setfacl -x u:username filename
;Ⅱ Linux的三種模式
1.編輯模式
編輯模式中,每一個按鍵都有其他的功能
2.輸入模式
每一個按鍵按下什麼,就像文本中數據輸入什麼
3.末行(命令行)模式
我們可以直接在VI中輸入特定的命令
1.編輯模式-->輸入模式
i在當前位置插入數據
a追加數據
o在當前行後面開啟一個新的輸入行
I 行首
A 行尾
O 上一行
2.輸入模式-->編輯模式
按下ESC
2.編輯模式-->末行模式
:
3.末行模式-->編輯模式
按下ESC
G最後一行
gg 跳轉到第一行
數字gg 跳轉到第數字行
w 下個單詞
數字w
dw 刪除一個單詞
3dw 刪除三個單詞
dd 刪除一行
3dd 刪除三行
u回退到前面的操作
.回退u執行的操作
yw 復制一個單詞
3yw 復制三個單詞
yy 復制一行
3yy復制三行
p粘貼
6p 粘貼6次
x 剪切
3x 剪切三個字元
r 替換,然後輸入一個字元替換
3r 替換三個
hjkl 方向鍵
ZZ 保存並退出
ctrl+s 鎖屏 ctrl+q 解鎖
沒啥東西,按什麼是什麼。
set nu 設置行號
set nonu 取消行號
w 保存
q 退出
wq 保存並退出
q!強制退出,但是不保存
如果上次異常退出會保留同名隱藏文件,每次啟動會給與提示
如果確定當前文件沒問題,請刪除隱藏文件
/pattern
搜索指定的字元串
/usr n向下查找 N逆向查找
s/p1/p2/g
替換字元串
g 替換當前行所有 否則只替換當前行第一個
s/abc/lucky/g
查找指定行
3,8s/abc/lucky/g
替換全文
g/abc/s//lucky/g
Ⅲ 面試套路——如何應對Linux問題
面試中Linux問題是基礎知識部分中必然會問到的一塊,對於不常使用或沒有接觸過Linux的同學,如何巧妙應對呢?以下是我的經驗。
面試官 :Linux了解嗎?
我:還可以。
面試官:查看******的指令是什麼?
我:不清楚。。。
面試官:查看******的指令呢?
我:不記得了。。。
(GG)
後來又一次跟學長吃飯,學長表示其實對於面試官Linux是加分項,會最好,不會也沒什麼。重要的是展示你了解多少,讓面試官覺得你有一定程度的了解的,而不是一定要把面試官問的問題答上來(想要做到這一點要花的功夫可不小)。所以在之後的面試中,我改變了戰術。
面試官:Linux了解嗎?
我:Linux我只有一些使用經驗,沒有開發經驗。去年在分布式的項目中,我需要在centos環境下部署分布式組件,常用一些基礎的命令,比如:
cd 到一個路徑下;
ll 查看當前路徑下的內容;
chown 修改許可權;
ps -aux | grep 查看進程信息;
cat 、 vim 等查看、修改文件內容。我常用的一些 vim 快捷鍵:
dd 刪除當前行;
gg 定位到文件頭部;
1$ 、 2$ 、 3$ 定位到當前行、第二行、第三行尾部。
有的面試官:(漏出滿意的笑容)不錯。(改問其他部分的問題)
還有的面試官: shell 命令熟悉嗎?
我:接觸過,有幾次需要編寫簡單的shell腳本進行自動化測試,當時用的是 base shell ,但是只用過一兩次,具體怎麼寫想不起來了,如果要用的話需要查一下 。
面試官:哦~能查出來是吧,可以。
總之,對於來不及准備情況,在被問到時主動把自己會的噼里啪啦說出來,可以避免被動提問然後答不上來的尷尬情況。而且會讓面試官覺得你掌握得不錯。我網路三面都被問到Linux,我都用了這一套回答過關,旁聽的同學都聽樂了。
當然這只是一個應對面試的小套路,真正學習和掌握Linux對於工作中是不可避免的一步。投機取巧只能應付一時,不要本末倒置哦。
Ⅳ linux 命令打開文件後shift+g是到底部,那返回頂部是什麼命令
vi模式下,gg返回頂部,shift+g到底部。
Ⅳ Linux安裝ggstatsplot包的曲折歷程
ggstatsplot( https://indrajeetpatil.github.io/ggstatsplot/ )是ggplot2( https://github.com/tidyverse/ggplot2 )用於創建圖形的軟體包的擴展,該圖形的詳細信息來自信息豐富的圖表本身所包含的統計測試。在典型的探索性數據分析工作流程中,數據可視化和統計建模是兩個不同的階段:可視化為建模提供信息,而建模又可以建議使用不同的可視化方法,依此類推。中心思想 ggstatsplot 很簡單:將這兩個階段以具有統計細節的圖形形式組合為一個階段,這使得數據探索更加簡單快捷
然而在Linux上安裝是何其的艱難,缺少的依賴太多太多
1.通過以下命令安裝依賴,輕輕鬆鬆搞定統計分析
Ⅵ 《Linux下部分常用指令筆記》
一、創建linux維護用戶
登錄root用戶
創建新用戶
useradd 新用戶名
設置用戶密碼
passwd 新用戶密碼
二、安裝jdk和配置環境變數
建議在root用戶下直接安裝jdk,並直接配置環境變數,同時給非root用戶設置讀和執行許可權
解壓包
tar xvf jdk包名.tar
配置全局變數
編輯/etc/profile文件
vi /etc/profile
按I鍵,切換成編輯模式。
在文件未加入一下配置
export java_HOME=jdk的解壓文件目錄
export JRE_HOME=jdk的解壓文件目錄/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${ JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${ JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
保存並退出
Esc
:wq
重載配置文件使其生效
source /etc/profile
檢查是否安裝成功
Javac
Java version
許可權修改
讀4寫2執行1,順序所有者、組成員、其他用戶
Chomd 755 jdk的解壓文件目錄
三、安裝tomcat
安裝tomcat和放入war包使用非root的維護用戶
如果使用root安裝的話記得設置許可權。( chomd -r 外層文件目錄 )
su - 用戶名
1、解壓包
tar xvf tomcat包名.tar
2、將war包放入tomcat/webapps目錄下
3、Tomcat啟動服務和停止服務
查看進程
ps -ef | grep java
啟動應用
Tomcat bin目錄下.startup.sh
停止應用
建議使用
Kill -9 進程號
註:解壓出應用文件後,注意配置信息的修改
四、IBM MQ部署 (7.5之後的版本)
(以下是使用9.0版本的正確部署命令)
一、 卸載舊版本IBM MQ (可選)
<因為部署環境沒有安裝過mq,卸載這部分命令我沒有親自測試過>
設置環境
以用戶身份登錄到組mqm,找到mq的安裝位置 /opt/mqm
source ./setmqenv -s
查看隊列管理器的狀態
dspmq -o installation
停止與要卸載的安裝關聯的所有正在運行的隊列管理器
endmqm SXRECV
停止與隊列管理器關聯的所有偵聽器。
endmqlsr -m SXRECV
查看系統上當前安裝的軟體包(組件)
sudo rpm -qa | grep MQSeries
列出軟體包並一次性卸載
sudo rpm -qa | grep MQSeries | xargs rpm -ev
再將對應的用戶及安裝目錄給刪除
rm -rf /opt/mqm
userdel -r mqm
檢查MQ license
license文件在安裝目錄中 /opt/mqm/lib 可以找到
amqtcert.lic - is a trial license
amqbcert.lic - is a beta license
amqpcert.lic - is the proction license
——————————————————————————————————————
二、安裝新版本ibm mq
解壓,解壓文件都在MQServer中
tar –xzvf IBM_MQ_9.1.5_LINUX_X86-64.tar.gz
進入MQServer文件夾中:
cd MQServer/
運行MQ許可證程序
./mqlicense.sh
安裝WebSphere MQ for Linux伺服器(Runtime、SDK 和 Server 軟體包):
rpm -U MQSeriesRuntime-9.1.5-0.x86_64.rpm
rpm -U MQSeriesSDK-9.1.5-0.x86_64.rpm
rpm -U MQSeriesServer-9.1.5-0.x86_64.rpm
安裝WebSphere MQ for Linux客戶機:
rpm -U MQSeriesClient-9.0.0-0.x86_64.rpm
安裝WebSphere MQ樣本程序:
rpm -U MQSeriesSamples-9.0.0-0.x86_64.rpm
創建組和用戶
安裝過程創建了一個名為mqm的用戶和一個同樣名為 mqm 的組。設置一個密碼來解鎖。
passwd mqm
——————————————————————————————————————
三、 配置
(這部分隊列管理器、通道、隊列等根據實際情況自行配置)
切換用戶:
su mqm
創建隊列管理器
使用crtmqm命令來創建一個名為 SXRECV
的隊列管理器。我們把它作為預設隊列,並且將不在創建時指定死信隊列。然後使用strmqm命令啟動隊列管理器。
crtmqm -q SXRECV
strmqm SXRECV
——————
如果執行crtmqm命令時提示
-bash-3.2$ crtmqm
-bash: crtmqm: command not found
find / -name crtmqm
則需要配置mqm用戶的環境變數,編輯如下文件,並添加下面的內容,如下:
第一種方法:相對第二種較安全僅對mqm用戶有效
方法一:
(1) -bash-3.2$ vi /var/mqm/.bash_profile --有可能會在文件夾下看不到這個文件,通過編輯即可看到
PATH=$PATH:/opt/mqm/samp/bin:/opt/mqm/bin:bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
(2)執行「.」命令,使這個文件生效
-bash-3.2$ source .bash_profile
(3)再次嘗試實行crtmqm或是dspmqm命令,即可發現已經生效。
方法二:
( 1)
su root
[if !supportLists](2)[endif]
vim /etc/profile
[if !supportLists](3)[endif] 在最後面加上:
PATH=$PATH:/opt/mqm/samp/bin:/opt/mqm/bin:bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/bin
( 4)關閉遠程終端重新打開,無需重啟伺服器
——————
運行隊列管理器
runmqsc SXRECV
創建通道和隊列
DEFINE QLOCAL (XYDATA) REPLACE USAGE (NORMAL) DEFPSIST (YES) MAXDEPTH (300000) DESCR('興業銀行')
DEFINE QLOCAL (XYTRANS) REPLACE USAGE (XMITQ) DEFPSIST (YES) MAXDEPTH (300000) DESCR('興業銀行')
DEFINE QREMOTE (XYACK) REPLACE DEFPSIST (YES) RQMNAME (SXSEND) RNAME (XYACK) XMITQ (XYTRANS) DESCR('XXXX')
DEFINE CHANNEL (XYDATA) CHLTYPE (RCVR) TRPTYPE (TCP) REPLACE DESCR('XXXX')
DEFINE CHANNEL (XYACK) CHLTYPE (SDR) CONNAME ('166.1.1.8(2214)') XMITQ (XYTRANS) TRPTYPE (TCP) DISCINT (0) CONVERT (NO) SHORTRTY (30) SHORTTMR (10) LONGRTY (999999999) LONGTMR (20) REPLACE DESCR('XXXX')
DEFINE CHANNEL (SVRCONN) CHLTYPE (SVRCONN) MCAUSER('mqm')
創建監聽
DEFINE LISTENER (RECLISTENER) TRPTYPE (TCP) CONTROL(QMGR) PORT (2214)
啟動監聽
start LISTENER(RECLISTENER)
啟動通道
start channel(SVRCONN)
start channel(XYDATA)
start channel(XYACK)
———————————————————————————————————————————————————
四、2035錯誤碼 說明
如果程序連接mq報錯2035,則需要對許可權認證做設置,則進行以此操作
1、
ALTER QMGR CHLAUTH(DISABLED)
2、
ALTER CHL(通道名) CHLTYPE(SVRCONN) MCAUSER('mqm')
3、
ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) CHCKCLNT(OPTIONAL)
或者直接將連接認證選項置為空,將其完全關閉,指令如下:
ALTER QMGR CONNAUTH('')
在執行完上述兩條命令中的任一條後,都需要刷新連接認證的緩存,指令如下:
REFRESH SECURITY TYPE(CONNAUTH)
五、mq操作命令
一、MQ的啟動與停止
1、MQ的啟動
strmqm QMgrName
如果啟動默認隊列管理器,strmqm後可以忽略隊列管理器名稱。
2、MQ的關閉
endmqm -i QMgrName
停止mq
二、MQ運行狀態查看與常用操作
1、 查看隊列管理器運行狀態
su mqm
執行如下命令檢查隊列管理器運行狀態:dspmq顯示結果中QMNAME表示MQ隊列管理器的名稱,STATUS表示當前運行狀態。運行狀態有如下幾種:Starting正在啟動Running正在運行Ending正在停止Ended normally已經正常終止Ended immediately已經立即終止Ended preemtively已經強制終止Ended unexpectively異常終止
注意:停止MQ後必須使用dspmq命令進行狀態檢查
2、查看通道運行狀態與啟停通道
runmqsc
dis chl(*);查看所有通道定義
dis chs(*);查看所有通道狀態,如果沒有查詢到通道狀態,或報錯AMQ8420: Channel Status not found,請啟動通道
dis chs(ChannelName); 查看通道ChannelName的狀態
通道狀態有如下幾種:
STARTING正在啟動BINDING正在綁定INITIALIZING正在初始化RUNNING正常STOPPING 正在停止RETRYING重試PAUSED等待STOPPED已停止REQUESTING請求
start chl(ChannelName);啟動通道
stop chl(ChannelName);停止通道
* 重置通道
reset channel(ChannelName); 重置通道序號。當本地與其他MQ隊列管理器的通道無法正常啟動的情況,檢查日誌發現是通道序號不一致,此時就需要先停止發送方通道,清空隊列深度並在發送方和接收方進行通道計數的重置,重置後啟動通道即可恢復通訊。
注意:重置成功mq序列號一般相同或相差1
3、查看通道監聽狀態與啟停監聽
runmqsc
dis listner(*);查看通道監聽定義
dis lsstatu(listnerName);查看監聽狀態
start lstr(listnerName); 啟動監聽
stop lstr(listnerName); 停止監聽
4、查看隊列深度
runmqsc
dis q(*);查看所有各類隊列的屬性
dis qlocal(QName);查看所有本地隊列的屬性
隊列深度屬性為:CURDEPTH
查看隊列深度display ql('隊列名') curdepth
*清空隊列深度
清空隊列深度
clear ql(『隊列名』)
三、MQ發送和接收消息
su mqm
發送消息
amqsput 隊列名 隊列管理器
獲取消息
amqsget 隊列名 隊列管理器
可通過配合查看隊列深度命令,完成mq的聯調
六、其他維護中常用linux命令
1、測試埠連接
telnet ip port
2、查看已啟動的埠
netstat -an | grep 埠號
3、查看應用進程
ps -ef |grep java
4、修改許可權
chomd XXX(對應的許可權) 文件目錄
5、修改文件或目錄下所有文件所有者和組
Chomd -R 用戶名:組名 文件目錄
6、查看目錄內容
ls 或者ls -l (簡寫ll)
7、查看文件輸出
cat 目錄/文件名
或者
Vi 目錄/文件名 按i可進入編輯
按 G 到文檔末尾
按 gg 到文件首行
不保存退出
Esc :q!
保存退出
Esc :wq
vi 進入文檔文檔後查找關鍵字
Esc 進入命令行
/關鍵字
按n向下繼續查找
按N向上繼續查找
8、殺進程
Kill -9 進程號
9、復制
cp -r 源目錄 目標目錄
10、移動
mv -i 源文件或目錄 目標文件或目錄
11、刪除
rm -R 文件目錄
12、 切換工作目錄
cd 相對路徑或絕對路徑
~也表示為 home 目錄 的意思, . 則是表示目前所在的目錄, .. 則表示目前目錄位置的上一層目錄。
Ⅶ Linux知識點之Vim
進入vim編輯器
命令模式: 在這種模式下,可以通過輸入vi的命令對文件的內容就行處理(復制,刪除,移動等),也可以通過按游標來移動游標
編輯模式: 在這種模式下,可以在游標處輸入內容
命令項模式: 在命令模式下,用戶輸入冒號後,游標會跳到底行,然後輸入命令
命令模式: 輸入a A i I o O等命令 -> 編輯模式
編輯模式: 按ESC鍵 -> 命令模式
命令項模式: 輸入冒號 -> 命令項模式
i 在游標前插入
a 當前位置編輯
A 快速到達行尾並進入編輯模式
O 在當行上面插入一個空行並進入編輯模式
o 在當行下面插入一個空行並進入編輯模式
第一行 gg
最後一行 G
移動到100行 100gg
x: 刪除游標處的字元 X:刪除游標前的一個字元
d0: 刪除游標所在行的第一個字元到當前游標的前一個字元的一串字元
D: 刪除從當前游標所在字元到當前游標所在行的最後一個字元的一串字元
dd: 刪除游標所在行的所有字元/剪切當前行
dw: 刪除從游標處字元開始的第一個單詞
u: 撤銷命令,一步一步撤銷
跳轉末行 G
跳轉首行 gg 跳轉到第一行
跳轉行首 I (大寫字母)
跳轉行末 快速到達行尾並進入編輯模式
下一行插入 o(小寫字母o)
復制五行 5yy
刪除10行 10dd
:w 保存文件 不退出vi :wq 保存文件,退出vi :q! 不保存文件,退出vi
Ⅷ Linux之vi命令
vi profile
返回
:q 退出
:wq或者:x或者shift+zz 保存並退出
:q! 不保存並退出
:w 保存
:w! 強制保存
編輯到輸入模式:
i 在當前游標前面輸入
I 在當前游標所在行的行首,轉換為輸入模式
a 在當前游標後面輸入
A 在當前游標所在行的行尾,轉換為輸入模式
o 在當前游標所在行的下方,新建一行,並轉為輸入模式
O 在當前游標所在行的上方,新建一行,並轉為輸入模式
1、 移動游標
字元:方向鍵上下左右或者鍵盤kjhl(上下左右)
單詞:w移至下一個單詞的詞首;e跳至當前或下一個單詞的詞尾;b跳至當前或前一個單詞的詞首
行內:0絕對行首;^行首的第一個非空白字元;$絕對行尾
行間:G文章末尾;3G第3行;gg文章開頭
翻屏:ctrl f【往後翻】;Ctrl b【往前翻】
2、 刪除、替換單個字元
x刪除游標位置字元;3x刪除游標開始3個字元;r替換游標位置字元
dw刪除一個單詞;4dw刪除游標開始的4個單詞;dd刪除游標所在行;5dd刪除游標開始的5行
3、復制粘貼剪切
yw復制一個單詞,p在該行粘貼單詞;yy復制整行,p在該行下方粘貼整行
dd剪切整行,p再粘貼整行;dw剪切一個單詞,p再粘貼一個單詞
4、 撤銷&重做
u:撤銷;ctrl+r:重做撤銷的操作;.重復上一步的操作【假設先dd,再.,會再執行dd命令】
1、 set設置
set nu
set nonu
set readonly #設置只讀文件,不能修改,只在當前環境有效,退出文件,再次打開,這個只讀就無效了
set noreadonly #取消只讀
2、 /查找
/after查找文檔中的after【可以找到所有的after】,n向下翻,N向上翻
:/after查找文檔中的after所在行【可以找到所有的after】,n向下翻,N向上翻
3、!執行命令
比如:查找root目錄
:!ls /root/
4、 查找並替換
格式
【 :查找范圍s/查找的詞/要替換的詞/ 】
或者【:查找范圍s#查找的詞#要替換的詞# 】
或者【:查找范圍s%查找的詞%要替換的詞%】,
即分隔符可以是/、#、%
其中, 查找范圍 包括【.當前游標行】;【$末尾行】;【%全文】;【g一行內全部替換】;【i忽略大小寫】
比如 【 :.,$s/after/before/】 表示在當前游標行【.】到末尾【$】這個范圍內,將after替換為before, 但是如果一行有多個after的話,只會把第一個after替換掉 。
比如 【 :%s/after/before/】 表示在全文,將after替換為before,但是如果一行有多個after的話,只會把第一個after替換掉。
比如 【:%s/after/before/g】 ,表示在全文,將after替換為before,但是 如果一行有多個after的話,會把該行所有after替換掉,因為在命令裡面加了g 。
比如 【:%s/after/before/gi】 ,表示在全文,將after替換為before,且忽略大小寫並替換一行內所有after。
比如 【 :%d或者dG】 ,表示刪除全文
比如 【:1,$-4d】 ,表示刪除第一行到倒數第5行的數據
比如 【:1,4y】 ,表示復制1到4行,再按p可粘貼這4行
Ⅸ linux怎麼使用教程
一般模式常用操作
【h(或向左方向鍵)】 游標左移一個字元
【j(或向下方向鍵)】 游標下移一個字元
【k(或向上方向鍵)】 游標上移一個字元
【l(或向右方向鍵)】 游標右移一個字元
【[Ctrl] + f】 屏幕向下移動一頁(相當於Page Down鍵)
【[Ctrl] + b】 屏幕向上移動一頁(相當於Page Up鍵)
【[0]或[Home]】 游標移動到當前行的最前面
【[$]或[End]】 游標移動到當前行的末尾
【G】 游標移動到文件的最後一行(第一個字元處)
【nG】 n為數字(下同),移動到當前文件中第n行
【gg】 移動到文件的第一行,相當於"1G"
【n[Enter]】 游標向下移動n行
【延展閱讀】
(一)vi/vim是什麼?
Linux世界幾乎所有的配置文件都是以純文本形式存在的,而在所有的Linux發行版系統上都有vi編輯器,因此利用簡單的文字編輯軟體就能夠輕松地修改系統的各種配置了,非常方便。vi就是一種功能強大的文本編輯器,而vim則是高級版的vi,不但可以用不同顏色顯示文字內容,還能進行諸如shell腳本、C語言程序編輯等功能,可以作為程序編輯器。
(二)為什麼要學習vi/vim?
首先所有的Linux發行版系統上都會默認內置vi編輯器,而不一定帶有其他文本編輯器,非常通用;其次,很多軟體的編輯介面都會默認調用vi;第三,vi具有程序編輯的能力;最後,vi程序簡單,編輯速度相當快速。
(三)vim配置文件
vim的配置文件為/etc/vimrc,但一般不建議直接修改這個文件,而是在用戶根目錄下創建一個新的隱藏文件:
vim ~/.vimrc
然後編輯這個文件,常用的配置如下:
bash
"雙引號後面的內容為注釋
set nu "顯示行號
set hlsearch "查找的字元串反白顯示
set backspace=2 "可隨時用退格鍵進行刪除
set autoindent "自動縮排
set ruler "在最下方一行顯示狀態
set showmode "在左下角顯示模式
set bg=dark "顯示不同的底色,還可以為light
syntax on "語法檢驗,顏色顯示
Ⅹ Linux第二章-Linux常用命令
當我們關機或者重啟時,都應該先執行以下 sync 指令,把內存的數據寫入磁碟,防止數據丟失。
命令: cd [相對路徑或絕對路徑]
命令: ls [-al]
命令: mkdir [-p] 目錄
-p 父目錄不存在情況下先生成父目錄
命令: rm [-rf] 目錄
-r 遞歸 -f 強制
兩個一起用你可以刪掉世界(很暴力很血腥,危險的命令)
命令: echo [選項] [輸出內容]
命令: head 文件
tail :指定行數或者動態查看
命令: touch 文件名
命令: rm -rf 文件名
vi是linux中最經典的文本編輯器,vi一共有3種工作模式,分別是正常模式,編輯模式(插入模式),命令行模式:
- 命令: vi 文件名 或 vim 文件名 都可進入vi編譯器進行文件的編譯
---首先輸入 vi 文件名 進入的是正常模式
---正常模式-->編輯模式:按 i o a 任意一個鍵
---正常模式-->命令行模式:按 :
---編輯模式-->命令行模式:按 Esc
vi編譯器快捷鍵的使用
1.拷貝當前行 yy,拷貝當前行向下的5行 5yy,並粘貼 p;
2.刪除當前行 dd,刪除當前行向下的5行 5dd;
3.在文件中查找某個單詞(命令行模式下)/關鍵字 ,回車進行查找,輸入 n 查找下一個
4.設置文件的行號,取消文件的行號(命令行模式下) :set nu 和 :set nonu
5.編輯 /etc/profile 文件,使用快捷鍵到底文檔的最末行[G]和最首行[gg],注意這些都是在正常模 式下執行的。
6.在一個文件中輸入 "hello" ,然後又撤銷這個動作,再正常模式下輸入 u
文件的查看命令: cat more less tail
cat :由第一行開始顯示文件內容
more :百分比顯示
less :翻頁查看
tail :指定行數或者動態查看
命令: chmod -R 許可權設置 需要更改許可權的文件夾名
grep :查找字元串
grep命令通常要和管道命令進行連用:
Linux壓縮包的兩種後綴格式:
- xxx.tar 打包,大小不會進行壓縮
- xxx.tar.gz 打包並壓縮文件大小
命令: tar
命令: -h /目錄
命令: ifconfig
命令: netstat [-anp]
命令: ping ip地址
命令: ps [-ef]
命令: kill -9 PID號
命令: service 服務名 [start | stop | restart | reload | status]
在 CentOS7.0 後 不再使用 service ,而是下面這個命令
service [start | stop | restart | reload | status] 服務名
命令: top [選項]
命令: rpm -e rpm包的名稱
命令: rpm -ivh rpm包全路徑名稱
[圖片上傳失敗...(image-f71252-1630371708953)]