Linux系統說明 Linux( 誕生於1991.10.5) 繼承了Unix以網路為核心的設計思想, 是一個性能穩定的多用戶網路操作系統. Linux這個詞嚴格意義上只表示Linux內核, 但日常中, 習慣用Linux來形容整個基於Linux內核, 並使用GNU( 一個自由的操作系統) 工程各種工具 ...
Linux系統說明
Linux( 誕生於1991.10.5) 繼承了Unix以網路為核心的設計思想, 是一個性能穩定的多用戶網路操作系統.
Linux這個詞嚴格意義上只表示Linux內核, 但日常中, 習慣用Linux來形容整個基於Linux內核, 並使用GNU( 一個自由的操作系統) 工程各種工具和資料庫的操作系統. 常見的有主流產品如 ubuntu, CentOS, Debian, Redhat, "中標麒麟" 等.
註意, Linux系統全部都是基於文件的, Linux操作系統是以根目錄的形式來存儲數據的.
Linux優缺點
一.優點
1.Linux基於網路, 遠程連接便利: 只要擁有許可權, 用戶可以輕鬆操控遠在海角的linux伺服器, 需要的帶寬很小.
2.開放源碼和高度可定製: 源碼的開放利於開發者根據需求去修改從而定製自己的系統, 所以linux能夠輕鬆適應不同用戶的不同環境.
3. Linux命令行功能強大, 具有可編輯可重用的特性
4.去中心化: 分散的軟體開發, 造就系統的介面和形式不統一, linux個性十足.
5.linux支持多人同時上線工作, 資源分配合理且平均
二.缺點
1.沒有特定的軟體支持, 專業功能軟體單一
2.游戲支持度不足
Linux常用命令
預備知識
首先進入Linux系統, 可以看到 xxx' home( 相當於windows下的賬戶), Computer( 相當於windows下的"我的電腦") 以及Trash( 回收站). 上面所說, linux系統是基於文件的, 所有目錄/文件基於一個根目錄存放, 那就是 (Filesystem) "/", 用Xshell等終端連接工具連接linux伺服器( 或虛擬機上的linux)後, 首先看到的便是:
這裡的 "~"( 代位符) 代表個人目錄的地址, 不同用戶登錄會是各自的地址, 以root為例, "~"代表 /root/
根目錄下各目錄的作用
cd / 進入根目錄
ls 查看當前目錄下的子目錄及文件
( 代碼區塊字體較小, 瀏覽器訪問可以通過 alt+'上滾輪' 來放大查看)
/bin 存放著普通用戶的命令( 二進位可執行命令) /dev 系統設備( 驅動程式) /home 用戶主目錄的基點 /lost-found 當系統非正常關機時, 留下的臨時文件會存儲在該目錄下( 平時是空目錄) /proc 存放用戶與內核的交互信息 /sbin 存放系統管理員使用的程式 /srv 系統啟動服務時可以訪問的資料庫目錄
/tmp 臨時文件, 重啟系統後自動清空
/var 大文件的溢出區( 如各種服務的日誌文件)
/boot 啟動系統的核心文件
/etc 系統的所有配置文件
/lib 存放和系統運行相關的庫文件
/mnt 掛載目錄( 系統管理員臨時安裝文件的安裝點)
/media 存放可移除的設備( 如U盤等)
/opt 源碼安裝目錄位置
/root 超級管理員目錄
/selinux 系統安全相關, 加固系統
/sys 管理設備文件
/usr 最常用. 最大的目錄, 存放著應用程式和文件
常用指令之系統信息
date 顯示系統時間 date 072018002019.00 設置日期時間 格式 - 月日時分年.秒 ,當前表示: 2019//7/20 18:00:00 clock -w 將時間修改保存到BIOS cal 2019 顯示2019年的日曆表
arch 顯示機器的處理器架構
uname -m 顯示機器的處理器架構
uname -r 顯示正在使用的內核版本
cat /proc/cpuinfo 顯示CPU info的信息
cat /proc/interrupts 顯示中斷
cat /proc/meminfo 校驗記憶體使用
cat /proc/swaps 顯示哪些swap被使用
cat /proc/version 顯示內核的版本
cat /proc/net/dev 顯示網路適配器及統計
cat /proc/mounts 顯示已載入的文件系統
常用指令之系統操作
shutdown -h now 立即關閉系統
-h hours:minutes & 按預定分鐘關閉系統
-c 取消按預定時間關閉系統
-r now 重啟
init 0 關閉系統
telinit 0 關閉系統
reboot 重啟
logout 註銷
常用指令之文件/目錄操作( 查看, 新建, 刪除, 移動, 複製, 解壓, 壓縮等)
聲明:
部分參考: https://www.cnblogs.com/yjd_hycf_space/p/7730690.html
原作者博客園: https://www.cnblogs.com/yjd_hycf_space/
---------------------------------------------------
cd /usr/local/src 進入 '/usr/local/src' 目錄 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 複製一個目錄 ln -s file1 lnk1 創建一個指向文件或目錄的軟鏈接 ln file1 lnk1 創建一個指向文件或目錄的物理鏈接
---------------------------------------------------
find / -name file1 從' /' 開始進入根文件系統搜索文件和目錄
find / -user user1 搜索屬於用戶' user1' 的文件和目錄
find /home/user1 -name \*.cfg 在目錄' /home/user1' 中搜索帶有' .cfg' 結尾的文件
---------------------------------------------------
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 顯示許可權
---------------------------------------------------
打包和壓縮文件
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 -cvf archive.tar file1 file2 dir1 創建一個包含了 'file1', 'file2' 以及 'dir1'的檔案文件
tar -tf archive.tar 顯示一個包中的內容
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格式壓縮包
---------------------------------------------------
查看文件內容
cat file1 從第一個位元組開始正向查看文件的內容
tac file1 從最後一行開始反向查看一個文件的內容
more file1 查看一個長文件的內容
less file1 類似於 'more' 命令,但是它允許在文件中和正向操作一樣的反向操作
head -2 file1 查看一個文件的前兩行
tail -2 file1 查看一個文件的最後兩行
tail -f /var/log/messages 實時查看被添加到一個文件中的內容
---------------------------------------------------
文本處理
cat file1 file2 ... | command <> file1_in.txt_or_file1_out.txt general syntax for text manipulation using PIPE, STDIN and STDOUT
cat file1 | command( sed, grep, awk, grep, etc...) > result.txt 合併一個文件的詳細說明文本,並將簡介寫入一個新文件中
cat file1 | command( sed, grep, awk, grep, etc...) >> result.txt 合併一個文件的詳細說明文本,並將簡介寫入一個已有的文件中
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 '/^$/d' example.txt 從example.txt文件中刪除所有空白行
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 比較兩個文件的內容只刪除兩個文件共有的部分