Linux 常用指令大全
系統資訊
arch 顯示機器的處理器架構
uname -m 顯示機器的處理器架構
uname -r 顯示正在使用的核心版本
cat /proc/cpuinfo 顯示CPU info的資訊
cat /proc/version 顯示核心的版本
cat /proc/net/dev 顯示網絡擴充卡及統計
cat /proc/mounts 顯示已加載的檔案系統
date 顯示系統日期
關機 (系統的關機、重新開機以及登出 )
shutdown -h now 關閉系統
init 0 關閉系統
telinit 0 關閉系統
shutdown -h hours:minutes & 按預定時間關閉系統
shutdown -c 取消按預定時間關閉系統
shutdown -r now 重新開機
reboot 重新開機
logout 登出
檔案和目錄
cd /home 進入 ‘/ home’ 目錄’
cd … 傳回上一級目錄
cd …/… 傳回上兩級目錄
cd 進入個人的主目錄
cd ~user1 進入個人的主目錄
cd - 傳回上次所在的目錄
pwd 顯示工作路徑
ls 檢視目錄中的檔案
ls -F 檢視目錄中的檔案
ls -l 顯示檔案和目錄的詳細資料
ls -a 顯示隐藏檔案
ls [0-9] 顯示包含數字的檔案名和目錄名
tree 顯示檔案和目錄由根目錄開始的樹形結構
lstree 顯示檔案和目錄由根目錄開始的樹形結構
mkdir dir1 建立一個叫做 ‘dir1’ 的目錄’
mkdir dir1 dir2 同時建立兩個目錄
mkdir -p /tmp/dir1/dir2 建立一個目錄樹
rm -f file1 删除一個叫做 ‘file1’ 的檔案’
rmdir dir1 删除一個叫做 ‘dir1’ 的目錄’
rm -rf dir1 删除一個叫做 ‘dir1’ 的目錄并同時删除其内容
rm -rf dir1 dir2 同時删除兩個目錄及它們的内容
mv dir1 new_dir 重命名/移動 一個目錄
cp file1 file2 複制一個檔案
cp dir/* . 複制一個目錄下的所有檔案到目前工作目錄
cp -a /tmp/dir1 . 複制一個目錄到目前工作目錄
cp -a dir1 dir2 複制一個目錄
cp -r dir1 dir2 複制一個目錄及子目錄
ln -s file1 lnk1 建立一個指向檔案或目錄的軟連結
ln file1 lnk1 建立一個指向檔案或目錄的實體連結
touch -t 0712250000 file1 修改一個檔案或目錄的時間戳 - (YYMMDDhhmm)
檔案搜尋
find / -name file1 從 ‘/’ 開始進入根檔案系統搜尋檔案和目錄
find / -user user1 搜尋屬于使用者 ‘user1’ 的檔案和目錄
find /home/user1 -name *.bin 在目錄 ‘/ home/user1’ 中搜尋帶有’.bin’ 結尾的檔案
find /usr/bin -type f -atime +100 搜尋在過去100天内未被使用過的執行檔案
find /usr/bin -type f -mtime -10 搜尋在10天内被建立或者修改過的檔案
磁盤空間
df -h 顯示已經挂載的分區清單
ls -lSr |more 以尺寸大小排列檔案和目錄
du -sh dir1 估算目錄 ‘dir1’ 已經使用的磁盤空間’
du -sk * | sort -rn 以容量大小為依據依次顯示檔案和目錄的大小
使用者和群組
groupadd group_name 建立一個新使用者組
groupdel group_name 删除一個使用者組
groupmod -n new_group_name old_group_name 重命名一個使用者組
useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 建立一個屬于 “admin” 使用者組的使用者
useradd user1 建立一個新使用者
userdel -r user1 删除一個使用者 ( ‘-r’ 排除主目錄)
usermod -c “User FTP” -g system -d /ftp/user1 -s /bin/nologin user1 修改使用者屬性
passwd 修改密碼
passwd user1 修改一個使用者的密碼 (隻允許root執行)
檔案的權限 - 使用 “+” 設定權限,使用 “-” 用于取消
ls -lh 顯示權限
chmod ugo+rwx directory1 設定目錄的所有人(u)、群組(g)以及其他人(o)以讀(r )、寫(w)和執行(x)的權限
chmod go-rwx directory1 删除群組(g)與其他人(o)對目錄的讀寫執行權限
chown user1 file1 改變一個檔案的所有人屬性
chown -R user1 directory1 改變一個目錄的所有人屬性并同時改變改目錄下所有檔案的屬性
chattr +a file1 隻允許以追加方式讀寫檔案
打包和壓縮檔案
bunzip2 file1.bz2 解壓一個叫做 'file1.bz2’的檔案
bzip2 file1 壓縮一個叫做 ‘file1’ 的檔案
gunzip file1.gz 解壓一個叫做 'file1.gz’的檔案
gzip file1 壓縮一個叫做 'file1’的檔案
gzip -9 file1 最大程度壓縮
rar a file1.rar test_file 建立一個叫做 ‘file1.rar’ 的包
rar a file1.rar file1 file2 dir1 同時壓縮 ‘file1’, ‘file2’ 以及目錄 ‘dir1’
rar x file1.rar 解壓rar包
unrar x file1.rar 解壓rar包
tar -cvf archive.tar file1 建立一個非壓縮的 tarball
tar -xvf archive.tar 釋放一個包
tar -xvf archive.tar -C /tmp 将壓縮包釋放到 /tmp目錄下
tar -cvfj archive.tar.bz2 dir1 建立一個bzip2格式的壓縮包
tar -jxvf archive.tar.bz2 解壓一個bzip2格式的壓縮包
tar -cvfz archive.tar.gz dir1 建立一個gzip格式的壓縮包
tar -zxvf archive.tar.gz 解壓一個gzip格式的壓縮包
zip file1.zip file1 建立一個zip格式的壓縮包
zip -r file1.zip file1 file2 dir1 将幾個檔案和目錄同時壓縮成一個zip格式的壓縮包
unzip file1.zip 解壓一個zip格式壓縮包
YUM 軟體包更新器
yum install package_name 下載下傳并安裝一個rpm包
yum localinstall package_name.rpm 将安裝一個rpm包,使用你自己的軟體倉庫為你解決所有依賴關系
yum update package_name.rpm 更新目前系統中所有安裝的rpm包
yum update package_name 更新一個rpm包
yum remove package_name 删除一個rpm包
yum list 列出目前系統中安裝的所有包
yum search package_name 在rpm倉庫中搜尋軟體包
yum clean packages 清理rpm緩存删除下載下傳的包
yum clean headers 删除所有頭檔案
yum clean all 删除所有緩存的包和頭檔案
檢視檔案内容
cat file1 從第一個位元組開始正向檢視檔案的内容
tac file1 從最後一行開始反向檢視一個檔案的内容
more file1 檢視一個長檔案的内容
less file1 類似于 ‘more’ 指令,但是它允許在檔案中和正向操作一樣的反向操作
head -2 file1 檢視一個檔案的前兩行
tail -2 file1 檢視一個檔案的最後兩行
tail -f /var/log/messages 實時檢視被添加到一個檔案中的内容
文本處理
grep Aug /var/log/messages 在檔案 '/var/log/messages’中查找關鍵詞"Aug"
grep ^Aug /var/log/messages 在檔案 '/var/log/messages’中查找以"Aug"開始的詞彙
grep [0-9] /var/log/messages 選擇 ‘/var/log/messages’ 檔案中所有包含數字的行
grep Aug -R /var/log/* 在目錄 ‘/var/log’ 及随後的目錄中搜尋字元串"Aug"
sed ‘s/stringa1/stringa2/g’ example.txt 将example.txt檔案中的 “string1” 替換成 “string2”
sed ‘/^KaTeX parse error: Expected 'EOF', got '#' at position 49: …所有空白行 sed '/ *#̲/d; /^/d’ example.txt 從example.txt檔案中删除所有注釋和空白行
echo ‘esempio’ | tr ‘[:lower:]’ ‘[:upper:]’ 合并上下單元格内容
sed -e ‘1d’ result.txt 從檔案example.txt 中排除第一行
sed -n ‘/stringa1/p’ 檢視隻包含詞彙 “string1"的行
sed -e ‘s/ $//’ example.txt 删除每一行最後的空白字元
sed -e ‘s/stringa1//g’ example.txt 從文檔中隻删除詞彙 “string1” 并保留剩餘全部
sed -n ‘1,5p;5q’ example.txt 檢視從第一行到第5行内容
sed -n ‘5p;5q’ example.txt 檢視第5行
sed -e 's/00/0/g’ example.txt 用單個零替換多個零
cat -n file1 标示檔案的行數
cat example.txt | awk ‘NR%2==1’ 删除example.txt檔案中的所有偶數行
echo a b c | awk ‘{print $1}’ 檢視一行第一欄
echo a b c | awk ‘{print $1,$3}’ 檢視一行的第一和第三欄
paste file1 file2 合并兩個檔案或兩欄的内容
paste -d ‘+’ file1 file2 合并兩個檔案或兩欄的内容,中間用”+"區分
sort file1 file2 排序兩個檔案的内容
sort file1 file2 | uniq 取出兩個檔案的并集(重複的行隻保留一份)
sort file1 file2 | uniq -u 删除交集,留下其他的行
sort file1 file2 | uniq -d 取出兩個檔案的交集(隻留下同時存在于兩個檔案中的檔案)
comm -1 file1 file2 比較兩個檔案的内容隻删除 ‘file1’ 所包含的内容
comm -2 file1 file2 比較兩個檔案的内容隻删除 ‘file2’ 所包含的内容
comm -3 file1 file2 比較兩個檔案的内容隻删除兩個檔案共有的部分