一局服、Linux命令-用戶绪撵、權(quán)限管理
Linux支持多用戶姆蘸,各個用戶對于自己的文件設(shè)備有自己特殊的權(quán)利,保證了各用戶之間互不影響翅敌。用戶是Unix/Linux系統(tǒng)工作中重要的一環(huán)羞福,用戶管理包括用戶與組賬號的管理。
在Unix/Linux安裝的過程中蚯涮,系統(tǒng)會自動創(chuàng)建許多用戶賬號趣钱,而這些默認的用戶就稱為“標(biāo)準(zhǔn)用戶”眉抬。
在大多數(shù)版本的Unix/Linux中宋雏,都不推薦直接使用root賬號登錄系統(tǒng)牛柒。
1、用戶相關(guān)操作命令
創(chuàng)建用戶棒旗、刪除用戶喘批、設(shè)置密碼等操作,應(yīng)注意命令前加sodu铣揉,如果在某些操作需要管理員才能操作饶深,ubuntu無需切換到root用戶即可操作,只需加“sudo”即可逛拱。
sudo是ubuntu平臺下允許系統(tǒng)管理員讓普通用戶執(zhí)行一些或者全部的root命令的一個工具敌厘,減少了root 用戶的登陸和管理時間,提高了安全性朽合。
查看當(dāng)前用戶:whoami
whoami該命令用戶查看當(dāng)前系統(tǒng)當(dāng)前賬號的用戶名俱两”タ瘢可通過cat /etc/passwd查看系統(tǒng)用戶信息。
查看登錄用戶:who
who命令用于查看當(dāng)前所有登錄系統(tǒng)的用戶信息锋华。
常用選項:
who和whoami的區(qū)別:
退出登錄賬戶:exit
如果是圖形界面嗡官,退出當(dāng)前終端箭窜;
如果是使用ssh遠程登錄毯焕,退出登陸賬戶;
如果是切換后的登陸用戶磺樱,退出則返回上一個登陸賬號纳猫。
添加用戶賬號:useradd
在Unix/Linux中添加用戶賬號可以使用adduser或useradd命令,(adduser命令是指向useradd命令的一個鏈接)竹捉。
使用格式:useradd ?[參數(shù)] ?新建用戶賬號
注意:-m參數(shù)默認給新用戶在計算機/home文件夾下創(chuàng)建同名用戶主目錄文件夾
-d參數(shù)一般放在-m參數(shù)后芜辕,可實現(xiàn)新用戶主目錄文件夾的重命名
-g參數(shù)指定新用戶所在的用戶分組,若不指定块差,系統(tǒng)默認創(chuàng)建一個與用戶名一樣的組名侵续。
注:上述創(chuàng)建時分組,組必須提前存在
設(shè)置用戶密碼:passwd
在Unix/Linux中憨闰,超級用戶可以使用passwd命令為普通用戶設(shè)置或修改用戶口令状蜗。用戶也可以直接使用該命令來修改自己的口令,而無需在命令后面使用用戶名鹉动。
刪除用戶:userdel
用法及含義:
userdel 用戶名 ? ?-->含義:刪除用戶轧坎,但不會刪除用戶的主目錄
userdel -r 用戶名 ?-->含義:刪除用戶的同時刪除用戶的主目錄
切換用戶:su
使用su可以切換用戶,su后面可以加“-”泽示。su和su –命令不同之處在于:su -切換到對應(yīng)的用戶時會將當(dāng)前的工作目錄自動轉(zhuǎn)換到切換后的用戶主目錄缸血。
查看有哪些分組
方式一:cat /etc/group
注:第一列為分組名械筛,之后是序號即組內(nèi)用戶名
方法二:groupmod+三次tab鍵
查看所有用戶:cat /etc/passwd
添加捎泻、刪除組賬號:groupadd、groupdel等
sudo groupadd 新組名
修改分組操作:sudo usermod -g 用戶組名 用戶名
加入分組操作:sudo usermod -G用戶組名 用戶名
查看用戶所在組:groups 用戶名
刪除組賬號操作:sudo groupdel 組名
注:刪除組時埋哟,組內(nèi)不能有用戶族扰,否則無法刪除
為普通用戶添加sudo權(quán)限:
新創(chuàng)建的用戶,默認不能sudo定欧,需要進行一下操作:
sudo usermod -a -G adm 用戶名
sudo usermod -a -G sudo 用戶名
2渔呵、修改文件權(quán)限 chmod
chmod修改文件權(quán)限有兩種使用格式:字母法與數(shù)字法。
字母法:chmod u/g/o/a +/-/= rwx文件
注意:如果想遞歸所有目錄加上相同權(quán)限砍鸠,需要加上參數(shù)“ -R ”扩氢。 如:chmod 777 test/ -R 遞歸 test 目錄下所有文件加 777 權(quán)限,數(shù)字法三個數(shù)字代表擁有者爷辱、同組者录豺、其他者的權(quán)限朦肘。
修改文件所有者:chown
修改文件所屬的組:chgrp
二、Linux命令-系統(tǒng)管理
查看當(dāng)前日歷:cal双饥,加上-y顯示整年日歷
顯示或設(shè)置時間:date
設(shè)置時間格式(需要管理員權(quán)限):
date -s 時間格式
注意:CC為年前兩位yy為年的后兩位媒抠,前兩位的mm為月,后兩位的mm為分鐘咏花,dd為天趴生,hh為小時,ss為秒昏翰。如: date 010203042016.55苍匆。
顯示時間格式(date '+%y,%m,%d,%H,%M,%S'):
查看進程信息:ps
進程是一個具有一定獨立功能的程序,它是操作系統(tǒng)動態(tài)執(zhí)行的基本單元棚菊。
ps命令可以查看進程的詳細狀況浸踩,常用選項(選項可以不加“-”)如下:
動態(tài)顯示進程:top
top命令用來動態(tài)顯示運行中的進程。top命令能夠在運行后统求,在指定的時間間隔更新顯示信息检碗。可以在使用top命令時加上-d?來指定顯示信息更新的時間間隔码邻。
htop顯示進程(需要安裝):
終止進程:kill
kill命令指定進程號的進程折剃,需要配合 ps 使用。
使用格式:kill [-signal] pid ?例子:kill -9 進程pid
-signal為0到15冒滩,其中9為絕對終止微驶,可以處理一般信號無法終止的進程。
關(guān)機重啟:reboot开睡、shutdown因苹、init
檢測磁盤空間:df
df命令用于檢測文件系統(tǒng)的磁盤空間占用和空余情況,可以顯示所有文件系統(tǒng)對節(jié)點和磁盤塊的使用情況篇恒。
檢測目錄所占磁盤空間:du
du命令用于統(tǒng)計目錄或文件所占磁盤空間的大小扶檐,該命令的執(zhí)行結(jié)果與df類似,du更側(cè)重于磁盤的使用狀況胁艰。
du命令的使用格式如下: du [選項] 目錄或文件名
注意:ls -lh查看文件大小沒問題款筑,但是文件夾僅僅是快捷方式的大小腾么;du查看的文件和文件夾均是真實大小奈梳。
查看或配置網(wǎng)卡信息:ifconfig
如果,我們只是敲:ifconfig解虱,它會顯示所有網(wǎng)卡的信息:
sudo ifconfig ens33 同網(wǎng)段不同IP ? -->可更改網(wǎng)絡(luò)ip
測試遠程主機的連通性:ping
ping url鏈接或者網(wǎng)段ip地址均可
三攘须、apt-get
在Ubuntu下,apt-get近乎是最常用的shell命令之一了殴泰,因為他是Ubuntu通過新立得安裝軟件的常用工具命令于宙。
本文列舉了常用的APT命令參數(shù):
apt-cache search package搜索軟件包
apt-cache show package獲取包的相關(guān)信息浮驳,如說明、大小捞魁、版本等
sudo apt-get install package安裝包
sudo apt-get install package --reinstall重新安裝包
sudo apt-get -f install修復(fù)安裝
sudo apt-get remove package刪除包
sudo apt-get remove package --purge刪除包至会,包括配置文件等
sudo apt-get update更新源
sudo apt-get upgrade更新已安裝的包
sudo apt-get dist-upgrade升級系統(tǒng)
apt-cache depends package了解使用該包依賴那些包
apt-cache rdepends package查看該包被哪些包依賴
sudo apt-get build-dep package安裝相關(guān)的編譯環(huán)境
apt-get source package下載該包的源代碼
sudo apt-get clean && sudo apt-get autoclean清理無用的包
sudo apt-get check檢查是否有損壞的依賴
常見故障及解決方案:
上述故障解決方法:
sudo pkill -KILL appstreamcli
wget -P /tmp https://launchpad.net/ubuntu/+archive/primary/+files/appstream_0.9.4-1ubuntu1_amd64.deb?
https://launchpad.net/ubuntu/+archive/primary/+files/libappstream3_0.9.4-1ubuntu1_amd64.deb
sudo dpkg -i /tmp/appstream_0.9.4-1ubuntu1_amd64.deb /tmp/libappstream3_0.9.4-1ubuntu1_amd64.deb
四、vim編輯器
1谱俭、vim簡介
vi是“Visual interface”的簡稱奉件,它在Linux上的地位就仿佛Edit程序在DOS上一樣。它可以執(zhí)行輸出旺上、刪除瓶蚂、查找糖埋、替換宣吱、塊操作等眾多文本操作,而且用戶可以根據(jù)自己的需要對其進行定制瞳别。
Vi不是一個排版程序征候,它不象Word或WPS那樣可以對字體、格式祟敛、段落等其他屬性進行編排疤坝,它只是一個文本編輯程序。 vi沒有菜單馆铁,只有命令跑揉,且命令繁多。
Vi有三種基本工作模式:
+命令模式
+文本輸入模式
+末行模式
2埠巨、vim的安裝
sudo apt-get update
sudo apt-get install vim
3历谍、命令行模式
不管用戶處于何種模式,只要按一下ESC鍵辣垒,即可使Vi進入命令模式望侈,我們在shell環(huán)境(提示符為$)下輸入啟動Vi命令,進入編輯器時勋桶,也是處于該模式下脱衙。
若輸入的字符是合法的Vi命令,則Vi在接受用戶命令之后完成相應(yīng)的動作例驹。但需注意的是捐韩,所輸入的命令并不在屏幕上顯示出來。若輸入的字符不是Vi的合法命令鹃锈,Vi會響鈴報警荤胁。
4、文本輸入模式
在命令模式下輸入插入命令i仪召、附加命令a 寨蹋、打開命令o松蒜、修改命令c、取代命令r或替換命令s都可以進入文本輸入模式已旧。在該模式下秸苗,用戶輸入的任何字符都被Vi當(dāng)做文件內(nèi)容保存起來,并將其顯示在屏幕上运褪。在文本輸入過程中惊楼,若想回到命令模式下,按鍵ESC即可秸讹。
5檀咙、末行模式
在命令模式下,用戶按“:”鍵即可進入末行模式下璃诀,多數(shù)文件管理命令都是在此模式下執(zhí)行的(如把編輯緩沖區(qū)的內(nèi)容寫到文件中等)弧可。末行命令執(zhí)行完后,Vi自動回到命令模式劣欢。
:set number ? 顯示行號
:set nonumber 去掉行號
:set encoding ?? 顯示編碼
:set encoding=utf-8 ?? 設(shè)置編碼
如果要從命令模式轉(zhuǎn)換到編輯模式棕诵,可以鍵入命令a或者i;如果需要從文本模式返回凿将,則按Esc鍵即可校套。在命令模式下輸入“:”即可切換到末行模式,然后輸入命令牧抵。
6笛匙、vim基礎(chǔ)操作
vim是從 vi 發(fā)展出來的一個文本編輯器 。代碼補完犀变、編譯及錯誤跳轉(zhuǎn)等方便編程的功能特別豐富
進入插入模式:
i:插入光標(biāo)前一個字符?
I:插入行首
a:插入光標(biāo)后一個字符
A:插入行未
o:向下新開一行,插入行首
O:向上新開一行,插入行首
進入命令模式:
ESC:從插入模式或末行模式進入命令模式
移動光標(biāo):
h:左移?
j:下移
k:上移
l:右移
M:光標(biāo)移動到中間行
L:光標(biāo)移動到屏幕最后一行行首
G:移動到指定行,行號 G
w:向后一次移動一個字
b:向前一次移動一個字
{:按段移動,上移
}:按段移動,下移
Ctrl+d:向下翻半屏
Ctrl+u:向上翻半屏
Ctrl+f:向下翻一屏
Ctrl+b:向上翻一屏
gg:光標(biāo)移動文件開頭
G:光標(biāo)移動到文件末尾
shift+6 ?光標(biāo)到當(dāng)前行的行首
shift+4 ?光標(biāo)到當(dāng)前行的行末
刪除命令:
x:刪除當(dāng)前光標(biāo)一個字符,相當(dāng)于 Del
X:刪除光標(biāo)前一個字符,相當(dāng)于 Backspace
dd:刪除光標(biāo)所在行,n dd 刪除指定的行數(shù) D: 刪除光標(biāo)后本行所有內(nèi)容,包含光標(biāo)所在字符
d0:刪除光標(biāo)前本行所有內(nèi)容,不包含光標(biāo)所在字符
dw:刪除光標(biāo)開始位置的字,包含光標(biāo)所在字符
撤銷命令:
u:一步一步撤銷
Ctrl+r:反撤銷
重復(fù)命令:
.:重復(fù)上一次操作的命令
文本行移動:
>:文本行右移
<:文本行左移
復(fù)制粘貼:
yy:復(fù)制當(dāng)前行,n yy 復(fù)制 n 行
p:在光標(biāo)所在位置向下新開辟一行,粘貼
可視模式:
v:按字符移動,選中文本
V:按行移動,選中文本可視模式可以配合 d, y, >>, << 實現(xiàn)對文本塊的刪除,復(fù)制,左右移動
查找命令:
/: str查找
n:下一個
N:上一個
:set hls打開高亮:set nohls關(guān)閉高亮
替換命令:(把abc全部替換成123)
末行模式下妹孙,將所以提議的abc替換成123
:%s/abc/123/g
末行模式下,將第一行至第10行之間的abc替換成123
:1, 10s/abc/123/g
vim里執(zhí)行 shell 下命令:
末行模式里輸入!,后面跟命令
放大縮寫
ctrl - ? 縮小
ctrl shift + ? 放大
ubuntu vim tab 4個空格
編輯文件
sudo vim /etc/vim/vimrc
在最后加上
set?ts=4
set?expandtab
set?autoindent ??如果報錯弛作,將這句話換成%retab!
五涕蜂、安裝ssh
1、ssh介紹
C/S結(jié)構(gòu)映琳、B/S結(jié)構(gòu)
SSH為Secure Shell的縮寫机隙,由 IETF 的網(wǎng)絡(luò)工作小組(Network Working Group)所制定;SSH 為建立在應(yīng)用層和傳輸層基礎(chǔ)上的安全協(xié)議萨西。
利用SSH協(xié)議可以有效防止遠程管理過程中的信息泄露問題有鹿,專為遠程登錄會話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議。常用于遠程登錄谎脯,以及用戶之間進行資料拷貝葱跋。
使用SSH服務(wù),需要安裝相應(yīng)的服務(wù)器和客戶端∮榘常客戶端和服務(wù)器的關(guān)系:如果稍味,A機器想被B機器遠程控制,那么荠卷,A機器需要安裝SSH服務(wù)器模庐,B機器需要安裝SSH客戶端。
2油宜、安裝ssh
******A機器安裝ssh******
1掂碱、更新apt-get
sudo apt-get update
2、使用apt-get從網(wǎng)絡(luò)上下載并安裝sshserver
sudo apt-get install openssh-server
3慎冤、查看ssh進程疼燥,如果能查到說明安裝成功并啟動了
ps -e|grep ssh
******B機器遠程登錄******
ssh用戶名@IP
3、使用ssh連接服務(wù)器
SSH告知用戶蚁堤,這個主機不能識別醉者,這時鍵入"yes",SSH 就會將相關(guān)信息违寿,寫入" ~/.ssh/know_hosts" 中湃交,再次訪問熟空,就不會有這些信息了藤巢。然后輸入完口令,就可以登錄到主機了。
SCP
使用crt在windows和linux之間傳輸文件:?alt+p
linux之間互相上傳下載的方式:
遠程拷貝文件,scp -r的常用方法:
1.使用該命令的前提條件要求目標(biāo)主機已經(jīng)成功安裝openssh-server
如沒有安裝使用sudo apt-get install openssh-server來安裝
2.使用格式:
scp -r目標(biāo)用戶名@目標(biāo)主機IP地址:/目標(biāo)文件的絕對路徑 ?/保存到本機的絕對/相對路徑
舉例:(注意sudo)
scp -r laowang@192.168.1.100:/home/laowang/QQ_dir/ ./mytest/lisi
在后續(xù)會提示輸入“yes”此時息罗,只能輸“yes”而不能簡單輸入“Y”
拷貝單個文件可以不加-r參數(shù)掂咒,拷貝目錄必須要加。
本地文件復(fù)制到遠程:
scp FileName RemoteUserName@RemoteHostIp:RemoteFile
scp FileName RemoteHostIp:RemoteFolder
scp FileName RemoteHostIp:RemoteFile
遠程文件復(fù)制到本地:
scp RemoteUserName@RemoteHostIp:RemoteFile FileName
scp RemoteHostIp:RemoteFolder FileName
scp RemoteHostIp:RemoteFile FileName
遠程目錄復(fù)制到本地:
scp -r RemoteUserName@RemoteHostIp:RemoteFolder FolderName
scp -r RemoteHostIp:RemoteFolder FolderName