本文介紹了Linux服務器上常用的命令,包括ls、cd、pwd、mkdir和rmdir。它們可以幫助用戶了解和控制服務器,提高工作效率,減少錯誤發生的概率。
轉載請注明以下內容:
來源:公眾號【網絡技術干貨圈】
作者:圈圈
ID:wljsghq
在Linux服務器的管理和維護過程中,掌握一些常用的命令是非常必要的。這些命令不僅可以幫助你更好地了解和控制系統,還能提高工作效率,減少錯誤發生的概率。本文將詳細介紹一些在Linux服務器上常用的命令,覆蓋從基本的文件操作到高級的系統管理,力求內容全面,幫助讀者深入理解每一個命令的用法和原理。
一、文件與目錄操作命令
1. ls —— 列出目錄內容
ls 是最常用的命令之一,用于列出目錄內容。它可以顯示當前目錄或指定目錄下的文件和子目錄。
ls
ls -l:長格式列出文件,顯示詳細信息如權限、鏈接數、所有者、文件大小和修改時間。
ls -a:顯示隱藏文件,即那些以.開頭的文件。
ls -h:與-l結合,顯示人類可讀的文件大小,如1K,234M。
2. cd —— 切換目錄
cd 用于改變當前工作目錄。
cd /path/to/directory
cd ~ 或 cd:返回用戶的主目錄。
cd -:返回上一個工作目錄。
cd ..:返回上一級目錄。
3. pwd —— 顯示當前工作目錄
pwd(print working directory)用于顯示當前的工作目錄路徑。
pwd
4. mkdir —— 創建目錄
mkdir 用于創建一個新的目錄。
mkdir new_directory
mkdir -p /path/to/directory:遞歸創建目錄。如果父目錄不存在,mkdir 會自動創建。
5. rmdir —— 刪除空目錄
rmdir 只能刪除空目錄。如果目錄不為空,可以使用 rm -r。
rmdir directory_name
6. rm —— 刪除文件或目錄
rm 用于刪除文件或目錄。刪除操作不可恢復,因此要小心使用。
rm file_name
rm -r directory_name:遞歸刪除目錄及其內容。
rm -f file_name:強制刪除文件,無需確認提示。
7. cp —— 復制文件或目錄
cp 命令用于復制文件或目錄。
cp source_file destination_file
cp -r source_directory destination_directory:遞歸復制目錄。
8. mv —— 移動或重命名文件或目錄
mv 命令用于移動或重命名文件或目錄。
mv old_name new_name
mv file_name /path/to/destination/:將文件移動到指定目錄。
9. touch —— 創建空文件或更新文件時間戳
touch 通常用于創建一個新的空文件,或者更新現有文件的時間戳。
touch file_name
二、文件內容查看與編輯命令
1. cat —— 連接并顯示文件內容
cat 是一個常用的命令,用于查看文件內容,尤其是小文件。
cat file_name
cat file1 file2 > merged_file:將多個文件合并成一個文件。
cat -n file_name:顯示行號。
2. less 和 more —— 分頁查看文件內容
less 和 more 用于分頁查看文件內容。相比 more,less 更加功能豐富。
less file_name
在 less 中,可以使用上下箭頭鍵滾動文件,按 q 退出。
more 命令則逐頁顯示內容,按空格鍵翻頁。
3. head 和 tail —— 查看文件的頭部或尾部內容
head 和 tail 命令分別用于查看文件的前幾行或最后幾行內容。
head -n 10 file_name
head -n 10:查看文件的前10行。
tail -n 10 file_name:查看文件的最后10行。
tail -f file_name:實時查看文件的更新內容,通常用于監控日志文件。
4. nano 和 vim —— 文件編輯器
nano 和 vim 是兩個常用的文本編輯器。nano 是一個易于使用的編輯器,適合新手,而 vim 則功能強大,適合高級用戶。
nano file_name
vim file_name:打開文件進行編輯。
在 nano 中,按 Ctrl+O 保存文件,Ctrl+X 退出編輯。
在 vim 中,按 i 進入插入模式,編輯完成后按 Esc,輸入 :wq 保存并退出。
三、權限與用戶管理命令
1. chmod —— 修改文件權限
chmod 命令用于更改文件或目錄的權限。權限由讀(r)、寫(w)、執行(x)組成,分別用數字4、2、1表示。
chmod 755 file_name
chmod u+x file_name:給文件所有者增加執行權限。
chmod -R 755 directory_name:遞歸修改目錄權限。
2. chown —— 修改文件所有者
chown 命令用于更改文件或目錄的所有者和所屬組。
chown owner_name file_name
chown owner_name:group_name file_name:同時修改所有者和所屬組。
chown -R owner_name:group_name directory_name:遞歸更改目錄及其內容的所有者。
3. passwd —— 修改用戶密碼
passwd 命令用于修改當前用戶或其他用戶的密碼。
passwd
passwd user_name:為指定用戶修改密碼,必須有管理員權限。
4. useradd 和 userdel —— 添加與刪除用戶
useradd 命令用于創建新用戶,而 userdel 則用于刪除用戶。
useradd new_user
userdel user_name:刪除用戶。
useradd -m -s /bin/bash new_user:創建用戶并為其分配主目錄和默認Shell。
5. usermod —— 修改用戶信息
usermod 命令用于修改現有用戶的信息。
usermod -aG group_name user_name
usermod -l new_user_name old_user_name:更改用戶名。
usermod -d /new/home/dir user_name:更改用戶的主目錄。
6. groups —— 顯示用戶所屬的組
groups 命令用于顯示指定用戶所屬的所有組。
groups user_name
不帶參數時,顯示當前用戶所屬的組。
四、進程管理命令
1. ps —— 顯示進程狀態
ps 命令用于顯示當前系統運行的進程狀態。
ps aux
ps -ef:顯示詳細的進程信息。
ps aux | grep process_name:過濾并顯示特定進程。
2. top 和 htop —— 實時顯示進程狀態
top 和 htop 命令用于實時顯示系統中各個進程的運行狀態,其中 htop 是 top 的增強版,提供了更加友好的用戶界面。
top
在 top 中,可以按 k 殺死進程,按 q 退出。
htop 提供了彩色顯示和更豐富的交互功能。
3. kill 和 killall —— 終止進程
kill 和 killall 命令用于終止進程。kill 根據進程ID(PID)終止進程,而 killall 則根據進程名終止所有匹配的進程。
kill PID
kill -9 PID:強制終止進程。
killall process_name:終止所有名為 process_name 的進程。
4. bg 和 fg —— 后臺與前臺進程控制
bg 和 fg 命令用于控制進程在后臺或前臺運行。
bg %1
fg %1:將后臺作業調回前臺。
jobs:列出所有后臺作業。
5. nohup —— 持續運行命令
nohup 命令用于在退出終端后繼續運行進程,通常與 & 符號結合使用,以將命令放入后臺運行。
nohup command &
nohup 的輸出默認保存在 nohup.out 文件中。
nohup 與 & 結合使用可以使命令在后臺運行并且不會因為終端關閉而被終止。
五、網絡管理命令
1. ping —— 檢查網絡連通性
ping 命令用于測試主機與目標主機之間的連通性。它通過發送ICMP請求包,并接收返回的應答包,來判斷網絡連接狀態。
ping example.com
ping -c 4 example.com:只發送4個請求包。
ping -i 0.5 example.com:設置發送請求包的時間間隔為0.5秒。
2. ifconfig 和 ip —— 網絡接口配置
ifconfig 命令用于顯示和配置網絡接口,然而在現代系統中,更推薦使用功能更強大的 ip 命令。
ifconfig
ifconfig eth0 up:啟用網卡 eth0。
ip addr show:顯示所有網絡接口的IP地址信息。
ip link set eth0 up:啟用網卡 eth0。
3. netstat 和 ss —— 網絡狀態查看
netstat 命令用于顯示網絡連接、路由表、接口統計等信息,而 ss 命令是 netstat 的現代替代品,提供了類似功能,但速度更快。
netstat -tuln
netstat -anp:顯示所有連接及對應進程。
ss -tuln:顯示所有監聽的TCP和UDP端口。
4. traceroute —— 路由追蹤
traceroute 命令用于追蹤數據包到達目標主機所經過的路由。它能夠幫助識別網絡中的瓶頸。
traceroute example.com
traceroute -n example.com:以數字形式顯示路由節點的IP地址。
在部分系統中,traceroute 可能被 tracepath 命令替代。
5. wget 和 curl —— 文件下載與網絡請求
wget 和 curl 都是用于網絡請求的命令行工具,常用于文件下載和與API進行交互。
wget http://example.com/file.zip
wget -c http://example.com/file.zip:斷點續傳下載文件。
curl -O http://example.com/file.zip:下載文件并保存為原始文件名。
curl -I http://example.com:獲取HTTP頭信息。
6. scp 和 rsync —— 文件遠程傳輸
scp 命令用于通過SSH協議在本地與遠程主機之間傳輸文件。rsync 命令則提供了更加高效的同步功能,支持增量傳輸。
scp local_file user@remote_host:/path/to/destination/
scp -r directory user@remote_host:/path/to/destination/:遞歸傳輸目錄。
rsync -avz local_dir user@remote_host:/path/to/destination/:增量同步目錄,并壓縮傳輸數據。
7. ftp 和 sftp —— 文件傳輸協議
ftp 和 sftp 命令用于通過FTP協議傳輸文件。sftp 是通過SSH的安全傳輸方式。
ftp remote_host
put local_file:上傳文件到遠程主機。
get remote_file:從遠程主機下載文件。
sftp user@remote_host:啟動安全文件傳輸會話。
六、磁盤與文件系統管理命令
1. df —— 查看磁盤空間使用情況
df 命令用于顯示文件系統的磁盤空間使用情況。
df -h
df -h:以人類可讀的格式顯示磁盤空間使用情況。
df -T:顯示文件系統類型。
2. du —— 查看目錄或文件占用空間
du 命令用于顯示目錄或文件占用的磁盤空間。
du -sh directory_name
du -h --max-depth=1 /path/to/directory:顯示目錄下每個子目錄占用的空間。
du -a:包括文件在內的詳細顯示。
3. fdisk 和 parted —— 磁盤分區工具
fdisk 和 parted 命令用于管理磁盤分區。fdisk 適用于MBR分區表,而 parted 則支持GPT和MBR兩種分區表格式。
fdisk /dev/sda
fdisk -l:列出所有磁盤及其分區表。
parted /dev/sda:進入 parted 交互模式,進行磁盤分區操作。
4. mkfs —— 創建文件系統
mkfs 命令用于在分區上創建文件系統。
mkfs.ext4 /dev/sda1
mkfs -t ext4 /dev/sda1:指定文件系統類型為ext4。
mkfs.xfs /dev/sda1:創建XFS文件系統。
5. mount 和 umount —— 掛載與卸載文件系統
mount 命令用于將文件系統掛載到指定的掛載點,而 umount 命令則用于卸載已掛載的文件系統。
mount /dev/sda1 /mnt
mount -a:掛載所有在/etc/fstab中定義的文件系統。
umount /mnt:卸載掛載在 /mnt 的文件系統。
6. fsck —— 文件系統檢查
fsck 命令用于檢查和修復文件系統中的錯誤。
fsck /dev/sda1
fsck -y /dev/sda1:自動修復發現的錯誤。
fsck -n /dev/sda1:只檢測錯誤,不進行修復。
7. mount 和 unmount —— NFS網絡文件系統
在使用NFS(Network File System)時,可以使用 mount 命令將遠程的NFS共享掛載到本地系統。
mount -t nfs remote_host:/path/to/share /mnt/nfs
umount /mnt/nfs:卸載NFS掛載點。
七、系統監控與優化命令
1. uptime —— 查看系統運行時間
uptime 命令用于顯示系統的運行時間、當前時間、登錄用戶數以及系統的平均負載。
uptime
輸出格式:當前時間、系統運行時間、當前登錄用戶數、平均負載(分別是1分鐘、5分鐘、15分鐘的平均值)。
2. free —— 查看內存使用情況
free 命令用于顯示系統的內存和交換分區的使用情況。
free -h
free -h:以人類可讀的格式顯示內存使用情況。
free -m:以MB為單位顯示內存使用情況。
3. vmstat —— 系統性能監控
vmstat 命令用于報告虛擬內存、進程、CPU活動等信息,是系統性能監控的重要工具。
vmstat 2 5
vmstat 后的兩個參數分別表示采樣間隔(2秒)和采樣次數(5次)。
輸出信息包括內存使用、進程、CPU使用等重要指標。
4. iostat —— 磁盤I/O監控
iostat 命令用于監控系統的磁盤I/O使用情況,包括CPU使用情況和磁盤讀寫速率。
iostat -x 2 5
-x 參數提供了詳細的擴展統計信息。
后面的參數表示每隔2秒采樣一次,共采樣5次。
5. sar —— 系統活動報告
sar 命令是一個功能強大的系統活動監控工具,可以報告CPU、內存、磁盤、網絡等多方面的系統活動信息。
sar -u 1 5
sar -u:報告CPU使用情況。
sar -r:報告內存使用情況。
sar -r 1 5
sar -n DEV:報告網絡接口的流量數據。
sar -d:報告磁盤設備的I/O使用情況。
6. top 和 htop —— 實時系統監控
top 和 htop 命令提供了一個實時的系統監控界面,顯示了系統進程、CPU、內存使用情況等重要信息。htop 是 top 的增強版,提供了更友好的界面和更多的功能。
top
top -o %CPU:按CPU使用率排序顯示進程。
htop:啟動 htop 界面,可使用方向鍵、F鍵進行操作。
F5:在 htop 中切換樹形視圖,顯示進程的父子關系。
7. atop —— 高級系統監控工具
atop 命令是一個高級的系統和進程監控工具,可以持續記錄系統的資源使用情況,包括CPU、內存、磁盤、網絡等。
atop
atop -r:讀取之前的記錄文件進行分析。
atop -c:顯示每個進程的詳細資源使用情況。
8. glances —— 輕量級系統監控
glances 命令是一個跨平臺的系統監控工具,支持顯示CPU、內存、磁盤、網絡等多種資源使用情況,并提供簡潔的界面。
glances
glances -t 2:設置刷新間隔為2秒。
glances -s:啟動為服務器模式,可以通過網絡訪問。
9. nmon —— 系統性能監控
nmon 命令是一個綜合的系統性能監控工具,支持監控CPU、內存、網絡、磁盤等多種系統資源。
nmon
按 c:顯示CPU使用情況。
按 m:顯示內存使用情況。
按 d:顯示磁盤I/O情況。
按 q:退出 nmon 界面。
10. iotop —— 磁盤I/O監控
iotop 命令用于實時顯示進程的磁盤I/O使用情況,類似于 top 命令。
iotop
iotop -o:只顯示正在執行I/O操作的進程。
iotop -P:按進程顯示總I/O使用情況。
11. strace —— 系統調用跟蹤
strace 命令用于跟蹤進程的系統調用,是調試和分析程序行為的重要工具。
strace -p PID
strace -c ls:統計 ls 命令執行期間的系統調用次數和時間。
strace -e open ls:只跟蹤 ls 命令中與 open 系統調用相關的操作。
12. dstat —— 綜合系統資源監控
dstat 命令集成了 vmstat、iostat、netstat 等命令的功能,能夠實時顯示CPU、磁盤、網絡、內存等多方面的資源使用情況。
dstat
dstat -cdngy:顯示CPU、磁盤、網絡、頁面交換和系統負載的統計信息。
dstat --top-cpu:顯示占用CPU最多的進程。
13. tcpdump —— 網絡流量抓取
tcpdump 命令用于抓取和分析網絡數據包,是網絡故障排除和安全分析的重要工具。
tcpdump -i eth0
tcpdump -i eth0 port 80:抓取接口 eth0 上的HTTP流量。
tcpdump -w file.pcap:將抓取的數據包保存到文件 file.pcap 中,以供之后分析。
14. iftop —— 實時網絡流量監控
iftop 命令用于實時顯示網絡接口的流量情況,類似于 top 命令,但專注于網絡流量。
iftop -i eth0
iftop -n:以數字形式顯示IP地址。
iftop -P:顯示端口信息。
15. vnstat —— 網絡流量統計
vnstat 命令用于記錄和顯示網絡接口的流量統計信息,可以長時間監控網絡流量,并生成報告。
vnstat -i eth0
vnstat -h:顯示人類可讀的流量統計信息。
vnstat -d:顯示每日的流量統計。
八、日志管理命令
1. tail 和 head —— 查看文件內容
tail 和 head 命令用于查看文件的開頭或結尾部分內容,常用于日志文件的查看。
tail -f /var/log/syslog
tail -n 20 /var/log/syslog:查看文件的最后20行。
head -n 20 /var/log/syslog:查看文件的前20行。
2. less 和 more —— 分頁查看文件內容
less 和 more 命令用于分頁查看文件內容。less 提供了更豐富的功能,支持向前和向后翻頁。
less /var/log/syslog
在 less 界面中,按 G 跳到文件末尾,按 g 跳到文件開頭。
more 是 less 的簡化版,只支持向前翻頁。
3. grep —— 文本搜索
grep 命令用于在文件中搜索匹配的文本行,常用于從日志文件中提取關鍵信息。
grep "error" /var/log/syslog
grep -i "error" /var/log/syslog:忽略大小寫進行搜索。
grep -r "error" /var/log/:遞歸搜索目錄中的所有文件。
4. logger —— 向系統日志發送消息
logger 命令用于向系統日志發送自定義消息,常用于腳本或程序的調試。
logger "This is a test message"
logger -p local0.notice "Custom message":指定日志級別發送消息。
logger -t myscript "Script started":指定日志標簽發送消息。
5. logrotate —— 日志輪換
logrotate 是一個日志管理工具,用于自動輪換、壓縮、刪除和郵件通知日志文件。配置文件通常位于 /etc/logrotate.conf。
logrotate /etc/logrotate.conf
logrotate -f /etc/logrotate.conf:強制執行日志輪換。
日志輪換配置可以控制日志文件的保存時間、壓縮方式、存檔數量等。
九、用戶與權限管理命令
1. useradd 和 userdel —— 添加與刪除用戶
useradd 命令用于在系統中創建新用戶,而 userdel 則用于刪除用戶。
useradd newuser
useradd -m newuser:為新用戶創建主目錄。
userdel -r olduser:刪除用戶并移除其主目錄。
2. passwd —— 修改用戶密碼
passwd 命令用于修改用戶的登錄密碼。管理員可以使用此命令為其他用戶設置密碼。
passwd username
passwd:不帶參數執行時,為當前用戶修改密碼。
passwd -d username:刪除用戶的密碼,允許無密碼登錄。
3. usermod —— 修改用戶信息
usermod 命令用于修改用戶的賬戶信息,如用戶組、登錄shell、主目錄等。
usermod -aG sudo username
usermod -l newname oldname:修改用戶名。
usermod -d /new/home/dir username:更改用戶的主目錄。
4. groupadd 和 groupdel —— 添加與刪除用戶組
groupadd 命令用于創建新的用戶組,groupdel 命令則用于刪除用戶組。
groupadd newgroup
groupdel oldgroup:刪除用戶組。
gpasswd -a username newgroup:將用戶添加到用戶組。
5. chown 和 chmod —— 文件權限管理
chown 命令用于改變文件或目錄的所有者和用戶組,chmod 命令用于修改文件或目錄的權限。
chown user:group filename
chown root:staff /path/to/file:將文件的所有者更改為 root,組更改為 staff。
chown -R user:group /path/to/directory:遞歸更改目錄及其所有子文件和子目錄的所有者和組。
chmod 755 filename
chmod u+x filename:為文件所有者添加執行權限。
chmod -R 755 /path/to/directory:遞歸修改目錄及其內容的權限。
6. chgrp —— 修改文件組
chgrp 命令用于更改文件或目錄的用戶組,與 chown 相似,但專注于修改組而非所有者。
chgrp staff filename
chgrp -R staff /path/to/directory:遞歸更改目錄及其內容的用戶組。
7. umask —— 設置默認權限掩碼
umask 命令用于設置新建文件和目錄的默認權限掩碼,從而控制新文件的默認權限。
umask 022
umask 077:新建文件的默認權限為 600,目錄的默認權限為 700。
通過在 ~/.bashrc 中添加 umask 設置,可以持久化配置。
8. sudo 和 su —— 提升權限
sudo 命令用于以超級用戶(或其他用戶)權限執行命令,而 su 命令則用于切換到其他用戶。
sudo command
sudo -i:以超級用戶身份打開一個交互式shell。
sudo -u username command:以指定用戶身份執行命令。
su -
su username:切換到指定用戶。
exit:退出當前用戶,返回原來的shell。
9. id 和 whoami —— 查看用戶信息
id 命令用于顯示當前用戶的UID、GID及所屬組信息,而 whoami 命令則用于顯示當前登錄的用戶名。
id
id username:顯示指定用戶的UID、GID及所屬組信息。
whoami:顯示當前用戶的用戶名。
10. last 和 lastlog —— 查看用戶登錄記錄
last 命令用于顯示系統最近的用戶登錄記錄,而 lastlog 命令則用于顯示所有用戶的最近登錄時間。
last
last -n 10:顯示最近10次登錄記錄。
lastlog:顯示所有用戶的最近登錄時間。
lastlog -u username:顯示指定用戶的最近登錄時間。
---END---
來源:本文內容搜集或轉自各大網絡平臺,并已注明來源、出處,如果轉載侵犯您的版權或非授權發布,請聯系小編,我們會及時審核處理。
聲明:江蘇教育黃頁對文中觀點保持中立,對所包含內容的準確性、可靠性或者完整性不提供任何明示或暗示的保證,不對文章觀點負責,僅作分享之用,文章版權及插圖屬于原作者。
Copyright?2013-2024 JSedu114 All Rights Reserved. 江蘇教育信息綜合發布查詢平臺保留所有權利
蘇公網安備32010402000125
蘇ICP備14051488號-3技術支持:南京博盛藍睿網絡科技有限公司
南京思必達教育科技有限公司版權所有 百度統計