- 學習方向:運維、嵌入式開發、各種程序開發
- 應用領域:個人桌面、服務器、嵌入式
- 學習階段:
- 1 基本操作命令:文件操作、編輯工具、用戶管理
- 2 各種配置:環境變量、網絡、服務
- 3 搭建對應語言的開發環境
- 4 編寫shell腳本,對服務器進行維護
- 5 安全設置,防止攻擊,系統調優
- 6 內核研究,網站應用架構,環節部署維護
運行級別
0:關機
1:單用戶【找回丟失密碼】
2:多用戶狀態沒有網絡服務
3:多用戶狀態有網絡服務
4:系統未使用保留給用戶
5:圖形界面
6:系統重啓
常用運行級別是 3 和 5
init [012356]
切換級別
終端
Ctrl + alt + t
打開終端
Ctrl + d
關閉終端
Ctrl + +
放大字體
Ctrl + -
縮小字體
clear
清屏
幫助命令
man 命令
info 命令
命令 --help
which 命令
查看命令所在位置
開機、重啓、用戶
shutdown -h now
立即關機
shutdown -h 1
1min後關機
shutdown -r now
立即重啓
halt
立即關機
reboot
重啓
sync
把內存的數據保存到硬盤
su
切換root用戶,輸入root密碼
sudo su
切換root用戶,輸入當前用戶密碼
su 用戶
切換用戶,仍在當前目錄
su - 用戶
切換到用戶家目錄
exit
退回到上一個用戶
logout
註銷遠程登錄
用戶管理
用戶組(需root)
可以用來設置權限。
groupadd 組名
添加組
groupdel 組名
刪除組
cat /etc/group
查看所有組
用戶(需root)
每個用戶都在/home
下有自己的家目錄。
useradd 用戶名
添加用戶 - m
自動建同名家目錄 - d 目錄
指定家目錄
useradd -g 組名 用戶名
指定組(已存在)。默認創建一個與用戶名同名的組
usermod -g 組名 用戶名
修改主組
usermod -G 組名 用戶名
附加組
usermod -d 目錄名 用戶名
改變登錄初始目錄
passwd 用戶名
設置、修改密碼
/etc/shadow
保存密碼信息,但經過加密
userdel 用戶名
刪除用戶 - r
刪除用戶家目錄
cat /etc/passwd
查看所有用戶
/etc/passwd
保存用戶信息
/usr/bin/passwd
修改密碼程序
id 用戶名
查詢用戶 uid
用戶代號 gid
組代號
who
當前登錄的用戶列表
whoami
當前用戶
usermod -s /bin/bash 用戶名
將此用戶改用bash
目錄與文件
在 Linux 世界裏,一切皆文件。
各個目錄存放的內容是規劃好的,不能亂放。
/
根目錄有且只有一個
pwd
顯示當前絕對路徑
cd 目錄
切換目錄 ~
主目錄 ..
上一級 .
當前目錄 -
最近兩次切換
ls [目錄]
查看目錄內容 -l
列表 -a
顯示隱藏 -h
人性化顯示
tree [目錄]
樹狀顯示 -d
只顯示目錄
chgrp 組名 文件/目錄
修改組 -R
遞歸
cp 源 目標
複製 -i
是否覆蓋 -r
複製多層
mv 源 目標
移動或重命名
rm 目錄/文件
刪除 -r
多層 -f
強制刪除不提示
通配符
*
任意多個
?
一個
[ , ]
範圍內任一個
目錄
mkdir 目錄
創建目錄 -p
多級目錄
rmdir 目錄
刪除空目錄 -p
子刪後父空,則父刪
文件
touch 文件
創建文件
文件管理
chown 用戶名 文件
修改所有者
chgrp 組名 文件
修改組 -R
chmod 755 文件
修改權限 -R
編輯工具
vi 文件
和vim 文件
gedit 文件
nano 文件
cat 文件
只讀打開 -n
顯示行號 -b
非空行顯示行號
more 文件
分屏顯示
less 文件
分屏顯示,對於顯示大型文件具有較高的效率。
其它
XXX > 文件
輸出重定向,將XXX的內容覆蓋到文件中
XXX >> 文件
追加,將XXX的內容追加到文件中
echo
在終端顯示參數指定的文字
head 文件
顯示文件開頭部分,默認10行 -n 5
顯示5行
tail 文件
顯示文件末尾部分,默認10行 -n 5
顯示5行 -f
實時追蹤所有更新
find [搜索範圍] [選項]
-name
文件名 -user
用戶 -size
文件大小 +20M
大於20M的
locate 文件
第一次運行前要updatedb
創建數據庫
grep
匹配 -n
顯示匹配行及行號 -v
n反 -i
忽略大小寫 ^xx
以xx開頭 xx$
以xx結尾
|
管道,將一個命令的輸出作爲另一個命令的輸入
ln -s 原文件或目錄(絕對路徑) 軟連接名
軟連接,類似快捷方式,刪源失效
history
歷史命令 history 數字
查看最近的歷史命令 !數字
執行某編號的歷史命令
date
顯示時間 %Y
年 %m
月 %d
日 %H
時 %M
分 %S
秒
date -s "2018-10-10 11:22:22"
設置時間
cal
查看日曆
打包和壓縮
tar -cvf xx.tar 被打包的文件
打包不壓縮
tar -xvf xx.tar
解包
gzip xx
壓縮成 xx.gz
gunzip xx.gz
解壓
tar -zcvf xx.tar.gz 被打包壓縮的文件
打包壓縮
tar -zxvf xx.tar.gz
解壓解包 -C 已存在的目標路徑
zip xx.zip 被壓縮的文件
壓縮 -r
遞歸
unzip xx.zip
解壓 -d 目錄
遠程操作
SSH 遠程管理
IP找主機,端口號找程序
ifconfig
查看本機地址
ping IP地址
查看連通狀況
ssh [-p port(默認22)] 用戶名@IP/域名/別名
exit
退出
SSH 22、Web 80、HTTP 443、FTP 21
Xshell 遠程管理
前提是Linux 啓用了 SSHD 服務,該服務會監聽 22 號端口。