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