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 查看當前目錄下的子目錄及文件
( 代碼區塊字體較小, 瀏覽器訪問可以通過 Ctrl+'上滾輪' 來放大查看)
/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 比較兩個文件的內容只刪除兩個文件共有的部分