1.系統(tǒng)時(shí)鐘自動(dòng)同步到NTP服務(wù)器
使用timedatectl同步系統(tǒng)時(shí)鐘:#timedatectl set-ntp true
前提要在系統(tǒng)上安裝NTP,檢查是否安裝NTP相關(guān)包:#rpm -qa|grep ntp
要檢查服務(wù)狀態(tài),使用#timedatectl status
查看所有可用時(shí)區(qū):# timedatectl list-timezones
設(shè)置本地時(shí)區(qū)(例如Asia/Shanghai):# timedatectl set-timezone "Asia/Shanghai"
設(shè)置時(shí)間和日期:# timedatectl set-time “18:50:21 2019-11-05”
設(shè)置時(shí)間:# timedatectl set-time 18:50:21
設(shè)置日期:# timedatectl set-time 20191105
2.修改主機(jī)名
臨時(shí)修改:#sudo hostname 新主機(jī)名
永久修改:#sudo hostnamectl set-hostname 新主機(jī)名
查看主機(jī)名:hostname 或hostnamectl
查看FQDN名稱:hostname -f
查看主機(jī)IP地址:hostname -i
3.查看進(jìn)程和端口
查看sshd進(jìn)程:#ps -ef|grep sshd
查看sshd端口:#netstat -lntup|grep ssh
或者 #ss |grep ssh
4.掛載文件系統(tǒng)
查看已掛載磁盤:#df -h
查看塊狀設(shè)備信息:#lsblk
下面以掛接U盤為例:插入U(xiǎn)盤之前,應(yīng)先用fdisk –l 或 more /proc/partitions查看系統(tǒng)的硬盤和硬盤分區(qū)情況。
創(chuàng)建掛載點(diǎn):#mkdir -p /mnt/usb
掛載usb(以磁盤分區(qū)sdd1為例):#monut /dev/sdd1 /mnt/usb
只讀模式掛載:#monut -o ro /dev/sdd1 /mnt/usb
查看文件內(nèi)容:#ll /mnt/usb
卸載文件系統(tǒng)(要先退出掛載目錄):#umonut /mnt/usb
若想實(shí)現(xiàn)開機(jī)自動(dòng)掛載某設(shè)備,只要修改/etc/fstab文件即可。
例如:如果想將文件系統(tǒng)為ext4的硬件設(shè)備/dev/sdb2在開機(jī)后自動(dòng)掛載到/backup目錄上,并保持默認(rèn)權(quán)限且無需開機(jī)自檢,就需要修改/etc/fstab文件寫入:
5.軟件的安裝
a.源碼包方式(一般把源碼放在/usr/local/src目錄下)
解壓源碼包:#tar -zxvf *.tar.gz
然后切換到源碼文件夾,順序:配置-編譯-安裝
配置,并指定安裝目錄(這里以ucurses為例):# ./configure --prefix=/usr/local/ncurses
編譯:#make
安裝:#make install
b.二進(jìn)制包方式(rpm)
查詢某個(gè)已安裝軟件:#rpm -qa|grep 關(guān)鍵詞
卸載軟件:#rpm -e 關(guān)鍵詞 [--nodeps]
安裝軟件:#rpm -ivh 完整名稱
升級軟件:#rpm -Uvh 完整名稱
查詢軟件:#rpm -qf 文件路徑 【查詢指定文件屬于哪個(gè)包】
c.yum方式安裝
列出當(dāng)前已安裝和可安裝的軟件:#yum list [installed]
搜索指定的關(guān)鍵詞的包:#yum search 關(guān)鍵詞? ? ? ?
安裝指定的包:#yum [-y] install 包名
更新指定的包,不指定包則更新全部軟件:#yum [-y] update 包名
卸載指定的包:#yum [-y] remove? 包名
6.查看系統(tǒng)信息
uname -m 顯示機(jī)器的處理器架構(gòu)
uname -r 顯示正在使用的內(nèi)核版本
cat /proc/version 顯示詳細(xì)內(nèi)核版本 或者uname -a?
cat /proc/meminfo 校驗(yàn)內(nèi)存使用?
cat /proc/cpuinfo? 查看CPU信息
cat /proc/swaps 顯示哪些swap被使用
date 顯示系統(tǒng)時(shí)間日期
free -m 查看內(nèi)存使用量和交換區(qū)使用量?
df -h 查看各分區(qū)使用情況
fdisk -l 查看所有分區(qū)?
systemctl list-unit-files? 列出所有系統(tǒng)服務(wù)
ifconfig 查看所有網(wǎng)絡(luò)接口的屬性?
iptables -L 查看防火墻設(shè)置?
route -n 查看路由表?
netstat -lntp 查看所有監(jiān)聽端口?
netstat -antp 查看所有已經(jīng)建立的連接?
netstat -s 查看網(wǎng)絡(luò)統(tǒng)計(jì)信息進(jìn)程?
ps -ef 查看所有進(jìn)程?
top 實(shí)時(shí)顯示進(jìn)程狀態(tài)用戶?
w 查看活動(dòng)用戶?
id <用戶名> 查看指定用戶信息?
last 查看用戶登錄日志?
cut -d: -f1 /etc/passwd 查看系統(tǒng)所有用戶?
cut -d: -f1 /etc/group 查看系統(tǒng)所有組?
crontab -l 查看當(dāng)前用戶的計(jì)劃任務(wù)服務(wù)?
查看內(nèi)存大?。篶at /proc/meminfo |grep MemTotal
查看硬盤大?。篺disk -l |grep Disk
查看內(nèi)存使用量和交換區(qū)使用量:free -m
7.用戶管理(root權(quán)限下執(zhí)行)
useradd user1 創(chuàng)建一個(gè)新用戶
useradd -c "備注內(nèi)容 " -g admin -d /home/user1 -s /bin/bash user1 創(chuàng)建一個(gè)屬于 "admin" 用戶組的用戶,并指定家目錄和shell
userdel -r user1 刪除一個(gè)用戶 (-r并刪除用戶家目錄)
usermod -c "備注內(nèi)容" -g system -d /ftp/user1 -s /bin/nologin user1 修改用戶屬性
passwd 修改當(dāng)前用戶密碼?
passwd user1 修改指定用戶密碼
groupadd group_name 新建一個(gè)用戶組?
groupdel group_name 刪除一個(gè)用戶組?
groupmod -n new_group_name old_group_name 重命名一個(gè)用戶組
8.文件權(quán)限管理(root用戶或文件所有者才可執(zhí)行)
ll 或ls -l ? 顯示文件權(quán)限
ls -m ? 水平輸出文件列表
chmod -R ugo+rwx directory1? 設(shè)置目錄的所有人(u)、群組(g)以及其他人(o)以讀(r )、寫(w)和執(zhí)行(x)的權(quán)限?
chmod -R go-rwx directory1? 刪除群組(g)與其他人(o)對目錄的讀寫執(zhí)行權(quán)限?
chown user1 file1? 改變一個(gè)文件的所有人屬性?
chown user1:group1 file1? 改變一個(gè)文件的所有人和群組屬性
chown -R user1 directory1? 改變一個(gè)目錄的所有人屬性并同時(shí)改變改目錄下所有文件的屬性?
chgrp group1 file1? 改變文件的群組?
chgrp -R group1 /usr/dir 將/usr/dir及其子目錄下所有文件的用戶組改為group1
權(quán)限范圍的表示法如下:
u User,即文件或目錄的擁有者;
g Group,即文件或目錄的所屬群組;
o Other,除了文件或目錄擁有者或所屬群組之外,其他用戶皆屬于這個(gè)范圍;
a All,即全部的用戶,包含擁有者,所屬群組以及其他用戶;
r 讀取權(quán)限,數(shù)字代號(hào)為“4”;
w 寫入權(quán)限,數(shù)字代號(hào)為“2”;
x 執(zhí)行或切換權(quán)限,數(shù)字代號(hào)為“1”;
- 不具任何權(quán)限,數(shù)字代號(hào)為“0”;
s 特殊功能說明:變更文件或目錄的權(quán)限。
注意:在Linux中,如果要?jiǎng)h除一個(gè)文件,不是看文件有沒有對應(yīng)的權(quán)限,而是看文件所在的目錄是否有寫權(quán)限,如果有才可以刪除。
9.文件搜索
1) find用來在指定目錄下查找文件(占用資源大,應(yīng)盡量縮小搜索范圍)
按文件名稱搜索:
find /etc -name init 精準(zhǔn)搜索,必須為init才能搜索的到
find /etc -iname init 必須為init或有字母大寫也能搜索到
find /etc -name *init 模糊搜索,以init結(jié)尾的文件或目錄名
find /etc -name init???模糊搜索 ?表示單個(gè)字符
根據(jù)文件類型查找:f表示文件,d表示目錄,l表示軟鏈接
find /home -type d? 查找/home目錄下文件類型是目錄的
2) locate 用來在文件資料庫中查找文件
新建文件需要命令updatedb 手動(dòng)更新資料庫才能用locate搜到,另外/tmp目錄不屬于文件資料庫的收錄范圍。
locate -i 不區(qū)分大小寫搜索
3)which 用來搜索命令所在的目錄及別名信息
which【命令】
例如:which grep
4) whereis 用來搜索命令所在的目錄及幫助文檔路徑
whereis【命令】
例如:whereis ls
5) grep用來在文件中搜尋字符串匹配的行并輸出
grep 關(guān)鍵詞 文件路徑
-i 不區(qū)分大小寫
-v 反向搜索,即排除指定字符串
-m 只顯示全字符合的列,即精確搜索
例如:grep mysql /root/install.log
10.查看文件內(nèi)容
cat file1 正向查看文件的內(nèi)容?
tac file1 反向查看文件的內(nèi)容?
more file1 查看一個(gè)長文件的內(nèi)容?
less file1 與more類似,不同的是允許用戶向前或向后瀏覽文件
head -n2 file1 查看一個(gè)文件的前兩行,-n可省略
tail -2 file1 查看一個(gè)文件的最后兩行?
tail -f /var/log/messages 實(shí)時(shí)查看被添加到一個(gè)文件中的內(nèi)容?
11.文本處理
1)cut 列截取工具。用于列的截取
-c 以字符為單位進(jìn)行分割,截取
? 例:cut? -c1-5 passwd ? 截取第一到第五個(gè)字符。?
? ? cut -c10- passwd 從第十個(gè)字符開始往后全部截取
-d? ? 自定義分隔符,默認(rèn)為制表符\t
-f? ? 與-d一起使用,指定截取那哪個(gè)區(qū)域
? 例: cut -d: -f1,3 passwd? 以:分割截取第一和第三列
?
2)sort將文件/文本的每一行作為一個(gè)單位,相互比較,比較原則是從首字符向后,依次按ASCII碼值進(jìn)行比較,最后將他們按升序輸出。
-t 分隔符, 類似cut? -d
-k 第N列, 類似cut -f?
-o 將排序結(jié)果輸出到文件中,類似重定向符號(hào)>
-n 以數(shù)字排序,默認(rèn)是按字符排序
-r 降序排列,默認(rèn)是升序
-u 去除重復(fù)行,類似uniq
-R 隨機(jī)排序,每次運(yùn)行的結(jié)果都不同
例如:#sort -nrk 3 -t: test.txt
3)uniq? 用于去除連續(xù)的重復(fù)行
-i? 忽略大小寫
-c? 統(tǒng)計(jì)重復(fù)行次數(shù)
-d? 只顯示重復(fù)行
4)tee? 用于將數(shù)據(jù)重定向到文件,另一方面還可以提供一份重定向數(shù)據(jù)的副本作為后續(xù)命令的stdin。簡單的說就是把數(shù)據(jù)重定向到給定文件和屏幕上。例
ls -l | tee file.txt | less
并輸出file.txt內(nèi)容
-a 向文件中重定向時(shí)使用追加模式
5)diff? 用于逐行比較文件的不同
語法:diff [選項(xiàng)]? 文件1? 文件2
-c? 上下文格式顯示
-u? 合并格式顯示
-q或--brief:僅顯示有無差異,不顯示詳細(xì)的信息;
注意:diff描述兩個(gè)文件不同的方式 是告訴我們怎樣改變第一個(gè)文件之后與第二個(gè)文件匹配。
有時(shí)候我們需要以一個(gè)文件為標(biāo)準(zhǔn),去修改其他的文件,并且修改的地方較多時(shí),我們可以通過打補(bǔ)丁的方式完成。
第一步,先找出文件的不同,然后輸出到一個(gè)文件
? ? # diff -uN file1 file2 > file.patch
? ? -N 表示將不存在的文件當(dāng)做空文件
第二步,將不同內(nèi)容補(bǔ)丁到文件
? ? # patch file1 file.patch
第三步,測試驗(yàn)證
? ? #diff file1 file2
? ?
6)paste?用于將多個(gè)文件按照列隊(duì)列進(jìn)行合并。
paste file1 file2 file3
-d? 自定義間隔符,默認(rèn)是tab
-s? 串行處理,非并行
小技巧:通過重定向到空來清空文件內(nèi)容,例如#>access.log
7)tr? 用于字符轉(zhuǎn)換,替換和刪除,主要用于刪除文件中控制字符或進(jìn)行字符轉(zhuǎn)換
用法1:命令的執(zhí)行結(jié)果交給tr處理,其中string1用于查詢,string2用于轉(zhuǎn)換處理
# commands | tr ‘string1’ ‘string2’
用法2:tr處理的內(nèi)容來自文件,記住要使用“<”? 標(biāo)準(zhǔn)輸入
# tr ‘string1’ ‘string2’ < filename
用法3: 匹配sting1進(jìn)行相應(yīng)操作,如刪除操作
# tr options ‘string1’ < filename
? ? ? -d? 表示刪除字符串1中所有輸入字符
? ? ? -s? 表示刪除重復(fù)出現(xiàn)字符序列,只保留一個(gè),即將重復(fù)出現(xiàn)字符串壓縮為一個(gè)字符串。
例:
將輸入字符由大寫轉(zhuǎn)換為小寫:
#echo "HELLO WORLD" | tr 'A-Z' 'a-z'
使用tr刪除字符:
#echo "hello 123 world 456" | tr -d '0-9'
將制表符轉(zhuǎn)換為空格:
#cat text | tr '\t' ' '
12.文件和目錄操作
cd /home 進(jìn)入home目錄'
./表示當(dāng)前目錄?
cd .. 返回上一級目錄?
cd ../.. 返回上兩級目錄?
cd 進(jìn)入當(dāng)前用戶的家目錄?
cd ~user1 進(jìn)入指定用戶的家目錄?
cd - 返回上次所在的目錄?
pwd 顯示當(dāng)前工作路徑
ls 用來顯示目標(biāo)列表
ls -d 僅顯示目錄名,而不顯示目錄下的內(nèi)容列表
ls -a 顯示隱藏文件
ls -l 或ll 所有輸出信息用單列格式輸出
ls -F:在每個(gè)輸出項(xiàng)后追加文件的類型標(biāo)識(shí)符,具體含義:“*”表示具有可執(zhí)行權(quán)限的普通文件,“/”表示目錄,“@”表示符號(hào)鏈接,“|”表示命令管道FIFO,“=”表示sockets套接字。當(dāng)文件為普通文件時(shí),不輸出任何標(biāo)識(shí)符;
tree 顯示文件和目錄由根目錄開始的樹形結(jié)構(gòu)(可能需安裝tree命令)
mkdir dir1 創(chuàng)建一個(gè)叫做dir1的目錄'?
mkdir dir1 dir2 同時(shí)創(chuàng)建dir1 dir2兩個(gè)目錄?
mkdir -p /tmp/dir1/dir2 遞歸創(chuàng)建dir1 dir2目錄
rm -f file1 強(qiáng)制刪除文件file1?
rm -rf dir1 刪除目錄dir1及其子內(nèi)容?
rm -rf dir1 dir2 同時(shí)刪除兩個(gè)目錄及其子內(nèi)容?
mv dir1 new_dir 重命名/移動(dòng),將dir1重命名為new_dir
cp file1 file2 復(fù)制一個(gè)文件(一般不建議更名)?
cp dir/* ./ 復(fù)制一個(gè)目錄下的所有文件到當(dāng)前工作目錄?
cp -a /tmp/dir1 ./ 復(fù)制一個(gè)目錄到當(dāng)前工作目錄?
cp -a dir1 dir2 復(fù)制一個(gè)目錄
ln -s file1 lnk1 創(chuàng)建一個(gè)指向文件或目錄的軟鏈接
touch -t 0712250000 file1 修改一個(gè)文件或目錄的時(shí)間戳 - (YYMMDDhhmm)?
touch file1 新建一個(gè)文件
13.系統(tǒng)關(guān)機(jī)/重啟/注銷
shutdown -h now 立即關(guān)機(jī)
poweroff 關(guān)機(jī)
init 0 關(guān)閉系統(tǒng)
init 3 切換到命令行界面
init 5 切換到圖形界面
shutdown -r now 重啟
reboot 重啟
logout 注銷?
例:指定5分鐘后關(guān)機(jī)
# shutdown +5 “System will shutdown after 5 minutes” //5分鐘后關(guān)機(jī)并顯示警告信息
shutdown -c 取消按預(yù)定時(shí)間關(guān)閉系統(tǒng)?
一些常用快捷鍵:
tab鍵:補(bǔ)全命令
Ctrl+L :清屏,與clear命令一樣
Ctrl+u:刪除光標(biāo)前所有內(nèi)容
Ctrl+k:刪除光標(biāo)往后所有內(nèi)容
Ctrl+r:查找歷史命令(history)
Ctrl+c: 終止進(jìn)程
!命令 :執(zhí)行最近的一次指定命令
!! :執(zhí)行上一個(gè)命令
方向鍵上下鍵↑↓:調(diào)出歷史命令
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。